欢迎来到天天文库
浏览记录
ID:52167168
大小:297.00 KB
页数:17页
时间:2020-04-01
《《实用软件工程》陆惠恩主编.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、《软件工程》1第1章概述本章主要内容:软件工程的产生软件工程学软件生命周期软件开发模型本章重点:软件工程软件生命周期。2第1章概述1.1软件工程的产生1.1.1软件工程发展史软件是指计算机程序及其有关的数据和文档。软件生产的各个阶段必需完成的有关计算机程序的功能、设计和使用的文字或图形资料,这些资料称为“文档”。1.程序设计阶段2.软件=程序+文档阶段3.软件工程阶段4.第4代技术阶段31.1.2软件危机软件危机是指在计算机软件开发和维护时所遇到的一系列问题。软件危机主要包含的问题:如何开发软件以满足对软件日益增长的需求;如何维护数量不断增长的已有软件。1.软件危机产生的原因2.软件危机主要
2、表现形式3.解决软件危机的途径4软件项目管理的提出是在20世纪70年代中期的美国,当时美国国防部专门研究了软件开发不能按时提交,预算超支和质量达不到用户要求的原因,结果发现70%的项目是因为___管理不善_____引起的,而非技术原因。于是软件开发者开始逐渐重视起软件开发中的各项管理。51.2软件工程学1.2.1什么是软件?软件是指计算机程序及其有关的数据和文档的完整集合。软件文档(softwaredocumentation)是以人们可读的形式出现的技术数据和信息。“软件是程序以及开发、使用和维护所需要的所有文档(document)。”1.2.2什么是软件工程?软件工程(softwareen
3、gineering)是软件开发、运行、维护和引退的系统方法。软件工程是指导计算机软件开发和维护的工程学科。软件工程采用工程的概念、原理、技术和方法来开发与维护软件。软件工程的目标是在规定的时间、开发费用内,开发满足用户需求的高质量的软件。61.2软件工程学1.2.3软件工程学的内容软件开发技术和软件工程管理。软件开发技术包含软件工程方法学、软件工具和软件工程环境。软件工程管理学包含软件工程经济学和软件管理学。1.软件工程方法学三个要素:方法,工具,过程。2.软件工具3.软件工程环境:是方法和工具的结合。“软件开发环境是相关的一组软件工具集合,它支持一定的软件开发方法或按照一定的软件开发模型组
4、织而成”。计算机辅助软件工程(ComputerAidedSoftwareEngineering,CASE)是一组工具和方法的集合,可以辅助软件生命周期各阶段进行软件开发活动。4.软件工程管理目的是为了能按预定的时间和费用,成功地生产软件产品。内容:费用管理、人员组织、工程计划管理、软件配置管理。软件工程各阶段所产生的全部文档和软件本身构成软件配置。71.2.4软件工程过程软件过程是“把输入转化为输出的一组彼此相关的资源和活动”。软件过程是软件工程方法学的三个要素(方法、工具和过程)之一。1.2.5软件工程基本原理用分阶段的生命周期计划进行严格的管理;坚持进行阶段评审;实行严格的产品控制;采用
5、现代程序设计技术;软件工程结果应能清楚地审查;开发小组的人员应该少而精;承认不断改进软件工程实践的必要性。81.3软件生命周期1.软件生命周期定义从设计软件产品开始到产品不能使用为止的时间周期。软件生命周期中,软件开发与维护时的费用越低,软件的使用寿命越长,产生的价值就越大,这就是掌握软件工程学的目的。2.软件生命周期划分的原则3.软件生命周期各阶段的任务由软件计划、软件开发和软件运行维护三个时期组成。软件计划时期:问题定义、可行性研究、需求分析三阶段。软件开发时期:软件概要设计、软件详细设计、软件实现、综合测试等阶段。软件运行过程中需要不断地进行维护,使软件持久满足用户需要。9软件生存周期
6、一般可分为问题定义、__可行性研究___、___需求分析___、设计、___编码__、测试、运行与维护阶段。需求分析应交付的主要文档是_____需求规格说明书_____。101.4软件开发模型1.4.1瀑布模型(WaterfallModel)111.4.2快速原型模型快速原型模型(RapidPrototypeModel)是快速开发一个可以运行的原型系统,通常有三种类型:渐增式的原型:也称增量模型。用于验证软件需求的原型。用于验证设计方案的原型。121.4.3增量模型增量方式包括:增量开发增量提交131.4.4喷泉模型适用于面向对象方法。主张分析和设计过程的重叠、不严格区分。模块集成过程:反复
7、经过分析、设计、测试、集成,再分析、设计、测试、集成。141.4.5螺旋模型151.4.6RUP(统一过程)RUP(RationalUnifiedProcess)使用UML,采用用例驱动和架构优先的策略,采用迭代增量建造方法。通常,结构化方法可使用瀑布模型、增量模型和螺旋模型进行开发;面向数据结构方法可使用瀑布模型、增量模型进行开发;面向对象方法可采用快速原型、喷泉模型、软件重用开发模型(11章)和统一过程R
此文档下载收益归作者所有