第3讲软件过程_第1页
第3讲软件过程_第2页
第3讲软件过程_第3页
第3讲软件过程_第4页
第3讲软件过程_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三讲第三讲 软件过程软件过程于立萍于立萍 第三讲:软件过程第三讲:软件过程l软件过程定义l为什么需要软件过程?l软件开发过程模型l软件生存周期过程标准l主要的开发与支持活动l软件需求分析l软件概要设计l软件构造l软件测试l软件维护l软件配置管理l软件项目管理l软件质量保证2软件过程定义软件过程定义l什么是过程? 针对一个给定目标的一系列操作步骤。 例如 - 目标:去火车站 - 操作步骤:去南门/东门公共汽车站,乘50/17路汽车, 每个过程都有明确的目的以及具体的操作步骤,操作步骤说明了有哪些操作以及按照什么样的方式来执行操作。3l什么是软件过程? 软件过程又称软件生存周期过程,指按照项目的

2、进度、成本和质量限制,开发和维护满足用户需求的软件所必需的一组有序的软件开发活动集合。 软件开发活动的例子- 需求分析- 体系结构设计 开发活动的顺序例子- 先做需求分析,然后再做体系结构设计 4l按任务性质,软件开发活动可分为二种形式早期仅有技术活动,后来又添加了管理活动技术活动技术活动- 对软件项目实施开发,产生软件产品- 例如,需求分析,概要设计,编码,单元测试等等管理活动管理活动- 对软件项目中的人、产品和过程等实施管理的活动- 例如,制订软件项目计划,软件配置等等5l如何定义软件开发活动?- 名称- 任务- 输入: 开始所必需满足的条件- 输出: 完成时所必须满足的条件以及结果- 实

3、施: 做什么,怎么做(详细的步骤),或者如何从输入产生输出软件开发活动软件开发活动输入输入输出输出6软件活动例子软件活动例子:- 名字: 单元测试- 任务l对软件基本单元模块进行测试,发现并定位错误- 输入l有一个已完成、被文档化和批准的软件单元测试计划l供测试的软件单元模块代码- 实施l遵循单元测试计划,运行所有的测试用例l撰写单元测试报告- 输出l单元测试报告7第三讲:软件过程第三讲:软件过程l软件过程定义l为什么需要软件过程?l软件开发过程模型l软件生存周期过程标准l主要的开发与支持活动l软件需求分析l软件概要设计l软件构造l软件测试l软件维护l软件配置管理l软件项目管理l软件质量保证8

4、l为什么需要软件过程? - 软件工程中要获得完全的成功,必须注意两个主要的子目标:实现一套成功的软件产品执行一个成功的软件开发与维护过程。 - 明确了软件开发的过程和步骤,促进工程化软件开发 - 便于制定软件项目计划 - 为软件开发提供了可视性,便于对软件开发过程进行管理和控制 - 便于细化和安排任务,使得每个人员明确各自的工作9第三讲:软件过程第三讲:软件过程l软件过程定义l为什么需要软件过程?l软件开发过程模型l软件生存周期过程标准l主要的开发与支持活动l软件需求分析l软件概要设计l软件构造l软件测试l软件维护l软件配置管理l软件项目管理l软件质量保证10软件开发过程模型软件开发过程模型l

5、软件开发过程模型- 软件开发过程模型是软件开发活动以及它们之间关系的结构框架- 指导软件开发以及软件开发过程的定义l常见的软件开发过程模型- 瀑布模型- 原型模型- 增量模型- 迭代模型- 螺旋模型- 敏捷模型11第三讲:软件过程第三讲:软件过程l软件过程定义l为什么需要软件过程?l软件开发过程模型l软件生存周期过程标准l主要的开发与支持活动l软件需求分析l软件概要设计l软件构造l软件测试l软件维护l软件配置管理l软件项目管理l软件质量保证12软件(生存周期)过程标准软件(生存周期)过程标准l1995年制订了ISO/IEC 12207软件生存周期过程标准,它把用于开发一个软件系统的过程分为三类

6、:l主过程l支持过程l辅助(组织)过程13软件生存周期过程示意图软件生存周期过程示意图 - - 主过程 是构成软件生存周期主要部分的那些过程, 包括:定义、构建、维护等过程.获取过程包括确定获取系统和产品的需求定义、投标准备、合同准备与修改,对供应方的监督及验收;供应过程主要包括理解系统或产品需求、应标准备、合同签订、计划制定及项目的评价及交付完成等。15 - 支持过程 可穿插到主过程中提供支持的一系列过程, 包括:文档开发、 配置管理、 质量保证、验证、确认、联合评审、审计、问题解决等过程.l文档:一组活动,用于记录任何其他过程所产生的特定信息。l配置管理:一组活动,用于捕获和维护开发过程中

