从系统需求了解系统——如果你是中途加入项目组的话
- 首先要从需求找到系统所牵涉到的对象,对象与对象之间一定是存在某些关系、动作或状态的,这时候可以用用例图来表达,作为第0层对系统的了解
- 接着需要看这些关系、动作与状态之间具有怎么样的大概业务,这时候可以稍微根据情况的不同进行细致的划分,这些在需求上都有,但一定一定要思考这个业务场景,就算暂时没法一下子知道也可以,先存疑,之后再问项目中的人
- 了解到细致的业务之后,可以选择某个业务,进行流程图的编写,加上判断条件,这时候一个业务从头走到尾,这就算是一个整体流程,如果好几个整体流程涉及到大概相同的几个对象的时候,就可以把者几个对象和这些整体流程归类为一个子系统。然后划分多个子系统,子系统之间存在着一些对象的业务流程,可以看作子系统与子系统之间的接口,在编码设计时要明白“高内聚、低耦合”,子系统之间可以做个代理层解耦,而子系统内部则需要运算的高效
- 接着可以分别对每个子系统进行数据流图的描述,需要多层,这对数据库的设计以及类图的设计十分有帮助,要搞得比较透彻,每个字段的含义都要理清,这时候你才能去进行开发
其实不仅仅是标题所说的从需求了解系统,从需求调研出发的设计也可以采取同样的思路,需要明白整个系统是干啥的,业务流程是干啥的,系统只是工具,重点还是如何更好地支撑业务