计算机科学和技术方法论(专题讲座-1).pptVIP

计算机科学和技术方法论(专题讲座-1).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机科学和技术方法论(专题讲座-1)

《计算机科学与技术方法论》 专题讲座-- 软件开发的形式化方法 (Formal Methods in Software Development) 古天龙 参考资料 古天龙,软件开发的形式化方法,高等教育出版社,2005 董荣胜,古天龙,计算机科学与技术方法论,人民邮电出版社,2002 古天龙,蔡国永,网络协议的形式化分析与设计,电子工业出版社,2003 杨文龙,古天龙,软件工程,电子工业出版社,2004 Alagar V.S. and Periyasamy K., Specification of Software Systems, Springer-Verlag, New York, 1998 Clark E. and Wing J., Formal Methods: State of the Art and Future Direction. CMU-CS-96-178, CMU Computer Science Technical Report, 1996, 1-22 Formal Methods: / 专题讲座的主要任务(W2H) W(Why) 为什么要学习形式化方法? W(What) 形式化方法的基本原理是什么? H(How) 如何将形式化方法集成到软件开发过程? 专题讲座--软件开发的形式化方法 (一)背景知识 (二)发展历史 (三)相关内容 (四)典型方法 (一)背景知识 ① 软件危机 (1968年10月北大西洋公约组织NATO) 开发成本昂贵 项目进度难控 质量无法保证 修改维护困难 ? 开发成本昂贵 1968年,美国花费于软件的投资高达60亿美元,有些系统,特别是军用系统,软费用要高出硬件费用好几倍,例如美国全球军事指挥控制系统的计算机硬件费用为1亿美元,而软件费用高达7.2亿美元。 1980年美国政府的财政年度当中,计算机系统方面(软,硬件与服务)共耗资达570亿美元,其中320亿美元(占总数的56%)用于计算机软件方面(与同年的美国汽车行业进行简单的比较,美国是当时的世界第一汽车生产大国,汽车的年销售量为900万辆,总的销售额仅为720亿美元〕。 技术的进步使得计算机硬件的成本持续降低,而软件成本则不断增长,软件成本在计算机系统总成本中所占的比例呈现日益扩大的趋势.来自美国空军计算机系统的数据表明,1970年,软件费用约占总费用的60%,1975年达到72%,1980年达到80%,1985年计达到85%。这种增长的速度是惊人的。(1979年,美国的国防预算为1258亿美元,其中9%用于计算机领域,约113亿美元。在这113亿美元当中,91亿美元(约占80%)用于软件投资。仅有22亿美元用于硬件设备)。 ? 项目进度难控 在研究大型系统时,遇到越来越多的困难。有的系绞干脆失败了,损失了大量金钱和人力;有的系统虽然完成了,但性能不理想,或推迟了许多年,经费大大超过预算。如一个大项目负责人所说: “软件人员太像皇帝新衣故事中的裁缝了、当我来检查软件开发工作时;所得到的回答好像对我说我们正忙于编织这件带有魔法的织物。只要等一会儿,你就会看到这件织物是极其美丽的。但是我什么也看不到,什么也摸不到,也说不出任何一个有关的数字;没有任何办法得到一些信息说明事情确实进行的非常顺利,而且我已经知道许多人最终已经编织了一大堆昂贵的废物而离去,还有下少人最终什么也没有作出来。” 为软件开发制定进度是根困难的事情:通常我们对一个任务根据其复杂性、工作量及进度要求安排人力。如有10人月的工作量,则由一个人完成需要10个月,由10个入完成则需要一个月。但这种工作量估计方式仅对各部分工作互下干扰的情况下才适用,例如当各部分工作尚能很好地划分时,安排由不同人完成不同部分的工作。但作为整体,尚需讨论合作,这种讨论交流活动就增加了工作量。软件系统的结构很复杂,各部分附加联系极大。增加更多人工作,往往不是缩短时间进度,而是会延缓进度。 ? 项目进度难控(一个例子) 一个软件项目估计需要12人月工作量。指定由3个人,在4个月内完成。假定第1个月的任务花了两个月才完成,如仍需按时完成该怎么办呢? (1)假定此任务只有第一个月的工作量是估计错了,则到第二个工作月结束时,尚有9个入月工作量必需在两个月内完成,则需用4.5个人。需要增加2个人来进行这项工作; (2)假定此任务的工作量在每个月都是估计低了。第二月后,尚有18个人月的工作量要在两个月内完成,则需要9个人工作,即应增加6个人。 增加人力的结果如何呢?在第一种情况下,不论新增加的人的适应能力有多强,总需要有人去帮助他了解熟悉情况。如果这些工作占用了一个月的

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档