7、所产生的信息和产品,以便于后续开发。通过控制、记录、追踪对软件的修改来实现软件的管理功能。l质量保证:一组活动,用于保证产品和相关过程与需求文档和计划保持一致。l验证:用于检验产品的活动(正确地做事)l确认:用于确认产品的活动 (做正确的事)l联合复审:由两方使用的、评估其他活动的状态和产品的活动 。l审计:一组活动,用于确定项目与需求、计划和合同的符合程度。评估软件工程产品,尽量在错误传播到下一个动作或活动之前,发现并清除错误。16 - 辅助(组织)过程 一个组织用来建立、实施一种基础结构, 并不断改进该基础结构的过程, 包括:管理、基础设施、改进、培训等过程.l管理:组织的管理活动,包括但

8、不限于项目管理(当它们与其他生存周期过程有关时) l基础设施过程:是指建立与维护其他过程所需的基础设施的过程,包括但不限于人力、资本和开销等,它涵盖了为执行一个项目所需要的有关资源,如软件工具、技术、标准等。l过程改进:由一组用于改进任何其他过程性能的活动组成l培训:定义了为项目有关人员提供合适培训的活动17获取过程获取过程管理过程管理过程运行过程运行过程维护过程维护过程开发过程开发过程辅助过程辅助过程 管理管理 基础设施基础设施 过程改进过程改进培训培训供应过程供应过程需方供方需方供方管理者管理者运行管理者用户运行管理者用户开发者、维护者开发者、维护者支持过程的使用者支持过程的使用者工程视图

9、工程视图运行视图运行视图管理视图管理视图合同视图合同视图支支持持过过程程文档文档配置管理配置管理问题解决问题解决质量保证质量保证支持视图支持视图使用使用使用使用使用使用使用使用使用使用使用使用使用使用使用使用使用使用使用使用验证验证确认确认联合评审联合评审审计审计使用使用软件生存周期过程辅助过程的使用者辅助过程的使用者ISO/IEC12207规定了一个完整的软件生存命周期应该有哪些活动,以规定的过程/活动来保证质量 。至于什么时候实施什么过程/活动,反复几次合适则根据项目特点定义。第三讲:软件过程第三讲:软件过程l软件过程定义l为什么需要软件过程?l软件开发过程模型l软件生存周期过程标准l主要

10、的开发与支持活动l需求分析与管理l软件概要设计l软件构造l软件测试l软件维护l软件配置管理l软件项目管理l软件质量保证20l主要的开发和支持活动 1、需求分析与管理主要活动 :需求分析、需求变更管理、需求跟踪管理主要阶段:需求分析、满足需求的软件开发阶段l需求分析:l系统需求分析因为软件总是大系统的一个部分,因此必须从建立整个系统所有元素的需求工作开始,然后才能确定一些软件子系统的需求。当软件必须与系统的其他元素(如硬件、人、数据库等)接口时,这种系统的考察显得非常重要。系统需求分析主要围绕系统级需求的聚集和少量顶层分析和设计展开。 21 l软件需求分析任务:收集、分析、理解、确定用户的要求;

11、然后把用户的要求精确、完整地描述表达出来。目的:要回答“要解决什么问题?”,既系统“做什么?”。输入:系统需求文档/问题陈述、本过程相关工作计划 步骤:可行性研究、需求分析、制定相关开发计划 输出:可行性报告、需求规范、下一过程开发计划 需求说明书是让用户理解:“什么是他们真正需要的”; 让开发者理解“什么是他们真正的开发目标”。22 l软件需求分析系统需求分析和软件需求分析都要文档化,还要与用户一起对它们进行评审。需求分析成本一般占软件项目总成本的4%到10%,但却在很大程度上决定了其余80%到90%资金的开销。需求规格说明书样例五:金色俱乐部23l需求变更管理:l变更管理过程变更管理过程l

12、变更的记录与跟踪变更的记录与跟踪需求变更请求需求变更请求登记变更请求登记变更请求分析变更请求分析变更请求u 估计工作量估计工作量u 重新估算交付的时间表重新估算交付的时间表u 执行累计的成本影响分析执行累计的成本影响分析评估变更请求评估变更请求获得用户认可获得用户认可修改工作产品修改工作产品l需求跟踪管理:l分类分类正向跟踪:正向跟踪:确保系统中的每一个需求元素都可以跟踪到生存周期后续阶段的输出制品中;反向跟踪:反向跟踪:在生存周期每个阶段输出的制品都反向追溯到提出需求的涉众。l跟踪矩阵跟踪矩阵减少需求遗留 方便复审 向客户演示产品和测试程度需求需求编号编号描述描述概要概要设计设计文档文档编号

