收藏 分销(赏)

一讲软危机与软工程PPT课件.ppt

上传人:胜**** 文档编号:840278 上传时间:2024-03-28 格式:PPT 页数:40 大小:710.50KB
下载 相关 举报
一讲软危机与软工程PPT课件.ppt_第1页
第1页 / 共40页
一讲软危机与软工程PPT课件.ppt_第2页
第2页 / 共40页
一讲软危机与软工程PPT课件.ppt_第3页
第3页 / 共40页
一讲软危机与软工程PPT课件.ppt_第4页
第4页 / 共40页
一讲软危机与软工程PPT课件.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、Slide 1软件工程软件工程 Software Engineering第一讲第一讲Slide 2王玉善王玉善 Slide 3课程简介课程简介l l授课内容授课内容l l授课方式授课方式l l考核方式考核方式l l参考书目:软件工程:实践者的研究方法参考书目:软件工程:实践者的研究方法(第(第5 5版),版),Roger S.Pressman Roger S.Pressman 机械工业出版社机械工业出版社Slide 4议题议题l l第第1 1章章 软件工程学概述软件工程学概述软件软件软件软件软件危机软件危机软件危机软件危机软件工程软件工程软件工程软件工程Slide 5 计算机软件已经成为一种驱

2、动力。它是进行商业计算机软件已经成为一种驱动力。它是进行商业计算机软件已经成为一种驱动力。它是进行商业计算机软件已经成为一种驱动力。它是进行商业决策的引擎;它是现代科学研究和工程问题寻求决策的引擎;它是现代科学研究和工程问题寻求决策的引擎;它是现代科学研究和工程问题寻求决策的引擎;它是现代科学研究和工程问题寻求解答的基础;它也是鉴别现代产品和服务的关键解答的基础;它也是鉴别现代产品和服务的关键解答的基础;它也是鉴别现代产品和服务的关键解答的基础;它也是鉴别现代产品和服务的关键因素。它被嵌入在各种类型的系统中:交通、医因素。它被嵌入在各种类型的系统中:交通、医因素。它被嵌入在各种类型的系统中:交

3、通、医因素。它被嵌入在各种类型的系统中:交通、医疗、电信、军事、工业生产过程、娱乐、办公、疗、电信、军事、工业生产过程、娱乐、办公、疗、电信、军事、工业生产过程、娱乐、办公、疗、电信、军事、工业生产过程、娱乐、办公、难以穷举。软件在现代社会中确实是必不可难以穷举。软件在现代社会中确实是必不可难以穷举。软件在现代社会中确实是必不可难以穷举。软件在现代社会中确实是必不可少的。而且我们进入少的。而且我们进入少的。而且我们进入少的。而且我们进入21212121世纪,软件将成为从基础世纪,软件将成为从基础世纪,软件将成为从基础世纪,软件将成为从基础教育到基因工程的所有领域新进展的驱动器。教育到基因工程的

4、所有领域新进展的驱动器。教育到基因工程的所有领域新进展的驱动器。教育到基因工程的所有领域新进展的驱动器。Slide 6什么是软件什么是软件l软件是计算机系统中与硬件相互依存软件是计算机系统中与硬件相互依存的另一部分,它是包括的另一部分,它是包括程序程序,数据数据及及其相关其相关文档文档的完整集合的完整集合程序是按事先设计的功能和性能要求执程序是按事先设计的功能和性能要求执行的指令序列行的指令序列数据是使程序能正常操纵信息的数据结数据是使程序能正常操纵信息的数据结构构文档是与程序开发,维护和使用有关的文档是与程序开发,维护和使用有关的图文材料图文材料Slide 7软件的特点软件的特点l l软件是

5、一种逻辑实体,而不是具体的物理实体。因而它具有抽象性l l软件的生产与硬件不同,在它的开发过程中没有明显的制造过程l l在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题Slide 8软件的特点软件的特点Slide 9软件的特点软件的特点l l软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程度的依赖性l l软件本身是复杂的 实际问题的复杂性实际问题的复杂性 程序逻辑结构的复杂性程序逻辑结构的复杂性 l l软件成本相当昂贵l l相当多的软件工作涉及到社会因素Slide 10Slide 11软件的发展软件的发展In the early days:“Software”=“Plac

