软件
1.1 软件定义
-
1983年IEEE软件定义
计算机程序,文档,运行程序的数据,方法,规则。方法和规则在文档中使用,在程序中实现
-
简化软件定义
程序 + 文档 + 数据
1.2 软件分类
1.2.1 基于软件功能的划分可以分为:
系统软件
与计算机硬件紧密配合使计算机各个部件与相关软件及数据协调,高效工作的软件。如os,编译程序
支撑软件
协助用户开发软件的工具性软件
应用软件
有具体作用的应用程序
1.2.2 基于软件规模的划分:
1. 微型软件
2. 小型软件
3. 中型软件
4. 大型软件
5. 甚大型软件
6. 极大型软件
1.3 软件工程
软件工程是指把系统化,规范化,可度量的途径应用与软件开发,运行和维护过程中;研究其实现途径
1.3.1 软件发展的阶段
-
程序设计阶段
- 软件生产个体化:规模小,编写者和使用者是同一个人
- 软件是设计者头脑中隐含的过程:除程序清单,无文档材料的保存
-
程序系统阶段
- 产品软件:由专门软件开发组织开发
- 软件作坊:软件开发组织,沿用早期个体化软件开发方法
- 软件危机:软件维护工作耗费大量的资源
- 软件工程:1968年,北大西洋公约组织计算机科学家讨论软件危机,提出软件工程
-
软件工程阶段
- 软件危机得到解决:打破软件生产个体化特征,工程化的设计原则方法和标准
- 新的挑战:微处理器和个人PC,分布式处理系统,局域网,广域网,宽带数字通信
-
软件发展
-
软件架构发生变化:
-
集中主机环境
-
C/S
-