《软件工程基础第1章.pptx》由会员分享,可在线阅读,更多相关《软件工程基础第1章.pptx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1第第1 1章章 概概 述述第1页/共17页2本章主要内容:软件工程简介软件生产的发展软件危机软件、软件工程软件工程学软件生存周期软件开发模型本章重点:o软件工程学o软件生存周期。第2页/共17页31.1软件工程简介1.1.1软件生产的发展软件是指计算机程序及其有关的数据和文档。软件生产的各个阶段必需完成的有关计算机程序的功能、设计、编制的文字或图形资料,这些资料称为“文档”。1.程序设计时期2.软件=程序+文档时期3.软件工程阶段4.第4阶段第3页/共17页41.1.2软件危机软件危机是指在计算机软件开发和维护时所遇到的一系列问题。软件危机主要包含的问题:v如何开发软件以满足对软件日益增长的
2、需求;v如何维护数量不断增长的已有软件。1.软件危机主要表现形式2.软件危机产生的原因3.解决软件危机的途径第4页/共17页51.1.3软件工程1.什么是软件?软件是指计算机程序及其有关的数据和文档。软件文档(softwaredocumentation)是以人们可读的形式出现的技术数据和信息。“软件是程序以及开发、使用和维护所需要的所有文档(document)。”2.什么是软件工程?软件工程(softwareengineering)是软件开发、运行、维护和引退的系统方法。软件工程是指导计算机软件开发和维护的工程学科。软件工程采用工程的概念、原理、技术和方法来开发与维护软件。软件工程的目标是实现
3、软件的优质高产。第5页/共17页61.2软件工程学1.2.1软件工程学的内容软件开发技术和软件工程管理。软件开发技术包含软件工程方法学、软件工具和软件工程环境。软件工程管理学包含软件工程经济学和软件管理学。1.软件工程方法学三个要素:方法,工具,过程。2.软件工具3.软件工程环境:是方法和工具的结合。“软件开发环境是相关的一组软件工具集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成”。计算机辅助软件工程(ComputerAidedSoftwareEngineering,CASE)是一组工具和方法的集合,可以辅助软件生存周期各阶段进行软件开发活动。4.软件工程管理目的是为了能按预定
4、的时间和费用,成功地生产软件产品。内容:费用管理、人员组织、工程计划管理、软件配置管理。软件工程各阶段所产生的全部文档和软件本身构成软件配置。第6页/共17页71.2.2软件工程过程软件过程是“把输入转化为输出的一组彼此相关的资源和活动”。软件过程是软件工程方法学的三个要素(方法、工具和过程)之一。1.2.3软件工程基本原理用分阶段的生存周期计划进行严格的管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;软件工程结果应能清楚地审查;开发小组的人员应该少而精;承认不断改进软件工程实践的必要性。第7页/共17页81.3软件生存周期1.软件生存周期定义从设计软件产品开始到产品不能使用
5、为止的时间周期。软件生存周期中,软件开发与维护时的费用越低,软件的使用寿命越长,产生的价值就越大,这就是掌握软件工程学的目的。2.软件生存周期划分的原则3.软件生存周期的阶段划分由软件计划、软件开发和软件运行维护三个时期组成。软件计划时期分为问题定义、可行性研究、需求分析三阶段。软件开发时期分为软件概要设计、软件详细设计、软件实现、综合测试等阶段。软件运行过程中需要不断地进行维护,使软件持久满足用户需要。第8页/共17页91.4软件开发模型1.4.1瀑布模型(WaterfallModel)第9页/共17页101.4.2快速原型模型快速原型模型(RapidPrototypeModel)是快速开发
6、一个可以运行的原型系统,通常有三种类型:v渐增式的原型:也称增量模型。v用于验证软件需求的原型。v用于验证设计方案的原型。第10页/共17页111.4.3增量模型增量方式包括:增量开发增量提交第11页/共17页121.4.4喷泉模型适用于面向对象方法。主张分析和设计过程的重叠、不严格区分。模块集成过程:反复经过分析、设计、测试、集成,再分析、设计、测试、集成。第12页/共17页131.4.5螺旋模型第13页/共17页141.4.6RUP(统一过程)RUP(RationalUnifiedProcess)使用UML,采用用例驱动和架构优先的策略,采用迭代增量建造方法。v通常,结构化方法可使用瀑布模
7、型、增量模型和螺旋模型进行开发;v面向数据结构方法可使用瀑布模型、增量模型进行开发;v面向对象方法可采用快速原型、喷泉模型、软件重用开发模型(11章)和统一过程RUP进行开发。第14页/共17页15第1章小结文档软件软件危机软件工程是软件开发、运行、维护和引退的系统方法。软件工程学的主要内容是软件开发技术和软件工程管理。软件工程过程软件生存周期。软件生存周期模型(SWlifecyclemodel),或称软件开发模型。瀑布模型:规范的、文档驱动的方法。快速原型模型:构建原型系统让用户试用,获取用户真实需求。增量模型:能在早期向用户提交部分产品和易于维护,软件的体系结构必须是开放的。喷泉模型:适用于面向对象方法。螺旋模型:适用于大规模内部开发项目,分析风险和排除风险。RUP:适用于面向对象方法,使用UML,采用用例驱动和架构优先的策略,迭代增量的建造方法。第15页/共17页16习题1 1选择题答案9.A :(1);B:(2);C :(4);D (3);E:(1)10.A:;B :;C:第16页/共17页软件工程基础陆惠恩主编17感谢您的观看!第17页/共17页