软件工程简介入门.ppt
《软件工程简介入门.ppt》由会员分享,可在线阅读,更多相关《软件工程简介入门.ppt(77页珍藏版)》请在三一办公上搜索。
1、软件工程Software Engineering,主讲人:邱栋,课程介绍及要求,用工程化的方法来开发软件,Copyright Xinjun Mao,课程介绍和要求,教学目标,为什么要学习这门课程有助于正确理解和认识“软件”的概念及其特点理解软件开发面临的问题和挑战掌握软件工程的原则、方法和思想来系统地开发软件,尤其是复杂、庞大的软件的开发了解和接触软件开发所需的各种技术手段理解、掌握和运用,Copyright Xinjun Mao,课程介绍和要求,理解,什么是软件工程为什么需要软件工程(产生背景)软件工程需要解决那些问题软件工程涉及那些方面内容,Copyright Xinjun Mao,课程介
2、绍和要求,掌握,软件工程概念技术过程手段工具,Copyright Xinjun Mao,课程介绍和要求,运用,运用工程化思想进行软件开发需求分析软件设计程序设计软件维护,Copyright Xinjun Mao,课程介绍和要求,内容组织(见教学日历),先导要求,程序设计语言最好有一定的软件开发经验,Copyright Xinjun Mao,课程介绍和要求,学习要求,听理解知识点和思想无需死记硬背做实践体会软件工程的原则、方法和技术,在实践中提高培养抽象思维能力培养独立解决问题的能力培养合作精神想阅读相关资料,Copyright Xinjun Mao,课程介绍和要求,9,考核方式,实习(40%)
3、考试(60%),Copyright Xinjun Mao,课程介绍和要求,10,课程实习要求(1/2),内容选择一个项目开发课题,用软件工程的思想知道其开发过程。完成需求分析,详细设计,测试,项目汇报。时间每四周提交一个,最后一次实习课为项目汇报分组以小组为单位,68人一组为宜,Copyright Xinjun Mao,课程介绍和要求,11,课程实习要求(2/2),提交内容电子文档评价方法按阶段递交和打分文档:完整性、合理性、规范性注意:严格按照要求执行,Copyright Xinjun Mao,课程介绍和要求,12,参考文献,软件工程导论(第五版),张海藩,清华大学出版社软件工程实践导论-有
4、关方法、设计、实现、管理之三十六计,金尊和,清华大学出版社,2005.软件开发的科学与艺术,微软亚洲研究院,电子工业出版社,2002年 软件工程实践者的研究方法,R S.Pressman,机械工业出版社现代软件工程,周之英编著,科学出版社,第1章 软件工程概述,软件工程产生的背景(软件危机)软件工程定义软件工程方法学软件过程模型小结,计算机的发展,人类社会相对于浩瀚的宇宙来说只是沧海一粟软件的历史相对于人类的历史更如白驹过隙,1.1 软件工程产生的背景,计算机渗透到了各行各业,计算机是一种工具(君子性非异也,善假于物也),什么样的工具能渗透到各行各业?,代替我们大脑的工具!,软件计算机的灵魂,
5、软件是计算机系统中与硬件相互依存的另一部分,软件不同于工业产品,软件不同于艺术品,软件不同于艺术品,软件需要逻辑因为它是多人合作,计时间,计成本,按计划完成规定的功能和质量要求的物质商品!,软件的特点,软件无实体软件无损耗,无备件软件是一种逻辑产品软件是思维的产物!,什么是软件,软件是计算机系统中与硬件互相依存的另一部分,它包括程序、数据、及其相关文档组成的完整集合。,软件=程序+文档,+服务,软 件 a.软件的定义 软件(Software)是计算机系统中与硬件相互依存的另一部分,它是包括程序(Program),数据(Data)及其相关文档(Document)的完整集合。Software=Pr
6、ogram+Data+Document 程序是按事先设计的功能和性能要求执行的指令序列 数据是使程序能正常操纵信息的数据结构 文档是与程序开发,维护和使用有关的图文材料,Copyright Xinjun Mao,22,非常复杂,逻辑复杂远远高于硬件的逻辑复杂度开发复杂成本难以估算进度难以控制人员素质要求质量得不到保证96年Ariane火箭发射失败,浮点数转换时发生错误,1.1 软件工程产生的背景 b、软件的特征,成本高(1/2),1.1 软件工程产生的背景 b、软件的特征,Copyright Xinjun Mao,课程介绍和要求,成本高(2/2),Copyright Xinjun Mao,课程
7、介绍和要求,风险大,1995年美国Standish咨询集团的统计分析(至90年代初的软件项目执行情况)成功:16.2%失败:31受到挑战:53.8%近几年来的统计数据成功:26失败:28受到挑战:46%,1.1 软件工程产生的背景 b、软件的特征,维护困难,维护形式多样化改正性:修改故障完善性:增加功能适应性:移植维护成本越来越高55%到70维护带来的问题,1.1 软件工程产生的背景 b、软件的特征,1.1 软件工程产生的背景,c.软件的发展,早期面向批处理有限的分布自定义软件,第二阶段多用户实时数据库软件产品,第三阶段分布式系统嵌入“智能”低成本硬件消费者的影响,第四阶段强大的桌面系统面向对
8、象技术专家系统人工神经网络并行计算网路计算机,1950,1960,1970,1980,1990,2000,1968年10月,北大西洋公约组织(NATO)的科学家在德国召开的学术会议上正式提出了软件危机问题。,1.1 软件工程产生的背景,2)、软件危机 a、软件危机的表现(1/3),成本高IBM 360 OS,5000多人年,耗时4年(19631966),花费2亿多美元美国空军:1955年软件占总费用(计算机系统)的18%,70年60%,85年达到85美国全球军事指挥控制系统,硬件1亿美元,软件高达7.2亿美元计算机软件和硬件费用比,软件质量得不到保证软件应用面的扩大:科学计算、军事、航空航天、
9、工业控制、企业管理、办公、家庭软件越来越多的应用于安全攸关(safety critical)的系统,对软件质量提出更高的要求80年代欧洲亚丽安娜火箭的发射失败,原因是软件错误美国阿托拉斯火箭的发射失败,原因是软件故障英国1986年开发的办公室信息系统Folios经4年,因性能达不到要求,1989年取消日本第5代机因为软件问题在投入50亿美元后于1993年下马由于软件质量问题导致失败的软件项目非常多,a、软件危机的表现(2/3),a、软件危机的表现(3/3),进度难以控制项目延期比比皆是由于进度问题而取消的软件项目较常见只有一小部分的项目能够按期完成维护非常困难软件维护的多样性软件维护的复杂性软
10、件维护的副作用,b、产生软件危机的原因,与软件本身的特点有关(难于维护,逻辑复杂)与软件开发与维护的方法不正确有关:软件程序急于求成=拔苗助长各自为阵无方法/学,开发一个具有一定规模和复杂性的软件系统与编写一个简单的程序不一样正如建设狗窝和高楼大厦大型、复杂软件系统的开发是一项工程,必须按照工程化的方法组织软件的生产和管理,必须经过分析、设计、实现、测试、维护等一系列软件过程和活动,C、软件工程(学)因危机而产生,d、软件工程(学):克服软件危机的努力,(1)从管理的角度 软件开发过程的研究、文档的标准化以及人们 的交流方式等(2)软件开发方法的研究结构化软件开发方法,面向对象的开发,提出有效
11、的方法和工具支持软件开发1968年提出软件工程概念和思想20世纪70年代的结构化软件开发方法20世纪80年代的面向对象的软件开发方法新的技术:软件重用、快速原型、需求工程典型技术:COM,Java,C+,J2EE,.Net,.支撑工具和环境:Jbuilder,Visual Studio,WebLogic,1、解决危机的技术途径,20世纪80年代末,美国DoD和工业界开始认识到管理的重要性美国DoD的一项研究表明,70%的项目由于管理不善导致难以控制进步、成本和质量;进一步的研究发现:管理是影响软件项目成功开发的全局性因素,而技术只影响局部如果软件开发组织不能对软件项目进行有效管理,就不能充分发
12、挥软件开发方法和工具的潜力,也就不能高效率地开发出高质量的软件产品,2、解决危机的管理途径,1.2 软件工程定义(1),The establishment and use of sound engineering principles(methods)in order to obtain economically software that is reliable and works on real machines.(1968-Fritz Bauer),软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。,1.2 软件工程定义(2),Softwar
13、e engineering.(1)The application of a systematic,disciplined,quantifiable approach to the development,operation,and maintenance of software;that is,the application of engineering to software.(2)The study of approaches as in(1).(IEEE(The Institute for Electrical and Electronic engineers)Std 610-1990.
14、),软件工程是:(1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;(2)研究(1)中提到的途径。,1.2 软件工程定义,总之:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。,软件工程的特性,1.软件工程关注于大型程序的构造2.软件工程的中心课题是控制复杂性3.软件经常变化4.开发软件的效率非常重要5.和谐地合作是开发软件的关键6.软件必须有效地支持它的用户7.在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人,1.2 软件工程定义,软件工程的基本原理,用分阶段的生命周
15、期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开发小组的人员应该少而精承认不断改进软件工程实践的必要性,软件工程包括技术和管理两方面的内容,是技术与管理紧密结合所形成的工程学科。通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学(methodology),也称为范型(paradigm)。在软件工程领域中,这两个术语的含义基本相同。软件工程方法学包含3个要素:方法、工具和过程。,1.3 软件工程方法学,1.3 软件工程方法学,软件工程:一种层次化技术,软件工程三个要素:工具、方法、过程,基础层,综合方法及工具,定义方法使用的顺序,所需要的管理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 简介 入门

链接地址:https://www.31ppt.com/p-6610911.html