结构化系统分析(流程建模)
1.业务流程分析与建模
著名管理大师迈克·哈默在其《企业行动纲领》一书中提出“业务流程至上”,利用信息化技术提升企业管理的水平,首要的着眼点是流程!
- 业务流程是企业核心竞争力,信息技术是核心竞争力的加速器
- 系统规划阶段需要进行业务流程分析,强调企业整体业务过程及其优化
- 系统分析阶段需要进行业务流程分析,更关注具体流程的执行细节
业务流程分析
业务流程就是为达成业务目标而设定的一系列标准化的步骤,可以体现出一件工作“先做什么,后做什么,由谁来做”的关系。
- 企业过程(business process),过程是指一系列逻辑相关并且达到某个预定产出的任务。关注进程、工序、工艺、制作法,强调对全程、全面、粗略的过程描述。
- 业务流(transaction flow,也称事务流),企业过程落实到操作层面的具体详细的活动和步骤。关注管理程序、手续、步骤,如学生入学注册流程、产品出库流程。
业务流程图的画法
业务流程图示应有以下基本表达能力:
1.
业务流程包含多个业务功能(活动)
2.
业务功能可能由不同部门负责
3.
活动有次序
4.
活动执行过程含有控制逻辑((如分支、并发、同步汇合等)
绘制业务流程图的注意事项:
1.
从主要指系统或组织中的主要业务流程入手,他们是系统中起关键作用的部分 ;
2.
绘图应根据流程方向,尽量呈现由上至下,由左至右的一致性
3.
使用在一定范围内通用统一的符号,标记图形,尽可能简单图形中的文字,务必简要明确符合业务人员用语习惯
一个活动框应当是一件独立的工作或者事件
一个判定框代表一个判定值(真或假),不应表示活动或动作本身。
4.
流程图的结构应完整, 标明流程名称;
5.
关注流程起始点与终结点。 一般一个流程有一个起始点,一或多个终结点;
6.
尽量识别并绘制出流程中用到的表格和文档。
2.数据流分析与建模
分析的重要任务是识别和表达需求,建立系统的逻辑模型。
数据流分析
从企业的业务活动中找到数据流(信息流),即分析每个活动的数据输入和数据输出,忽略企业运作中那些与数据无关的活动。
数据流分析方法
采用结构化分析方法(或HIPO
法,hierarchical input process output);
基本思想:把一个系统看成一个整体功能,明确信息的输入与输出,系统为了实现这个功能,内部必然有信息的处理、传递、存储过程。
这些处理又可以分看做整体功能,其内部又有信息的处理、传递、存储过程。如此一级一级地剖析,直到所用处理步骤都很具体为止。
数据流图(DFD
)
数据流图DFD
:采用一系列分层次的数据流图来描述系统。利用分解和抽象这两个基本手段控制系统的复杂性,把大问题分解成小问题,然后分别解决,这就是分解。分解按照层次进行,先考虑问题最本质的特性,暂时略去具体细节,以后再逐层添加细节,直到最详细的内容。
简单来说就是:数据流图描述数据流动、存储、处理的逻辑关系,也称为逻辑数据流图,一般用 DFD 表示。
DFD
的每一个层次都代表了系统的一个抽象水平高层次
DFD
中的数据处理可以进一步分解成低层次、更详细的DFD
,即自顶向下、逐层分解的方法。
数据流图用到四个基本符号
□:方框,表示数据的源点或终点,即外部实体
〇:圆或椭圆,表示加工;数据处理
→:箭头,表示数据流;
=:双杠(带一边开口,一边闭合),表示数据存储;
画数据流图的注意事项
1.
关于层次的划分
2.
检查数据流图的正确性
3.
提高数据流图的易理解性。
4.
确定系统边界
数据流图的优缺点
- 图形元素少,易学易读,容易与用户沟通,有层次性,允许系统分析员由上至下逐步分析系统,不会受因于太多复杂的细节
- 不能描述系统的控制流,潜在的非语法错误不易发现,复核因难,需要有一定的分析设计经验。
数据字典
数据流图描述了系统的分解,但是没有说明系统中各个成分的含义。数据字典是对DFD的补充描述,用来描述数据流程图中的数据流、数据存储、处理过程和外部实体的详细内容数据流图与数据字典共同构成系统的功能模型,数据字典可以改进通信,规范描述,消除误解。
数据字典的各类条目
1.
数据元素
2.
数据结构
3.
数据流
4.
数据存储
5.
处理过程
6.
外部实体
数据字典的作用
1.
按各种要求列表;2.
相互参照,便于系统修改;3.
由描述内容检索名称。
4. 业务规则的表示
在数据字典中表达处理过程可使用小说明(或基本说明),可以是自然语言,但针对复杂处理逻辑,可以使用:结构化语言、判定表、判定树。
结构化语言
三种基本语句:
1.
祈使语句:指出要做什么,包括一个动词和一个宾语。
2.
判断语句:判断语句类似结构化程序设计中的判断结构。其一般形式是
如果 条件x成立
则 动作A
否则(条件不成立)
动作B
3.
循环语句:表达在某种条件下,重复执行相同的动作,直到这个条件不成立为止。
循环一个班的每一个学生
计算该学生的总成绩
判定树
如果一个动作的执行不只是依赖一个条件,而是与多个条件有关,那么这项策略的表达就比较复杂,就可以使用判定树来表示。
例如:邮政系统中,包裹邮资的计算策略与国别、路程、重量、保值额度等有关,使用自然语言来描述显然不够简洁。
判定表
如果条件较多、每种条件的取值情况也较多的情况下,可以使用判定表。
判定表的优点是可以把各种组合情况一个不漏地表示出来,还能帮助发现遗漏和矛盾的地方
三种工具对比
结构式语言 | 判定树 | 判定表 | |
---|---|---|---|
直观性 | 一般 | 很好 | 一般 |
用户检查 | 不便 | 方便 | 不便 |
可修改性 | 好 | 一般 | 差 |
逻辑检查 | 好 | 一般 | 很好 |
机器可读性 | 很好 | 差 | 很好 |
机器可编程 | 一般 | 不好 | 很好 |