文档介绍:第六章软件工程基础
软件工程概述
软件详细设计
结构化分析与设计方法
测试与调试基本技术
1
第6章应用软件设计与开发技术
软件工程概述
软件工程的概念
软件生命周期
软件支援环境
2
第6章应用软件设计与开发技术
软件工程出现的原因软件危机
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
现象一:软件开发成本和进度的估计不准确,交付时间一再拖延,造成开发成本超出预算。
案例:1995年,新丹佛国际化机场自动化行李系统的软件出现故障,导致机场延期16个月才正式启用,并且大部分行李采用人工分拣,系统成本超出预算32亿美元。
原因:软件复杂程度高,开发周期长,并且各种变化不断,因此软件项目按期完成交付的很少。
3
第6章应用软件设计与开发技术
现象二:“已完成”的软件不满足用户的需求
案例:1984年,经过18个月的开发,一个耗资2亿美元的系统支付给了美国威斯康星州的一家健康保险公司。但该系统不能满足用户的正常工作需求,只好追加了6千万美金,又花了3年时间才解决了问题。
原因:软件开发人员不是用户业务的专家,用户不懂计算机软件技术,因此,软件人员按照自己的理解开发出得软件往往不能满足用户的业务需求。
4
第6章应用软件设计与开发技术
现象三:软件产品的质量没有保证
案例:1996年6月4日,Ariane 5火箭首次发射,在升空大约40秒且高度不到4千米处,火箭突然发生爆炸,该事件造成了50亿美元的损失。事故原因是在Ariane 5中使用了Ariane 4火箭的程序代码,在将64位浮点数转换为16位带符号整数的程序中,更快的运算引擎导致了Ariane 5中的64位数据要比Ariane 4中更长,直接诱发了溢出条件,最终导致了航天计算机的崩溃。
原因:软件质量和可靠性的评估非常困难。这些投资巨大、技术一流、管理规范、测试充分的软件也难保不出现质量问题。
5
第6章应用软件设计与开发技术
现象四:软件通常没有适当的文档资料或文档与最终交付的软件产品不符。
原因:软件几乎不可能一版保证成功,而是经历反复修改,其中的文档很难与每次的修改保持一致,错误的文档就像错误的地图一样危险。
现象五:软件的可维护程度低。
原因:软件开发过程中,起着重要作用的是开发者的逻辑思维过程。如果若干年后,由其他人来修改,必须要理解开发者当时的思维过程,因此说读懂别人的程序比重新编写的难度更大。
6
第6章应用软件设计与开发技术
软件危机出现的原因
主要有两个方面:
其一是软件本事的特点;
其二是软件开发过程不成熟。
软件开发过程不成熟的主要表现为:
忽视软件开发前期的调研与分析工作,没有统一、规范的方法论指导,轻视文档管理和质量保证工作,缺乏相关人员之间的沟通。
7
第6章应用软件设计与开发技术
简陋的小屋—太简单!不要设计
8
第6章应用软件设计与开发技术
新农村别墅造型图—复杂!需要设计了
9
第6章应用软件设计与开发技术
别墅的设计—设计图纸、施工图纸
10
第6章应用软件设计与开发技术