分析方法的基础 — 1. 拆分能力,分析师的第一技能

如果问我:作为一名合格分析师的基本功中最为重要的技能是什么?我会回答说:第一是“会说话”,第二会“会拆分”。
“会说话”是分析师与人交流的基本功,不能交流就不能获得用户的真实需求,可以说,不会说话一切都开始不了,但由于“会说话”的技能不属于软件工程方法论讨论的对象,所以在这里就不讨论它了。因此,在本文中就将“会拆分”作为分析师的第一技能进行阐述。
分析中的“分”字是分开的意思,“析”字的含义也是分开、分解、分离的意思,由此可见,要想学会如何做分析,就要掌握“拆分”的技能。

企业管理的内容是很复杂的,作为一名软件工程师去理解一个企业的运营管理不是一件简单的事情,要想将企业运营管理的内容分析清楚就更加不容易了,如何理解和分析企业运营管理的内容、如何将线下的业务顺利地转移到线上是个比较有代表性的难题,因此,这里以企业管理为对象,探讨一下分析时采用的“拆分”方法。

因为要研究的对象是“企业运营管理”,这个对象非常的庞大、复杂,且每个企业都从事着不同类型的业务,不同的业务各自又都遵循不同的技术、规则、标准。对于来自于外部的软件工程师来说,要想在短时间内用信息化方法重构企业的运营管理体系,首先要解决的问题就是如何准确、快速地理解企业的构成,最佳的方法就是要先将企业进行“拆分”,拆分后可以暴露出构成企业的要素、要素之间的关联关系,然后再逐一地对每个部分进行理解和分析。拆分不是随意的,判断拆分结果是否合适有两个重要的参考原则:是否易于业务与需求的理解、是否易于设计与开发的实现。

1)是否易于业务与需求的理解
拆分完的结果有助于理解客户的业务构成、业务逻辑,易于识别个性、抽提共性,支持建立具有通用性的业务模型。

2)是否易于设计与开发的实现
业务拆分的得当,则通过后续的设计和开发,更容易提升系统功能复用性、系统可维护性以及应变能力等。 相反,如果拆分的不合适,其结果不仅仅是对业务的分析有困难,后续的设计和开发也会更加费力,且由于业务拆分的不得当造成业务耦合度高,完成的系统可能缺乏可维护性、应变能力等问题。

1.企业构成的拆分

为了建立具有普遍意义的业务模型、系统模型,就要对企业的构成有深入的理解,对企业的理解也要分层,先从粗粒度入手,建立上层模型,然后再逐渐深入、细化,这里先确定一个企业构成的通用模型来理解拆分的方法和价值。在研究一个企业时,通常会采用以企业组织结构为切入点来了解它的内部情况,图1为企业的构成图,可以看出每个部门都是从上到下标出:部门名称、管理对象、业务工作以及产出物。这里想象用“刀”对企业对象进行切分。拆分企业对象可以有两个维度,即:纵向切分和横向切分。

在这里插入图片描述
图1 组织机构与各个部门内的工作

1)a:纵向切分(按照组织部门)
按照纵向进行切分,如图2所示的a的切分方向(在部门之间切分)。因为存在着不同的行业、不同行业中还存在着不同的企业,即使是在同类行业内的企业各自的部门设置和名称也不尽相同,所以,如果按照纵向进行切分,以部门为边界会得到数量繁多的分类,如:销售、设计、采购、生产、…等等,纵向切分得到的要素粒度就太细,难以用一个标准的模型涵盖企业构成的所有要素。

造成这种现象的原因是:按照组织结构的切分触及到了各个部门内部的业务和管理,不同的企业由于经营理念的不同,即使是相同的业务也会因企业不同而被划分到不同的部门中,如此一来,由于按照组织结构进行切分而获得的要素不收敛(即接触的企业越多,部门分类就越多),如此就难以获得用有限要素建立一个普遍的企业构成模型。

在这里插入图片描述
图2企业组织结构的切分方式

2)b:横向切分
按照横向进行切分,如图2所示的b的切分方向,切分出来的要素分类数量是有限,只有4类:“业务、管理、组织、物品”。
①业务:是进行生产活动的内容,包括了需要导入信息化处理的全部业务工作;
②管理:与业务相关的管理内容、控制规则、评估指标等;
③组织:支持业务、管理的人力资源的安排,包括组织结构、岗位等;
④物品:所有的生产资料,包括生产的产品、以及生产产品所需要的设备、材料等;

不论是什么行业、企业,且不论企业内部的有什么部门、从事什么业务,其构成都可以用这4类要素来表达,因此横向切分得到的4类要素对了解企业构成的共性、建立具有普遍意义的企业模型具有重要意义,这个企业构成的顶层模型与企业从事的业务内容、以及采用的管理方法无关,这样就为下一步选定业务分析和系统设计的方法奠定了基础。

3)不同切分方向,优化了业务设计的方法
两种不同方向的切分结果,带来了完全不同的含义,
(1)纵向分离a:按照组织部门的划分方向进行切分,得到的是无限多的要素分类(由于有不同的行业、企业、业务、以及作业形式等,造成了组织划分与称呼的不同);

(2)横向分离b:按照横向切分,因为只有4层,所以获得了4种分类:组织、管理、业务和物品,这4类要素和起来可以覆盖所有的企业,它们与企业的特性脱离了关联;

4)不同切分方向,优化了系统设计的方法
纵向切分方式是常见的,用于建立不同业务领域的业务模型。横向切分是作者根据常年做企业信息化分析与设计得到的一种有效的拆分方法,在抽提对象的共性时,由于横向切分的分类数量少,且与业务无关,所以用于建立具有普遍性的企业构成顶层模型。

横向切分方式,给予了后续的需求分析、业务设计、技术设计以及开发工作带来了很多方便。这种分类方式是在表达了业务对象的业务特征的同时它也符合了软件系统的分析、设计和开发的特点。

2. 分离原理的模型

横向切分后获得的4类要素基本上可以表达一般企业的顶层构成(不论该企业从事何种业务),因此用这4类要素就可以建立具有普遍意义的企业构成模型,将企业拆分为这4类要素的方法,称为“分离原理”,依据4类要素之间的相互作用关系建立的模型称之为分离原理模型,这个模型表达给出了各个要素的详细内容,同时也给出了4要之间的协同关系,如图3所示,可以看出“业务要素”是核心,“管理要素”是对“业务要素”的控制,“组织要素”同时对前两者进行支持,“物品要素”是“业务要素”的工作对象。

在这里插入图片描述
图3分离原理模型与各要素的构成

这4种分类方式在后面的业务架构设计时,都有直接的应用价值:
(1)业务=做事:先找出所有做事的需求,这是构成系统功能的主要内容,是未来系统架构的主体。
(2)管理=管事:业务确定后,其次确定针对业务的管理方法,是未来系统管控机制的主体。
(3)组织=管人:当“做事”和“管事”都确定后,第三步确定需要的人力资源(部门、岗位)、对业务和管理的支持方法。
(4)物品=管物:最后定“管物”的内容,物品分类通常是建立企业基础数据时使用。

分离原理的使用可以快速的理解和确认客户的业务,并大幅度地降低了需求分析与软件设计工作的难度,为业务模型的建立和复用、系统模型的建立和复用等扫清了障碍,为建立具有普遍意义的模型提供了思路。

■ 本系列的下一篇博文:分析方法的基础 — 2.业务与管理的拆分,破解难题的钥匙

拆分方法和分离原理的详细介绍,请参见《大话软件工程—需求分析与软件设计》一书。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/lihognjun/article/details/111656982
今日推荐