TOGAF企业架构之业务场景
TOGAF架构开发方法ADM使用 业务场景(Business Scenarios)方法作为识别和理解业务需求的重要技术 ,从而导出架构开发必须处理的业务需求。本文基于The Open Group推出的企业架构框架TOGAF标准9.2版对业务场景技术进行阐述。
01 场景与需求
场景(scenario) 是产品设计、软件需求分析中的重要分析方法,事实上基于场景的需求分析方法被广泛应用,并使用 用例(Use Case) 和 用户故事(User Story) 进行描述和需求建模。
什么是场景呢?“场景是用户需求产生的外在条件”,描述了需求是如何产生的。场景的描述一般要包括时间、地点、任务、事件(起因、经过、结果) 。为了更好的完成场景,所以会产生业务需求。
所以需求分析方法中有一种叫 情景分析法 。很多时候仅凭用户的一句话的表述是无法明白真正的需求的。只有回到用户所处的情景当中去,才能发现用户的真实需求。
02 TOGAF中的业务场景方法
TOGAF架构开发方法ADM使用业务场景(Business Scenarios)方法作为识别和理解业务需求的重要技术,从而导出架构开发必须处理的业务需求。
业务情景法提供一个框架,它用来直接从高层业务需求中提炼架构的特征,主要描述以下内容:1.可通过架构实现的业务流程、应用或应用集合;2.业务环境和技术环境;3.执行业务场景的人员和计算机组件(即施动者);4.正确执行业务场景的预期结果。
可见, 业务场景 不仅是IT相关的, 更多关注业务价值、价值流和业务结果,关注需要哪些资源来改进价值流来产生业务结果和交付业务价值。
需要说明的是,业务场景不同于第一节所说的用例,两者在粒度上是不一样的,业务场景更加高阶、宏观一些。
03 业务场景的价值
任何重大项目成功的关键因素在于它与业务需求的关联程度,并明确支持企业实现其业务目标。业务场景是使用业务术语和架构术语对重大的业务需要或业务问题的描述,它使得多个需求可以在整个问题的背景下相互关联,业务目标更加明确、清晰。
如果没有业务场景作为完整的背景,那么基于不完整需求建立的架构就存在风险,解决问题带来的业务价值不明确,潜在解决方案的相关性也不明确。
04 业务场景与TOGAF ADM
业务场景是一种重要的技术,用于定义相关业务需求并与业务管理部门和其他利益相关者达成共识。 业务场景技术可用在企业架构的不同阶段,主要是架构愿景(阶段A)和业务架构(阶段B),但需要时也可以用在其他阶段 ,因为在ADM周期的所有阶段都提到了业务需求,整个ADM周期都是围绕需求管理展开的。一方面,需要持续使用业务场景技术来确保业务需求本身是完整的和正确的,从而保证架构是基于正确的架构需求建立的。另一方面,也可以使用业务场景来对架构开发成果进行验证,保证架构设计成果能够满足业务需求。
05 如何创建业务场景
业务情景的开发流程分为以下6个步骤并进行细化:
步骤一:对驱动该场景的 问题 进行识别、文件化和定级;
步骤二:识别该场景的 业务和技术环境 ,并在场景模型中使其文件化;
步骤三:识别并文件化 预期目的(成功解决问题的结果) ;达到“SMART”;
步骤四:识别 人员施动者(参与者) 及其在业务模型中的位置;
步骤五:识别 计算机施动者(计算元素) 及其在技术模型中的位置;
步骤六:识别并文件化 每个施动者的角色、职责和成功的衡量标准 ;使每个施动者所需的脚本文件化,以及处理该情况的结果;
步骤七:检查“适用性”,并且仅在必要时进行细化。
业务场景开发需要经过信息收集、分析建模和评审等三个阶段, 每个阶段从对上述六个方面进行细化完善,直到业务场景满足在架构开发中的需要。
分析建模阶段 主要是创建模型来表达业务场景关键元素之间的联系。可以以业务流程为核心,将各个元素关联起来。
评审阶段 要保证项目发起人及相关方对业务场景形成共同认识、理解一致。
06 业务场景的内容
业务场景的内容包括模型和文档两种方式。TOGAF给出了业务场景文档的描述方式(详见TOGAF9.1第26.4节),这里对模型方法进行简要描述。
业务场景的模型描述方法为十字交叉法。 首先定义 业务组件的要素,包括用途、活动、资源、治理和服务 , 在准确描述业务服务中输入输出的数据内容、接口形式和服务对象的基础上,对不同业务组件采用十字交叉的方式通过接口互连,纵向的业务组件必须通过业务接口实现连接,横向业务组件只能同职能层级连接,最终形成完整的业务组件运行逻辑关系的场景图。
业务场景串接图见下图。
业务场景的主要目是为了分析实现企业业务运行过程中存在的问题,并验证业务组件的准确性和完整性 ,因此业务场景的串接过程允许带有TO-BE的色彩,以方便标注问题,提出差距。
在架构设计中,业务场景还能够对业务架构中的业务组件(CBM)颗粒度和准确性进行验证。 通过对业务组件的服务、接口进行定义,把不同的业务组件通过接口进行连接,从而形成业务组件运行的业务场景。业务场景首先描述了所有相关业务组件的大图像;其次如果存在无法连接的业务组件,或者业务组件的连接跨越不同层级,则说明业务组件的范围或定义不够准确,从而对业务组件进行校对和验证。
07 结论
业务场景帮助处理IT管理层面临的最常见的问题之一:使IT与业务精准对接。任何IT项目是否成功需要根据其满足业务需求并达成其组织业务目标的程度来衡量。 业务场景可以用在企业架构开发的不同阶段或者任务IT项目当中,从高层级业务需求中直接获得架构特征。业务场景用于帮助识别并理解业务需要,从而获取架构开发以及最终IT必须处理的业务需求。
[1] |