《某软件公司质量管理体系.pdf》由会员分享,可在线阅读,更多相关《某软件公司质量管理体系.pdf(158页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、最新资料推荐秘秘密密仅限于内部使用仅限于内部使用质质量量管管理理体体系系培培训训教教材材(一一)北北 京京 博博 思思 美美 亚亚 科科 技技 发发 展展 公公 司司最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐目目录录公司标准软件过程体系文件导读公司标准软件过程体系文件导读 . .1 1软件生命周期模型软件生命周期模型 . .1 15 5软件开发过程软件开发过程 . .2 25 5技术类评审技术类评审 . 111 . 111项目估算指南项目估算指南 . .1 14646标准软件过程总体裁剪指南标准软件过程总体裁剪指南 . .
2、1 15252最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐公司标准软件过程体系文件导读公司标准软件过程体系文件导读目目录录1 1、概述、概述 .21.1目的.21.2适用范围.21.3引用文件.21.4术语.21.5参考资料.22 2、公司标准软件过程的开发、公司标准软件过程的开发 .32.1开发历程.32.2公司标准软件过程总体结构.63 3、软件过程体系文件、软件过程体系文件 .103.1过程管理.103.2软件开发过程.123.3项目管理.123.4资源管理.133.5指南性文件.14最新精品资料整理推荐,更新于二二一
3、年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐1 1、概述、概述1.11.1目的目的本文件对公司软件过程及其体系文件的总体结构进行描述, 为与软件过程的开发、维护、改进、执行、管理和跟踪等有关的人员学习、理解和使用软件过程体系文件提供指南。1.21.2适用范围适用范围适用于 SEPG、高层经理、项目经理、软件开发人员、测试人员、软件质量保证人员、软件配置管理人员及其他支持人员为了按规范开展各自的业务活动,学习、理解和使用软件过程体系文件。1.31.3引用文件引用文件无。1.41.4术语术语无。1.51.5参考资料参考资料 Software Project Ma
4、nagement Guidebook (Version 2.0) , Process Strategies,Inc.软件工程实践者的研究方法 , (美)Roger S. Pressman 著,黄柏素、梅宏译,机械工业出版社出版,1999 年 10 月实践中的 CMMINFOSYS 公司实施软件项目之过程 ,潘卡杰罗特著,杨慧鸣、李光龙泽,2001 年 7 月最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐2 2、公司标准软件过程的开发、公司标准软件过程的开发2.12.1开发历程开发历程为了使软件过程保持长期稳定并能持续改进,必须
5、开发组织(即公司)级的标准软件过程。为此,公司组织了以软件工程过程组(SEPG)为主体的标准软件过程开发和文件编写组,具体实施上述任务。公司标准软件过程是在公司范围内的软件项目全面执行 CMM 二级的基础上,在软件工程一般理论的指导下,收集公司全部软件项目所采用的软件过程,经过分析、归纳、提炼、分类、总结等一系列步骤开发而成;又在开发标准软件过程的基础上,形成了描述这些标准软件过程的相互关联的程序文件体系。本程序文件体系对组成标准软件过程的基本软件过程要紧, 以及软件过程要素之间的关系(软件过程结构)进行描述,描述的重点放在过程的可操作性上。此外,与此相关联,开发或编写了公司的软件过程数据库、
6、与软件过程相关的文档库、 软件生命周期描述文件和标准软件过程裁剪指南。它们和公司标准软件过程一起,组成了公司的软件过程资产。公司的软件过程资产为规范公司软件项目的软件过程提供了基础和保证。 各软件项目按标准软件过程裁剪指南,根据项目的实际情况(主要是客户需求)对公司标准软件过程进行裁剪,开发适合项目特定特性的项目软件过程;项目软件过程开发的重点在软件过程的可用性,以及附加到该项目的价值。项目以项目定义的软件过程为基础, 制订项目软件开发计划; 按计划执行项目的软件开发活动,产生相应的软件工作产品及其他开发成果; 开发过程中的数据以及项目结束后进行总结的数据, 经过一定的手续, 反馈到公司的软件
7、过程数据和软件过程相关文档库,丰富公司的软件过程资产。如此反复循环,促使软件过程得以持续改进。以上过程和关系可以用图 1 表示。图中:表示实体,例如“分配到软件的需求”表示活动,例如“选择项目的软件生命周期”图中上半部分用粗线框围起来的部分即公司的软件过程资产部分, 它由描述公司标准软件过程的程序文件、软件过程数据库、与软件过程相关的文档库、软件生命周期描述文件和标准软件过程裁剪指南组成。最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐下半部分则描述公司软件过程资产的利用过程: 软件项目按标准软件过程裁剪指南, 根据项目的实际情
8、况 (主要是客户需求) 对公司标准软件过程进行裁剪,开发适合项目特定特性的项目软件过程;制订项目软件开发计划,并按计划执行项目的软件开发活动;将项目数据 (包括开发过程中的数据以及项目结束后进行总结的数据)反馈到公司的软件过程数据库和软件过程相关文档库。最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐图图 1 1公司软件过程资产的开发和利用公司软件过程资产的开发和利用最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐2.22.2公司标准软件过程总体结构公司标准软件过
9、程总体结构图 2 为公司标准软件过程的总体结构。由于本公司的产品(项目)除了纯软件产品(项目)外,还包括软件和硬件兼有的产品(项目) ,考虑到过程的完整性以及便于理解软件过程和其他过程之间的接口关系, 图中的项目开发过程反映了软件和硬件兼有的产品的整个开发过程,但其中非软件过程部分均采用虚线,以示区别。有关内容说明如下:(1 1)项目、项目生命周期和软件生命周期)项目、项目生命周期和软件生命周期项目是由一组有起止日期、 相互协调的受控活动组成的独特过程,该过程要求达到符合包括时间、成本和资源等约束条件在内的规定要求的目标,其结果将产生产品。而软件项目则是为了开发软件产品(包括系统)而建立的项目
10、。项目和产品都具有一定的生命周期。项目生命周期是指从项目启动到项目结束为止的时间间隔。 项目生命周期一般包括:初期策划阶段(主要是可行性分析) ;开发策划阶段(开发前的人、财、物等的计划和准备) ;实施阶段(具体实施项目开发计划,保证项目的质量、成本、进度的顺利完成) ;结束阶段(评审、鉴定及项目交付和组织结束工作) 。在整个项目生命周期,所涉及的过程可以分为两类:项目开发过程(和被开发产品的实现直接相关) ;项目管理过程(对项目的开发过程进行管理和控制) 。软件生命周期则是指软件产品的生命周期, 即是指从设想软件产品开始到软件不再供使用为止的时间间隔。 软件生命周期一般包括: 概念阶段、 需
11、求阶段、设计阶段、实现阶段、测试阶段、安装和调整阶段、运行和维护阶段,有时还包括退役阶段。显然, 项目生命周期和软件生命周期在时间上是相关的,但在概念上是完全不同的。 一般来说, 项目生命周期不会超过该项目所开发的软件产品的生命周期。最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐(2 2)项目开发过程)项目开发过程图中的下部表示项目的开发过程。它从客户需求开始,通过系统分析,将客户需求分解成软件部分的需求和硬件部分的需求 (从此处项目将分成软件项目和硬件项目两部分) 。其中,软件项目从软件需求定义阶段、设计阶段、实现阶段、测试
12、阶段、验收交付阶段到项目总结,表示整个软件开发的结束。一般来说,作为软件开发项目到此就意味着结束了,但软件产品的生命周期并未结束。软件产品交付后,将经历使用过程中的维护阶段(维护阶段的时间可能和项目合同有关) ,直到最后产品退役。(3 3)项目管理过程)项目管理过程图中的中部表示项目的管理过程, 即对项目的开发过程实施管理的过程。对于软件和硬件兼有的项目来说,项目管理的主要过程如下:初期策划(主要针对系统分析、可行性分析进行策划) ;开发策划(开发前的人、财、物等的计划和准备) ;项目跟踪与监控(对项目初期的系统分析、可行性分析,以及项目开发过程中软件需求定义、设计、实现、测试、验收交付等活动
13、进行跟踪与监控) ;软件质量保证(SQA,对项目的软件过程和软件产品的符合性进行质量监控,它贯穿于软件项目的始终) ;软件配置管理(SCM,为确保软件产品的完整性和正确性进行的管理,它贯穿于软件项目的始终) ;需求管理(为确保满足客户需求进行的管理,它贯穿于项目的始终) ;评审过程(包括同行评审等技术类评审和计划评审等管理类评审) ;项目结束处理(包括项目的鉴定、验收、交付,以及进行项目总结) 。此外,在项目管理活动中,还可能有以下管理过程:项目培训;组间协调等。(4)过程资产本公司的软件过程资产分两个层次:公司级资产和项目级资产。a.公司级资产包括:过程数据库(含软件过程和其他过程的资产)
14、;最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐过程相关文档库;人力资源库。b.项目级资产包括:项目控制数据库(项目经理控制,用于保存项目数据,以便对项目进行跟踪与监控) ;SQA 管理库(SQA 控制,用于保存项目的软件质量保证数据) ;SCM 管理库(SCM 控制,用于保存项目的软件配置管理数据) ;SCM 库(SCM 控制,用于保存项目的所有配置项) 。通过一定的手续,项目的项目控制数据库和 SQA 管理库中的数据,经过选择,将补充到公司的过程数据库和过程相关文档库中。此外,根据实际需要,总部一级也可能需要有人力资源库。
15、最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐图图 2 2软件过程结构图软件过程结构图最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐3 3、软件过程体系文件、软件过程体系文件公司的软件过程体系文件的组成如图 3 所示。软件过程体系文过程管理软件开发过程项目管理资源管理指南性文件软件开发过程程序文件培训程序标准软件过程开发与维护过程描述文件编写规范(一)客户需求管理程序文件项目策划程序文件项目跟踪与监控程序文件项目总结程序文件软件质量保证程序文件软件配置管理程序
16、文件组间协调程序文件技术类评审程序文件高层验证程序文件项目估算指南标准软件过程总体裁剪指南公司标准软件过程体系文件导读过程描述文件编写规范(二)质量管理体系数据库管理和维护文件软件生命周期模型描述文件标识规范术语文件控制程序图图 3 3软件过程体系文件软件过程体系文件按文件的使用目的,公司的软件过程体系文件分为五类:过程管理、软件开发过程、项目管理、资源管理和指南。3.13.1过程管理过程管理过程管理是指对软件过程进行管理, 此类文件的使用人员主要是对软件过程最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐进行开发、维护、改进的
17、人员,例如 SEPG 成员、项目经理、SQA 等。有关文件说明如下:(1)标准软件过程开发与维护使用人员:SEPG 和软件过程描述文件编写人员。内容提要:本文件对如何开发和管理公司的标准软件过程、如何编写软件过程描述文件、如何编写标准软件过程裁剪指南等作出了规定。(2)过程描述文件编写规范(一)使用人员:软件过程描述文件编写人员。内容提要: 为能分解成若干过程元素的较大过程编写的描述文件编写规范。(3)过程描述文件编写规范(二)使用人员:软件过程描述文件编写人员。内容提要:为没有明显的入口和出口准则的过程(例如日常管理类的过程)编写的描述文件编写规范。(4)质量管理体系数据库管理和维护文件使用
18、人员:SEPG、项目经理、SQA 和数据库的管理和维护人员。内容提要:本文件对公司的软件过程数据库和与过程相关文档库的管理和维护作出了规定。考虑到将来需要扩充 ISO9001 要求的其他数据库,故起此名。(5)软件生命周期模型描述文件使用人员:项目经理以及参与项目软件过程定义的有关人员。内容提要:本文件对公司所确定的软件生命周期模型进行描述,作为公司的过程资产之一,供项目选择适合项目情况的软件生命周期模型时参考。(6)标识规范使用人员:对被标识对象进行标识的人中员。内容提要:为规范包括文件、表格、产品的标识而制订的规范。(7)术语使用人员:SEPG 和软件过程描述文件编写人员。内容提要:本文件
19、定义了本软件过程体系文件所使用的专用术语。(8)文件控制程序使用人员:文件管理人员。内容提要:本文件对文件的编写、评审、批准、发布、发放、回收等文件最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐管理要求作出了规定, 是整个质量管理体系所要求的用于对受控文件进行管理的文件。3.23.2软件开发过程软件开发过程软件开发过程是指与软件开发有关的过程, 相关文件的使用人员主要是和软件开发有关的人员。(9)软件开发过程程序文件使用人员:项目经理以及参与项目软件过程定义的有关人员。内容提要:本程序文件针对本公司软件项目所采用的典型开发过程
20、,分解成过程要素进行描述,供各软件项目根据标准软件过程裁剪指南,定义项目自己的软件过程时使用。3.33.3项目管理项目管理与项目管理有关的文件如下:(10)客户需求管理程序文件使用人员:项目经理、SQA、SCM 和软件开发人员。内容提要: 本文件是为了确保项目满足客户需求和如何确保满足客户需求,为项目编写的有关客户需求管理的程序文件。(11)项目策划程序文件使用人员:项目经理以及参与项目策划的其他有关人员。内容提要:为指导软件项目进行项目的初期策划和开发策划而编写的程序文件。(12)项目跟踪与监控程序文件使用人员:高层经理、项目经理、SQA、SCM 和软件开发人员。内容提要:指导软件项目在项目
21、计划执行过程中如何对项目进行跟踪与监控的程序文件。(13)项目总结程序文件使用人员:项目经理、SQA、SCM 和软件开发人员。内容提要:指导软件项目在项目结束阶段如何进行项目总结的程序文件。最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐(14)软件质量保证程序文件使用人员:SQA、项目经理、SCM 和软件开发人员。内容提要:指导软件项目的SQA 如何执行项目的软件质量保证活动,以及项目的其他人员如何配合的程序文件。(15)软件配置管理程序文件使用人员:SCM、项目经理、SQA 和软件开发人员。内容提要:指导软件项目的 SCM
22、如何执行项目的软件配置管理活动,以及项目的其他人员如何配合的程序文件。(16)组间协调程序文件使用人员:项目经理、SQA、SCM 和软件开发人员。内容提要:项目在进行项目策划时,应考虑有无组间协调的情况,本程序文件提供这方面的要求和指导。(17)技术类评审程序文件使用人员:项目经理、软件开发人员、SQA 以及其他参与评审的人员。内容提要:本程序文件为项目进行技术类评审(包括同行评审及其他类型的技术评审)规定要求和提供指导。(18)高层验证程序文件使用人员:高层经理、项目经理、SQA、SCM 和软件开发人员。内容提要:在公司标准软件过程的开发和改进以及项目在执行软件开发活动的过程中, 高层经理应
23、在哪些环节进行验证,如何进行验证?项目的有关人员如何配合?本程序文件为高层经理的验证活动提出要求并提供指导。3.43.4资源管理资源管理资源管理主要包括人力资源、设备、环境等方面的管理。(19)培训程序使用人员:公司培训组、高层经理、项目经理、SQA、SCM 和软件开发人员。内容提要:对公司级培训和项目级培训的实施要求作出规定,包括培训需求的收集、培训计划、培训实施和培训总结等。最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐3.53.5指南性文件指南性文件目前提供以下指南性文件:(20)项目估算指南使用人员:项目经理及其他参与
24、估算的人员。内容提要:本指南为项目估算的方法(例如:规模估算、工作量估算等)提供指南。(21)标准软件过程总体裁剪指南使用人员:项目经理及其他参与项目软件过程定义的人员。内容提要:总体裁剪指南是公司标准软件过程裁剪指南中的高层裁剪指南(或一般性裁剪指南) 。它为软件项目在对公司标准软件过程进行裁剪时,提供对一般性活动进行裁剪的指南; 裁剪结果为项目进行详细的过程裁剪提供框架性的指导方针(详细裁剪指南分散在各程序文件的“详细裁剪指南”中) 。(22)软件过程体系文件导读(即本文件)使用人员:SEPG、高层经理、项目经理、软件开发人员、测试人员、软件质量保证人员、 软件配置管理人员等为了按规范开展
25、各自的业务活动, 需要学习、理解和使用软件过程体系文件的所有人员。内容提要:对公司标准软件过程开发的背景、开发过程、标准软件过程的总体结构,以及相应的软件过程体系文件进行导读性的说明。最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐软件生命周期模型软件生命周期模型目目录录1 1、概述、概述 .161.1目的.161.2适用范围.161.3引用文件.161.4术语.161.5参考资料.162 2、软件生命周期模型描述、软件生命周期模型描述 .172.1瀑布模型.172.2原型瀑布模型.182.3增量模型.192.4增量的迭代过程模
26、型.212.5快速应用开发模型.213 3、几种模型的比较、几种模型的比较 .234 4、其它模型采用说明、其它模型采用说明 .235 5、附录、附录 .23最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐1 1、概述、概述1.11.1目的目的描述公司级定义的软件生命周期模型, 供项目策划时根据项目的具体情况选择或裁剪使用, 由此确定软件项目开发过程的各种不同的阶段以及各阶段的执行顺序。1.21.2适用范围适用范围适用于本公司的软件项目策划。1.31.3引用文件引用文件软件开发过程程序文件 (QMS-OP01-V1.0)标准软件
27、过程开发和维护 (QMS-PSM01-V1.0)项目策划程序文件 (QMS-PTM02-V2.0)1.41.4术语术语软件生命周期从软件设想开始到软件不再使用而结束的时间周期。软件生命周期一般包括系统分析、软件需求分析、设计、实现、测试、验收、运行和维护各阶段,有时还包括退役阶段。软件过程有关开发和维护软件及其相关产品(例如:项目计划、设计文档、代码、测试用例、用户手册等)的活动、方法、实践和变更的集合。1.51.5参考资料参考资料软件工程 Java 语言实现 ,Stephen R. Schach 著,袁兆山等译,机械工业出版社,1999 年 9 月软件工程实践者的研究方法 ,Roger S.
28、 Pressman 著,黄柏素、梅宏等译,机械工业出版社,1999 年 10 月Software Project Management Guidebook ,Frank J. Koch 著,2001 年 7 月最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐实用软件工程郑人杰、殷人昆、陶永雷著,清华大学出版社,1997 年4 月软件需求 ,Karl E. Wiegers 著,陆丽娜、王忠民、王志敏等译,机械工业出版社,2000 年 7 月统一软件开发过程 ,Ivar Jacobson、Grady Booch、James Rumb
29、augh 著,周伯生、冯学民、樊东平等译,机械工业出版社,2002 年 1 月2 2、软件生命周期模型描述、软件生命周期模型描述所有的项目软件开发过程都应遵循一个生命周期模型, 每个模型都具有能够帮助实际软件项目进行控制及协调的特征。 定义生命周期模型的目的在于将本质上无序的活动有序化,在开发策划期间,必须仔细考虑项目的特征和目标之后,再选择生命周期模型。本文件根据组织内项目的类型,描述常用的几个软件生命周期模型, 项目可根据实际情况选择或按规定剪裁使用,但应注意与公司的标准软件开发过程相兼容。见附录“软件过程结构图”,其中的项目软件开发过程即为一个选择瀑布模型的典型项目过程。2.12.1瀑布
30、模型瀑布模型(1)模型描述该模型首先由 Royce1970提出,又称线性顺序模型,包括图 21 所示的典型的几个阶段,其重要特点是:只有当一个阶段的文档已编制好,且该阶段的产品得到 SQA 认可后,该阶段才算完成;测试或验证在每个阶段都必须执行;一旦产品完成提交用户,其后的任何修改均属于维护阶段。如果需求明确、能较好理解且较稳定,可以考虑选择瀑布模型。最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐系统分析软件需求分析设计实现测试验收维护图图 2 21 1瀑布模型瀑布模型(2)缺点由于其线性顺序的特点, 故只有在项目开发的后期才
31、能得到具有全部功能的软件版本;如果有未定义或未实施的需求,将会引起重复劳动,甚至开发出的产品不是用户所需要的。(3)本企业适合的项目类型操作系统产品;译星产品;嵌入式产品开发;对日软件外包项目等。2.22.2原型瀑布模型原型瀑布模型(1)模型描述原型模型本身是一个迭代的模型, 是为了解决在产品开发的早期阶段存在的不确定性、 二义性和不完整性等问题,通过建立原型使开发者进一步确定其应开发的产品,使开发者的想象更具体化,也更易于被客户所理解。原型只是真实系统的一部分或一个模型,完全可能不完成任何有用的事情,通常包括抛弃型和进最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27
32、 日星期三 20:47:59最新资料推荐化型两种,抛弃型指原型建立、分析之后要扔掉,整个系统重新分析和设计;进化型则是对需求的定义较清楚的情形,原型建立之后要保留,作为系逐渐增加的基础, 采用进化型一定要重视软件设计的系统性和完整性,并且在质量要求方面没有捷径,因此,对于描述相同的功能,建立进化型原型比建立抛弃型原型所花的时间要多。 原型建立确认需求之后采用瀑布模型的方式完成项目开发,原型瀑布模型的开发流程如图 22 所示:部分系统软件需求或软件需求分析原型设计原型实现多次迭代原型逐渐完善原型测试瀑布测试图图 2 22 2原型瀑布模型原型瀑布模型以下情形建议考虑选择原型瀑布模型:a.项目包含一
33、种新技术,例:新硬件、新的开发语言、新的系统架构等;b.需求不很清楚;c.存在关于性能、可靠性和可行性方面的主要的、未解决的问题;d.用户界面对系统成功是很关键的,但不很清楚。(2)缺点由于原型并非最终产品,如果原型不能利用,可能导致成本的增加;同时会引起客户的误解,以为产品即将完成。(3)本企业适合的项目类型新领域的应用项目的开发;Web开发项目等。2.32.3增量模型增量模型(1)模型描述增量模型是一种进化软件过程模型, 融合了线性顺序模型的基本成分(重复地应用)和原型模型的迭代特征,如下图所示。当使用增量模型时,第一个增量最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1
34、月 27 日星期三 20:47:59最新资料推荐往往是核心产品,即实现了基本的需求;核心产品交用户使用(或进行更详细的复审) ,使用和/或评估的结果是下一个增量的开发计划,该计划包括对核心产品的修改,使其能更好的满足用户的需要,并发布一些新增的特点和功能。增量模型和原型模型不一样,强调每一个增量均要发布一个可操作产品。早期的增量是最终产品的“可拆卸”版本,但能提供用户服务功能和用户评估的平台。增量模型开发流程见图 23。系统分析图图 2 23 3增量模型增量模型(2)缺点由于增量模型的灵活性, 往往容易退化成边做边改方法,使软件过程的控制丧失了整体性,最终的产品也不是开放的,而是成为维护人员的
35、恶梦。(3)本企业适合的项目类型各种中、 大规模的项目类型; 已有系统技术路线发生改变但需求明确的移植类项目。详细增量 n设计 n实现 n测试 n验收 n详细增量 2设计 2实现 2测试 2验收 2维护详细增量 1设计 1实现 1测试 1验收 1软件需求分析软件结构设计最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐2.42.4增量的迭代过程模型增量的迭代过程模型(1)模型描述该模型是一个不断迭代和增量的过程, 迭代过程首先要处理一组客户的业务需求,这些业务需求合起来能够揙所开发产品的可用性。其次,迭代过程要解决最突出的风险问题
36、。 后续的迭代过程建立在前一次的迭代过程末期所产生的产品之一。一个增量不一定是对原有产品的增加,尤其在生命周期初期,开发人员可能用更加详细和更加完善的设计来代替最初简单的设计。在较后的阶段,增量通常是对原有产品的增加。 采用此种模型最好是基于构件和有相应的构件开发工具(如:RUP、配置管理工具等) 。迭代 3迭代 2迭代 1系统分析 1软件需求分析 1设计 1实现 1测试 1验收 1分析 2系统分析 n系统软件需求分析 2设计 2实现 2测试 2验收 2维护软件需求分析 n设计 n实现 n测试 n验收 n图图 2 24 4增量的迭代模型增量的迭代模型(2)缺点需要相当的风险评估的技术;每个迭代
37、循环控制不好会变成边做边改模式。(3)本企业适合的项目类型较复杂的应用项目。2.52.5快速应用开发模型快速应用开发模型(1)模型描述最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐快速应用开发模型(RAD)是一个线性顺序的软件开发模型,强调极短的开发周期(23 个月) 。该模型是线性顺序模型的一个“高速”变种,如果需求理解得很好, 且约束了项目范围,就可通过使用基于构件或可得用软件包的建造方法获得快速开发。快速应用开发模型流程见图 25。适用于信息系统应用软件的开发。小组 n小组 2小组 1业务建模 1数据建模 1处理建模 1
38、应用生成 1测试 1业务建模 2数据建模 2处理建模 2应用生成 2测试 2集成/测试验收维护业务建模 n数据建模 n处理建模 n应用生成 n测试 n图图 2 25 5快速应用开发模型快速应用开发模型(2)缺点对大型的、 但可伸缩的项目, RAD 需要足够的人力以创建足够的 RAD 小组。RAD 要求开发者和用户在一个很短的时间内完成一个系统,如果双方中的任何一方没完成约定,都会导致 RAD 项目失败。(3)本企业适合的项目类型具有可重用的构件库和 CASE 工具的应用项目;信息系统等。最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资
39、料推荐3 3、几种模型的比较、几种模型的比较软件生命软件生命周期模型周期模型瀑布模型原型瀑布模型增量模型增量的迭代模型快速应用开发模型是否首先定义好绝是否首先定义好绝大部分的需求?大部分的需求?有没有有没有没有是否有多个是否有多个开发周期?开发周期?无有有有有是否有是否有中间软件发布中间软件发布无有可能有可能4 4、其它模型采用说明、其它模型采用说明如果在实际工作中, 基于特定项目的经验积累和总结,可能需要形成新的软件生命周期模型, 此时可依照一定的规程 (参见 标准软件过程开发和维护要求 、项目策划程序文件 )将其定义和描述加入到本文件中。5 5、附录、附录附录 1软件过程结构图说明:图中“
40、项目软件开发过程”一层延伸到产品退役,即体现出软件的生命周期。采用不同的生命周期模型在该层面的“系统分析”和“软件开发”阶段对应不同的过程。最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐软件过程结构图软件过程结构图最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐软件开发过程软件开发过程目目录录1 1、概述、概述 .271.1目的.271.2适用范围.271.3引用文件.271.4术语.271.5参考资料.282 2、过程总体描述、过程总体描述 .282.1过程概
41、述.282.2结构描述.292.3过程级裁剪指南.303 3、过程元素、过程元素 .313.1系统分析.313.2软件需求分析.363.3结构设计.433.4详细设计.463.5编码.513.6集成测试.543.7系统测试.583.8验收.613.9验收.653.10软件问题管理.694 4、附录、附录 .72附录 2.31中大型软件工程项目的标准软件开发过程.73附录 2.32中小型软件工程项目的标准软件开发过程.74附录 2.33小型软件工程项目的标准软件开发过程.75附录 3.11系统架构和业务需求说明书文档编写规范.76最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1
42、月 27 日星期三 20:47:59最新资料推荐附录 3.12可行性分析报告文档编写规范.78附录 3.13系统需求规格说明书文档编写规范.79附录 3.21需求分析方法指南.85附录 3.22结构化分析法.86附录 3.23面向对象分析法(OOA).87附录 3.24快速原型法.88附录 3.25软件需求规格说明书文档编写规范.89附录 3.26测试计划文档编写规范.93附录 3.31软件结构设计说明书文档编写规范.95附录 3.41软件详细设计说明书文档编写规范.99附录 3.51测试报告文档编写规范.101附录 3.61集成工作单.102附录 3.62集成测试工作单.103附录 3.91
43、软件维护实施计划文档编写规范.104附录 3.101软件问题报告单.105附录 3.102软件问题状态登记表.110最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐1 1、概述、概述1.11.1目的目的本程序文件定义了公司内部的软件开发过程, 以指导和规范软件项目中开发过程的定义和相应的实施。1.21.2适用范围适用范围整个公司内的软件项目。1.31.3引用文件引用文件过程描述文件编写规范(一) (QMS-PSM02-V1.0)标准软件过程的开发和维护 (QMS-PSM01-V1.0)软件生命周期模型描述文件 (QMS-PSM0
44、5-V1.0)客户需求管理程序文件 (QMS-PTM01-V2.0)技术类评审程序文件 (QMS-PTM09-V1.0)软件配置管理程序文件 (QMS-PTM09-V1.0)术语 (QMS-PSM07-V1.0)1.41.4术语术语过程:把输入转换为输出的一组彼此相关的活动。构造:将源代码进行编译、连接、生成目标代码的过程。构造环境:主要指与源码一起进行编译、连接的环境,在 C 语言中一般是指由编译、连接命令、环境参数、操作语句等构成的一系列脚本程序的组合。白盒测试:基于源码进行的测试,主要的形式包括语句覆盖、分支覆盖、路径覆盖等。黑盒测试:基于目标代码的测试,主要的形式为功能测试。回归测试:
45、对新增的功能或更正错误的部分(包括与其相关的部分)进行的测试,而不是对软件系统全面的测试。最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐其他术语参见术语文件。1.51.5参考资料参考资料软件能力成熟度模型 CMM 方法及其应用 ,杨一平等著,人民邮电出版社,2001 年 4 月实践中的 CMMINFOSYS 公司实施软件项目之过程 ,潘卡杰罗特著,杨慧鸣、李光龙泽,2001 年 7 月Managing the Software ProcessWatts S. Humphrey, Addison WesleyLongman, I
46、nc, 1989Recommended Approach to Software Development SEL-81-305,1992.6软件需求 ,Karl E. Wiegers 著,陆丽那、王忠民、王志敏等译,机械工业出版社,2000 年 7 月软件工程 Java 语言实现 ,Stephen R. Schach 著,袁兆山等译,机械工业出版社,1999 年 9 月软件工程实践者的研究方法 ,Roger S. Pressman 著,黄柏素、梅宏等译,机械工业出版社,1999 年 10 月国际信息技术软件生存周期过程指南GB/T8566-2002军标软件开发与文档编制SJ20778-2000
47、2 2、过程总体描述、过程总体描述2.12.1过程概述过程概述软件开发过程是指软件产品开发活动中所有阶段、 任务的组合。该过程可划分为一系列子过程,包括:系统分析、软件需求分析、设计、编码、测试、验收、维护, 每个子过程又由一系列任务和活动组成,如设计过程又可分为结构设计和详细设计。本程序文件描述公司通用的软件开发过程的组成(称之为“过程元素”) 、彼此之间的关系(输入、输出接口) ,以及相应的裁剪指南。具体的软件开发项目可以根据其范围、规模和复杂度,确定软件生命周期模型,参见软件生命周期最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新
48、资料推荐模型描述文件 ;然后根据通用的软件开发过程和裁剪指南,确定项目具体的软件开发过程。本程序文件涉及的裁剪指南分为两个层次, 一层为过程级,主要针对不同的项目所采取的过程的剪裁,以定义不同的典型过程;另一层为过程元素内部,主要针对元素内部的各个任务的剪裁。2.22.2结构描述结构描述软件开发过程在整个标准软件过程中的位置及组成见下图 2.21。图图 2.22.21 1软件过程结构图软件过程结构图最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐本程序文件所描述的软件开发过程的元素的组成见下表:过程元素过程元素需求分析需求分析阶
49、段阶段系统分析软件需求分析结构设计详细设计编码集成测试系统测试验收维护每个过程元素的具体描述和工作要求见本程序文件第三节的 “过程元素”描述。设计设计实现实现测试测试验收验收维护维护2.32.3过程级裁剪指南过程级裁剪指南活活动动开发过程开发过程全过程(附录 2.31)简化过程 11(附录 2.32)简化过程 12(附录 2.32)简化过程 21(附录 2.33)简化过程 22(附录 2.33)执行执行执行执行执行执行执行执行执行执行针对中大型软件工程项目或系统需求明确完全自行设计、实现的项目针对中小型软件工程项目自编/移植软件针对中小型软件工程项目自由软件针对小型软件工程项目自编/移植软件针
50、对中小型软件工程项目自由软件可裁剪属性可裁剪属性选选择择裁剪指导方针裁剪指导方针最新精品资料整理推荐,更新于二二一年一月二十七日2021 年 1 月 27 日星期三 20:47:59最新资料推荐软件开发过程中的技术类评审方式软件开发过程中的技术类评审方式见技术类评审程序文件中相应裁剪指南3 3、过程元素、过程元素以下分别对软件开发过程中的各个元素进行描述。3.13.1系统分析系统分析3.1.13.1.1元素概述元素概述系统分析的目的是形成一个清楚的、 完整的、一致的和可验收测试的系统需求规格说明书,与其它过程元素的关系如下图所示:来自客户的需求系统分析系统需求规格说明书系统分配给软件的需求软件