软件产品WBS分解指南Word格式文档下载.docx
- 文档编号:16701301
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:18
- 大小:274.92KB
软件产品WBS分解指南Word格式文档下载.docx
《软件产品WBS分解指南Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《软件产品WBS分解指南Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
任务
工作成果名称
项目策划阶段
《项目策划管理标准》
1
起草项目任务书
《项目任务书》
2
审批项目任务书
已批准的《项目任务书》
3
策划准备
《项目实施计划》
4
启动项目策划
产品的功能结构图、WBS工作任务分解
5
项目估计和成果列表
《项目实施计划》:
工作量估计,进度计划,人力资源计划,软/硬件、工具要求,风险管理计划,培训计划,沟通计划,交付工作产品清单等
6
制订项目计划
《项目实施计划》〔有些客户需要《质量保证计划〔方案〕》、《配置管理计划〔方案〕》等相关计划〕
7
项目计划评审
按照《项目评审管理标准》的规定,QA组织对《项目实施计划》组织评审,直到通过评审
8
审批项目计划
《项目实施计划》获得相关领导的审批
需求分析阶段
《需求开发与管理标准》
9
需求调研
开始按照《需求调研计划》,采取《需求调研记录表》进行调研,完成《系统需求分析说明书》初稿
10
需求分析
如果客户需求不清晰需要密切跟踪,要完成《需求调研记录跟踪矩阵》、《需求不一致项列表》
11
需求不一致项
协商处理
相关修订文档,可能包括《系统需求分析说明书》和《需求不一致项列表》等文件
12
需求规格说明书完善
《系统需求分析说明书》正式稿、《需求跟踪管理表》
13
需求验证
需求同级评审相关记录。
验证后的《系统需求分析说明书》、《需求跟踪管理表》
14
需求分析阶段评审
按照《项目评审管理标准》的规定,QA组织对《需求分析说明书的评审》
15
里程碑评审〔可选〕
完成《项目里程碑报告》并组织评审
分析设计阶段
《分析设计管理标准》
16
概要设计
概要设计相关技术资料
17
设计文档编写
《概要设计说明书》
18
概要设计评审〔可选〕
《概要设计说明书》的评审〔建议详细设计或概要设计必须做一个正式评审〕
19
详细设计
详细设计相关工具和技术资料
20
文档编写
《详细设计说明书》
21
用户界面设计
《用户界面设计说明书》
22
数据库设计
《数据库设计说明书》
23
详细设计评审
设计评审记录《项目评审报告》
24
实现开发阶段
《产品实现管理标准》
25
编程
源代码
26
代码走查
《代码走查检查单》
27
单元测试
《单元测试报告》
28
初步完成三大手册
初步完成《系统安装手册》《用户操作手册》《项目维护手册》
测试阶段
《项目测试管理标准》
29
集成测试
测试bug清单
30
测试文档
项目《测试计划》、《测试用例》、《测试报告》
部署运行
《系统部署管理标准》
31
部署安装使用
《系统部署用户确认书》需要用户确认
32
客户培训
《客户培训签到表》《客户培训效果调查表》
验收
《项目验收管理标准》
内部验收
在正式部署之前完成。
《项目内部验收评审报告》
33
客户验收
《客户验收计划》、《客户验收报告》
结项阶段
《项目结项管理标准》
34
结项申请
《结项申请表》
35
结项总结
《结项总结报告》
36
总结会议
结项总结
维护阶段
《项目运行维护管理标准》
37
维护计划审批
维护工作启动制定《项目维护计划》并通过审批
38
维护报告
项目结束维护,完成《项目维护总结报告》
〔3〕优缺点
该模型的优点:
①阶段分明、活动明确,为软件开发工作提供一种结构化、有序的方法;
②过程控制可见性较强:
按照顺序开展每一个阶段的工作,每一阶段是在上一阶段彻底完成的情况下才启动,可以保证每一个阶段的开发质量都有保证,减少了返工;
③开发过程中的各项文档降低了沟通的成本,有利于及早发现问题,降低项目的阶段成本;
④文档多,过程记录比较全,有利于后期维护。
该模型的缺点:
①不能回溯:
项目从开始到发布可见的版本需要较长的周期,用户直到项目开发晚期才能了解产品的真实面貌和质量,不易变更;
如果必须回溯,则回溯成本很大。
②缺乏灵活性,不能跨阶段操作;
③文档多,花费较多成本。
〔4〕适用范围
①产品定义〔或项目需求〕和技术方案非常明确、用户的需求有很好的了解;
②对质量的要求高于对成本和进度的要求;
③工期相对较宽裕;
④开发队伍技术力量较弱或缺乏经验;
⑤维护项目。
2、迭代模型
〔1〕基本思想
迭代模型是RUP〔RationalUnifiedProcess,统一软件开发过程)推荐的周期模型。
在RUP中,迭代被定义为:
迭代包括产生产品发布〔稳定、可执行的产品版本〕的全部开发活动和要使用该发布必需的所有其他外围元素。
在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:
需求、分析设计、实施和测试工作流程。
实质上,它类似小型的瀑布式项目。
RUP认为,所有的阶段都可以细分为迭代。
每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。
图2迭代模型的思想示意图
迭代模型沿着螺线进行假设干次迭代,图中的四个象限代表了以下活动:
①制定计划:
确定软件目标,选定实施方案,弄清项目开发的限制条件;
②风险分析:
分析评估所选方案,考虑如何识别和消除风险;
③实施工程:
实施软件开发和验证;
④客户评估:
评价开发工作,提出修正建议,制定下一步计划。
迭代模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。
使用迭代模型进行软件开发,项目活动包含以下几个阶段:
①初始阶段
初始阶段有时也称先启阶段。
初始阶段的目标是为系统建立商业案例并确定项目的边界。
为了到达该目的必须识别所有与系统交互的外部实体,在较高层次上定义交互的特性。
本阶段具有非常重要的意义,在这个阶段中所关注的是整个项目进行中的业务和需求方面的主要风险。
对于建立在原有系统基础上的开发项目来讲,初始阶段可能很短。
②细化阶段
细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。
为了到达该目的,必须在理解整个系统的基础上,对体系结构做出决策,包括其范围、主要功能和诸如性能等非功能需求。
同时为项目建立支持环境,包括创建开发案例,创建模板、准则并准备工具。
③构造阶段
在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。
从某种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控制运作以优化成本、进度和质量。
④交付阶段
交付阶段的重点是确保软件对最终用户是可用的。
交付阶段可以跨越几次迭代,包括为发布做准备的产品测试,基于用户反馈的少量的调整。
在生命周期的这一点上,用户反馈应主要集中在产品调整,设置、安装和可用性问题,所有主要的结构问题应该已经在项目生命周期的早期阶段解决了。
图3迭代模型的几个阶段
实际采用迭代模型中,项目阶段仍可参考瀑布执行。
迭代模型实施重要的关键点是架构设计〔概要设计〕、制定迭代开发计划。
完成《项目实施计划》
《项目实施计划》中WBS分解要参考本表
项目迭代计划
〔★〕
《项目迭代开发计划》
●必须有架构设计〔概要设计〕
●《项目迭代开发计划》必须说明哪些是关键迭代,完成的时机以及预期成果
●下一个迭代,在前几个迭代基础上需要完善的要点以及完善步骤
架构〔概要〕设计〔★〕
概要设计说明书
系统完成架构设计〔概要设计〕
详细需求分析、设计及实现第1个迭代
迭代1的需求分析,形成《需求说明书》
需求评审
关键迭代需要组织评审
直接做详细设计,完成迭代《设计说明书》
按照《项目实施计划》中质量控制点计划要求完成《代码走查检查单》
按照《项目实施计划》中质量控制点计划要求完成《单元测试报告》
第一个迭代部署/集成
按照《项目迭代开发计划》将迭代开发成果部署到统一架构中。
第一个迭代集成测试
迭代后的开发成果部署到统一架构后做集成测试
详细需求分析、设计及实现第2个迭代
按照《项目迭代开发计划》中的规划实现,如果实现计划有变化需要变更该计划。
…
详细需求分析、设计及实现第N个迭代
所有迭代按照《项目迭代开发计划》全部实现后,需要做系统测试。
与传统的瀑布模型相比较,迭代模型具有以下优点:
①降低了在一个增量上的开支风险。
如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费;
②降低了产品无法按照既定进度进入市场的风险。
通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙;
③加快了整个开发工作的进度。
因为开发人员清楚问题的焦点所在,他们的工作会更有效率;
④由于用户的需求并不能在一开始就做出完全的界定,它们通常是在后续阶段中不断细化的。
因此,迭代过程这种模式使适应需求的变化会更容易些。
迭代模型的缺点:
①风险管理成本较高:
迭代模型本身强调风险,但风险管理本身也存在成本问题;
如果风险管理成本过大,将会严重影响项目的利润;
②对项目组成员的要求非常高:
在风险分析、进度管理等方面,需要有较高层次的人员配置及丰富的项目管理和项目实施的经验。
这对于开发队伍技术力量较弱或缺乏经验的团队很难实施。
①在项目开发早期需求可能有所变化;
②分析设计人员对应用领域很熟悉;
③高风险项目;
④用户可不同程度地参与整个项目的开发过程;
⑤使用面向对象的语言或统一建模语言〔UnifiedModelingLanguage,UML〕;
⑥使用CASE〔ComputerAidedSoftwareEngineering,电脑辅助软件工程〕工具,如Rose〔Rose是非常受欢送的物件软体开发工具〕;
⑦具有高素质的项目管理者和软件研发团队。
3、增量模型
增量模型是通过对用户需求的判断,在定义了用户要求和系统需求,进行总体构架设计后,采用序列化地创建产品的方法进行开发的过程。
每一个线性序列产生软件的一个可发布的“增量”,第一个建立的增量完成预计功能/性能的一部分〔往往包含了核心功能,即实现了基本的需求〕,下一个增量实现另外的部分,增加更多的功能/性能,然后与前面实现的增加进行集成,如此循环,直到系统完全实现。
增量模型的特点是引进了增量包的概念,无须等到所有需求都出来,只要某个需求的增量包出来即可进行开发。
虽然某个增量包可能还需要进一步适应客户的需求并且更改,但只要这个增量包足够小,其影响对整个项目来说是可以承受的。
其实现过程简图如下所示:
图4增量模型的思想示意图
在策划阶段,项目经理需要与客户协商确定增量的数目、规模、每一增量发布的时间表,在概要设计阶段需要考虑各增量集成的顺序、接口等问题,制定集成策略。
增量循环的循环体可以根据项目的实际情况进行控制。
增量模型本质上是迭代的,但其强调每一个增量均发布一个可操作产品。
早期的增量是最终产品的“可拆卸”版本,但提供了为用户服务的功能,并且为用户提供了评估的平台。
概要设计相关技术资料、
概要设计评审〔必须〕
设计评审记录
设计实现
开发第一个增量
〔如A模块〕
A模块详细设计
第一个增量测试
增量产品测试
发布第一个增量
增量产品发布和部署
开发第二个增量
〔如B模块〕
B模块详细设计
…
开发第N个增量
①在到达初始需求之前可降低成本:
采用增量模型可以灵活分配人员,刚开始不用投入大量人力资源。
如果核心产品很受欢送,则可增加人力实现下一个增量;
②可快速生产出可使用的系统:
它提供了一种先推出核心产品的途径,这样即可先发布部分功能给客户,对客户起到镇静剂的作用;
③能够有计划地管理技术风险。
①系统集成难度大:
由于各个构件是逐渐并入已有的软件体系结构中的,各增量的集成难度增大,所以在概要设计阶段需要制定详细的集成策略;
②项目管理风险加大:
在开发过程中,需求的变化是不可防止的,增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而使软件过程的控制失去整体性。
①用户核心需求非常清楚;
②项目人员不足;
③产品可以分割成不同的阶段分别完成。
4、原型模型
原型模型通过向用户提供原型获取用户的反馈,使开发出的软件能够真正反映用户的需求。
同时,原型模型采用逐步求精的方法完善原型,使得原型能够“快速”开发,防止了像瀑布模型一样在冗长的开发过程中难以对用户的反馈做出快速的响应。
相对瀑布模型而言,原型模型更符合人们开发软件的习惯,使目前较流行的一种实用软件生存期模型。
原型模型是一种用户需求驱动的方法,使得用户在系统生存周期的设计阶段起到积极的作用;
它能减少系统开发的风险,特别是在大型项目的开发中,由于对项目需求的分析难以一次完成,应用原型法效果更为明显。
图5原型模型的思想示意图
原型模型根据其最终保留情况分为非抛弃型和抛弃型两种:
非抛弃型原型是先根据用户的最主要的要求,开发出能实现系统最基本功能的一个原型,再根据用户对原型使用与评价的意见,反复修改完善原型,直到等到用户满意的最终系统为止。
原型模型从需求收集开始,软件开发组与目标用户一起定义软件的总体目标,标识出已知的需求,并规划出进一步定义的区域。
然后是“快速设计”。
快速设计建立软件中对用户可见的部分,即“原型”。
原型由用户评估,并据此进一步精化用户需求。
逐步调整原型使其满足用户的要求,同时也使开发组对该软件有更好的理解,这个过程是迭代的,每一个迭代完成后均可生成一个可用的产品版本。
抛弃型原型模型一般用来描述和验证用户需求,可以采用与实际开发所不同的开发工具,建立模拟的数据库系统,从而到达与用户交流的最好效果。
到用户需求确定之后即不再继续开发此原型。
与非抛弃型原型模型的主要区别在于:
①目的不同,抛弃型原型模型的目的是为了与用户更好的沟通;
②手段不同,抛弃型原型模型采用的技术手段与正式开发可以完全不同;
③结果不同,抛弃型原型模型的工作产品不会在软件研发中使用或大量使用,而多用于开发demo及验证用户需求的复合性。
使用原型模型进行软件开发,项目活动包含以下几个阶段:
①确定用户需求阶段
软件项目负责人员根据用户意向或市场调研等前期准备的资料、文档,对用户需求进行分析,编写用户需求文档。
②建造/修改原型阶段
项目组根据原型评价结果对设计原型进行建立、修改和完善,并记录相关过程。
③运行/评价原型阶段
项目负责人协同市场人员与用户对设计原型进行评价和讨论,明确设计原型中要保留的和需去除的原型设计部分,提出需要进一步补充和完善的需求内容。
重复上述过程,直至用户需求全部明确为止。
各阶段需要遵循的项目标准过程参见PD《项目标准过程裁剪指南》。
图6原型模型开发的几个阶段
非抛弃型原型模型的WBS划分
阶段和过程
从过程中选取任务
用户需求分析
获取用户需求
《需求调研记录单》
建立系统需求
《需求分析说明书》
验证需求
已经验证的《软件系统需求》
建造/修改原型
搭建开发环境
开发环境
编写代码
源代码、产品原型
运行/评价原型
运行评价原型
更新后《需求分析说明书》
抛弃型原型模型的WBS划分
任务类型
需求调查和分析
原型界面
与用户交流修改界面
修改后的原型界面
建立模拟数据库
模拟数据库
开发
源代码,原型
功能测试及修改
测试记录和通过测试的工作产品
原型运行
问题记录表
评价原型
原型评价表
①符合人们认识事物的规律,系统开发循序渐进,反复修改,确保较好的用户满意度;
②开发周期短,费用相对少;
③由于有用户的直接参与,系统更加贴近实际,易学易用,减少用户的培训时间;
①开发过程管理要求高,整个开发过程要经过“修改—评价—再修改”的多次反复;
②用户过早看到系统原型,误认为系统就是这个模样,易使用户失去信心;
③开发人员易将原型取代系统分析;
④缺乏标准化的文档资料,不利于系统的后期维护。
该模型适合于:
①处理简单过程明确、涉及面窄的小型系统;
②大型系统的需求阶段,用原型去跟用户交流,需求分析会更加明确和细化。
该模型不适合于:
①大型、复杂系统,难以模拟;
②存在大量运算、逻辑性强的处理系统;
③管理基础工作不完善、处理过程不标准的系统;
④大量批处理的系统。
三、软件生命周期模型的选择
在众多的开发模型和过程方法中,企业应选择什么样的开发模型,应从以下几方面进行慎重考虑:
1、实施推广的难度
虽然各种开发模型的内容极其丰富,定义项目各个阶段的活动,并提供了一大堆的文档模板,但是各个开发模型的实施最终还是依靠人。
项目管理团队的管理能力和系统开发团队的技术能力决定了所选择开发模型的实施难度。
选择一个适合项目团队特点的开发模型尤为重要。
2、项目管理的侧重点
以上各个开发模型的过程特点也各不相同,如瀑布模型是文档驱动型的,迭代模型是风险驱动型的,增量模型是任务驱动型的,原型模型是需求驱动型的。
项目不同,其侧重点也不同,如侧重于进度、质量、成本控制、风险管理等等。
根据项目的侧重点,可以选择不同的开发模型。
总之,选择一个合适的生命周期模型,并应用正确的方法,对于任何软件项目的成功是至关重要。
企业在选择开发模型应从项目时间要求、需求明确程度、风险状况等选择合适的生命周期模型。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件产品 WBS 分解 指南
![提示](https://static.bdocx.com/images/bang_tan.gif)