分析方法的基础 — 1. 拆分能力,分析师的第一技能
如果問(wèn)我:作為一名合格分析師的基本功中最為重要的技能是什么?我會(huì)回答說(shuō):第一是“會(huì)說(shuō)話”,第二會(huì)“會(huì)拆分”。
“會(huì)說(shuō)話”是分析師與人交流的基本功,不能交流就不能獲得用戶的真實(shí)需求,可以說(shuō),不會(huì)說(shuō)話一切都開始不了,但由于“會(huì)說(shuō)話”的技能不屬于軟件工程方法論討論的對(duì)象,所以在這里就不討論它了。因此,在本文中就將“會(huì)拆分”作為分析師的第一技能進(jìn)行闡述。
分析中的“分”字是分開的意思,“析”字的含義也是分開、分解、分離的意思,由此可見(jiàn),要想學(xué)會(huì)如何做分析,就要掌握“拆分”的技能。
企業(yè)管理的內(nèi)容是很復(fù)雜的,作為一名軟件工程師去理解一個(gè)企業(yè)的運(yùn)營(yíng)管理不是一件簡(jiǎn)單的事情,要想將企業(yè)運(yùn)營(yíng)管理的內(nèi)容分析清楚就更加不容易了,如何理解和分析企業(yè)運(yùn)營(yíng)管理的內(nèi)容、如何將線下的業(yè)務(wù)順利地轉(zhuǎn)移到線上是個(gè)比較有代表性的難題,因此,這里以企業(yè)管理為對(duì)象,探討一下分析時(shí)采用的“拆分”方法。
因?yàn)橐芯康膶?duì)象是“企業(yè)運(yùn)營(yíng)管理”,這個(gè)對(duì)象非常的龐大、復(fù)雜,且每個(gè)企業(yè)都從事著不同類型的業(yè)務(wù),不同的業(yè)務(wù)各自又都遵循不同的技術(shù)、規(guī)則、標(biāo)準(zhǔn)。對(duì)于來(lái)自于外部的軟件工程師來(lái)說(shuō),要想在短時(shí)間內(nèi)用信息化方法重構(gòu)企業(yè)的運(yùn)營(yíng)管理體系,首先要解決的問(wèn)題就是如何準(zhǔn)確、快速地理解企業(yè)的構(gòu)成,最佳的方法就是要先將企業(yè)進(jìn)行“拆分”,拆分后可以暴露出構(gòu)成企業(yè)的要素、要素之間的關(guān)聯(lián)關(guān)系,然后再逐一地對(duì)每個(gè)部分進(jìn)行理解和分析。拆分不是隨意的,判斷拆分結(jié)果是否合適有兩個(gè)重要的參考原則:是否易于業(yè)務(wù)與需求的理解、是否易于設(shè)計(jì)與開發(fā)的實(shí)現(xiàn)。
1)是否易于業(yè)務(wù)與需求的理解
拆分完的結(jié)果有助于理解客戶的業(yè)務(wù)構(gòu)成、業(yè)務(wù)邏輯,易于識(shí)別個(gè)性、抽提共性,支持建立具有通用性的業(yè)務(wù)模型。
2)是否易于設(shè)計(jì)與開發(fā)的實(shí)現(xiàn)
業(yè)務(wù)拆分的得當(dāng),則通過(guò)后續(xù)的設(shè)計(jì)和開發(fā),更容易提升系統(tǒng)功能復(fù)用性、系統(tǒng)可維護(hù)性以及應(yīng)變能力等。 相反,如果拆分的不合適,其結(jié)果不僅僅是對(duì)業(yè)務(wù)的分析有困難,后續(xù)的設(shè)計(jì)和開發(fā)也會(huì)更加費(fèi)力,且由于業(yè)務(wù)拆分的不得當(dāng)造成業(yè)務(wù)耦合度高,完成的系統(tǒng)可能缺乏可維護(hù)性、應(yīng)變能力等問(wèn)題。
1.企業(yè)構(gòu)成的拆分
為了建立具有普遍意義的業(yè)務(wù)模型、系統(tǒng)模型,就要對(duì)企業(yè)的構(gòu)成有深入的理解,對(duì)企業(yè)的理解也要分層,先從粗粒度入手,建立上層模型,然后再逐漸深入、細(xì)化,這里先確定一個(gè)企業(yè)構(gòu)成的通用模型來(lái)理解拆分的方法和價(jià)值。在研究一個(gè)企業(yè)時(shí),通常會(huì)采用以企業(yè)組織結(jié)構(gòu)為切入點(diǎn)來(lái)了解它的內(nèi)部情況,圖1為企業(yè)的構(gòu)成圖,可以看出每個(gè)部門都是從上到下標(biāo)出:部門名稱、管理對(duì)象、業(yè)務(wù)工作以及產(chǎn)出物。這里想象用“刀”對(duì)企業(yè)對(duì)象進(jìn)行切分。拆分企業(yè)對(duì)象可以有兩個(gè)維度,即:縱向切分和橫向切分。
圖1 組織機(jī)構(gòu)與各個(gè)部門內(nèi)的工作
1)a:縱向切分(按照組織部門)
按照縱向進(jìn)行切分,如圖2所示的a的切分方向(在部門之間切分)。因?yàn)榇嬖谥煌男袠I(yè)、不同行業(yè)中還存在著不同的企業(yè),即使是在同類行業(yè)內(nèi)的企業(yè)各自的部門設(shè)置和名稱也不盡相同,所以,如果按照縱向進(jìn)行切分,以部門為邊界會(huì)得到數(shù)量繁多的分類,如:銷售、設(shè)計(jì)、采購(gòu)、生產(chǎn)、…等等,縱向切分得到的要素粒度就太細(xì),難以用一個(gè)標(biāo)準(zhǔn)的模型涵蓋企業(yè)構(gòu)成的所有要素。
造成這種現(xiàn)象的原因是:按照組織結(jié)構(gòu)的切分觸及到了各個(gè)部門內(nèi)部的業(yè)務(wù)和管理,不同的企業(yè)由于經(jīng)營(yíng)理念的不同,即使是相同的業(yè)務(wù)也會(huì)因企業(yè)不同而被劃分到不同的部門中,如此一來(lái),由于按照組織結(jié)構(gòu)進(jìn)行切分而獲得的要素不收斂(即接觸的企業(yè)越多,部門分類就越多),如此就難以獲得用有限要素建立一個(gè)普遍的企業(yè)構(gòu)成模型。
圖2企業(yè)組織結(jié)構(gòu)的切分方式
2)b:橫向切分
按照橫向進(jìn)行切分,如圖2所示的b的切分方向,切分出來(lái)的要素分類數(shù)量是有限,只有4類:“業(yè)務(wù)、管理、組織、物品”。
①業(yè)務(wù):是進(jìn)行生產(chǎn)活動(dòng)的內(nèi)容,包括了需要導(dǎo)入信息化處理的全部業(yè)務(wù)工作;
②管理:與業(yè)務(wù)相關(guān)的管理內(nèi)容、控制規(guī)則、評(píng)估指標(biāo)等;
③組織:支持業(yè)務(wù)、管理的人力資源的安排,包括組織結(jié)構(gòu)、崗位等;
④物品:所有的生產(chǎn)資料,包括生產(chǎn)的產(chǎn)品、以及生產(chǎn)產(chǎn)品所需要的設(shè)備、材料等;
不論是什么行業(yè)、企業(yè),且不論企業(yè)內(nèi)部的有什么部門、從事什么業(yè)務(wù),其構(gòu)成都可以用這4類要素來(lái)表達(dá),因此橫向切分得到的4類要素對(duì)了解企業(yè)構(gòu)成的共性、建立具有普遍意義的企業(yè)模型具有重要意義,這個(gè)企業(yè)構(gòu)成的頂層模型與企業(yè)從事的業(yè)務(wù)內(nèi)容、以及采用的管理方法無(wú)關(guān),這樣就為下一步選定業(yè)務(wù)分析和系統(tǒng)設(shè)計(jì)的方法奠定了基礎(chǔ)。
3)不同切分方向,優(yōu)化了業(yè)務(wù)設(shè)計(jì)的方法
兩種不同方向的切分結(jié)果,帶來(lái)了完全不同的含義,
(1)縱向分離a:按照組織部門的劃分方向進(jìn)行切分,得到的是無(wú)限多的要素分類(由于有不同的行業(yè)、企業(yè)、業(yè)務(wù)、以及作業(yè)形式等,造成了組織劃分與稱呼的不同);
(2)橫向分離b:按照橫向切分,因?yàn)橹挥?層,所以獲得了4種分類:組織、管理、業(yè)務(wù)和物品,這4類要素和起來(lái)可以覆蓋所有的企業(yè),它們與企業(yè)的特性脫離了關(guān)聯(lián);
4)不同切分方向,優(yōu)化了系統(tǒng)設(shè)計(jì)的方法
縱向切分方式是常見(jiàn)的,用于建立不同業(yè)務(wù)領(lǐng)域的業(yè)務(wù)模型。橫向切分是作者根據(jù)常年做企業(yè)信息化分析與設(shè)計(jì)得到的一種有效的拆分方法,在抽提對(duì)象的共性時(shí),由于橫向切分的分類數(shù)量少,且與業(yè)務(wù)無(wú)關(guān),所以用于建立具有普遍性的企業(yè)構(gòu)成頂層模型。
橫向切分方式,給予了后續(xù)的需求分析、業(yè)務(wù)設(shè)計(jì)、技術(shù)設(shè)計(jì)以及開發(fā)工作帶來(lái)了很多方便。這種分類方式是在表達(dá)了業(yè)務(wù)對(duì)象的業(yè)務(wù)特征的同時(shí)它也符合了軟件系統(tǒng)的分析、設(shè)計(jì)和開發(fā)的特點(diǎn)。
2. 分離原理的模型
橫向切分后獲得的4類要素基本上可以表達(dá)一般企業(yè)的頂層構(gòu)成(不論該企業(yè)從事何種業(yè)務(wù)),因此用這4類要素就可以建立具有普遍意義的企業(yè)構(gòu)成模型,將企業(yè)拆分為這4類要素的方法,稱為“分離原理”,依據(jù)4類要素之間的相互作用關(guān)系建立的模型稱之為分離原理模型,這個(gè)模型表達(dá)給出了各個(gè)要素的詳細(xì)內(nèi)容,同時(shí)也給出了4要之間的協(xié)同關(guān)系,如圖3所示,可以看出“業(yè)務(wù)要素”是核心,“管理要素”是對(duì)“業(yè)務(wù)要素”的控制,“組織要素”同時(shí)對(duì)前兩者進(jìn)行支持,“物品要素”是“業(yè)務(wù)要素”的工作對(duì)象。
圖3分離原理模型與各要素的構(gòu)成
這4種分類方式在后面的業(yè)務(wù)架構(gòu)設(shè)計(jì)時(shí),都有直接的應(yīng)用價(jià)值:
(1)業(yè)務(wù)=做事:先找出所有做事的需求,這是構(gòu)成系統(tǒng)功能的主要內(nèi)容,是未來(lái)系統(tǒng)架構(gòu)的主體。
(2)管理=管事:業(yè)務(wù)確定后,其次確定針對(duì)業(yè)務(wù)的管理方法,是未來(lái)系統(tǒng)管控機(jī)制的主體。
(3)組織=管人:當(dāng)“做事”和“管事”都確定后,第三步確定需要的人力資源(部門、崗位)、對(duì)業(yè)務(wù)和管理的支持方法。
(4)物品=管物:最后定“管物”的內(nèi)容,物品分類通常是建立企業(yè)基礎(chǔ)數(shù)據(jù)時(shí)使用。
分離原理的使用可以快速的理解和確認(rèn)客戶的業(yè)務(wù),并大幅度地降低了需求分析與軟件設(shè)計(jì)工作的難度,為業(yè)務(wù)模型的建立和復(fù)用、系統(tǒng)模型的建立和復(fù)用等掃清了障礙,為建立具有普遍意義的模型提供了思路。
■ 本系列的下一篇博文:分析方法的基礎(chǔ) — 2.業(yè)務(wù)與管理的拆分,破解難題的鑰匙
拆分方法和分離原理的詳細(xì)介紹,請(qǐng)參見(jiàn)《大話軟件工程—需求分析與軟件設(shè)計(jì)》一書。
總結(jié)
以上是生活随笔為你收集整理的分析方法的基础 — 1. 拆分能力,分析师的第一技能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ubuntu下主目录的路径是什么
- 下一篇: ubuntu常见指令