第一讲.软件危机与软件工程.ppt
《第一讲.软件危机与软件工程.ppt》由会员分享,可在线阅读,更多相关《第一讲.软件危机与软件工程.ppt(38页珍藏版)》请在课桌文档上搜索。
1、软件工程 Software Engineering第一讲,王玉善,课程简介,授课内容授课方式考核方式参考书目:软件工程:实践者的研究方法(第5版),Roger S.Pressman 机械工业出版社,议题,第1章 软件工程学概述软件软件危机软件工程,计算机软件已经成为一种驱动力。它是进行商业决策的引擎;它是现代科学研究和工程问题寻求解答的基础;它也是鉴别现代产品和服务的关键因素。它被嵌入在各种类型的系统中:交通、医疗、电信、军事、工业生产过程、娱乐、办公、难以穷举。软件在现代社会中确实是必不可少的。而且我们进入21世纪,软件将成为从基础教育到基因工程的所有领域新进展的驱动器。,什么是软件,软件是
2、计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合程序是按事先设计的功能和性能要求执行的指令序列数据是使程序能正常操纵信息的数据结构文档是与程序开发,维护和使用有关的图文材料,软件的特点,软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性软件的生产与硬件不同,在它的开发过程中没有明显的制造过程在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题,软件的特点,软件的特点,软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程度的依赖性软件本身是复杂的实际问题的复杂性程序逻辑结构的复杂性 软件成本相当昂贵相当多的软件工作涉及到社会因素,软件的发展,I
3、n the early days:“Software”=“Place a sequence of instructions together to get the computer to do something useful”.User Computer,Computer became cheaper and more commonHigh level languages were invented,Programmer,User,Computer,Late 1950s:,Early 1960s:Very few large software projects were done by so
4、me experts.,Middle to late 1960s:Truly large software systems were attempted.,After 1968:Software Engineering,软件危机(Crisis),软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题:成本和进度软件产品的质量可维护性软件通常没有适当的文档资料。软件成本在计算机系统总成本中所占的比例逐年上升。软件开发生产率,产生软件危机的原因,项目没有被很好地理解;计划不周,最终导致进度拖延。,例 在20世纪60年代后期,一位热情的年青工程师受命为一个自动化制造应用项目“编写”计算机程
5、序。选择他的理由非常简单,因为在整个技术小组中他是唯一参加过计算机编程培训的人。这位工程师对汇编语言的IN和OUT指令以及Fortran语言有所了解,但是却根本不懂软件工程,更不要说项目进度安排和跟踪了。他的老板给了他一大堆相关的手册,以及需要做些什么的口头描述。年轻人被告知该项目必须在两个月之内完成。他阅读了这些手册,想好了解决方法,就开始编写代码。两周后,老板将他叫到办公室询问项目进展情况。,问题出在哪里?,“非常好”工程师以年轻人的热情回答道,“这个项目远比我想像的简单。我差不多已经完成了75%的任务。老板笑了,说道:“真是太棒了”然后他嘱咐年轻人继续努力工作,准备好一周后再汇报一次工作
6、进度。一周后老板将年轻人叫到办公室,问他说:“现在进度如何?”“一切顺利”年轻人回答说,“但是我遇到了一些小麻烦。我会排除这些困难,很快就可以回到正轨上来。”“你觉得在最后期限之前能否完成?”老板问道。“没有问题”工程师答道。“我差不多已经完成了90%”如果你在软件领域中工作过几年,你一定可以将这个故事写完。毫不奇怪,年轻工程师在整个项目工期内始终停留在90%的进度上,(在别人的帮助下)直到交付期限之后一个月才做完,没有充分的文档资料(documentation),Managers evaluate,track progress,.Programmers communicate to each
7、 otherMaintainers,人与人的交流比写程序困难得多。,.软件缺乏”可见性”,软件可靠性缺少度量的标准,质量无法保证。如何保证软件产品的质量,是非常复杂困难的问题。特别对于规模庞大的软件.,软件难以维护(maintainability)不易升级(evolvability),负责软件的管理者像大多数其他行业的管理者一样,都有巨大的压力,要维持预算、保持进度,还要提高质量。就像溺水者抓住一根救命稻草,软件管理者常常抓住软件神话不放,这些神话能够缓解其压力的话(哪怕是暂时的)。神话1:我们已经有了关于建造软件的标准和规程的书籍,难道它们不能给人们提供所有它们需要知道的信息吗?现实:不错,
8、关于标准的书籍已经存在,但真正使用它们了吗?软件实践者知道它们的存在吗?它们是否反映了现代软件工程实践?它们完备吗?它们对在保持关注质量的情况下改善交付时间是简便有效的吗?很多情况下,这些问题的答案是否定的。,软件神话管理神话,神话2:如果我们已经落后于计划,可以增加更多的程序员赶上进度。现实:给一个已经延迟的软件项目增加人手只会使其更加延迟。神话3:如果我决定向第三方外包软件项目,我可以放松并让承包公司去建造它。现实:如果一个机构不了解如何在内部管理和控制软件项目,当它外包软件项目时将总是处于挣扎的境地。,软件神话客户神话,在许多情况下,客户相信关于软件的神话,因为负责软件开发的管理者和开发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一 软件 危机 软件工程
链接地址:https://www.desk33.com/p-259625.html