第6章 需求分析与建模最佳实践

软件需求分析是软件需求工程中最为核心的工作,而需求建模则是需求分析的主要手段。需求建模有很多工具,到底怎么有效地应用到需求分析过程中也是令人感到难以掌握的东西,本章为读者勾勒出需求分析的阶段与任务,指出如何选择合适的建模工具,以及在什么时机、如何应用这些建模工具。


6.1需求分析与建模的药点与误区分析

    6.1.1需求分析到底做什么

     需求分析的任务并不是分析系统如何实现用的需求,这种认识是对需求分析最常见的误解。需求分析实际上是业务分析,也就是选择一种业务导向的线索将零散的需求串起来,形成一个体系完整、内容清晰的框架,以及指导后续的设计、开发工作。

     如果要更具体地描述需求分析工作的任务,笔者会将其归纳成三个词:分解、提炼、消除矛盾,连成一句话就是:

<-需求分析就是先分解,再提炼,在这个过程中消除矛盾。 >

       1.分解

分解是人类控制复杂性、认识复杂事物的最佳实践,不管是采用结构化分析方式还是采用面向对象分析方法,分解都是必然要采用的手段。只不过,现代需求工程理论更建议采用业务导向的分解,而非传统的系统导向的分解。

       (1)业务流程为主线索的分解结构

       (2)程序结构为主线索的分解结构

       (3)基于场景的分解结构

       (4)基于数据的分解结构

         小结: 选择了一个合适的分解结构之后,就可以把需求规格说明书的大纲确定下来,知道应该捕获什么信息;因此当信息捕获回来后,需求分析的任务就是将其填充到相应的级别上,并不断验证是否已经填充完成。

       2.提炼

   分解是一种自顶向下的方法,当你按任何一种线索进行分解时,就会破坏其他线索的完整性。例如,如果以”事“为线索,那么会发现数据需求分解后就会出现相互交叠的情况,也就是在多个业务事件中都涉及相同的类。

   当出现这样的现象时就会阻碍需求分析人员建立全面理解,因此我们还需要采用自低向上的方法进行提炼。例如将每个业务事件中的类进行提炼,抽取出共同的部分,建立针对整个系统的全局领域模型。

       3.消除矛盾

 

 

你可能感兴趣的:(软件需求最佳实践)