分析方法的基础 — 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.業務與管理的拆分,破解難題的鑰匙
拆分方法和分離原理的詳細介紹,請參見《大話軟件工程—需求分析與軟件設計》一書。
總結
以上是生活随笔為你收集整理的分析方法的基础 — 1. 拆分能力,分析师的第一技能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu下主目录的路径是什么
- 下一篇: 踵事增华:新形势下如何高效撰写科技论文!