1、黄乐丹软件工程导论软件工程导论 之之用工程化的方法来开发软件用工程化的方法来开发软件用工程化的方法来开发软件用工程化的方法来开发软件本讲内容本讲内容1.软件生命周期2.软件开发模型3.CASE工具和环境2软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型什么是软件生命周期什么是软件生命周期n生命周期人的生命周期:婴儿、幼儿、儿童、少年、n软件生命周期软件从提出开发开始到最终灭亡所经历的时期3软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型软件生命周期示意图软件定义软件定义软件开发软件开发维护维护4软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型可行性研究可行性
2、研究(1/2)n任务了解用户要求和现实环境,从技术、经济、市场等方面研究并论证开发该软件系统的可行性n技术途径调查和了解用户要求 和 现实环境撰写调查报告可行性论证 和 分析(技术、经济等)如可行,制定初步项目开发计划(人员,进度)5软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型可行性研究可行性研究(2/2)n阶段性产品可行性论证报告初步的项目开发计划6软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型需求分析需求分析(1/2)n任务确定用户对待开发软件系统的需求包括:n功能n性能n运行环境约束n重要性软件开发依据,软件验收的标准n困难性难以说清,动态变化,歧义,复杂7
3、软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型需求分析需求分析(2/2)n技术途径和工具需求分析人员需与用户不断、反复地交流和商讨,使用户需求逐步准确化、一致化、完全化抽象、问题分解、快速原型、多视点等技术n阶段性产品软件需求规格说明书SRS(功能,性能和运行环境约束)8软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型概要设计概要设计n任务根据SRS建立目标软件系统总体结构、设计全局数据库和数据结构,规定设计约束,制定集成测试计划等等。n技术途径和工具根据软件需求规格说明书,自顶向下,逐步求精,抽象,模块化,局部化,信息隐藏.n阶段性产品概要设计规格说明书数据库或数据
4、结构设计说明书集成测试计划。9软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型详细设计详细设计n任务细化概要设计所生成的各个模块,并详细描述程序模块的内部细节(算法,数据结构等),形成可编程的程序模块,制订单元测试计划n技术途径根据SRS和概要设计结果进行,单入口单出口,PDLn阶段新产品详细设计规格说明书单元测试计划10软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型实现实现n任务根据详细设计规格说明书编写源程序,并对程序进行调试和单元测试,验证程序与详细设计文档 一致性n技术途径和工具以详细设计规格说明书为依据、基于某种程序设计语言进行编码n阶段新产品源程序代码11
5、软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型集成测试集成测试n任务根据概要设计规格说明书,将经过单元测试的模块逐步进行集成和测试n技术途径和工具以概要设计规格说明书和集成测试计划为依据,进行集成模块并进行测试IDE,专有工具等n阶段性产品生成满足概要设计要求、可运行的系统源程序和系统集成测试报告12软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型确认测试确认测试n 任务根据软件需求规格说明书,测试软件系统是否满足用户的需求n途径 由用户参与,以软件需求规格说明书为依据进行确认测试专有工具n阶段性产品可供用户使用的软件产品(文档,源程序)13软件生命周期和软件开发过程
6、模型软件生命周期和软件开发过程模型软件维护软件维护n任务对使用后的软件进行维护例如:n修正使用过程中发现的错误纠错性维护n增加新的功能完善性维护n从一个环境搬迁到另一个环境适应性维护n途径以文档和源程序为基础按用户要求进行n阶段性产品版本更新的软件产品14软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型本讲内容本讲内容1.软件生命周期2.软件开发模型3.CASE工具和环境15软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型软件开发模型软件开发模型n软件生命周期(软件)n软件开发过程(开发人员)=?n软件开发模型是软件开发全过程、软件开发活动以及它们之间关系的的结构框架软
7、件项目的管理提供里程碑和进度表为软件开发提供原则和方法16软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型软件开发模型种类软件开发模型种类n以软件需求可完全确定为前提的瀑布模型n在软件开发初期只能提供基本需求所采用的渐进式开发模型如原型模型、螺旋模型n以形式化开发方法为基础的变换模型17软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型瀑布模型瀑布模型(1/4)n主要思想软件开发过程与软件生命周期是一致的相邻二阶段之间存在因果关系需对阶段性产品进行评审18软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型瀑布模型瀑布模型(2/4)19软件生命周期和软件开发过程模
8、型软件生命周期和软件开发过程模型瀑布模型瀑布模型(3/4)n瀑布模型在软件工程中占有重要的地位n不足 缺乏灵活性 到最后阶段才能得到可运行的软件版本20软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型带反馈的瀑布模型示意图带反馈的瀑布模型示意图21软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型快速原型模型快速原型模型(1/2)22软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型快速原型模型快速原型模型(2/2)n优点有助于获取用户需求,加强对需求的理解尽早发现软件中的错误支持需求的动态变化适合于需求动态变化,事先难以确定系统n不足不能支持风险分析23软件生
9、命周期和软件开发过程模型软件生命周期和软件开发过程模型螺旋模型螺旋模型(1/2)n基本思想螺旋模型是瀑布模型、原型模型的有机结合,同时增加了风险分析24软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型螺旋模型螺旋模型(2/2)n优点有助于获取用户需求,加强对需求的理解尽早发现软件中的错误支持需求的动态变化支持风险分析,可降低或者消除软件开发风险适合于需求动态变化,事先难以确定并且开发风险较大的系统25软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型本讲内容本讲内容1.软件生命周期2.软件开发模型3.CASE工具和环境26软件生命周期和软件开发过程模型软件生命周期和软件开
10、发过程模型什么是什么是CASE工具和环境工具和环境n计算机辅助软件工程(CASE)在软件工程活动中,软件开发人员按照软件工程的方法和原则,借助于计算机及其软件工具的帮助来开发、维护和管理软件产品的过程 nCASE工具支持CASE的工具(编译器,编辑器 推土机、锄头)n集成CASE环境将CASE工具、信息按统一标准和接口组装起来,使工具间、人员间、各个过程间能方便交互的环境。如Visual C+将编辑、编译、调试、界面设计、安装程序生成等等集成在一起。(联合收割机)27软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型CASE工具和环境的类别工具和环境的类别n目前已有大量的CASE工具
11、 项目管理工具:估算项目成本和工作量,制定项目规划等等;分析和设计工具:用于系统建模;程序设计工具:编译器,调试器等;测试工具:测试用例生成,程序动态跟踪工具28软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型CASE工具例子工具例子nRational RosenMicrosoft Visual Studio29软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型本讲小结本讲小结1.软件生命周期2.软件开发模型3.CASE工具和环境30软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型思考题思考题n你认为软件开发有什么特点?面临主要问题是什么?n软件开发模型和软件生命周期有何区别?n软件开发模型在软件开发过程中起到什么作用?没有它行吗?nCASE工具和环境在软件开发过程中起到什么作用?31软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型Q&AQ&AAn Introduction to Software EngineeringPractice,Practice,and Practice32软件生命周期和软件开发过程模型软件生命周期和软件开发过程模型
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1