1. 首页
  2. 文档大全

《软件工程》第2课软件生存周期与软件过程

上传者:2****5 2022-06-29 01:57:09上传 PPT文件 969.01KB
《软件工程》第2课软件生存周期与软件过程_第1页 《软件工程》第2课软件生存周期与软件过程_第2页 《软件工程》第2课软件生存周期与软件过程_第3页

《《软件工程》第2课软件生存周期与软件过程》由会员分享,可在线阅读,更多相关《《软件工程》第2课软件生存周期与软件过程(52页珍藏版)》请在文档大全上搜索。

1、第软件生存周期与软件过程知识回顾 软件工程学的范畴过程、方法、工具 软件工程的发展三种编程范式三代软件工程前馈及作业总结 作业电子版、笔记都可以,电子版随每次前馈一起提交,笔记定期检查。 自学情况、需要精讲要填选,必须提出问题,要每个人都有,提出1-2个好问题。 名称:第X小组软件工程课程前馈表,每个小组集成到一个文件中。用QQ发离线文件交给我。问题解答 如果我们自己研究一个项目,怎么确定使用哪个模型进行研发,每个如果我们自己研究一个项目,怎么确定使用哪个模型进行研发,每个模型各有特点,优缺点,是否可以根据需求在软件开发的阶段选择最模型各有特点,优缺点,是否可以根据需求在软件开发的阶段选择最合

2、适的模型进行研发?马振兴合适的模型进行研发?马振兴 在软件风险中,有一项是编程人员离职,毕竟编程人员每个人的编码在软件风险中,有一项是编程人员离职,毕竟编程人员每个人的编码风格不同,怎么能降低这一情况产生时对项目的负面影响?史孟然风格不同,怎么能降低这一情况产生时对项目的负面影响?史孟然 螺旋模型从表面上看是采用了之前各个模型的优点建立的(保证了质螺旋模型从表面上看是采用了之前各个模型的优点建立的(保证了质量),但是螺旋模型的每一个小部分都使用瀑布模型和原型岂不是增量),但是螺旋模型的每一个小部分都使用瀑布模型和原型岂不是增加了开发成本和时间?陈万敏加了开发成本和时间?陈万敏前馈检查 把生存周

3、期划分为阶段的目的是什么? 传统的瀑布模型把生存周期分为哪些阶段? 可行性研究包含哪些内容? 为什么要进行风险分析?讲授内容 生存周期与软件过程的关系 传统的软件过程 瀑布模型、快速原型模型 软件演化模型 增量模型、螺旋模型 、构件集成模型 统一过程和敏捷过程 软件可行性研究 可行性研究的内容与步骤 软件风险分析第二章 软件生存周期与软件过程p软件生存周期软件生存周期p传统的软件过程传统的软件过程p软件演化模型软件演化模型p统一过程和敏捷过程统一过程和敏捷过程p软件可行性研究软件可行性研究1. 软件生存周期 软件生存周期软件生存周期(Software Life Cycle):一个软件项目从问)

4、:一个软件项目从问题提出开始,直到软件产品最终退役(废弃不用)为止。题提出开始,直到软件产品最终退役(废弃不用)为止。 软件生存周期分为三个时期:软件生存周期分为三个时期:计划、开发和维护计划、开发和维护 整个软件生存周期划分为多个相对独立的较小整个软件生存周期划分为多个相对独立的较小阶段阶段,给每,给每个阶段赋予确定而有限的任务,从而降低了整个软件工程个阶段赋予确定而有限的任务,从而降低了整个软件工程的难度,提高了软件开发生产率的难度,提高了软件开发生产率典型的软件生存周期需求分析软件分析软件设计编码(测试)交付测试使用维护典型的软件生存周期软件生存周期的主要活动 需求分析明确需要解决的问题

5、(从用户的视角)建立需求模型:功能、性能、约束、接口等 软件分析从开发人员的视角对软件进行分析建立分析模型:软件的逻辑模型 软件设计确定软件的总体结构和各部件的数据结构和操作建立软件设计模型:考虑实现技术和平台 编码用程序设计语言将设计文档翻译成源程序建立软件实现模型:包含现有软件构件包 软件测试发现程序中的错误、提高软件质量单元测试、集成测试、确认测试、系统测试 运行维护软件过程与软件生存周期 软件过程软件过程 围绕软件开发所进行的一系列活动,早期也叫围绕软件开发所进行的一系列活动,早期也叫“软件开软件开发模型发模型”。 软件过程模型软件过程模型 把软件生存周期中软件开发活动的有序流程用一个