13、编号对应设计(功对应设计(功能、结构、数能、结构、数据库)据库)对应的实现(程对应的实现(程序、类、继承类)序、类、继承类)单元单元测试测试用例用例集成集成/系统系统测试测试用例用例验收验收测试测试用例用例1.1.2实时数据收集与综合显示5.3.2数据收集与显示接口PB405数据收集#12#46#11CICS203高亮分开显示#1#47#11任务任务:给出实现系统的实施蓝图。目的目的:要回答“如何解决该问题?”, 既系统“怎样做?”。输入:输入:软件需求规范、本过程相关计划步骤步骤: 解决系统的子系统/模块划分、子系统/模块的层次结构及数据库设计; 制定下一过程相关计划。 输出输出:体系结构设

14、计说明书、下一过程相关计划 概要设计说明书样例:概要设计说明书样例:软件概要设计说明书模板(结构化方法)数据库设计说明书样例:数据库设计说明书样例:数据库设计说明书模板2、软件概要设计263、软件构造任务任务:根据概要设计说明书中每个模块的描述进行详细设计并编写出相应的源程序。目的目的:根据编程规范写出高质量的代码和相应的文档。 - 构造要注意使系统更易于使用和系统的可重用性。 - 选择合适的开发工具及系统软件、数据库软件、中间件等。输入:输入:软件概要设计文档、本过程相关计划步骤:步骤:详细设计、编程、单元测试、制定下一阶段相关计划、编制用户文档输出输出:详细设计文档、源程序及相关文档、下一

15、过程相关计划详细设计说明书样例详细设计说明书样例:软件详细设计说明书模板1274、软件测试测试是动态验证软件的过程。依据测试对象的不同,测试可分为四个层次:单元测试集成测试系统测试验收测试284、软件测试任务任务:检查、发现程序中的错误,提高系统可靠性。目的目的:保证系统的正确性、可靠性和可用性。回答回答:“该系统是否能实现规定的操作?”。输入输入:已经完成的代码、本过程相关的计划步骤步骤:集成测试、系统测试、确认测试输出输出:测试报告和软件修改报告等。测试报告模板测试报告模板:测试总结报告模板一295、软件维护任务任务:改正软件系统在使用过程中发现的隐含错误,扩充在使用过程中新的功能要求。目

16、的目的:维护软件系统的正常运行。回答回答:系统是否满足用户的应用要求。输入:输入:问题报告步骤步骤:问题报告审批、问题修改、审核输出输出:软件修改报告。305、软件维护软件维护分类:软件更新:会导致软件产品的功能说明发生变化校正性维护:在不改变软件功能的前提下,修正软件中的错误完善性维护:在不改变软件功能的前提下,为增强性能或可维护性而进行的维护适应性维护:在不改变软件功能的前提下,修正处理或数据环境的改变运行与维护过程相伴而行,直至软件系统被废弃。维护费用通常占软件产品生存周期费用的40%-70% 316.软件配置管理软件修改后会发生什么呢?- - 同步更新同步更新当两个或两个以上的角色各自

17、工作在同一产物上时,当两个或两个以上的角色各自工作在同一产物上时,最后一个修改者会破坏前者的工作。最后一个修改者会破坏前者的工作。- - 通知不达通知不达当被若干开发者共享的产品中的问题被解决时,修当被若干开发者共享的产品中的问题被解决时,修改未被通知到一些开发者。改未被通知到一些开发者。- - 多个版本多个版本软件修改与文档不一致。软件修改与文档不一致。- - 新版本公布的管理和监控。新版本公布的管理和监控。配置和变更管理是一种标识、组织和控制修改的技术,作用于整个软件生存周期。提供了准则,管理演化系统中的多个变体,跟踪给定软件创建过程中的版本。配置项:软件开发过程各项活动的产物经评审或者审批后。32生效的配置项相关信息生效的配置项相关信息更新版更新版配置项相关信息配置项相关信息将要发布的软件产品将要发布的软件产品软件开发过程软件开发过程软件配置库软件配置库软件工作产品软件工作产品授权变更授权变更评审和批准评审和批准执行变更执行变更变更内容变更内容配置审计配置审计原版本原版本配置通知配置通知变更请求变更请求配置管理流程7.软件项目管理 项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量和风险等进行分析和管理的活动。是对软件生存周期的所有活动(除交付后的维护活动之外)的全面管理。34项目启动项目启动项目实施项目实施项目规划项目规划项目

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论