第1章_软件工程概念.ppt
文本预览下载声明
软件工程;什么是软件工程?;我国软件产业的现状;2010年高校软件工程专业排名;;学软件的优势—就业形势好;学软件的优势—就业工资高;学软件的优势—就业方向广;;理解;掌握;运用;内容组织(见教学日历);学习要求;*;*;软件工程产生的背景(软件危机);1.1、软件及软件危机;*;成本高(1/2);成本高(2/2);1995年美国Standish咨询集团的统计分析(至90年代初的软件项目执行情况)
成功:16.2%
失败:31%
受到挑战:53.8%
近几年来的统计数据
成功:26%
失败:28%
受到挑战:46%;维护形式多样化
改正性:修改故障
完善性:增加功能
适应性:移植
维护成本越来越高
55%到70%
维护带来的问题;1.1.3、软件的发展;1.1.4、什么是软件危机?;1.1.5、软件危机的表现;软件质量得不到保证
1、软件应用面的扩大:科学计算、军事、航空航天、工业控制、企业管理、办公、家庭
2、软件越来越多的应用于安全攸关(safety critical)的系统,对软件质量提出更高的要求
3、80年代欧洲亚丽安娜火箭的发射失败,原因是软件错误
4、美国阿托拉斯火箭的发射失败,原因是软件故障
5、英国1986年开发的办公室信息系统Folios经4年,因性能达不到要求,1989年取消
6、日本第5代机因为软件问题在投入50亿美元后于1993年下马
由于软件质量问题导致失败的软件项目非常多;1.1.5、软件危机的表现(3/3);1.1.6、产生软件危机的原因;1.1.7、如何解决软件危机;提出有效的方法和工具支持软件开发
1、1968年提出软件工程概念和思想
2、20世纪70年代的结构化软件开发方法
3、20世纪80年代的面向对象的软件开发方法
4、新的技术: 软件重用、快速原型、需求工程
5、典型技术: COM, Java, C++, J2EE, .Net, ….
6、支撑工具和环境:Jbuilder, Visual Studio, WebLogic, …;20世纪80年代末,美国DoD和工业界开始认识到管理的重要性
美国DoD的一项研究表明,70%的项目由于管理不善导致难以控制进步、成本和质量;
进一步的研究发现:管理是影响软件项目成功开发的全局性因素,而技术只影响局部
如果软件开发组织不能对软件项目进行有效管理,就不能充分发挥软件开发方法和工具的潜力,也就不能高效率地开发出高质量的软件产品;1.2 软件工程定义(1);1.2 软件工程定义(2);1.2软件工程定义(3);1.2软件工程定义;1.2.2软件工程的特性;1.2.3软件工程的基本原理; 软件工程包括技术和管理两方面的内容,是技术与管理紧密结合所形成的工程学科。
通常把在软件生命周期全过程中使用的一整套技术方法的 集合称为方法学(methodology),也称为范型(paradigm)。在软件工程领域中,这两个术语的含义基本相同。
软件工程方法学包含3个要素:方法、工具和过程。;1.2.4 软件工程方法学;1.3 软件生命周期模型;1.4 软件过程模型;1.4 软件过程模型;1.4 软件过程模型;1.4 软件过程模型;1.4 软件过程模型;1.4 软件过程模型;1.4 软件过程模型;1.4 软件过程模型;1.4 软件过程模型;1.4 软件过程模型;1.4 软件过程模型;1.4 软件过程模型;简化的螺旋模型;完整的螺旋模型;基本思想:融合原型的迭代、瀑布模型和系统化的方法来降低风险。
增加了风险分析。风险驱动,演化方法的结果不易于把握。
风险分析可能大大影响项目的利润,主要适用于内部开发的大规模软件项目。
较为复杂,对经验要求较高。;1.4 软件过程模型;1.4.6 Rational统一过程 ;RUP软件开发生命周期;1.4.7 敏捷过程与极限编程;极限编程;1.4.8 微软过程;微软过程的生命周期模型 ;支持软件复用(reuse)
利用预先包装好的软件构件(包括组织内部开发的构件和现存商品化构件COTS)来构造应用系统;;领域工程的目的是构建领域模型、领域基准体系结构和可复用构件库。
领域分析分析该领域中各种应用系统的公共部分或相似部分,构建领域模型和领域基准体系结构(reference architecture),标识领域的候选构件。
对候选构件进行可变性分析,以适应多个应用系统的需要。
构建可复用构件,经严格测试和包装后存入可复用构件库(称为构件工程)。;应用系统工程的目的是使用可复用构件组装应用系统。
分析待开发的应用系统,设计应用系统的体系结构,标识应用系统所需的构件。
在可复用构件库中查找合适的构件(也可购买第三方的构件)。
特化选中的构件,必要时作适当的修改,以适应该应用系统的需要。
开发那些未找到合适构件
显示全部