6、合理把软件生存周期中软件开发活动的有序流程用一个合理的框架来规范描述。的框架来规范描述。 软件过程模型是一种软件过程的抽象表示法,它从一个软件过程模型是一种软件过程的抽象表示法,它从一个特定的角度表现一个开发过程。特定的角度表现一个开发过程。 软件生存周期中的阶段和软件过程中的活动是基本软件生存周期中的阶段和软件过程中的活动是基本一致的。一致的。2.传统的软件过程 传统的过程模型瀑布模型(waterfall model)基于软件生存周期的线性开发模型。 快速原型模型(rapid prototype model) 基于原型的迭代化开发模型。瀑布模型图2.2 瀑布模型的阶段与文档需求分析需求规格说

7、明软件分析与总体设计软件结构图模块说明系统测试确认测试综合测试程序清单详细设计编 码用户要求单元测试nW.Royce于1970年提出n线性开发模型n强调软件文档每一个阶段必须完成规定的文档每一个阶段都要复审完成的文档瀑布模型特点阶段的顺序性(前一阶段完成后才能开始下一阶段)和依赖性(前一阶段输出文档是下一阶段输入文档)。推迟实现的观点(不要过早编码)。质量保证的观点(必须完成文档并进行复审)。存在问题不适合需求模糊的系统。开发初始阶段很难彻底弄清软件需求。快速原型模型需求原型开发最终系统设计原型评价最终系统实现用户反馈快速原型模型 特点 “逼真”的原型可以使用户迅速作出反馈。循环回溯和迭代:非

8、线性模型。使用快速开发工具。 种类渐进型:对原型补充和修改获得最终系统。抛弃型:原型废弃不用。 应防止的偏向舍不得抛弃,从而影响软件质量。3.软件演化模型 演化开发模型,遵循迭代的思想方法,使所开发的软件在迭代中逐步完善。增量模型(incremental model)。螺旋模型(spiral model)。 构件集成模型(component integration model)。增量模型把软件看作一系列相互联系的增量,每次迭代完成一个增量把软件看作一系列相互联系的增量,每次迭代完成一个增量构件1:需求设计实现和集成交付客户构件2:需求设计实现和集成交付客户构件3:需求设计实现和集成交付客户构件

9、n:需求设计实现和集成交付客户规格说明组设计组实现和集成组增量模型 增量小而可用的软件。第一个增量通常是软件的核心。 特点在前面增量的基础上开发后面的增量。每个增量的开发可用瀑布或快速原型模型。每个增量开发的顺序性和总体的迭代性相结合。螺旋模型螺旋模型 特点瀑布模型(顺序性、边开发边复审)+快速原型(迭代性)。适用大型软件开发。风险分析,发现、控制风险。 一个螺旋式周期 计划:确定目标,选择方案,选定完成目标的策略。 风险分析:从风险角度分析该策略。 开发:启动一个开发活动。 评审:评价前一步的结果,计划下一轮的工作。 构件集成模型 面向对象的基本概念对象(Object)类(Class)继承(

10、Inheritance)消息(Message )面向对象对象+类+继承+消息通信 面向对象开发模型均可借用面向过程开发模型。构件集成模型主要适用于面向对象的软件开发。构件集成模型 构件在某个领域内具有通用性,可以复用的软件部件。将可以复用的构件存储起来,形成构件库构件库。 特点面向对象。基于构件库。 融合螺旋模型特征。 支持软件开发的迭代方法 。软件复用。构件集成模型4.形式化方法模型 形式化方法模型,基于程序变换和验证技术的软件开发。 转换模型(transformational model)。 净室模型(cleanroommodel)。转换模型 开发过程确定形式化需求规格说明书。进行自动的程


文档来源:https://www.renrendoc.com/paper/212650976.html

文档标签:

下载地址