能力成熟度模型(CMM)是美國卡內(nèi)基梅隆大學(xué)軟件工程研究所建立的、用于評價軟件機構(gòu)的軟件過程能力成熟度的模型,它將能力成熟度定義為5個等級:初始級、可重復(fù)級、已定義級、已管理級、優(yōu)化級[3]。建立CMM的目的在于:通過改進軟件過程管理,幫助軟件開發(fā)機構(gòu)建立一個有規(guī)律的、成熟的軟件過程,使其軟件過程能力得到循序漸進的提高。不能不提的是統(tǒng)一建模語言(UML)[4],它是一種圖形化了的語言,是一種構(gòu)建模型的工具,它隨著面向?qū)ο蠹夹g(shù)的發(fā)展而發(fā)展, 1997年11月OMG (ObjectManagementGroup)接納UML1·1為基于面向?qū)ο蠹夹g(shù)的標準建模語言,從那時開始, UML得到廣泛應(yīng)用,成為軟件工程的重要內(nèi)容之一。由此可以看出構(gòu)建模型思想在軟件工程中的重要地位。
先設(shè)計全局,后設(shè)計局部的思想,當(dāng)你開始設(shè)計一個比較大的問題解決方案時,一般來說,先進行全局設(shè)計、后進行局部設(shè)計。先進行全局設(shè)計,就是先從宏觀上把握這個問題,構(gòu)建好解決問題的總體框架結(jié)構(gòu),將大問題分解為局部性小問題,暫時不考慮局部性小問題如何設(shè)計。在解決問題的總體框架結(jié)構(gòu)已經(jīng)構(gòu)建好的前提下,再去考慮局部性小問題如何設(shè)計,詳細研究每個局部性小問題的解決方案。軟件工程中介紹的結(jié)構(gòu)化軟件設(shè)計方法,就是“先設(shè)計全局,后設(shè)計局部”思想的典型體現(xiàn),結(jié)構(gòu)化軟件設(shè)計方法將設(shè)計分“總體設(shè)計”和“詳細設(shè)計”兩個階段,先進行“總體設(shè)計”,后進行“詳細設(shè)計”??傮w設(shè)計將被開發(fā)的軟件系統(tǒng)劃分成若干個模塊,每個模塊具有一定功能,各模塊間具有一定的聯(lián)系,這樣就將軟件的總體宏觀結(jié)構(gòu)搭建好了。詳細設(shè)計是根據(jù)每個模塊應(yīng)該具有的功能,設(shè)計實現(xiàn)其功能的算法和數(shù)據(jù)結(jié)構(gòu),這樣就將每個局部問題(每個模塊)設(shè)計好了。
分層次進行分解與合成的思想,大而復(fù)雜的問題不好處理,但如果將問題分解為一個一個的小問題,就好處理了。這種分解一般是分層次進行的,先進行第一層分解,將大問題分解成幾個稍小的問題,再進行第二層分解,將上一層的每個問題分解為更小的問題,直到不需要分解為止。合成是由若干個小的部分組合成一個大的整體。這種合成一般也是分層次進行的,從最底層開始,先進行第一層合成,將所有小的部分合成為若干個稍大的部分,再進行第二層合成,得到幾個更大的部分,直到所有的各部分合成為一個整體。在軟件工程中,有多處知識中蘊涵了這種思想。在畫軟件系統(tǒng)的數(shù)據(jù)流圖[5]時,就是通過分層次分解來畫的。先畫頂層數(shù)據(jù)流圖,這時只有一個“處理框”;然后進行第一層分解,將頂層數(shù)據(jù)流圖中的“處理框”分解成幾個“處理框”和其它部分,得到第二層數(shù)據(jù)流圖;然后進行第二層分解,將第二層數(shù)據(jù)流圖中的“處理框”再進行分解;如此下去,直到得到不必再分解的詳細的數(shù)據(jù)流圖。在進行軟件體系結(jié)構(gòu)設(shè)計時采用的模塊化結(jié)構(gòu),也是通過分層次分解來構(gòu)建的,根據(jù)系統(tǒng)應(yīng)該實現(xiàn)的功能,將系統(tǒng)分層次分解成若干個模塊,形成一個層次化的模塊結(jié)構(gòu)圖,每個模塊負責(zé)實現(xiàn)系統(tǒng)的某部分功能。詳細設(shè)計所用的幾種工具[6],也體現(xiàn)出分層次進行分解與合成來處理問題的思想。例如PAD圖,對于復(fù)雜問題的設(shè)計,可以通過分層次畫PAD圖來完成,分層次所畫的各個PAD圖,體現(xiàn)出分解與合成相結(jié)合的思想。例如判定樹,非常直觀地體現(xiàn)出分層次進行分解與合成的思想。
借鑒其它領(lǐng)域成功經(jīng)驗的思想,他山之石,可以攻玉。借鑒其它領(lǐng)域的經(jīng)驗,來解決本領(lǐng)域問題,是通向成功的快捷之路。從軟件工程概念提出到現(xiàn)在,還不到50年的時間,而軟件工程理論發(fā)展如此之快,在很大程度上是得益于借鑒其它領(lǐng)域的成功經(jīng)驗來解決問題。許多工業(yè)產(chǎn)品是通過使用零部件組裝方式生產(chǎn)的,各種零部件按
項目經(jīng)理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://m.opto-elec.com.cn/pmqhd/index.html