从历史上看,系统分析师通常从对公司业务流程的深入分析开始工作。这使得他们能够理解信息系统如何自动化或优化组织的活动。然而,业务流程分析和技术设计之间的界限往往模糊。
早期,这些阶段之间的界限较为清晰:业务分析师负责流程建模,系统分析师则负责将需求转换为技术规范。在现代实践中,这些任务往往混合在一起。
许多分析师在未完全分析流程之前就开始设计系统,这导致需求的错误识别和过度的技术细节。
明确区分领域分析与设计,使用BPMN和EPC来描述流程,而设计则使用UML、数据流图(DFD)等。
分析业务流程更重要,还是设计系统更重要?
不能突出一个:分析流程是制定正确需求所需,设计则是实现这些需求的必要步骤。这是连续的阶段。
可以使用同样的图表来描述流程和设计系统吗?
不可以,BPMN/EPC适用于流程,而UML/DFD适用于结构化或面向对象的分析和设计。
在什么情况下可以不建模业务流程?
只有在项目较小,并且这些流程已经在文档或标准中完全形式化的情况下。在大多数情况下,建模是必要的。
负面案例:
分析师立即开始画数据库和服务的图,没有研究员工是如何工作的以及他们需要什么。
优点: 快速实施,所有人都对首个版本感到满意。
缺点: 系统未解决实际问题,用户不满意,需要重新修改。
积极案例:
分析师首先对员工进行了系列访谈,构建了BPMN,然后转向API和数据库的设计。
优点: 需求清晰,系统覆盖了实际流程。
缺点: 项目启动时间更长,分析成本更高。