资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,第5章 确定产品前景与工程范围,业务需求位于需求链中的最顶层,这种需求定义了软件系统的前景与范围。,用户需求和软件功能需求都必须符合业务需求设定的前景和目标。,如果工程没有一个明确定义的方向,或者不能让每个人充分理解这个方向,就必然会走向失败。,1,5.1 通过业务需求定义前景,产品前景(product vision)将所有涉众统一到一个方向上。前景描述了产品用来干什么,它最终会是什么样子。,前景关系到整个产品。当产品的战略定位或信息系统的业务目标随时间发生改变时,前景也会随之变化,但这种变化相对缓慢。,范围那么只与一个特定的工程,或实现产品功能下一增量的某次迭代相关,如图5.1所示。,2,5.1.1 相互矛盾的业务需求,开发者希望带为顾客提供一个冲动人心的高科技新方向。,而零售商需要的却只是一个简单的、可直接投入使用的系统。,顾客那么注重方便性和功能。,不同的目标、约束和本钱因素构成了这三方的制衡关系,导致了不一致的业务需求。,3,5.1.2 业务需求与用例,业务需求决定了应用的广度与深度。,广度(breadth)指应用能完成哪些业务工作(即用例)。,而深度(depth)那么说明将各项用例实现到何种程度。,业务需求会影响用例及相关功能需求的实现优先级。,业务需求对于需求的实现方式也有很大影响。,4,5.2 前景与范围文档,前景与范围文档用于将业务需求收集整理到一个文档中,为后续的开发工作打好根底。进行商业软件开发的组织那么常常创立市场需求文档(Market Requirements Documentation,简称MRD)。,图5.2给出了前景和范围文档的一个模板。,业务需求,(1)背景,(2)业务机遇,(3)业务目标与成功标准,(4)客户与市场需求,(5)业务风险,图,5.2,5,5.2 前景与范围文档,解决方案的前景,(1)前景声明,用一个简洁的前景声明概括新产品的长期目标和意图。,(2)主要特性,为新产品的每一项主要特性或用户功能进行固定的、惟一的命名或编号,突出其超越原有产品或竞争产品的特性。,(3)假设与依赖,记录构思工程和编写前景和范围文档过程中涉众所提出的每一项假设。,6,5.2 前景与范围文档,范围与限制,工程的范围定义了所提出的解决方案的概念和范围。,(1)第一个版本的范围,概述方案在产品的第一个版本中实现的主要特性。,(2)各后续版本的范围,要采用阶段性的开发方式,需要决定推迟实现哪些特性,并为后续的版本做出时间安排。,(3)限制与排除,定义工程包含的需求与不包含的需求之间的界线。,7,5.2 前景与范围文档,业务背景,这一局部概述一些工程的业务问题,包括简要描述主要的涉众类别,以及说明工程的管理优先级。,(1)涉众简介,对每类涉众的说明都应提供如下信息:,从产品得到的主要价值或利益,产品如何才能产生较高的客户满意度。,可能对产品采取的态度。,感兴趣的主要特性和功能。,必须遵循的约束。,(2)工程优先级,要想更有效地进行决策,涉众必须就工程的优先级达成一致。,(3)操作环境,描述系统将用于什么环境,定义关键的可用性、可靠性、性能和完整性需求。,8,5.3 关 联 图,对范围的描述确立了正在开发的系统与周围所有事物之间的界线和联系。关联图(context diagram)用图形方式说明了这一界线。,图5.3给出了化学品跟踪管理系统的关联图的一局部。,9,5.4 保持范围的适度,前景和范围文档让你能够对是否应该将某项被提议的特性或需求包括在工程中做出判断。,一种是被提议的需求明显在范围之外。,另一种可能是需求显然是在定义好的工程范围之内。,第三种可能是被提议的新需求不再范围之内,但它很有价值,因而需要对工程范围做出调整以容纳这一新的需求。,10,在你的工程中找几位涉众,请他们每人用本章介绍的关键字模板写一个前景声明。看看他们所写的前景相似程度如何。消除所有分歧并提出一个所有涉众都赞成的统一的前景。,无论你是刚刚启动一个工程或是正处在工程开发期间,都请根据图5.2中的模板写一份前景和范围文档,然后让小组的其他成员检查这份文档。这样也许会发现工程组成员对工程前景和范围的理解并不一致。立刻解决这个问题,不要让它无限制地开展下去,等待只会让问题变得更难解决。这个练习还能告诉你如何对模板进行修改,让它最大限度地满足你们组织内的工程的需求。,下一步,11,
展开阅读全文