文档介绍:第3章软件工程基础
主要内容
软件工程的基本概念
结构化分析方法
结构化设计方法
软件测试
程序的调试
全国等级考试考试大纲要求
软件工程基本概念,软件工具与软件开发环境。
结构化分析方法,数据流图,数据字典,软件需求规格说明书。
结构化设计方法,总体设计与详细设计。
软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
程序的调试,静态调试与动态调试。
知识类型:理论
二级所占分值:约6分
课时:4学时
参考书目:《软件工程导论(第4版)》
张海藩编著
清华大学出版社
概念
含义
软件
程序、数据和文档
程序
软件开发人员依据用户需求开发的,用某种程序设计语言描述的,能够在计算机中执行的语句序列
数据
师程序能够正常操纵信息的数据结构
文档
与程序开发、维护和使用的有关资料
软件(Software)
是指包括程序、数据以及相关文档的完整组合。
国标定义:与计算机系统的操作有关的计算机程序、规程、规则以及可能有的文件、文档及数据。
软件工程(Software Engineering)
是在20世纪60年代末期提出的。这一概念的提出,其目的是倡导以工程的原理、原则和方法进行软件开发,以期解决当时出现的“软件危机”。
表现:
⑴软件需求的增长得不到满足
⑵软件开发成本和进度无法控制
⑶软件质量难以保证
⑷软件不可维护或维护程度非常低
⑸软件成本不断提高
⑹软件开发生产效率的提高赶不上硬件的发展和应用需求的增长
(7) 软件通常缺少适当的文档资料
总之,可以将软件危机归结为成本、质量和生产率等问题
实际上几乎
所有软件
都在不同程度
上存在软件危机.
软件危机(Software Crisis)
下一节
软件危机—软件开发进度难以预测
拖延工期几个月甚至几年的现象并不罕见,这种现象降低了软件开发组织的信誉。
以丹佛新国际机场为例
该机场规模是曼哈顿机场的两倍,宽为希思机场的10倍,可以全天侯同时起降三架喷气式客机;,总长21英里,有4,000台遥控车,可按不同线路在20家不同航空公司柜台、登机门和行李领取处之间发送和传递行李;支持该系统的是5,000个电子眼、400台无线电接受机、56台条形码扫描仪和100台计算机。按原定计划要在1993年万圣节前启用,但一直到1994年6月,该系统还无法正常运行。
据研究结果统计:只有15%的项目是按计划完成的。
略过
软件危机—软件开发成本难以控制
投资一再追加,令人难于置信。据同样的研究统计结果表明:仅有10%的项目是按费用计划完成的。
例如,20世纪80年代初,美国国内税收服务处(IRS)让Sperry公司开发一套联邦税收表格自动处理系统。结果是:系统被证明不适合当前的工作量,花费几乎是预算的两倍,必须立即更换(华盛顿邮报的报道)。到1985年,。另外,因为出现的问题阻碍了IRS按时返还纳税者的税款,IRS还被迫偿还4. 。
略过
软件危机—软件产品质量无法保证
开发人员和用户之间很难沟通、矛盾很难统一。往往是软件开发人员不能真正了解用户的需求,而用户又不了解计算机求解问题的模式和能力,双方无法用共同熟悉的语言进行交流和描述。
在双方互不充分了解的情况下,就仓促上阵设计系统、匆忙着手编写程序,这种“闭门造车”的开发方式必然导致最终的产品不符合用户的实际需要。
略过
软件危机—用户对产品功能难以满足
系统中的错误难以消除。软件是逻辑产品,质量问题很难以统一的标准度量,因而造成质量控制困难。
例如,一次美国在肯尼迪角发射一枚阿脱拉斯火箭,预定将用这种火箭运载飞往金星的宇宙飞船。火箭飞离地面几十英里高空开始翻转,地面控制中心被迫下令自爆炸毁。后经检查发现是飞行计划程序中漏掉一个连字符。就是这样一个连字符的疏漏造成这枚价值1850万美元的火箭实验失败。
据统计数字表明:在大型系统中,约3/4的系统有问题。
略过