软件概念:是程序,数据及相关文档的完整集合,与硬件相互依存
软件的特点:
(1)它是一种逻辑实体,不是具体点的物理实体,因而它具有抽象性。
(2)它的生产与硬件不同,在他的开发过程中没有明显的制造过程。
(3)它的运行和使用期间,没有硬件那样的机械磨损,老化问题。
(4)它的开发和运行受到计算机系统的限制,对计算机系统有着不同程度的依赖性。
(5)它的开发至今尚未完全摆脱手工艺的开发方式。
(6)它本身是复杂的,实际问题和程序逻辑结构的复杂性。
(7)成本相当昂贵。
软件的分类:
按功能:系统软件(编译程序,操作系统等);支撑软件(输入输出,文本编辑等);应用软件(商业数据处理软件、辅助教学软件等)
按规模:微型软件,大中小型等软件
按工作方式:实时处理软件;分时软件;交互式软件;批处理软件
按服务对象:项目软件;产品软件
按使用频度:一次使用(人口普查);频繁使用(天气预报,操作系统等)
软件的发展阶段:
(1)程序设计阶段:50-60年代 汇编语言
(2)软件系统阶段:60-70年代 程序加说明
(3)软件工程阶段:70年代 规范化
软件的模型:瀑布型,螺旋形,渐增型等;
软件工程的特征:易理解性,可见性,可支持性,可接受性,可靠性,安全性,可维护性,具有足够的速度;
软件生存期:计划-需求分析-设计-程序编写-软件测试(单元测试、组装测试、系统测试)-运行维护,伴随着各阶段的文档
软件工程的思想:用工程化的思想来指导软件的开发,它的最终目的是以最低的投入获得高质量的软件,使得开发周期比较短
软件工程的三要素:方法,工具(工具的集合构成软件的环境)和过程
软件工程的原则:模块化,抽象,信息隐蔽,信息局部化,一致性,完整性,确定性