CMM 能力成熟度模型:它是對於軟件在組織定義,實施,度量,控制和改善軟件過程的實踐中對於各個發展階段的描述。CMM的核心是軟件開發視為一個過程。並根據這一個原則對軟件開發和維護進行監控和研究,以使其更加科學化、標准化、使企業能夠更好的實現商業目標。
產生的原因:70%項目的失敗不是由於技術原因導致的,而是由管理不善引起的。
*********************************************************************
UML(Unified Modeling Language,統一建模語言)是一種基於面向對象的可視化語言。
它采用一組形象化的圖形(如類圖)符號作為建模的語言。使用這些符號可以形象的描述系統的各個方面。UML是通過建立圖形之間的各種關系(如類之間的關系)來描述模型。
UML圖形一共有十種,分為靜態模型圖和動態模型圖。其中靜態模型圖主要描述系統的靜態結構,動態模型圖主要描述系統行為的各個方面。
靜態模型圖:類圖、對象圖、包圖、組件圖、部署圖。
動態模型圖:用例圖、時序圖、協作圖、狀態圖、活動圖。
*********************************************************************
*********************************************************************
具體圖形介紹:
1.用例圖:也被稱為用戶模型圖,是從軟件的需求分析的到最終實現的第一步,它是從客戶角度來描述系統功能的。它包含三個基本組件:參與者(使用系統的人或事物)、用例(代表系統的某項完整的功能,在圖形中使用橢圓型表示)、關系(泛化關系、擴展關系、包含關系)。
擴展關系:如果一個功能在完成的時候,偶爾會執行另外一個功能,使用擴展關系表示。
泛化關系:表示同一個業務的不同技術實現。其實就是繼承關系的一種。
包含關系:是指一個用例可以含有其他用例具有的行為。
——————————————————————————————————————
2.類圖
類圖是面向對象系統建模中最常用的,也是定義其他圖的基礎。它主要是用來顯示系統中的類,接口及他們之間的關系。類圖中包含的主要元素有類、接口、和關系。其中的關系有關聯關系、泛化關系、依賴關系、實現關系。在類圖中也可以包含注釋和約束。
類是類中的主要組件,有3部分組成:類名、屬性和方法。
接口的表示法:在UML中接口用一個帶有名稱的圓圈表示。並且通過一條實踐與它的模型相連。也可以使用普通的類表示,但是要在上面要做聲明。
泛化關系:表示類與類,接口與接口之間的繼承關系。
依賴關系:對於兩個相對獨立的系統。當一個系統負責構造另一個系統的事例,或者依賴另一個系統的服務時。這兩個系統之間體現為依賴關系。
關聯關系:對於兩個相對獨立的系統,當一個系統的實例與另一個系統的一些特定的事例存在固定的對應關系時,這兩個系統之間的關聯關系。關聯關系中的關系可以有一個名稱。
關聯關系包括:聚合關系、組成關系
聚合關系:是一種特殊的更強形式的關聯,它在邏輯上是部分和整體的關系。但 是不強調生命周期。聚合關系描述了一中“has a”的關系。即整體擁有部分。整體不在,部分可以存在。聚合關系使用空心的菱形箭頭
組合關系:它是更強的一種聚合關系,它強調生命周期。只有在整體存在的條件下,部分才能存在,如果整體不在,部分不能單獨存在。整體擁有部分的生命周期。組成關系用實心的菱形箭頭
——————————————————————————————————————
3.時序圖:時序圖用於描述對象之間的傳遞信息的時間順序。即用例中的行為順序。當執行一個用例時,時序圖中的每一條消息對應了一個類中操作或者引起轉換的觸發事件。時序圖是一個而微大關系圖。縱軸表示時間時間軸向下延伸。橫軸代表協作中的各個獨立對象。對象存在時。消息用從一個對象的生命線到另個對象的生命線的箭頭表示。箭頭以時間的順序在圖中上下排列。
——————————————————————————————————————
4.活動圖:活動圖本質上就是流程圖。它用於描述系統的活動,判定點和分支等。活動中的動作狀態,原子的、不可已中斷的動作。並在此動作完成后向另一個動作轉變。分支與合並。分支在軟件系統中很常見:用於表示對象類具有的條件行為。用一個布爾型的表達式真假來判定動作的流向,合並有兩個如轉換一個出轉換。分支有一個如轉換兩個出轉換。分叉與匯合:分叉又來描述並發線程。每個分叉可以有一個輸入的轉換和兩個或多個輸出轉換。匯合代表兩個或多個並發控制流的同步發生。當所有流都到達匯合點后,程序才能繼續前進。泳道:泳道將活動圖中的活動划分為若干組。並將每一組指定給負責這組活動的業務組織。在活動圖中,泳道使用垂直的實線繪制。
——————————————————————————————————————
5.狀態圖:狀態圖包括狀態、轉換、初始狀態、終止狀態。
——————————————————————————————————————
6.協作圖:也叫做合作圖,是一種交互圖。時序圖主要側重於對象之間的消息傳遞在時間上的先后關系。而協作圖表達對象之間的交互過程及對象之間的關聯關系。
——————————————————————————————————————
7.對象圖:對象圖是類圖的實例,用於顯示系統執行時的一個可能的快照。即在某一個時間系統上可能出現的樣子,對象圖用帶有下滑線的對象名稱表示對象。
——————————————————————————————————————
8.組件圖:組件圖用來建立系統中各種組件之間的關系。各個組件通過功能組織在一起。JavaBean,ejb,jsp都是組件。在UML中,組件使用左側有兩個小矩形的矩形來表示。組件圖用來設計系統的整個架構。
——————————————————————————————————————
9.包圖:由包與包之間的關系組成,包的圖標就如同一個帶標簽的文件夾。
——————————————————————————————————————
10.部署圖:部署圖是用來幫助開發者了解軟件中各種組件駐留在什么硬件位置,以及這些硬件之間的相互關系。
注:仍待修改
參考:http://meiyitianabc.blog.163.com/blog/static/105022127201111573257290/