一、软件的发展

在这里插入图片描述

1、程序设计阶段

(1)软件生产个体化
规模小,编写者和使用者同一个人
(2)软件是设计者头脑中隐含过程
除程序清单,无文档材料保存

2、程序系统阶段

(1)产品软件
由专门软件开发组织开发
(2)软件作坊
软件开发组织,沿用早期个体化软件开发方法
(3)软件危机
软件维护工作耗费大量资源
(4)软件工程
1968年,北大西洋公约组织计算机科学家讨论软件危机,提出软件工程

3、软件工程阶段

(1)软件危机得到缓解
打破软件生产个体化特征。
工程化的设计原则、方法和标准
(2)新的挑战
微处理器和个人计算机
分布式处理系统
局域网、广域网
宽带数字通讯

4、第四阶段

集中主机环境
在这里插入图片描述

客户机/服务器(二层)
在这里插入图片描述

客户机/服务器(三层)
在这里插入图片描述

浏览器/服务器
在这里插入图片描述

二、软件的危机

1、软件危机定义

在计算机软件开发和维护过程中遇到的一系列严重问题

2、主要表现

(1)开发成本和进度估计不准,延迟交付、取消项目
(2)用户对已交付软件不满意,开发人员对用户信息交流不充分,产品不符合用户需求
(3)软件产品质量靠不住,软件产品保证技术(审查、复审、测试)未坚持不懈应用软件开发全过程
(4)软件可维护性差开发时未考虑,很多错误难以改正

三、软件工程定义

1993年IEEE的定义

把系统化、规范化、可度量的途径应用于软件开发;运行和维护过程中,研究其实现途径。

四、软件工程内容

1、软件工程技术

软件开发方法学
软件开发过程
软件工具和软件工程环境

2、软件工程管理

软件管理学
软件经济学
软件心理学