架构作为和各方干系人沟通的工具,整理一下整体需求是非常必要的。
第一,架构是建立在需求的基础上的,如果没有需求的概要描述,则无法引出后面的架构设计;
第二,整体需求也可以作为后面需求分析的纲领性文件,来指导后面的需求分析,使得需求分析不要进入“只见树木,不见森林”的困境;
第三,整体需求在架构文档里,也是作为项目早期与客户沟通的工具,让客户检查架构师是否准确的把握了需求。
因此,在架构设计中做整体需求架构是有必要的。
下面来看一个整体需求架构的例子:
上图是一个保险管理系统的整体需求架构图。
保险管理系统的详细需求实际上是比较错综复杂的,但在整体需求架构图中,只抓住了几个大的需求:
保险客户信息
它是从客户那里来的,但是经过了中介,最后到达系统的。保险产品信息
它是从承保人那里来的,先给中介,然后由中介到达客户。保险信息
由承保人直接到客户。理赔信息
也是由客户和承保人直接处理。资金信息
是由承保人和银行之间发生。
功能架构图主要涉及到如下的一些元素:
- 角色
主要是系统中涉及到的各种用户角色,是用户的一个抽象,不是某个主要的用户。
比如“承保人”这个角色,实际的用户可以包括:业务员、操作员、理赔员、售后服务员等等。
- 功能
指的是系统的各大功能模块,是大的功能模块,而不是细分功能。
- 事件
指的是一些触发事件,用来启动某个功能。
总之,这种大的需求架构图会让人对系统的需求有了一目了然的感觉,在整个需求分析中也是必不可少的。