当我写下一亿行代码程序员

【0.3 软件需求】之【需求建模语言入门】

2019-03-18  本文已影响2人  当我写下一亿行代码

需求建模语言入门

项目经常因为需求的缺失、不完整或者不明确而受到困扰。错误的需求实践普遍存在,所以大部分项目注定会失败。需求没做好是许多项目失败的根源。

定义RML

RML(需求建模语言)是为建立需求视觉模型而专门设计的语言,它便于企业管理、业务和技术等项目干系人使用。

人脑的限制

在20世纪50年代,认知心理学家乔治米勒发现,人类只能记住和处理7加或减2项内容,这通常称为“米勒魔数”。

图比文字更容易理解

可以想象地图比路径描述有用得多,或者PPT演示中,多用图表而非列表。

需求模型

需求模型组织和展示了大量信息,帮助你发现缺失的信息,并给出上下文细节。最重要的是模型可以从视觉上进行分组,使你能够通过短期记忆能力快速分析大量截然不同的信息。

为什么不用RML

它缺少有关需求与业务价值的模型,缺少从最终用户的角度展示系统结构的模型。它在技术上过于复杂使得业务项目干系人难以掌握。UML用于描述系统的技术设计和结构,顶多在建模方面对UML进行翻新改造以支持业务收益、用户操作和业务规则。

一个层面的需求是对另一个层面的设计

不要用“什么”与“如何作用”的关系来区别“需求”和“设计”。

确定业务的实际需要

用户要求是不是需求,关键要看业务项目干系人是否真正需要它。要对请求作出判断,它是否真正是需求,用户是否真的需要。

定义需求

需求是企业需要在解决方案中实现的。因此,需求可以包括功能性需求、非功能性需求、业务规则,甚至包括许多人传统上所称的设计。
功能性需求是一个解决方案所提供的行为或功能而不加任何限定词。业务规则表示在修改功能性需求时必须满足的条件语句,包括但不限于什么时候该功能可以用以及允许谁执行该功能。非功能性需求是任何不属于功能性的需求(包括业务规则)。
假设是做决策时所依据的真实陈述。假设包括对未来的任何预测或预报。假设对于需求非常关键,因为这些假设会不断被引用。

需求模型不等于游戏的结束

模型的价值在于以某种方式帮助组织所有的需求,以便很容易看出需求有缺失、无关或不正确的情况。
创建的所有模型都应该纳入项目的全部需求中。文字需求和可视化需求共同描绘出待建的解决方案的全景。

上一篇下一篇

猜你喜欢

热点阅读