软件开发项目规范.docx
《软件开发项目规范.docx》由会员分享,可在线阅读,更多相关《软件开发项目规范.docx(14页珍藏版)》请在冰豆网上搜索。
软件开发项目规范
软件项目开发和管理规范
本文阐述软件项目开发和管理的流程规范,作为软件项目开发的高级指引,本规范定义了
软件开发的各个阶段以及每个阶段的工作活动和工件,但不对活动和工件的细节作过多规定。
在
项目开发过程中,每个项目根据自身的需要确定这些活动和工件的细节。
项目阶段
项目开发的五个阶段
图2-1项目开发的五个阶段
*启动阶段
这个阶段的工作目的是决定一个项目是否需要启动。
为了达到这个目的,首先要明确项目
的总体战略目标,对项目的需要建立认同。
即确定到底需要做什么、开发什么产品或提供什么服
务,以及需要解决什么样的问题和需要满足客户或市场的什么要求等,同时还要总结项目工作的
范围、所需资源、大约开支、各种风险,以及该项目不执行的其他替代选择等。
这些代表了对整个项目目标从战略角度和宏观层次所进行的分析,通过项目的意向书总结岀来,由此确证客户或
项目发起人和赞助者的要求与期望,并帮助他们判定项目是否上马。
项目意向总结书的通过及项
目被批准上马形成了这个项目的起始点。
・计划阶段
这个阶段的工作是为整个项目做计划。
项目开始后,首先要确定项目的具体范围,明确定
出项目到底要做什么,总结、归纳并定出产品的功能。
然后进一步制定项目的计划,列出每项具
体工作,并建立所有工作任务的重要性及顺序;确定每项工作的执行人和所需资源;根据人员的
配置和能力设定各项工作和整个项目的完成时间表。
*执行阶段
这个阶段的工作是通过执行项目的计划来完成项目的任务。
它包括落实一切所需资源,如:
人员、设备、费用、技术、信息,由管理者领导全体项目参与者开展各项工作。
同时跟踪各项具体工作和整个项目的进度,定期向全体项目人员及项目的发起人报告项目状态。
«控制阶段
这个阶段的工作是确证项目工作的结果符合项目的计划。
它通过对项目结果的衡量和审核,
与项目计划所期望的结果进行比较,找出实际结果与计划的差别,并制定处理措施。
这个阶段的
工作还包括对项目进程中岀现的任何更改要求进行审核和批准。
同时调解项目进程中岀现的各种
问题,如:
对缺乏的资源的补偿调节;对项目的进度表及各项具体工作的优先级或顺序的修订。
4结束阶段
这个阶段的工作是确保项目的最终结果或提交物达到计划的要求,并对完成的结果作可接受的确认。
还包括在项目完成之后的收尾工作,对整个项目的经历进行总结,修订项目文档,用
户培训等。
阶段完成标志
在项目开发过程中,当一个阶段完成后才会开展下一个阶段的工作;另外,某个阶段完成”
通常被定义为项目的一个里程碑,里程碑标识了项目的进度,它是项目开发和控制的重要参考,对整个项目有重要的意义。
因此,确证某个阶段是否已经完成”的工作非常有重要。
・每一个阶段的结束以它特定任务的完成为象征
只有当某个阶段中被规定的所有工作任务都完成了,这个阶段才算真正结束,整个项目才可以进入到下一个阶段中去。
反过来说,要是阶段中某个任务没有全部完成,按照项目的定义,整个阶段就不能算是完成,因此项目就不能进入到下一个阶段去。
*衡量阶段结束的工作结果必须是实在的交付品
阶段中的任务是否完成是透过任务活动中产生的交付品来体现的,交付品必须是可交付的、
非抽象的、实质的并且可以通过用衡量的方法来判断是否真正地完成了的具体事物。
女口:
某一阶
段的完成是以建造一个样品或完成某分文件作为象征。
任何项目阶段的结束,都应该有这样的实
质性东西的完成作为象征。
*跨阶段的进程以阶段结尾的合格验证和审核来决定
当一个阶段结束时,在进入到下一个阶段之前所需要做的工作应包括对交付品进行合格验证,并检查这一阶段的工作质量和效率,由此判断是否可以进入到下一个阶段。
这些检验象征了
一个阶段的结尾终点,表示项目的进程离开了上一个阶段而进入了下一个阶段。
启动阶段
启初阶段
产胡領卑斛究
皿口论还
图3-1启动阶段的任务和工件
•产品领域研究
研究产品所在领域的状况,为项目论证提供依据。
研究内容包括:
0产品领域的现状和前景
0产品领域的商业模式和业务流程
0产品的价值和盈利空间
0产品的特性和复杂度
.技术可行性研究
研究产品的实现技术,总结技术可行性。
研究内容包括:
0
0类似产品的当前实现技术和技术趋势
0实现技术的候选方案
0各个方案的优点、成本和风险
0开发团队与实现技术的匹配情况
项目论证
基于商业和技术等方面对项目的可行性进行论证,确定项目是否开展。
如果开展项目,则进一步论证项目的总体方案。
论证的内容包括:
o商业可行性
o技术可行性
o当前产品与类似产品的比较
o项目收益和前景
o项目的成本和风险
o项目的总体方案
*确定项目目标和范围
项目开始时,所有相关人员必须对项目的目标和范围达成共识,形成共同的项目愿景。
并把愿景叙述为《项目开发大纲》向相关人员传达。
《项目开发大纲》的内容包括:
用三到五张图表来描述产品目标、功能、平台、客户、进度表和开发职责
能
用一个段落来综述产品,再用一个段落来描述每个重要的功能
的功能
用一个段落来描述每个对产品有用的但本项目不实现的功能
用一个段落来明确每个重要的涉众群体和他们的风险股本
求
用一个段落来讲述每个重要的项目需求
险
按风险暴露量对每个重要的项目风险都用一个段落来讨论
报
用一个段落综述产品的回报,其后再对每个重要的项目回报都用一个段落来讨
用一到三个段落将上述所有部分联系起来,明确项目的需求和风险,再用论点据来总结为什么这个项目会成功
表3-1项目开发大纲
计划阶段
计划阶段
图4-1计划阶段的任务和工件
*规模、工作量评估
围绕各项计划的制定工作对项目的规模、工作量等进行评估,评估的内容包括:
0
0模块数量与复杂度
0输入、输岀和对外接口等数量与复杂度
0SLOC和功能点
0非生产性的支持工作量
0开发工作量(人月)
0进度与里程碑
0进度风险
-定制项目开发计划
项目开发计划体现了项目组对整个开发周期的预期,指定了项目开发的总体方针。
与其他
计划一样,项目开发计划不是固定不变的,在执行过程中要对计划进行监控,可能会根据实际情
况修改计划并重新发布。
《项目开发计划》的内容包括:
用三到五张图表来描述产品目标、功能、平台、客户、进度表和开发职责。
(《项目开发计划》的概述部分应该是《项目开发大纲》中概述部分的拷贝。
当项目
时,修订《项目开发计划》的概述部分而不是修订《项目开发大纲》。
这样,以后在进行项目评价时,通过比较《项目开发大纲》和《项目开发计划》的概述,就能看岀项目是如何改变的)
咼级功能
用一到五页的篇幅来概述产品的功能,其中,要包括这些功能的附加信息(开发者需要这样的信息来了解实现需求)。
项目成员
确定软件工程职能角色,以及分配到这些角色的人员数量。
软件过程
概述这个项目中所应用的软件过程。
(具体内容可在《质量保证计划》中定义)
软件工程方法
概述这个项目中所应用的软件工程方法和技术。
(具体内容可在《质量保证计划》中定义)
进度和工作量
这一部分要表达出整个项目进度和工作量的估计。
其中要包括:
•对固定不变的里程碑和同步点的解释
•在评估中的设想情况、评估中的不准确性的可能来源
•随着项目的进展如何更新评估
(具体进度表内容可在《开发进度表》中定义)
风险管理计划
概述这个项目中风险管理计划。
(具体内容可在《风险管理计划》中定义)
测量
概述这个项目中要收集的测量。
软件工具
列出要使用的每一项软件工具,以及该工具所支持的任务。
项目支持
硬件支持明确所需的硬件,包括那些需要移动、获取或升级的硬件。
软件支持明确所需的软件,包括需要获取、安装或升级的软件件。
人力支持由哪个人、部门或团队为开发组的哪项任务提供支持。
表4-1项目开发计划
•定制风险管理计划
风险管理任务包括:
风险识别、风险分析、确定风险优先级、定制风险化解方案、风险化解和风险监控【如:
图4-2】。
伽卜
ti腿枣壮尹gw
xfth0
1总代农险囱吐
风险怦用
瑕厭鼻it
gagmm
■爪处]r制
图4-2风险管理任务
《风险管理计划》定义这些任务的执行流程和人员分配。
《风险管理计划》的内容包括:
用文字和图表概述风险管理任务的总体执行流程。
别
析
险优先级险化解方案
详细说明“风险识别”任务的实施细节和各项工作的负责人。
详细说明“风险分析”任务的实施细节和各项工作的负责人。
详细说明“确定风险优先级”任务的实施细节和各项工作的负责人。
详细说明“定制风险处理方案”任务的实施细节和各项工作的负责人。
当风险发生时,需要采取相应的措施化解风险。
这部分的内容是描述风险作的操作规范和流程。
详细说明风险监控任务的实施细节和各项工作的负责人。
表4-2风险管理计划
风险管理中通常会用到《TopN风险列表》,风险列表按照风险暴露量排序列岀当前
项目中主耍的N个风险,《TopN风险列表》的内容包括:
---”表示)
”表示)
本周的排名(如果本周已被完全化解用“上周排名(如果是新识别的风险用“一该风险已上表的周数
风险的名称或简述
风险类型(只针对进度相关的风险):
计划编制组织和管理设计和实现客户和需求承包商产品人员过程技术外部环境开发环境
风险发生的百分比概率
风险发生时损失的进度(工作日或工作周)发生概率X损失程度风险的当前状态:
未发生、已发生、已化解
简述风险的化解方案,如果有具体的化解方案文档则链接到相应文档
【寸已发生的风险,简述化解进度(未发生的风险用“
”表示)
表4-3风险列表
*定制质量保证计划
保证工作质量的一个重要步骤是制定一套合理的质量保证计划并贯彻执行。
《质量保证计划》的内容包括:
程程方法
详细说明这个项目中所应用的软件工程方法和技术。
说明编写的目的、适用范围以及对相关人员的要求等详细说明这个项目中所应用的软件过程。
对工程方法中的各种工作任务进行规范,明确执行的时机、流程和准则些工作任务包括:
常规开发活动(需求分析、架构设计、详细设计、编码和测试、发布和实施等)会议(工作例会、进度会议、审查会议等)
评审(方案评审、技术评审、质量评审等)
测量(产品规模测量、进度测量、缺陷率测量、测试覆盖率测量等)
其他活动(技能培训、资料收集、内部流、客户沟通等)
表4-4工作规范
•定制开发进度计划
基于当前对项目的规模和工作量评估,定制初步的开发进度表,作为项目开发计划的组成部分。
《开发进度表》的内容包括:
o
o项目的开始和结束时间
o项目各个阶段的开始和结束时间
o每个阶段的工作任务及其开始和结束时间
o每个工作任务的子任务的及其开始和结束时间
o里程碑和同步点
o角色的定义和任务分配
作为跟踪项目进度的重要依据,进度表在项目推进过程中需要不断细化。
另外,当实际进度与计划进度出现偏差时,需要修改进度表并重新发布。
执行阶段
图5-1执行阶段的任务和工件
*需求分析
分析产品的关键需求、对架构设计有影响的需求和风险较高的需求,直到分析的程度能开展足界面原型设计和架构设计工作。
《需求规格说明书》的内容包括:
业务需
需求
从商业或业务角度宏观上对产品或系统的要求。
它主要在宏观的层面归纳总结足客户提出的要求或赢得市场竞争所必须实现的功能、性能、质量等