软件危机与软件工程培训教程.pptx
《软件危机与软件工程培训教程.pptx》由会员分享,可在线阅读,更多相关《软件危机与软件工程培训教程.pptx(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、张小洪Dr. Zhang,Xiaohong2006, FallSchool of Software Engineering, Chongqing University1n 张小洪 qEmail: qTEL:15923238399(小灵通)q办公地点:重庆大学A区主楼1003室n研究方向:q软件工程、机器视觉与数据挖掘等2n软件工程概述n过程模型n需求分析与分析建模n软件设计原则n软件体系结构设计n软件测试n软件维护n可行性分析n面向对象分析与设计3 软件工程软件工程 -实践者的研究方法实践者的研究方法(英文版(英文版 第五版)第五版) Roger S. Pressman 机械工业出版社机械工业
2、出版社4软件工程导论(第三版) 张海藩 清华大学出版社(1997)56n软件的特点n软件的分类n软件工程产生的背景:软件危机与神话n软件工程的概念n软件工程现状7 计算机软件已经成为一种驱动力。它是进行商业决策的引擎;它是现代科学研究和工程问题寻求解答的基础;它也是鉴别现代产品和服务的关键因素。它被嵌入在各种类型的系统中:交通、医疗、电信、军事、工业生产过程、娱乐、办公、难以穷举。软件在现代社会中确实是必不可少的。而且我们进入21世纪,软件将成为从基础教育到基因工程的所有领域新进展的驱动器。8910111213141516 1 14周 0.5k 1 16月 1k2k 数值计算或数据处理,通常没
3、有与其它程序的接口。需要按一定的标准化技术、正规的资料书写以及定期的系统审查。只是没有大题目那样严格。 25 12年 5k50k 软件人员之间、与用户之间的联系、协调的配合关系。因而计划、资料书写以及技术审查需要比较严格地进行。应用程序和系统程序。系统的软件工程方法是完全必要的。17 520 23年年 50k100k 编译程序、小型分时系统、实时控制系统等。二级管理,若干小组,编译程序、小型分时系统、实时控制系统等。二级管理,若干小组,每组每组5人以下。人员调整往往不可避免,新手的培训。采用统一的标准,人以下。人员调整往往不可避免,新手的培训。采用统一的标准,实行严格的审查是绝对必要的。实行严
4、格的审查是绝对必要的。 1001000 45年年 1M(=1000k) 若干个子项目,每一个子项目都是一个大型软件。子项目之间具有若干个子项目,每一个子项目都是一个大型软件。子项目之间具有复杂的接口。如远程通信系统、多任务系统、大型操作系统、大型数复杂的接口。如远程通信系统、多任务系统、大型操作系统、大型数据库管理系统、军事指挥系统通常现有这样的规模。很显然,这类问据库管理系统、军事指挥系统通常现有这样的规模。很显然,这类问题没有软件工程方法的支持,它的开发工作是不可想象的。题没有软件工程方法的支持,它的开发工作是不可想象的。 20005000 510年年 1M10M 军事指挥、弹道导弹防御系
5、统。军事指挥、弹道导弹防御系统。 只是对软件工程技术依赖的程度不同而已。只是对软件工程技术依赖的程度不同而已。1819n 202122Late 1950s:In the early days: “Software” = “Place a sequence of instructions together to get the computer to do something useful”.User ComputerComputer became cheaper and more commonHigh level languages were inventedProgrammerUser Co
6、mputereasier23Early 1960s: Very few large software projects were done by some experts.Middle to late 1960s: Truly large software systems were attempted.After 1968: Software Engineering24n软件在社会上扮演了双重角色q它本身是一种产品n将计算机硬件的计算能力发挥出来n同时,它也是一种传递产品的工具q软件传递了我们这个时代最重要的产品: 信息25n70年代和80年代q“新的工业革命”q“工业社会将转变为信息社会”q
7、(大批量生产带来的产品过剩)n90年代q“知识的民主化将改变旧的权力结构”n21世纪q“无所不在的信息”26 美国IBM公司在1963年至1966年开发的IBM360机的操作系统。这一项目花了5000人一年的工作量,最多时有1000人投入开发工作,写出了近100万行源程序。.据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。.这个项目的负责人这个项目的负责人F. D. BrooksF. D. Brooks事后总结了他在组织开发过程中的沉事后总结了他在组织开发过程中的沉痛教训时说:痛教训时说:“.“.正像一只逃亡的野兽落到泥潭中做垂死的挣扎,正像一只逃亡的野
8、兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难。越是挣扎,陷得越深,最后无法逃脱灭顶的灾难。.程序设计工程序设计工作正像这样一个泥潭,作正像这样一个泥潭,.一批批程序员被迫在泥潭中拼命挣一批批程序员被迫在泥潭中拼命挣扎,扎,.谁也没有料到问题竟会陷入这样的困境谁也没有料到问题竟会陷入这样的困境.”.”。IBM360IBM360操作系统的历史教训成为软件开发项目的典型事例为人们所记取。操作系统的历史教训成为软件开发项目的典型事例为人们所记取。Software Crisis !27 项目没有被很好地理解;计划不周,最终导致进度拖延。例例 在在20世纪世纪60年代后期,一位热情
9、的年青工程师受命为一个自动年代后期,一位热情的年青工程师受命为一个自动化制造应用项目化制造应用项目“编写编写”计算机程序。选择他的理由非常简单,因为在整计算机程序。选择他的理由非常简单,因为在整个技术小组中他是唯一参加过计算机编程培训的人。这位工程师对汇编个技术小组中他是唯一参加过计算机编程培训的人。这位工程师对汇编语言的语言的IN和和OUT指令以及指令以及Fortran语言有所了解,但是却根本不懂软件语言有所了解,但是却根本不懂软件工程,更不要说项目进度安排和跟踪了。工程,更不要说项目进度安排和跟踪了。他的老板给了他一大堆相关的手册,以及需要做些什么的口头描述。年他的老板给了他一大堆相关的手
10、册,以及需要做些什么的口头描述。年轻人被告知该项目必须在两个月之内完成。轻人被告知该项目必须在两个月之内完成。他阅读了这些手册,想好了解决方法,就开始编写代码。两周后,老板他阅读了这些手册,想好了解决方法,就开始编写代码。两周后,老板将他叫到办公室询问项目进展情况。将他叫到办公室询问项目进展情况。问题出在哪里?问题出在哪里?28“非常好非常好”工程师以年轻人的热情回答道,工程师以年轻人的热情回答道,“这个项目远比我想像这个项目远比我想像的简单。我差不多已经完成了的简单。我差不多已经完成了75%的任务。的任务。老板笑了,说道:老板笑了,说道:“真是太棒了真是太棒了”然后他嘱咐年轻人继续努力工作,
11、然后他嘱咐年轻人继续努力工作,准备好一周后再汇报一次工作进度。准备好一周后再汇报一次工作进度。一周后老板将年轻人叫到办公室,问他说:一周后老板将年轻人叫到办公室,问他说:“现在进度如何?现在进度如何?”“一切顺利一切顺利”年轻人回答说,年轻人回答说,“但是我遇到了一些小麻烦。我会排但是我遇到了一些小麻烦。我会排除这些困难,很快就可以回到正轨上来。除这些困难,很快就可以回到正轨上来。”“你觉得在最后期限之前能否完成?你觉得在最后期限之前能否完成?”老板问道。老板问道。“没有问题没有问题”工程师答道。工程师答道。“我差不多已经完成了我差不多已经完成了90%”如果读者在软件领域中工作过几年,你一定可
12、以将这个故事写完。如果读者在软件领域中工作过几年,你一定可以将这个故事写完。毫不奇怪,年轻工程师在整个项目工期内始终停留在毫不奇怪,年轻工程师在整个项目工期内始终停留在90%的进度上,的进度上,(在别人的帮助下)直到交付期限之后一个月才做完(在别人的帮助下)直到交付期限之后一个月才做完29 没有充分的文档资料没有充分的文档资料(documentation) 人与人的人与人的交流交流比写程序困难得多。比写程序困难得多。Managers evaluate, track progress, .Programmers communicate to each otherMaintainers 30 软件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 危机 软件工程 培训 教程
限制150内