第6章 需求分析与建模最佳实践
需求分析到底做什么
需求分析的任务并不是分析系统如何实现用户的需求。需求分析是业务分析,也就是选择一种业务导向的线索将零散的需求串起来,形成一个体系完整、内容清晰的框架,一知道后续的设计、开发工作。
- 分解:分解是人类控制复杂性、认知负责失误的最佳实践。
a) 业务流程为主线索的分解结构
b) 程序结构为主线的分解结构
c) 基于数据的分解结构
选择一个合适的分解结构之后,就可以把需求规格说明书的大纲确定下来,知道应该捕获什么信息;因此当信息捕获回来后,需求分析的任务就是讲起填充到相应的级别上,并不断验证是否已经填充完成
- 提炼,分解是一种自顶向下的方法,当你按任何一种方法线索进行分解时,就会破坏其他线索的完整性。因此我们还需要采用自底向上的方法进行提炼
- 消除矛盾
建模的目标与要点
- 建模的目的
- 建模的要点与原则
a) 选择创建什么模型对如何手动解决问题和如何形成解决方案有着深远的影响
b) 每一种模型可以在不同的精度级别上表示
c) 最好的模型是在现实相联系
d) 单个模型是不充分的,每一个重要的系统最好用一组机会独立的模型去处理。
选择建模工具的要点
- 正确认识建模方法论
- 正确认识UML
业务流程分析
- 业务流程分析人物概述,业务流程分析是针对每一个业务事件来进行的,业务事件是业务流程的触发,沿着对业务事件的相应序列,找到所有相关的业务活动,表述出这些业务活动之间的关系就是该任务的关键目标。
- 业务流程分析与流程管理理论的关系
a) 流程的6大特性
i. 目标性
ii. 内在性
iii. 整体性
iv. 动态性
v. 层次性
vi. 结构性
b) 工作流实现的本质
c) 流程设计的原则
i. 流程应以产出为中心
ii. 让那些需要得到流程产出的人自己执行流程。
iii. 在决策点位于工作执行的地方,在业务流程中建立控制程序。
iv. 流程多样化。
v. 单点接触客户
d) 流程改进的ESIA策略,ESIA就是指清除低效环节、简化瓶颈点、整合资源、将繁琐的任务实现自动化
- 业务流程分析的要点与产物,在进行业务流程分析时,有几个关键要点:一是理解流程的层次性;二是要了解流程的类型;三是掌握以业务事件识别、寻找流程的技巧。
a) 流程的级别
i. 部门级
ii. 组织级
iii. 岗位及
b) 流程是有类别的
i. 生成性流程:这是流程中最重要的部分,他是企业/组织价值体现的核心,通常也是最容易标识的一部分。
ii. 管理性流程:这是对生成性流程的控制,他通常是有管理层发现的,对一些质量、效率进行监督的控制性流程,这是容易忽略的部分。
iii. 支持性流程:这是对生成性流程的一种补充,通常是有协作部门、本部门员工执行的工作,这也是容易丢失的部分。
c) 流程分析的产物
i. 跨职责路程图
ii. 活动图
iii. 数据流图
- 业务实体分析,在业务流程中,必须会设计许多业务实体,要正确构建出信息系统,就必须对这些业务实体建立正确的认识。
- 角色与使用场景分析,在传统的结构化分析与设计方法中,真个分析视觉是站在解决方案域,很容易产生对问题域分析不足的结果。而已用例技术为代表的现代化需求分析方法则更侧重于“从用户的角度,将系统当做一个黑盒子”的视角。用例分析技术的关键是“发现使用系统的角色,了解并树立海贼写角色将如何使用系统”,从而更好地完成“人”的视角的需求树立