软件工程课件1 软件工程导论(第五版).ppt

软件工程课件1 软件工程导论(第五版).ppt

ID:51621338

大小:3.96 MB

页数:705页

时间:2020-03-26

软件工程课件1 软件工程导论(第五版).ppt_第1页
软件工程课件1 软件工程导论(第五版).ppt_第2页
软件工程课件1 软件工程导论(第五版).ppt_第3页
软件工程课件1 软件工程导论(第五版).ppt_第4页
软件工程课件1 软件工程导论(第五版).ppt_第5页
资源描述:

《软件工程课件1 软件工程导论(第五版).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件工程(SoftwareEngineering)第1章:软件工程学概述1.1软件危机60年代中期以前:通用硬件相当普遍,软件却是为某个具体的应用而编写的。60年代中到70年代中:软件作坊。软件危机:计算机软件的开发和维护过程中所遇到的一系列严重问题。(正常、不正常运行软件都具有这种问题)1.1.1软件危机的介绍1)对软件开发成本和进度的估计常常很不准确;2)用户对完成的软件系统不满意的现象经常发生;3)软件产品的质量往往靠不住;软件危机的典型表现:4)软件常常是不可维护的;5)软件通常没有适当的文档资料;6)软件成本在计算机系统总成本中所占的

2、比例逐年上升;7)软件开发生产率提高的速度跟不上计算机应用的发展趋势。1.1.2产生软件危机的原因1)软件本身特点造成;2)软件开发与维护的方法不正确。主要表现:(a)忽视软件需求分析;(b)认为软件开发就是写程序并使之运行;(c)轻视软件维护;在软件开发的不同阶段进行修改需要付出的代价很不相同:高中低早期中期后期软件开发时期代价引入同一修改的代价随时间变化的趋势1)推广使用在实践中总结出来的开发软件的成功技术和方法,并研究探索更有效的技术和方法;2)开发和使用更好的软件工具;3)良好的组织管理措施。1.1.3解决软件危机的途径为了解决软件危机

3、产生的问题,软件工程与方法学逐渐形成,然后出现了两个相互相承又各有侧重的学科:1)软件工程学:主要应用工程的方法和技术研究软件开发与维护的方法、工具和管理的一门交叉学科。2)程序设计方法学:主要应用数学的方法研究程序的性质以及程序设计的理论和方法的学科。1.2软件工程1.2.1软件工程的介绍1968年NATO会议:软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。1993年IEEE:软件工程是(1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程;(2)研究(1)中提到的途径。1.软件工程

4、关注于大型程序的构造;2.软件工程的中心课题是控制复杂性;3.软件经常变化;4.开发软件的效率非常重要;5.和谐地合作是软件开发的关键;6.软件必须有效地支持它的用户;7.在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。软件工程的本质特性:1.2.2软件工程的基本原理1.用分阶段的生命周期计划严格管理;2.坚持进行阶段评审;3.实行严格的产品控制;4.采用现代程序设计技术;5.结果能清楚地审查;6.开发小组的人员应该少而精;7.承认不断改进软件工程实践的必要性。1.2.3软件工程方法学通常把在软件生命周期全过程中使用的

5、一整套技术方法的集合称为方法学(Methodology),也称为范型(Paradigm)。软件工程方法学的3要素:方法、工具和过程1.传统方法学也称为生命周期方法学或结构化范型。结构化方法(StructureMethod)有:1)结构化设计方法(SD);2)结构化分析方法(SA);3)结构化分析与设计技术(SADT)4)JACKSON方法5)WARNIER方法2.面向对象方法学把数据和对数据的操作紧密结合起来的方法,模拟人类认识世界解决问题的方法和过程。面向对象的方法=对象(属性与服务的封装)+分类+继承+通过消息的通讯1)适用于实时事物处理系

6、统的有限状态机方法(FSM);2)适用于并发软件系统的PETRI网方法;3)以数学概念和理论为基础的形式化方法,如SDC公司的形式化开发方法FDM:(FormalDevelopmentMethodology)IBM公司的维也纳开发方法VDM:(ViennaDevelopmentMethod)3.其他开发方法1.3软件生命周期软件生命周期:指软件从提出到最终被淘汰的这个存在期。软件生命周期组成:1)软件定义;A.问题定义B.可行性研究C.需求分析2)软件开发;D.总体设计E.详细设计F.编码和单元测试G.综合测试3)运行维护。1.问题定义;2.可

7、行性研究;3.需求分析;4.总体设计(概要设计);5.详细设计;6.编码与单元测试;7.综合测试;8.维护。软件生命周期各个阶段:1.4软件过程软件过程:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件过程(ISO9000):使用资源将输入转化为输出的活动所构成的系统。输入:如软件需求输出:如软件产品1.4.1瀑布模型1.阶段间具有顺序性和依赖性2.推迟实现的观点3.质量保证的观点优点:采用规范的方法;严格规定每个阶段提交的文档;要求每个阶段交出的产品必须经过验证。1.4.2快速原型模型优点:不带反馈环,基本

8、上是线性顺序进行。1.4.3增量模型优点:能较短时间内提交可完成部分工作的产品;可以使用户有充裕的时间学习和适应新产品。一种风险更大的增量模型:1.4

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。