当前位置:文档之家› 附录风险分类体系表修订版

附录风险分类体系表修订版

1.你是否理解书面化的需求说明书?
-no不明确之处是否正在被满意地解决?
-yes描述是否存在歧义或者缺少必要地解释
有效性
按照需求所开发出的产品能否真正满足客户的要求?
1.是否存在没有说明客户真正想要的需求?
-Yes你怎么解决这些问题?
2.你和客户对需求的理解是否一致?
-yes是否有一种方法确定上述问题?
5.充分的提出长期存在的问题吗?
组织
机构
清楚角色和报告之间的关系
1.时间进度的组织是有效的吗?
2.大家是否清楚他们自己及其他人在计划中的角色吗?
3.大家是否清楚每个人拥有的权利是什么吗?
管理
经验
是经理在软件开发、软件管理、应用领域、开发过程和大型计划中的经验。
1.是否有经验丰富的管理者(软件管理、软件开发、开发过程、应用领域、软件规模和复杂性等方面)
2.列出的单元测试是否充分?
3.是否有足够的时间去执行你认为应该做的单元测试?
4.如果有进度问题是否做了关于单元测试的进度承诺?
编码和单元测试
编码/实现
在编码和实现方面是否存在问题?
1.用来写代码的设计说明书是否足够详细?
2.当编写代码时设计是否有变更?
3.是否存在一些系统限制(内存、外部存储)给编写代码带来一定的困难?
2.外部接口是否会有变化?
完整性
需求是否有所遗漏或规定不够完整?
1.是否有你知道应该在需求说明书中写明,但却没有写的需求?
-yes你能够将这些需求融入到系统中吗?
2.客户是否有需求说明书中没有包括的需求或期望?
-yes是否有一种途径去获得这些需求?
3.是否完整地定义了外部接口?
清晰性
需求是否清晰或有必要的解释?
-yes a:该计划规定的过程是否清晰?
-yes b:开发人员是否熟悉此计划?
适应性
过程是否适合于开发模型(如瀑布、原型)
1.开发过程是否适应于产品?
2.开发过程是否由一组相互一致的规程、方法和工具所支持?
过程
可控性
软件开发过程是否得到强化实施、监督并用可度量的方法控制分布在不同现场的开发是否可协调
4.完成软件功能所使用的语言是否适合?
5.在程序中是否使用了多种语言?
-yes不同的编译器产生的代码接口是否兼容?
6.开发计算机是否同目标用户计算机相同?
-no开发计算机和目标用户计算机编译器是否存在差异?
如果使用了硬件环境
7.编写软件的硬件说明书是否充分?
8.当编写代码时硬件说明书是否发生变更?
环境
系统
支持
系统能否及时获得专家或供货商的支持?
1.使用开发工具的人是否获得过培训?
2.与运用某问题的反馈是否迅速?
可交
付性
为了把开发系统交付给用户,对可接受的需求进行定义是否还未计入预算?
提示:如果参加项目的人员对此不理解,或许从风险的观点看会漏掉一个问题。
1.是否将开发系统交付给了用户?
1.每位项目组成员都遵循开发过程吗?
-yes如何保证的?
2.能否度量出开发过程满足不满足预定的生产率目标和质量目标?
如果采用分布式开发,还需考察:
3.对于多场地的分布式开发,是否有足够的协调能力?
可理
解性
项目组成员是否具有实施过程的经验过程能否被所有成员所理解
1.项目组成员能否顺利实施开发过程?
产品
3.你怎样来确认需求(原型、分析、模拟)
可行性
从分析的观点看需求是不可行的?
1.是否有些需求在技术上难以实现?
-yes a:这些需求是什么?
-yes b:为什么这些需求实现是困难的?
-no是否为这些需求做了可行的研究?
-Yes你认为可行性研究中所做的假定是否可信
先例
需求所规定的内容你以前从没做过或者你所在的公司从没有做过?
-yes在这方面合同清楚阐述了吗?
集成测试
系统
系统集成过程中相互间的协调、接口定义、设备方面是否存在问题?
1.规定了足够的系统集成了吗?
2.在系统集成和测试方面是否分配了足够的时间?
3.所有合同商都是集成团队的一部分吗?
4.产品是否被集成到当前的系统中?
-Yes与当前系统是否有一个并行接入的时间段?
可控性
是否具有某些机制用以控制产品的变化?
1.是否存在需求跟踪机制,可使需求从原始说明一直跟踪到测试用例?
2.是否运用某种跟踪机制,用以评价需求变化对分析的影响?
3.是否存在正式的变更控制流程?
-yes它覆盖到已基线化的所有需求、设计、代码和文档的变更了吗?
4.任意级别上的变化是否都向上追溯到了系统级别、向下追溯到了测试级别?
2.如此规模的项目是否需要一个比通常更大的团队来完成?
功能
在满足功能性需求方面是否存在一些隐含的问题?
1.是否有规定的算法不能满足需求的情况发生?
-no是否存在勉强符合需求的算法和设计?
2.你是如何确定算法和设计的可行性的(原型、模型、分析、模拟)
难度
设计或实现是否存在困难?
1.是否存在依据不切实际和乐观的假定而得出的设计?
2.是否存在设计上有难度的需求或功能?
-no你是否有所有需求的解决方案?
-yes这些需求是什么为什么不易实现
设计
接口
是否详细定义并且控制了内部接口(硬件和软件)
1.是否详细定义了内部接口(软件和软件、软件和硬件)
2.是否有一种方法用来定义内部接口?
-yes对于内部接口的变化是否有一种控制方法?
3.硬件是否和软件一起并行开发?
计划
接口
和客户、承包商、高级或者同级经理的接口
1.上下的管理沟通是否存在问题?
2.和用户文档之间的问题是否及时得到解决?
3.在和用户的管理会议中有适当的做计划人员吗(如技术经理、开发人员、分析人员)
4.是否有管理机制确保用户代表可以针对功能和操作方面代表客户的意见。
1.需要时目标用户的硬件是否可得到?
2.接收标准是否与所有需求一致?
-yes是否有一个正式的协议?
3.外部接口是否被定义、文档化并且形成基线?
4.是否存在难于测试的需求?
5.所规定的产品集成是否充分?
6.是否分配了足够的时间用来产品集成和测试?
如果是商业现货软件
7.在验证分配给商业软件的需求时供货商的数据是否可接受?
-yes b.在设计和实现过程中是否有一个可用于跟踪性能的模型?
可测试性
测试产品是困难的或不可能的吗?
1.软件是否容易测试?
2.设计是否包括一些特性可以帮助测试?
3.测试人员是否参与了需求分析?
硬件限制
关于目标硬件是否存在一些限制?
1.硬件设备是否限制了你满足软件需求的能力(体系架构、内存容量、吞吐量、实时响应、响应时间、恢复时限、数据库性能、功能、可靠性、可用性)
附录风险分类体系表
风险分类体系表
风险分类体系表,按照产品工程类、开发规程和方法类、规划约束类三个类别,采用列举各类的不同来源和属性下的问题方法,帮助在项目中更好的识别风险来源和管理风险。
表产品工程类
产品工程类
来源
属性
问题
需求
支持性
需求的相关方是否对需求活动提供了足够的支持?
1.客户或用户能确保参与需求的获取活动吗?
与应用软件的接口存在问题
没有全面的测试
不能剔除所有的bug
可维护性不强
供货商响应速度缓慢
3.关于集成商业现货软件的补充资料和修订版你是否预见到什么问题?
可行性
实现设计是否是困难的或不可能的?
1.设计说明书是否全面定义了执行产品的所有部分?
2.选择的算法和设计容易去实现吗?
测试
1.在你验证关于设计的代码之前是否已开始了单元设计?
1.是否存在无先例的或代表当前最高技术水平的保密性需求?
2.是否是单机多用户系统?
3.是否实现了这种级别的保密性需求?
说明书
设计、实现和测试系统所用的文档是充分的?
1.用来设计系统的软件需求说明书是否是充分的?
2.设计和实现系统的硬件说明书是否是充分的?
3.外部接口需求是否很好的被定义?
4.测试说明书是否是充分的去全面测试系统?
2.分配给软件的需求是否包括了可用性方面的需求
-yes恢复时限方面是否有问题?
工程特性
安全性
安全性需求是不可行和无法验证的吗?
1.分配给软件的需求是否包括安全性方面的需求?
-yes在符合安全性需求的过程中你是否遇到了困难?
2.验证满足需求中安全性方面的需求时是否存在困难?
保密性
处理保密性方面的需求是否比编程经验更重要?
集成和测试环境是否准备充分?
1.是否有足够的硬件去做充分的集成和测试?
2.验证需求的开发现实际场景和测试数据是否存在问题(特定的数据通信、实时响应、异步事件处理、多用户接口)
3.你能否用设备去验证性能?
4.硬件和软件工具是否方便测试?
-yes所有的测试是否充分?
产品
接口定义、设施准备是否充分时间是否充足
-yes a.硬件说明书是否发生变更?
-yes b.所有的软件接口都被定义了吗?
-yes c.是否有可用于测试软件的工程设计模型?
性能
是否有关于响应时间或吞吐量方面的需求?
1.在软件性能方面是否存在问题(吞吐量、调度异步实时事件、实时响应、恢复时限、响应时间、数据库响应)
2.是否做了性能分析?
-yes a.对性能的分析你有多大的把握?
掌握性
设计人员对需求的内容准确掌握了吗?
1.设计人员对需求的内容能获得正确理解吗?
-no能通过培训或与需求人员的沟通解决这个问题吗?
相关主题