欢迎来到天天文库
浏览记录
ID:42719743
大小:2.19 MB
页数:55页
时间:2019-09-21
《软件开发的形式化方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件开发的形式化方法硕士研究生讲义周清雷ieqlzhou@zzu.edu郑州大学信息工程学院课程参考教材参考材料《软件开发的形式化方法》,古天龙编,2005,高等教育出版社《软件可靠性方法》,DoronA.Peled著,王林章等译,2012,机械工业出版社-2-第1章软件及其开发概述-4-内容安排软件开发的历史软件危机软件工程形式化开发方法-5-1.1软件开发的历史软件软件开发把现实世界的需求反映成软件的模型化并予以实现的过程软件及开发的三个阶段程序设计阶段(1946年-1956年)科学计算、机器语言及汇编语言、个体编程编程技巧、程序效率没有文档、软件一
2、词尚未出现1.1软件开发的历史软件及开发的三个阶段程序系统阶段(1956年-1968年)1956年,J.Backus(77)Fortran语言诞生大量数据处理、小组开发“软件”一词出现:程序及其说明60年代中期,软件危机。IBMOS/360P.Brooks软件工程阶段(1968年以来)1968年NATO会议,提出“软件工程”术语工程化方法、描述语言、团队开发软件的定义①当它被执行时能够提供所要求的功能和性能的指令或计算机程序②使得该程序能够满意地处理信息的数据结构③描述程序的功能需求以及程序的操作和使用文档-6-1.2软件危机1968年,NATO会议提出
3、了“软件危机”一词软件危机包含两方面问题如何开发软件,以满足不断增长、日趋复杂的需求;如何维护数量不断膨胀的软件产品。软件危机主要表现如下几个方面开发成本昂贵项目进度难控质量无法保证修改维护困难-7-开发成本昂贵1968年,美国花费于软件的投资高达60亿美元,有些系统,特别是军用系统,软费用要高出硬件费用好几倍,例如美国全球军事指挥控制系统的计算机硬件费用为1亿美元,而软件费用高达7.2亿美元。1980年美国政府的财政年度当中,计算机系统方面(软,硬件与服务)共耗资达570亿美元,其中320亿美元(占总数的56%)用于计算机软件方面(与同年的美国汽车行业
4、进行简单的比较,美国是当时的世界第一汽车生产大国,汽车的年销售量为900万辆,总的销售额仅为720亿美元〕。技术的进步使得计算机硬件的成本持续降低,而软件成本则不断增长,软件成本在计算机系统总成本中所占的比例呈现日益扩大的趋势.来自美国空军计算机系统的数据表明,1970年,软件费用约占总费用的60%,1975年达到72%,1980年达到80%,1985年计达到85%。这种增长的速度是惊人的。(1979年,美国的国防预算为1258亿美元,其中9%用于计算机领域,约113亿美元。在这113亿美元当中,91亿美元(约占80%)用于软件投资。仅有22亿美元用于硬
5、件设备)。-8-项目进度难控在研究大型系统时,遇到越来越多的困难。有的系绞干脆失败了,损失了大量金钱和人力;有的系统虽然完成了,但性能不理想,或推迟了许多年,经费大大超过预算。如一个大项目负责人所说:“软件人员太像皇帝新衣故事中的裁缝了、当我来检查软件开发工作时;所得到的回答好像对我说我们正忙于编织这件带有魔法的织物。只要等一会儿,你就会看到这件织物是极其美丽的。但是我什么也看不到,什么也摸不到,也说不出任何一个有关的数字;没有任何办法得到一些信息说明事情确实进行的非常顺利,而且我已经知道许多人最终已经编织了一大堆昂贵的废物而离去,还有下少人最终什么也没
6、有作出来。”为软件开发制定进度是根困难的事情:通常我们对一个任务根据其复杂性、工作量及进度要求安排人力。如有10人月的工作量,则由一个人完成需要10个月,由10个入完成则需要一个月。但这种工作量估计方式仅对各部分工作互下干扰的情况下才适用,例如当各部分工作尚能很好地划分时,安排由不同人完成不同部分的工作。但作为整体,尚需讨论合作,这种讨论交流活动就增加了工作量。软件系统的结构很复杂,各部分附加联系极大。增加更多人工作,往往不是缩短时间进度,而是会延缓进度。-9-项目进度难控对于一项复杂的任务,通常难于通过增加人力来缩短开发时间。Brook提出的法则“在已
7、拖延的软件项目上增加入力只会使其更难按期完成”。这对于一般的工业产品来说是难于想象的!1995年,美国共取消810亿美元的软件项目,其中31%未完取消,53%的项目延长一半时间,9%按期完成且不超期。1998年,美国企业应用项目不成功比率75%,其中28%的项目取消,40%无限拖长且资金超出预赛对于一项复杂的任务,通常难于通过增加人力来缩短开发时间。Brook提出的法则“在已拖延的软件项目上增加入力只会使其更难按期完成”。这对于一般的工业产品来说是难于想象的!-10-质量无法保证1985年11月21日,由于计算机软件的错误,造成纽约银行与美联储电子结算系
8、统收支失衡,发生了超额支付,而这个问题一直到晚上才被发现,纽约银行当日帐务出现了
此文档下载收益归作者所有