自考本科教材课件NO07软件生存周期过程与管理.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《自考本科教材课件NO07软件生存周期过程与管理.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自考 本科 教材 课件 NO07 软件 生存 周期 过程 管理
- 资源描述:
-
1、考试大纲本章要求了解围绕软件开发所需要的过程、活动和任务,掌握过程之间的基本关系,基本掌握一个软件项目的过程规划和监控。识记过程分类过程之间的关系领会软件实现过程、活动和任务;软件需求分析过程、活动和任务;软件体系结构设计过程、活动和任务软件验证过程、活动和任务;软件确认过程、活动和任务软件需求分析过程、软件体系结构设计过程与RUP需求获取、需求分析和设计之间的关系瀑布模型、增量模型、演化模型、螺旋模型软件生存周期概述开发所涉及的活动 软件生存周期过程软件生存周期过程软件过程(process):活动的一个集合活动(activity):任务的一个集合任务(task):将输入转换为输出的操作过程分
2、类按过程的主体,可分为三类过程:基本过程(primary processes):指与软件生产直接相关的活动集。支持过程(supporting processes):有关各方按其目标所从事的一系列支持活动集。组织过程(institutional processes):指与软件生产组织有关的活动集。基本过程基本过程 获取过程供应过程开发过程运行过程维护过程 基本过程开发过程开发过程是软件开发者所从事的一系列活动。包括13个活动:过程的实施准备系统需求分析系统结构设计软件需求分析软件体系结构设计软件详细设计软件编码和测试软件集成软件合格测试系统集成系统合格测试软件安装软件验收支持基本过程开发过程过程
3、的实施准备目的:为开发过程准备基本的约定,即建立过程模型主要任务:依据项目的规模、重要程度以及复杂性,定义或选择软件生存周期模型并将开发过程的活动和任务映射到该软件生存周期模型。依据文档过程,建立该过程文档;并将该文档置于配置管理过程之下,并作为实施变更控制的依据。依据问题解决过程,发现软件工作产品和任务中的问题和不一致性,并建立相应的文档。按合同规定,实现相应的支持过程为执行开发过程和支持过程的活动,对开发组织所建立的标准、方法、工具和计算机程序设计语言进行选择、剪裁和应用。依据开发和验收的所有需求(包括安全),为执行过程的活动制定相应计划,例如风险管理计划、质量保证计划等,这些同样也包括标
4、准、方法、工具、措施以及责任等,必要时这些计划可以分别建立。基本过程开发过程软件需求分析目的:确定软件需求及质量特性需求。主要任务:编制软件需求规格说明书 功能和性能需求;外界与软件的接口 合格需求;安全需求;保密需求;人机界面需求;用户文档;数据定义和数据库需求;用户维护需求;用户操作和运行需求;检查软件需求 是否能够跟踪系统需求、结构;从外部上,是否与系统需求保持一致;需求内部的一致性;是否具有可测性;测试覆盖是否可达到要求;操作(设计和实现),维护的可行性等 依据联合评审过程,对软件需求进行评审基本过程开发过程软件体系结构设计该活动是针对每一个软件项(或已标识的软件配置项),主要任务为:
5、把那些对软件项的需求转变为一种体系结构。开发关于软件项的外部接口以及软件项的各个软件部件间的接口的顶层设计,并形成文档。编制数据库的顶层设计,并形成文档。编制用户文档的最初版本,并形成文档。确定软件集成的初步测试需求和进度安排,并形成文档。根据下列评价准则,评价软件项的体系结构、接口和数据库设计,评价结果应形成文档。按照联合评审,对软件体系结构进行评审。基本过程开发过程总的来说,成功实现开发过程的结果是:收集了软件开发需求并达成协定;开发了软件产品或基于软件的系统;开发了证明最终产品是基于需求的中间工作产品;在开发过程的产品之间,建立了一致性;根据系统需求,优化了系统质量因素(例如速度、开发成
6、本、易用性等);提供了证明最终产品满足需求的证据(例如测试证据);根据协定的需求,安装了最终产品。基本过程供应过程供应过程供应过程是供方为了向客户提供满足需求的软件产品或服务所从事的一系列活动和任务。目的:向客户提供一个满足已达成需求的产品或服务。该过程的启动,或通过为应答需方的招标书而开始编制投标书的决定,或通过与需方签订一项提供系统、软件产品或软件服务的合同。继之,确定为管理和保证项目所需的规程和资源,包括编制项目计划,执行计划,一直到将系统、软件产品或软件服务交付给需方为止。该过程包括的基本活动为:启动;准备投标 签订合同 规划 执行和控制 复审和评估 交付和完成基本过程供应过程总的来说
7、,成功实现该过程的结果是:对客户请求产生了一个响应;在客户与供方之间建立了一个关于开发、维护、运行、包装、交付和安装产品和/或服务的协定;供方开发了一个符合协定需求的产品和/或服务;根据协定的需求,向客户交付了该产品和/或服务;根据协定的需求,安装了该产品。支持过程支持过程按过程中活动的不同主体,将支持过程(类)分为8个过程:文档过程配置管理过程质量保证验证过程确认过程联合评审审计过程问题解决支持过程文档过程文档过程记录由某一过程或活动所产生信息的过程,包括4个活动:过程的实施准备 主要任务:开发一个计划,用于标识软件产品生存周期中要产生的文档对于所标识的每一个文档,应给出:标题或名字;目的;
8、读者;文档输入、开发、评审、修改、提交、存储、维护以及配置管理等的规程和责任。设计与开发主要任务:根据适用的文档标准,设计每一文档的格式、内容说明、图表设置以及包装等。可以使用自动化的文档工具,确保每个文档输入数据的来源和适用性。按文档标准,编辑并评审每一文档的格式、技术内容和表示风格,在分发前需经主管人员批准。制作与发行维护支持过程配置管理过程配置管理过程目的:建立并维护一个过程或一个项目的所有工作产品的完整性。包括以下6个活动:过程实现配置标识配置控制配置状态统计配置评价发布管理和交付支持过程验证过程验证过程是一个确定某项活动的软件产品是否满足在以前的活动中施加于它们的需求和条件的过程。目
9、的:证实一个过程和/或项目的每一软件工作产品和/或服务恰当地反映了已规定的需求。该过程包括的活动过程实现 确定项目是否需要进行一定的验证工作,以及验证工作是否需要一个独立组织,分析项目需求的关键性。如果一个项目需要进行验证工作,就应为验证该软件产品而建立一个验证过程。如果一个项目需要进行独立的验证工作,就要选择一个负责进行验证的合格组织,并确保该组织具有实施验证活动的独立性和权力。基于有关范围、重要程度、复杂性和关键性的分析,确定需要进行验证的生存周期活动和软件产品。根据已确定的验证任务,制定验证计划并形成文档。实现该验证计划。支持过程验证过程验证文档验证过程验证需求验证设计验证编码验证集成验
10、证总的来说,成功实施该过程的结果是:制定并实现验证策略;标识验证所有要求的软件工作产品的准则;执行所要求的验证活动;标识并记录缺陷;给出对顾客和其他相关方可用的验证活动的结果。支持过程确认过程确认过程确认过程是一个确定需求和最终的、已建成的系统或软件产品是否满足特定预期用途的过程。目的:证实对软件工作产品特定预期使用的需求已予实现。该过程可以作为开发过程中软件验收支持活动的一个部分来执行。该过程可以由来自同一组织一个人或多个人来实施,也可以由来自另一组织的人员来实施。该过程包括的活动:过程实现确认支持过程确认过程过程实现该活动包括以下项任务:确定项目是否需要进行确认工作,以及确认工作所需要的一
11、定组织上的独立性。如果项目需要进行确认工作,就应建立确认系统或软件产品的一个确认过程,并选择以下定义的确认任务,其中包括用于执行确认任务的方法、技术和工具。如果项目需要进行独立的确认工作,就应选择一个负责执行确认工作的合格组织,并确保执行者具有执行确认任务的独立性和权力。制定确认计划并形成文档。实现该确认计划。确认结果。支持过程确认过程确认该活动包括以下项任务:为了对测试结果进行分析,准备所选择的测试需求、测试用例和测试规格说明。确保这些测试需求、测试用例和测试规格说明体现了特定预期用途的特殊需求。进行前2项任务中确定的测试,一般包括:强度、边界和异常输入的测试;软件产品隔离错误影响测试以及使
12、错误影响最小化能力的测试,即:在失效时,测试该软件产品是否能得体降级;在过载、边界和异常条件下,测试该软件产品是否能向操作者提出协助请求;代表性用户使用该软件产品成功完成其预期任务的测试。确认软件产品满足它的预期用途。在目标环境选定区域中,适当对该软件产品进行测试。组织过程组织过程类指那些与软件生产组织有关的过程。包括4个过程:管理过程基础设施过程培训过程改进过程组织过程管理过程管理过程定义:管理过程包括由管理其对应过程的任何一方所执行的一般性活动和任务,管理人员负责:产品管理、项目管理和对所应用的那些过程(例如,获取、供应、开发、运行、维护或支持过程)的任务管理。主要活动包括:过程的启动和范
13、围定义 规划实施与控制评审与评估测量表决(closure)组织过程管理过程过程的启动和范围定义主要任务:通过建立那些要承担的过程的需求,启动该管理过程通过检查执行并管理这些过程所需要的资源(人、物资、技术和环境)是否可用、充分和适用,以及时间上是否可达,来建立这些过程的可行性必要的话,按各方共识,修改这些过程的需求,以达成完成准则。规划主要任务:为过程的执行制定计划。该计划应包括有关活动和任务的描述,并标识即将提供的软件产品。该计划的主要内容:既时完成任务的进度安排;工作量的估计;执行任务所需要的适当资源;任务的分配;与任务或过程自身有关的风险(量化);职责的分派;在整个过程中采用的质量控制测
14、量;与过程执行有关的费用;环境和基础设施的规约。组织过程管理过程实施与控制主要任务:启动管理计划的实施,以满足所设定的目标和准则,并对过程实施控制。监督过程的执行,提供过程进展的内部报告,并按照合同的规定向需方提供过程进展的外部报告。调查、分析和解决在过程执行期间发现的问题。问题的解决可能导致对计划的变更。对变更的影响进行确定、控制和监督。问题及其解决方案应形成文档。按协商确定的时间,报告过程进展情况,声明按计划进行,并解决进展中的疏漏情况。按照组织规程和合同的要求,这种报告包括内部报告和外部报告。组织过程管理过程评审与评估主要任务:对软件产品和计划进行评价,以确定是否满足需求。对在过程执行期
15、间完成的软件产品、活动和任务的评价结果进行评估,以确定是否达到目标和完成计划。测量主要任务:建立并维护测量承诺。确保满足所有的测量过程的资源、人员和承诺的先决条件。规划测量过程。制定一个详细的计划以启动、指导、监督并评价数据收集、分析、解释和存储活动。按计划进行测量。根据测量计划任务的输出生成信息产品和性能测量(值)。评价测量。组织过程管理过程表决主要任务:当所有软件产品、活动和任务均完成时,应按照合同中或组织规程中规定的准则,确定该过程是否完成检查所软件产品、开展的活动和任务的结果和记录是否完整。这些结果和记录均应按合同中的规定在适当的环境中予以归档组织过程基础设施过程基础设施过程基础设施过
16、程是为其他过程建立和维护所需基础设施的过程。基础设施可以包括用于开发、运行或维护的硬件、软件、工具、技术、标准和设施。包括下述活动:过程实施的准备建立基础设施维护基础设施组织过程基础设施过程过程实施的准备主要任务:为满足使用这一过程的那些过程的需求,考虑适用的规程、标准、工具和技术,定义基础设施并建立相应的文档。制定基础设施计划并形成文档。建立基础设施主要任务:制定基础设施配置计划并形成文档,其中应考虑功能、性能、安全、安全保密、可用性、空间要求、设备、费用和时间约束。为了实施有关过程,及时安装基础设施。基础设施维护主要任务:维护、监督和改进基础设施,以确保基础设施持续地满足应用本过程的过程要
17、求。其中应确定将基础设施置于配置管理之下的程度。组织过程改进过程改进过程是一个建立、评估、测量、控制和改进软件生存周期过程的过程。主要活动包括:过程建立主要任务:建立一组适合于所有软件生存周期过程的组织过程,以应用到其业务活动中。这些过程及其在特定情况下的应用应在组织的出版物中形成文档。合适时,应建立过程控制机制,以便开发、监督、控制和改进这些过程。过程评估主要任务:制定过程评估规程,将其形成文档并加以应用。应保存并维护评估记录。规划过程评审并按适当的间隔进行之,以确保评估结果具有明显的、持续的合适性和有效性。过程改进主要任务:当过程评估和评审的结果表明必要时,对其过程实施改进。收集并分析历史
18、的、技术的和评价的数据,以增进对已应用过程的强项和弱项的了解。收集、维护和使用质量成本数据,以改进组织的过程。软件过程之间的关系获取过程获取过程获取过程供应过程供应过程管理过程管理过程运行过程运行过程开发过程开发过程维护过程维护过程获取者获取者供应者供应者管理者管理者运行者运行者用用 户户开发者开发者维护者维护者开发者开发者维护者维护者组织过程:管理、改进组织过程:管理、改进.支持过程:文档、质量保证、支持过程:文档、质量保证、配置管理配置管理.合合同同使使用用合同观点合同观点管理观点管理观点运行观点运行观点开发观点开发观点支持观点支持观点剪裁过程剪裁过程定义:剪裁过程是针对某一软件产品对本标
19、准进行基本剪裁的一个过程。意图:围绕一个组织,其中该组织在一个协议中使用了这一标准影响一个项目,其中要求该项目满足一个引用该标准的协议反映一个组织的需要,其中该组织要供给产品或服务主要活动包括:标识项目环境;请求输入;选择过程、活动和任务;将剪裁决定和理由形成文档。软件生存周期模型软件生存周期模型 把一个软件生存周期模型描述为:一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,覆盖了从该系统的需求定义到系统的使用终止。中国计算机科学与技术百科全书称软件生存周期模型为“软件开发模型”,并把它定义为:软件开发的全部过程、活动和任务的结构框架。软件生存周期模型能清晰、直观地表达软件开发全
20、过程。明确规定了软件开发要完成的主要活动和任务。常用的软件生存周期模型有:瀑布模型、增量模型、原型模型、演化模型、螺旋模型、喷泉模型、第四代技术过程模型等。软件生存周期模型瀑布模型瀑布模型项目的开发依次经过:需求、设计、编码和单元测试、集成以及维护这一基本路径。在每一阶段提交以下产品:软件需求规约、设计文档、实际代码、测试用例、最终产品等。“反向”(Rework)步骤流表示对前一个可提交产品的重复变更。由于所有开发活动的非确定性,因此是否需要重复变更,这仅在下一个阶段或更后的阶段才能认识到。返工不仅在以前阶段的某一地方需要,而且对当前正在进行的工作也是需要的。软件生存周期模型瀑布模型瀑布模型的
21、优点在决定系统怎样做之前,存在一个需求阶段,鼓励对系统“做什么”进行规约(即设计之前的规约)。在建造构件之前,存在一个设计阶段,鼓励规划系统结构(即编码之前的设计)。在每一阶段结束时进行复审,允许获取方和用户的参与。允许基线和配置早期接受控制。前一步工作产品可作为下一步被认可的、文档化的基线。软件生存周期模型瀑布模型瀑布模型的缺点客户必须能够完整、正确和清晰地表达他们的需求;开发人员一开始就必须理解其应用。在开始的两个或三个阶段中,很难评估真正的进度状态。需求的不稳定性,设计、编码和测试阶段都可能发生延期。在一个项目的早期阶段,过分地强调了基线和里程碑处的文档;可能要花费更多的时间,用于建立一
22、些用处不大的文档。当接近项目结束时,出现了大量的集成和测试工作。直到项目结束之前,都不能演示系统的能力。软件生存周期模型瀑布模型瀑布模型适用的情况在开发中,向下、渐进的路径占支配地位。即需求已被很好地理解;过程设计人员很清楚,开发组织非常熟悉为实现这一模型所需要的过程。为了避免产生过多的反复迭代工作,增加开发成本,一般在准备采用瀑布模型(也包括其他模型)时,需要考虑以下2个问题:过程设计人员必须对初始产品(通常是SRS)的不确定性进行评估组织是否具有熟练实施每个活动和任务的历史经验软件生存周期模型增量模型增量模型增量模型也叫渐增模型,指按需求分组形成一个个的增量,并对每一个增量实施瀑布式开发。
23、当使用增量模型时,第一个增量往往是核心的产品,实现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使用和评估,都做为下一个增量发布的新特征和功能,直到产生最终的完善产品。软件生存周期模型增量模型该模型有一个假设,即需求可以分段,成为一系列增量产品,每一增量可以分别地开发。13259101167121384增量增量1 1 1,2,5,9 1,2,5,9 增量增量2 2 3 3,6,7,4,10,11,6,7,4,10,11 增量增量3 3 8 8,12,13,12,13 管理管理增量规约增量规约增量设计增量设计纠错性分析纠错性分析增量实现增量实现增量1增量2增量3软件生存周期模型增量
展开阅读全文