软件需求分析是软件需求工程中最为核心的工作,而需求建模则是需求分析的主要手段。需求建模有很多工具,到底怎么有效地应用到需求分析过程中也是令人感到难以掌握的东西,本章为读者勾勒出需求分析的阶段与任务,指出如何选择合适的建模工具,以及在什么时机、如何应用这些建模工具。
6.1需求分析与建模的药点与误区分析
6.1.1需求分析到底做什么
需求分析的任务并不是分析系统如何实现用的需求,这种认识是对需求分析最常见的误解。需求分析实际上是业务分析,也就是选择一种业务导向的线索将零散的需求串起来,形成一个体系完整、内容清晰的框架,以及指导后续的设计、开发工作。
如果要更具体地描述需求分析工作的任务,笔者会将其归纳成三个词:分解、提炼、消除矛盾,连成一句话就是:
<-需求分析就是先分解,再提炼,在这个过程中消除矛盾。 >
1.分解
分解是人类控制复杂性、认识复杂事物的最佳实践,不管是采用结构化分析方式还是采用面向对象分析方法,分解都是必然要采用的手段。只不过,现代需求工程理论更建议采用业务导向的分解,而非传统的系统导向的分解。
(1)业务流程为主线索的分解结构
(2)程序结构为主线索的分解结构