- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch_01软件工程学概述讲述
软 件 工 程Software Engineering;关于课程;关于内容;关于实践;关于教学;软件工程导论(第6版)
张海藩 牟永敏 清华大学出版社(2013); ? Software Engineering, Theory and Practice(4th Edition), Shari Lawrence Pfleeger , Prentice-Hall, Inc.(2009);关于考核;第1章 软件工程学概述;§0. 软件开发的历史;软件是计算机系统的重要组成部分;
软件是逻辑产品,需要计算机硬件和系统软件的支撑;
软件是计算机控制系统的指挥中枢;
软件是信息转换器,它能对信息进行加工、处理或变换;
软件是工具,在人们的生活、工作、休闲,在社会的经济、军事、政治、文化、科学技术、教育中发挥具大作用。;§0.软件开发的历史;2、软件的特点;软件需求增加,软件规模增长。; 上世纪60、70年代,出现“软件作坊”,但软件的开发基本上沿用早期的开发方法,很少考虑软件的维护。; 这个项目的负责人F. D. Brooks事后总结了他在组织开发过程中的沉痛教训时说:“……正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难。……程序设计工作正像这样一个泥潭,……一批批程序员被迫在泥潭中拼命挣扎,……谁也没有料到问题竟会陷入这样的困境……”。IBM360操作系统的历史教训成为软件开发项目的典型事例为人们所记取。; 软件危机(Software Crisis)是指在计算机软件的开发和维护过程中所遇到的一系列的严重问题。;§1.软件危机;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个人。; 增加人力的结果如何呢?在第一种情况下,不论新增加的人的适应能力有多强,总需要有人去帮助他了解熟悉情况。如果这些工作占用了一个月的时间,这样又有2个人月工作量是在新的计划外。同时,为了由5人共同完成工作,又需要花时间把任务重新划分成五个部分。这样,又可能损失一部分已经完成的工作,所以到第三个月结束时实际上虽有5人在工作,而余留下也许至少是7个人月的工作量,使任务仍不能按时完成。如果你仍想按时完成任务,用投入更多人力的方法可能造成更坏的后果。
对于一项复杂的任务,通常难于通过增加人力来缩短开发时间。Brook提出的法则“在已拖延的软件项目上增加人力只会使其更难按期完成” 。这对于一般的工业产品来说是难于想象的!;软件质量无法保证;美国Florida州的福利救济系统用于处理数百万受抚养儿童、食品券、医疗援助
文档评论(0)