6、e a sequence of instructions together to get the computer to do something useful”.User ComputerComputer became cheaper and more commonHigh level languages were inventedProgrammerUser ComputerLate 1950s:Slide 12Early 1960s:Very few large software projects were done by some experts.Middle to late 1960

7、s:Truly large software systems were attempted.After 1968:Software EngineeringSlide 13软件危机(软件危机(Crisis)l l软件危机是指在计算机软件的开发和维护软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题:过程中所遇到的一系列严重问题:成本和进度成本和进度成本和进度成本和进度软件产品的质量软件产品的质量软件产品的质量软件产品的质量可维护性可维护性可维护性可维护性软件通常没有适当的文档资料。软件通常没有适当的文档资料。软件通常没有适当的文档资料。软件通常没有适当的文档资料。软件成本在计算机系

8、统总成本中所占的比例逐软件成本在计算机系统总成本中所占的比例逐软件成本在计算机系统总成本中所占的比例逐软件成本在计算机系统总成本中所占的比例逐年上升。年上升。年上升。年上升。软件开发生产率软件开发生产率软件开发生产率软件开发生产率Slide 14产生软件危机的原因产生软件危机的原因 项目没有被很好地理解;计划不周,最终导致进度拖延。例例 在在20世纪世纪60年代后期,一位热情的年青工程师受命为一个自动化年代后期,一位热情的年青工程师受命为一个自动化制造应用项目制造应用项目“编写编写”计算机程序。选择他的理由非常简单,因为在整计算机程序。选择他的理由非常简单,因为在整个技术小组中他是唯一参加过计

9、算机编程培训的人。这位工程师对汇编个技术小组中他是唯一参加过计算机编程培训的人。这位工程师对汇编语言的语言的IN和和OUT指令以及指令以及Fortran语言有所了解,但是却根本不懂软件语言有所了解,但是却根本不懂软件工程,更不要说项目进度安排和跟踪了。工程,更不要说项目进度安排和跟踪了。他的老板给了他一大堆相关的手册,以及需要做些什么的口头描述。年他的老板给了他一大堆相关的手册,以及需要做些什么的口头描述。年轻人被告知该项目必须在两个月之内完成。轻人被告知该项目必须在两个月之内完成。他阅读了这些手册,想好了解决方法,就开始编写代码。两周后,老板他阅读了这些手册,想好了解决方法,就开始编写代码。

10、两周后,老板将他叫到办公室询问项目进展情况。将他叫到办公室询问项目进展情况。问题出在哪里?问题出在哪里?Slide 15“非常好非常好非常好非常好”工程师以年轻人的热情回答道,工程师以年轻人的热情回答道,工程师以年轻人的热情回答道,工程师以年轻人的热情回答道,“这个项目远比我想像的简这个项目远比我想像的简这个项目远比我想像的简这个项目远比我想像的简单。我差不多已经完成了单。我差不多已经完成了单。我差不多已经完成了单。我差不多已经完成了75%75%75%75%的任务。的任务。的任务。的任务。老板笑了,说道:老板笑了,说道:老板笑了,说道:老板笑了,说道:“真是太棒了真是太棒了真是太棒了真是太棒了

11、”然后他嘱咐年轻人继续努力工作,准然后他嘱咐年轻人继续努力工作,准然后他嘱咐年轻人继续努力工作,准然后他嘱咐年轻人继续努力工作,准备好一周后再汇报一次工作进度。备好一周后再汇报一次工作进度。备好一周后再汇报一次工作进度。备好一周后再汇报一次工作进度。一周后老板将年轻人叫到办公室,问他说:一周后老板将年轻人叫到办公室,问他说:一周后老板将年轻人叫到办公室,问他说:一周后老板将年轻人叫到办公室,问他说:“现在进度如何?现在进度如何?现在进度如何?现在进度如何?”“”“一切一切一切一切顺利顺利顺利顺利”年轻人回答说,年轻人回答说,年轻人回答说,年轻人回答说,“但是我遇到了一些小麻烦。我会排除这些困难

12、,很但是我遇到了一些小麻烦。我会排除这些困难,很但是我遇到了一些小麻烦。我会排除这些困难,很但是我遇到了一些小麻烦。我会排除这些困难,很快就可以回到正轨上来。快就可以回到正轨上来。快就可以回到正轨上来。快就可以回到正轨上来。”“你觉得在最后期限之前能否完成?你觉得在最后期限之前能否完成?你觉得在最后期限之前能否完成?你觉得在最后期限之前能否完成?”老板问道。老板问道。老板问道。老板问道。“没有问题没有问题没有问题没有问题”工程师工程师工程师工程师答道。答道。答道。答道。“我差不多已经完成了我差不多已经完成了我差不多已经完成了我差不多已经完成了90%90%90%90%”如果你在软件领域中工作过几

13、年,你一定可以将这个故事写完。毫不奇如果你在软件领域中工作过几年,你一定可以将这个故事写完。毫不奇如果你在软件领域中工作过几年,你一定可以将这个故事写完。毫不奇如果你在软件领域中工作过几年,你一定可以将这个故事写完。毫不奇怪,年轻工程师在整个项目工期内始终停留在怪,年轻工程师在整个项目工期内始终停留在怪,年轻工程师在整个项目工期内始终停留在怪,年轻工程师在整个项目工期内始终停留在90%90%90%90%的进度上,(在别人的帮的进度上,(在别人的帮的进度上,(在别人的帮的进度上,(在别人的帮助下)直到交付期限之后一个月才做完助下)直到交付期限之后一个月才做完助下)直到交付期限之后一个月才做完助下

14、)直到交付期限之后一个月才做完Slide 16 没有充分的文档资料没有充分的文档资料(documentationdocumentation)Managers evaluate,track progress,.Programmers communicate to each otherMaintainers 人与人的人与人的交流交流比写程序困难得多。比写程序困难得多。Slide 17.软件缺乏软件缺乏”可见性可见性”,软件可靠性软件可靠性缺少度量缺少度量的标准,质量无法保证。的标准,质量无法保证。如何保证软件产品的质量,是非常复杂困如何保证软件产品的质量,是非常复杂困难的问题。特别对于规模庞大的软

15、件难的问题。特别对于规模庞大的软件.Slide 18 软件难以维护软件难以维护(maintainability)(maintainability)不易升级不易升级(evolvability)(evolvability)Slide 19l l负责软件的管理者像大多数其他行业的管理者一样,负责软件的管理者像大多数其他行业的管理者一样,负责软件的管理者像大多数其他行业的管理者一样,负责软件的管理者像大多数其他行业的管理者一样,都有巨大的压力,要维持预算、保持进度,还要提高都有巨大的压力,要维持预算、保持进度,还要提高都有巨大的压力,要维持预算、保持进度,还要提高都有巨大的压力,要维持预算、保持进度,

16、还要提高质量。就像溺水者抓住一根救命稻草,软件管理者常质量。就像溺水者抓住一根救命稻草,软件管理者常质量。就像溺水者抓住一根救命稻草,软件管理者常质量。就像溺水者抓住一根救命稻草,软件管理者常常抓住软件神话不放,这些神话能够缓解其压力的话常抓住软件神话不放,这些神话能够缓解其压力的话常抓住软件神话不放,这些神话能够缓解其压力的话常抓住软件神话不放,这些神话能够缓解其压力的话(哪怕是暂时的)。(哪怕是暂时的)。(哪怕是暂时的)。(哪怕是暂时的)。l l神话神话神话神话1 1 1 1:我们已经有了关于建造软件的标准和规程的书:我们已经有了关于建造软件的标准和规程的书:我们已经有了关于建造软件的标准

17、和规程的书:我们已经有了关于建造软件的标准和规程的书籍,难道它们不能给人们提供所有它们需要知道的信籍,难道它们不能给人们提供所有它们需要知道的信籍,难道它们不能给人们提供所有它们需要知道的信籍,难道它们不能给人们提供所有它们需要知道的信息吗?息吗?息吗?息吗?l l现实:不错,关于标准的书籍已经存在,但真正使用现实:不错,关于标准的书籍已经存在,但真正使用现实:不错,关于标准的书籍已经存在,但真正使用现实:不错,关于标准的书籍已经存在,但真正使用它们了吗?软件实践者知道它们的存在吗?它们是否它们了吗?软件实践者知道它们的存在吗?它们是否它们了吗?软件实践者知道它们的存在吗?它们是否它们了吗?软

18、件实践者知道它们的存在吗?它们是否反映了现代软件工程实践?它们完备吗?它们对在保反映了现代软件工程实践?它们完备吗?它们对在保反映了现代软件工程实践?它们完备吗?它们对在保反映了现代软件工程实践?它们完备吗?它们对在保持关注质量的情况下改善交付时间是简便有效的吗?持关注质量的情况下改善交付时间是简便有效的吗?持关注质量的情况下改善交付时间是简便有效的吗?持关注质量的情况下改善交付时间是简便有效的吗?很多情况下,这些问题的答案是否定的。很多情况下,这些问题的答案是否定的。很多情况下,这些问题的答案是否定的。很多情况下,这些问题的答案是否定的。软件神话管理神话软件神话管理神话Slide 20l l

19、神话神话神话神话2 2 2 2:如果我们已经落后于计划,可以增加更多的程:如果我们已经落后于计划,可以增加更多的程:如果我们已经落后于计划,可以增加更多的程:如果我们已经落后于计划,可以增加更多的程序员赶上进度。序员赶上进度。序员赶上进度。序员赶上进度。l l现实:给一个已经延迟的软件项目增加人手只会使其现实:给一个已经延迟的软件项目增加人手只会使其现实:给一个已经延迟的软件项目增加人手只会使其现实:给一个已经延迟的软件项目增加人手只会使其更加延迟。更加延迟。更加延迟。更加延迟。l l神话神话神话神话3 3 3 3:如果我决定向第三方外包软件项目,我可以放:如果我决定向第三方外包软件项目,我可

20、以放:如果我决定向第三方外包软件项目,我可以放:如果我决定向第三方外包软件项目,我可以放松并让承包公司去建造它。松并让承包公司去建造它。松并让承包公司去建造它。松并让承包公司去建造它。l l现实:如果一个机构不了解如何在内部管理和控制软现实:如果一个机构不了解如何在内部管理和控制软现实:如果一个机构不了解如何在内部管理和控制软现实:如果一个机构不了解如何在内部管理和控制软件项目,当它外包软件项目时将总是处于挣扎的境地。件项目,当它外包软件项目时将总是处于挣扎的境地。件项目,当它外包软件项目时将总是处于挣扎的境地。件项目,当它外包软件项目时将总是处于挣扎的境地。Slide 212024/3/19

21、 周二周二21Slide 22软件神话客户神话软件神话客户神话l l在许多情况下,客户相信关于软件的神话,因为负责在许多情况下,客户相信关于软件的神话,因为负责在许多情况下,客户相信关于软件的神话,因为负责在许多情况下,客户相信关于软件的神话,因为负责软件开发的管理者和开发人员很少去纠正客户的错误软件开发的管理者和开发人员很少去纠正客户的错误软件开发的管理者和开发人员很少去纠正客户的错误软件开发的管理者和开发人员很少去纠正客户的错误理解。导致客户过高的期望值,并最终引起对开发人理解。导致客户过高的期望值,并最终引起对开发人理解。导致客户过高的期望值,并最终引起对开发人理解。导致客户过高的期望值

22、,并最终引起对开发人员的不满意。员的不满意。员的不满意。员的不满意。l l神话神话神话神话1 1 1 1:有了对目标的一般性描述就足以开始写程序了,:有了对目标的一般性描述就足以开始写程序了,:有了对目标的一般性描述就足以开始写程序了,:有了对目标的一般性描述就足以开始写程序了,我们可以以后再补充细节。我们可以以后再补充细节。我们可以以后再补充细节。我们可以以后再补充细节。l l现实:糟糕的系统定义是软件项目失败的主要原因。现实:糟糕的系统定义是软件项目失败的主要原因。现实:糟糕的系统定义是软件项目失败的主要原因。现实:糟糕的系统定义是软件项目失败的主要原因。关于信息领域、功能、行为、性能、接

23、口、设计约束关于信息领域、功能、行为、性能、接口、设计约束关于信息领域、功能、行为、性能、接口、设计约束关于信息领域、功能、行为、性能、接口、设计约束及确认标准的形式化的、详细的描述是必要的。这些及确认标准的形式化的、详细的描述是必要的。这些及确认标准的形式化的、详细的描述是必要的。这些及确认标准的形式化的、详细的描述是必要的。这些内容只有通过客户和开发者之间彻底地交流后才能确内容只有通过客户和开发者之间彻底地交流后才能确内容只有通过客户和开发者之间彻底地交流后才能确内容只有通过客户和开发者之间彻底地交流后才能确定。定。定。定。l l神话神话神话神话2 2 2 2:软件需求确实是经常变更的,但

24、这些变更能够:软件需求确实是经常变更的,但这些变更能够:软件需求确实是经常变更的,但这些变更能够:软件需求确实是经常变更的,但这些变更能够很容易地满足,因为软件是灵活的。很容易地满足,因为软件是灵活的。很容易地满足,因为软件是灵活的。很容易地满足,因为软件是灵活的。l l现实:软件需求确实是变更的,但这些变更产生的影现实:软件需求确实是变更的,但这些变更产生的影现实:软件需求确实是变更的,但这些变更产生的影现实:软件需求确实是变更的,但这些变更产生的影响会随着其被引入的时间而不同的。响会随着其被引入的时间而不同的。响会随着其被引入的时间而不同的。响会随着其被引入的时间而不同的。Slide 23

25、软件神话实践者神话软件神话实践者神话l l在软件的早期阶段,程序设计被看成是一门艺术。在软件的早期阶段,程序设计被看成是一门艺术。在软件的早期阶段,程序设计被看成是一门艺术。在软件的早期阶段,程序设计被看成是一门艺术。l l神话神话神话神话1 1 1 1:一旦我们写出了程序并使其正常运行,我们的工作就结束:一旦我们写出了程序并使其正常运行,我们的工作就结束:一旦我们写出了程序并使其正常运行,我们的工作就结束:一旦我们写出了程序并使其正常运行,我们的工作就结束了。了。了。了。l l现实:越早开始写代码,就要花越长的时间才能完成它。研究表现实:越早开始写代码,就要花越长的时间才能完成它。研究表现实

26、:越早开始写代码,就要花越长的时间才能完成它。研究表现实:越早开始写代码,就要花越长的时间才能完成它。研究表明在一鼐软件上所投入的明在一鼐软件上所投入的明在一鼐软件上所投入的明在一鼐软件上所投入的60%60%60%60%到到到到80%80%80%80%的工作量是花费在软件第一次的工作量是花费在软件第一次的工作量是花费在软件第一次的工作量是花费在软件第一次交付客户之后。交付客户之后。交付客户之后。交付客户之后。l l神话神话神话神话2 2 2 2:在程序真正运行之前,没有办法评估其质量。:在程序真正运行之前,没有办法评估其质量。:在程序真正运行之前,没有办法评估其质量。:在程序真正运行之前,没有

27、办法评估其质量。l l现实:从项目一开始就可以应用的最有效的软件质量保证机制之现实:从项目一开始就可以应用的最有效的软件质量保证机制之现实:从项目一开始就可以应用的最有效的软件质量保证机制之现实:从项目一开始就可以应用的最有效的软件质量保证机制之一是正式的技术评审。一是正式的技术评审。一是正式的技术评审。一是正式的技术评审。l l神话神话神话神话3 3 3 3:一个成功项目唯一应该提交的就是运行程序。:一个成功项目唯一应该提交的就是运行程序。:一个成功项目唯一应该提交的就是运行程序。:一个成功项目唯一应该提交的就是运行程序。l l现实:运行程序仅是软件配置的一部分,软件配置包括很多东西。现实:

28、运行程序仅是软件配置的一部分,软件配置包括很多东西。现实:运行程序仅是软件配置的一部分,软件配置包括很多东西。现实:运行程序仅是软件配置的一部分,软件配置包括很多东西。l l神话神话神话神话4 4 4 4:软件工程将使我们创建大量的、不必要的文档,并总是延:软件工程将使我们创建大量的、不必要的文档,并总是延:软件工程将使我们创建大量的、不必要的文档,并总是延:软件工程将使我们创建大量的、不必要的文档,并总是延缓我们的进度。缓我们的进度。缓我们的进度。缓我们的进度。l l现实:软件工程并不是为创建文档,而了创建质量。现实:软件工程并不是为创建文档,而了创建质量。现实:软件工程并不是为创建文档,而

29、了创建质量。现实:软件工程并不是为创建文档,而了创建质量。Slide 24消除软件危机的途径消除软件危机的途径l l了解产生软件危机的原因,澄清错误认识,了解产生软件危机的原因,澄清错误认识,建立起关于软件开发和维护的正确概念,建立起关于软件开发和维护的正确概念,还仅仅是解决软件危机的开始,全面解决还仅仅是解决软件危机的开始,全面解决软件危机需要一系列综合措施。软件危机需要一系列综合措施。软件工程软件工程 Software EngineeringSoftware EngineeringSlide 25l l人们对软件生产提出了许多疑问:人们对软件生产提出了许多疑问:人们对软件生产提出了许多疑问

30、:人们对软件生产提出了许多疑问:为什么需要那么长的时间才能完成软件开发。为什么需要那么长的时间才能完成软件开发。为什么需要那么长的时间才能完成软件开发。为什么需要那么长的时间才能完成软件开发。为什么开发成本如此高为什么开发成本如此高为什么开发成本如此高为什么开发成本如此高为什么我们不能在把软件提交客户之前就发现所有的为什么我们不能在把软件提交客户之前就发现所有的为什么我们不能在把软件提交客户之前就发现所有的为什么我们不能在把软件提交客户之前就发现所有的错误错误错误错误为什么在软件开发过程总是难以度量其进展为什么在软件开发过程总是难以度量其进展为什么在软件开发过程总是难以度量其进展为什么在软件开

31、发过程总是难以度量其进展l l造成以上问题的原因主要是:造成以上问题的原因主要是:造成以上问题的原因主要是:造成以上问题的原因主要是:软件行业发展的速度太快,对经验总结不足软件行业发展的速度太快,对经验总结不足软件行业发展的速度太快,对经验总结不足软件行业发展的速度太快,对经验总结不足人们对自身处理能力的认识不清人们对自身处理能力的认识不清人们对自身处理能力的认识不清人们对自身处理能力的认识不清l l解决的方法:解决的方法:解决的方法:解决的方法:多实践,积累成功和失败的案例多实践,积累成功和失败的案例多实践,积累成功和失败的案例多实践,积累成功和失败的案例总结、思考、提取经验总结、思考、提取

32、经验总结、思考、提取经验总结、思考、提取经验建立软件的模型和模式建立软件的模型和模式建立软件的模型和模式建立软件的模型和模式Slide 26软件工程软件工程l l软件工程是指导计算机软件开发和维护的软件工程是指导计算机软件开发和维护的工程学科。采用工程学科。采用工程工程的概念、原理、技术的概念、原理、技术和方法来开发与维护软件,把经过时间考和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它发出高质量的软件并有效地维护它Slide 27软

33、件工程软件工程l lFritz Bauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法l lIEEE:软件工程是开发、运行、维护和修复软件的系统方法Slide 28软件工程的本质特性软件工程的本质特性1.1.1.1.软件工程关注于大型程序的构造软件工程关注于大型程序的构造2.2.2.2.软件工程的中心课题是控制复杂性软件工程的中心课题是控制复杂性3.3.3.3.软件经常变化软件经常变化4.4.4.4.开发软件的效率非常重要开发软件的效率非常重要5.5.5.5.和谐地工作是开发软件的关键和谐地工作是开发软件的关键6.6.6.6.软件必须有效的支持它

34、的用户软件必须有效的支持它的用户7.7.7.7.在软件工程领域中是由一种文化背景的人在软件工程领域中是由一种文化背景的人替具有另一种文化背景的人创造产品替具有另一种文化背景的人创造产品Slide 29软件工程的基本原理软件工程的基本原理1.1.1.1.分阶段的生命周期计划严格管理分阶段的生命周期计划严格管理2.2.2.2.坚持进行阶段评审坚持进行阶段评审3.3.3.3.实行严格的产品控制实行严格的产品控制基准配置管理基准配置管理4.4.4.4.采用现代程序设计技术采用现代程序设计技术5.5.5.5.结果应能清楚地审查结果应能清楚地审查6.6.6.6.开发小组的人员应该少而精开发小组的人员应该少

35、而精 1+121+127.7.7.7.承认不断改进软件工程实践的必要性承认不断改进软件工程实践的必要性Slide 30l l软件工程三要素:方法、工具和过程l l软件工程方法为软件开发提供了“如何做”的技术 传统软件工程方法学 与面向对象方法学l l软件工具为软件工程方法提供了自动的或半自动的软件支撑环境l l软件工程过程定义了:方法使用的顺序方法使用的顺序 要求交付的文档资料要求交付的文档资料 为保证质量和适应变化所需要的管理为保证质量和适应变化所需要的管理 软件开发各个阶段完成的里程碑软件开发各个阶段完成的里程碑软件工程三要素软件工程三要素Slide 31A Layered Technol

36、ogya“quality”focusa“quality”focusprocess modelprocess modelmethodsmethodstoolstoolsObject-oriented methodRational RoseSlide 32l l谁需要软件工程谁需要软件工程程序员程序员程序员程序员项目组成员项目组成员项目组成员项目组成员项目负责人项目负责人项目负责人项目负责人l l为什么需要软件工程为什么需要软件工程项目延迟项目延迟项目延迟项目延迟用户需求用户需求用户需求用户需求维护困难维护困难维护困难维护困难项目超支项目超支项目超支项目超支Slide 33我国软件业的现状我国软件

37、业的现状l l我国软件业的规模我国软件业的规模目前,我国从事软件开发、研制、销售、目前,我国从事软件开发、研制、销售、维护和服务的软件企业有维护和服务的软件企业有20002000家左右,家左右,加上兼营的企业,总数大约有加上兼营的企业,总数大约有1000010000多家,多家,其中具有自主软件研发能力的软件企业其中具有自主软件研发能力的软件企业约约57005700家,从事软件销售、维护和服务家,从事软件销售、维护和服务的企业的企业50005000多家。在这里面,营业规模多家。在这里面,营业规模超过一亿元的软件企业达到超过一亿元的软件企业达到100100家以上,家以上,超过超过5 5亿元的达到亿

38、元的达到1818家,超过家,超过1010亿元的达亿元的达到到1212家。家。Slide 34我国软件业的现状我国软件业的现状l l20012001年,世界软件产品市场销售额超过年,世界软件产品市场销售额超过18651865亿美元,我国当年的销售额为亿美元,我国当年的销售额为285285亿元亿元人民币,只占世界市场不到人民币,只占世界市场不到2 2的份额。的份额。l l国内软件市场有限的份额中大部分为国外国内软件市场有限的份额中大部分为国外软件厂商所瓜分,国内所开发的软件产品软件厂商所瓜分,国内所开发的软件产品仅占小部分。仅占小部分。Slide 35我国软件业的现状我国软件业的现状l l2001

39、200120012001年我国软件销售总额年我国软件销售总额年我国软件销售总额年我国软件销售总额969696963 3 3 3亿美元,软件企业约亿美元,软件企业约亿美元,软件企业约亿美元,软件企业约5000500050005000家,从业人员家,从业人员家,从业人员家,从业人员29292929万。万。万。万。l l2001200120012001年印度软件销售总额年印度软件销售总额年印度软件销售总额年印度软件销售总额1021021021023 3 3 3亿美元,软件企业约亿美元,软件企业约亿美元,软件企业约亿美元,软件企业约6000600060006000家,从业人员家,从业人员家,从业人员家

40、,从业人员40404040万。万。万。万。l l2001200120012001年我国软件的出口额仅为年我国软件的出口额仅为年我国软件的出口额仅为年我国软件的出口额仅为7.27.27.27.2亿美元,亿美元,亿美元,亿美元,2000200020002000年与年与年与年与1999199919991999年分别为年分别为年分别为年分别为4 4 4 4亿美元及亿美元及亿美元及亿美元及2.52.52.52.5亿美元。亿美元。亿美元。亿美元。l l印度在软件出口方面,则一直保持高速的增长。印度在软件出口方面,则一直保持高速的增长。印度在软件出口方面,则一直保持高速的增长。印度在软件出口方面,则一直保持

41、高速的增长。1990199019901990年印年印年印年印度软件出口只有度软件出口只有度软件出口只有度软件出口只有5000500050005000万美元,万美元,万美元,万美元,1999199919991999年就达到了年就达到了年就达到了年就达到了39393939亿美元,亿美元,亿美元,亿美元,2000200020002000年达到了年达到了年达到了年达到了62626262亿美元,而亿美元,而亿美元,而亿美元,而2001200120012001年印度软件出口额为年印度软件出口额为年印度软件出口额为年印度软件出口额为777777778 8 8 8亿美元,已经占到了印度全部出口总额的亿美元,已

42、经占到了印度全部出口总额的亿美元,已经占到了印度全部出口总额的亿美元,已经占到了印度全部出口总额的10.510.510.510.5。Slide 36我国软件业的现状我国软件业的现状l l我国软件业发展不理想的原因除了政策和我国软件业发展不理想的原因除了政策和盗版外,最大的问题是我国绝大多数软件盗版外,最大的问题是我国绝大多数软件企业对其软件开发工作过程缺乏有效的管企业对其软件开发工作过程缺乏有效的管理和控制。多数软件企业开发和生产基本理和控制。多数软件企业开发和生产基本上处于上处于“技术少标准、开发缺规范、生产技术少标准、开发缺规范、生产无检验、质量无保证无检验、质量无保证”的状态。在这方面的

43、状态。在这方面印度软件业的发展能够给我们以启发。印度软件业的发展能够给我们以启发。Slide 37它山之石它山之石l l印度软件业能够这么迅速地发展起来,除印度软件业能够这么迅速地发展起来,除了有政府支持、英语程度、人才储备等原了有政府支持、英语程度、人才储备等原因外,最重要的是从标准化与产品流程入因外,最重要的是从标准化与产品流程入手,重视管理。手,重视管理。l l印度的软件开发管理的特点是流程重于项印度的软件开发管理的特点是流程重于项目,流程管理人员独立于研发部门,专门目,流程管理人员独立于研发部门,专门检查研发部门的开发流程是不是按照既定检查研发部门的开发流程是不是按照既定流程走,如果流

44、程不对,项目肯定就此停流程走,如果流程不对,项目肯定就此停止。另外,所谓的项目经理一般都是从编止。另外,所谓的项目经理一般都是从编码人员升上来的,至少有四年以上的经验,码人员升上来的,至少有四年以上的经验,而公司所有的东西(包括草稿)都有文档,而公司所有的东西(包括草稿)都有文档,其详细文档要求达到只有这个文档就可以其详细文档要求达到只有这个文档就可以编码的程度。编码的程度。Slide 38l l于是,印度软件公司开发出来的软件整个于是,印度软件公司开发出来的软件整个体系架构非常清晰,而且相当稳定。体系架构非常清晰,而且相当稳定。由于由于印度企业不是靠一两个软件英雄搞研发,印度企业不是靠一两个

45、软件英雄搞研发,而是靠一大批软件技术人员的分工协作,而是靠一大批软件技术人员的分工协作,所以,他们必须注重标准化,注重开发的所以,他们必须注重标准化,注重开发的流程管理,以与国际接口。流程管理,以与国际接口。Slide 39l l目前印度软件公司中有目前印度软件公司中有170170家公司获得家公司获得ISO9000ISO9000质量标准认证,是世界上获得质量质量标准认证,是世界上获得质量认证软件企业最多的国家。在得到卡内基认证软件企业最多的国家。在得到卡内基梅隆大学软件工程学会最高级别的全球梅隆大学软件工程学会最高级别的全球2323家计算机软件公司中,有家计算机软件公司中,有1515家是印度公家是印度公司。司。Slide 402024/3/19 周二周二40

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服