《确定产品前景与项目范围》由会员分享,可在线阅读,更多相关《确定产品前景与项目范围(23页珍藏版)》请在金锄头文库上搜索。
1、2019/1/14,1/23,软件需求工程 Software Requirements Engineering ( SRE ) 第二部分 软件需求开发 第五章 确定产品前景与项目范围,龚 永 罡,2/23,第一部分回顾 软件需求:是什么和为什么,需 求 客 户 方 法 分析员,1个定义 2个部分 3个层次 4个文档,10项权利 10项义务,7大类、46个方法、 2个原则,9项工作,10项技能, 5项知识能力。,3/23,学习目标,在学完本章内容之后,你应该能够: 了解前景与项目范围的重要性 掌握确定项目前景的方法 编制项目前景和范围文档 使用关联图进行系统接口分析,4/23,5.0 确定产品前
2、景与项目范围的重要性,软件项目最大的问题是项目需求的不确定性和易变性。 缺少清晰的、正确的、一致的需求定义和范围核实是导致软件项目失败的主要原因。,5/23,5.0 确定产品前景与项目范围的重要性,业务需求位于需求链中的最高层,这种需求定义软件系统的前景(Vision)和范围(scope) 。,视图、视力、视觉;先见之明、眼力、想象力、幻想、显象。,活动、影响的范围;发挥能力的余地;见识、眼界。 注意与 range有效范围、幅度的区别。,P51,6/23,5.0 建立项目视图与范围的重要性,优秀的系统前景与范围是建立在良好的沟通渠道和明确的系统规划之上的。 优秀的系统前景与范围是有效的需求变更
3、的基础。 优秀的软件人员不但能够说明系统能够做什么,还能让用户理解系统不能够做什么。,P51,7/23,5.1 通过业务需求定义前景,产品前景把项目参与者定位到一个共同和明确的方向上。它描述了产品用来做什么,它最终会是什么样子。 项目范围则确定当前的项目要解决产品长远规划中哪一部分。描述了产品应包括的部分和不应包括的部分,它在包括与不包括之间划清了界线,确定了软件的局限性。,P51,8/23,5.1 通过业务需求定义前景,前景关系到整个产品。当产品的战略定位或信息系统的业务目标随时间发生改变时,前景也会改变,但是这种变化相对缓慢。 范围则只与一个特定的项目,或实现产品功能下一增量的某次迭代有关
4、。 与前景相比,范围更为动态。,P51,9/23,5.1 通过业务需求确定项目视图 1) 不同业务需求的来源与矛盾,业务需求有不同的来源,主要有:投资方、客户、用户、产品代表、市场代表、开发商、经销商,我们称这些与项目相关的人为涉众(项目干系人)。 项目干系人对目标、范围、费用的不同理解、要求和限制,将导致义务需求的冲突。 应该由项目主管而不是软件开发人员来解决不同涉众之间由于业务需求产生的矛盾。,P52,10/23,5.1 通过业务需求确定项目视图 1) 不同业务需求的来源与矛盾,当涉众和存在利益竞争的团体不断增加时,范围蔓延的风险也在不断增加。 范围出现失控的表现是软件的功能不断膨胀,最后
5、导致项目因无法满足成本、进度、质量要求而崩溃。 当范围失控时,应该采用政治与权利斗争的手段来解决。,P52,11/23,5.1 通过业务需求确定项目视图 2) 业务需求与用例,业务需求决定了系统应用的广度 和深度。 广度指应用能完成哪些业务工作(即用例)。 深度则说明将个项用例实现到何种程度。,P53,12/23,5.1 通过业务需求确定项目视图 2) 业务需求与用例,通过业务需求分析,应该明确哪一个业务任务(用例)需要稳定和全面的功能实现,哪些只需要简单的实现。 业务需求将影响用例及相关功能需求的优先级。 业务需求对于需求的实现方式将产生很大的影响。,P53,13/23,5.2 前景与范围文
6、档 1) 前景和范围文档的用途,“前景与范围文档”用于将业务需求集中在一个简单、紧凑的文档里。这个文档为以后的开发工作奠定了基础。 进行商业软件开发的组织则常常创建“市场需求文档”,在目标市场划分和与商业成功相关的问题上,将在“市场需求文档”中进行详细的分析和描叙。,P53,14/23,5.2 前景与范围文档 2) 前景和范围文档的编制者,“前景与范围文档”的编制者和所有者是项目的执行主管、投资负责人或其他类似人员;需求分析员与他们合作编写。 业务需求来源于明白为什么要开展这个项目的高级管理人员、项目规划者、产品经理、主题专家、营销人员。,P53,15/23,5.2 前景与范围文档 3) 前景
7、和范围文档模板(案例:COS),3. 范围与限制 3.1 第一个版本的范围 3.2 各后续发行版本的范围 3.3 限制与排除 4. 业务背景 4.1 涉众简介 4.2 项目优先级 4.3 操作环境 5. 其他,1. 业务需求 1.1 背景 1.2 业务机遇 1.3 业务目标与成功标准 1.4 客户或市场需求 1.5 业务风险分析 2. 解决方案的前景 2.1 项目前景陈述 2.2 主要特性 2.3 假设和依赖环境,图5-1 前景与和范围文档模板,P54,16/23,5.3 系统关联图,对范围的描述确立了正在开发的系统与周围所有事物之间的界线和联系,关联图用图形方式说明了这一界线。 在关联图中,
8、标出了处于系统之外并与系统有某种接口的端点,以及端点与系统间的数据、控制和物质流。,P59,17/23,5.3 系统关联图,图5-2 化学制品跟踪系统关联图,P59,18/23,5.3 系统关联图,可以把关联图写入前景与范围文档或软件需求规格说明中,或者作为系统数据流模型的一部分。 关联图并不明确提供系统的内部过程和数据。它主要是确定项目风险承担者之间清晰而精确的关系。 关联图这类工具的目的是促进项目涉众之间的交流更清晰和准确。,P59,19/23,5.4 保持范围的适度,通过前景与范围文档可以判断出,提出新的特性和需求放进项目中是否合适。 当某些人提出新的需求或改变需求或特性时,我们必须问的
9、第一个问题是:“这是否包含在项目范围之内?” 有些建议有时完全在项目范围之外,它们可能是一个好的方案,但这个方案适用于其它项目或将来要发行的产品。,20/23,5.4 保持范围的适度,一些建议很明显是在项目范围定义之内。如果这种建议与已经为某一确定产品所制定的需求相比,具有更高的优先级,则这些新的并符合要求的需求就应该加入到项目中。 此时必须作出权衡的是,在系统中是否延迟或者取消其它已经确定的需求或特性。 3),21/23,5.4 保持范围的适度,范围扩展存在固有的两个主要问题: 全部的工作必须重新进行以适应变化; 当项目的范围增大时,如果没有调整原先所分配的资源和时间,则属性会遭到破坏。 当
10、一些有影响的人企图往有许多约束的项目中添加更多的特性时,可以合理地拒绝这些要求。,22/23,本章小结,前景把项目参与者定位到一个共同和明确的方向上。 范围描述了产品应包括的部分和不应包括的部分,它在包括与不包括之间划清了界线。 业务需求决定了前景的广度与深度。 项目前景与范围文档将业务需求集中在一个简单、紧凑的文档里。它为以后的开发工作奠定了基础。 关联图通过正在开发的系统或正在讨论的问题和外部世界之间的联系来描述软件界线。 应该把注意力始终放在项目的范围上。,23/23,体 会,知道自己能做什么,说明你在成长; 知道自己不能做什么,说明你在成熟。 知道什么事情应该做,说明你在成长; 知道什么事情应该什么时候做,说明你在成熟。,