思考题:软件工程遵循的基本原则或者叫基本原理是什么?
(7)承认不断改进软件工程实践的必要性
(6)合理安排软件开发小组的人
(5)结果应能清楚地审查
(4)采用现代程序设计技术
模块化
抽象
信息隐蔽
信息的局部化
一致性
完整性
确定性
软件的分类
按照功能来划分
系统软件
支撑软件
应用软件
按软件规模划分
微型
小型
中型
大型
甚大型
极大型
按软件工作方式划分
实时处理软件
分时软件
多个用户同时工作的情况下
交互式软件
人机交互的,出现些对话框,选择Yes Or No
批处理软件
按照软件服务对象的范围划分
项目软件
接受某个特定客户的委托,由一个或多个软件开发机构,在合同的约束下,开发的软件,以特殊需要为主,如:国家的安全、航天的软件,某些领域的需要
产品软件
由软件开发机构开发,并直接提供给市场,并且为众多用户服务的软件
按照使用的频度进行划分
一次使用
如:人口普查
频繁使用
如:操作系统,天气预报的软件
按软件失效的影响进行划分
高可靠性软件
航空、金融
一般可靠性软件
项目软件
软件的发展阶段
程序设计阶段——50至60年代
程序系统阶段——60至70年代
软件工程阶段——70年代以后
软件工程过程
特性
易理解
可见性
可支持性
可接受性
可靠性
健壮性(安全性)
可维护性
速度
软件生存期 life cycle
六个步骤
制定计划
问题的定义
可行性问题的研究
需求分析
标识:软件的需求规格说明书
软件设计
概要设计
详细设计
程序编写
软件测试
静态测试
动态测试
运行/维护
改正性维护
适应性维护
完善行维护
软件生存期模型
瀑布模型
优点
思想
缺点
适用范围
b模型
快速原型模型Rapid Prototyping Model
丢弃式
进增式
两种策略
演化模型
渐增模型Incremental Model
思想
优点
适用范围
特点
螺旋模型
喷泉模型
软件工程的定义
Boehm
IEEE
Fritz Bauer