步步為營UML建模系列總結

2022-02-05 09:46:13 字數 2071 閱讀 4429

軟體開發為什麼需要uml

(軟體越來越複雜),開發人員仍然沿用25年前的方法來開發,這就是問題的根本所在 。--ivarjacobson

掌握軟體開發的方法就能不斷的複製成功。

你應該使用uml嗎?乙個字:是!舊的物件導向符號正在快速地消逝。它們還會殘留在uml穩固前出版的書上面,但新的書、文章等等將會全部以uml作為符號。如果你正在使用舊的符號,你就應該在2023年間轉換到uml。如果你正要開始使用建模符號,你就該直接學習uml。       --martin fowler, 1997 

用uml進行軟體開發是乙個可以積累的軟體開發的過程。可以防止知識和資訊的流失。

uml 建模的一般過程

0.業務

1.需求

2.分析:結構

3.分析:行為

4.設計

物件導向模型

物件導向方法支援三種基本的活動:識別物件和類,描述物件和類之間的關係,以及通過描述每個類的功能定義物件的行為。

為了發現物件和類,開發人員要在系統需求和系統分析的文件中查詢名詞和名詞短語,包括可感知的事物(汽車、壓力、感測器);角色(司機、教師、客戶);事件(著陸、中斷、請求);互相作用(借貸、開會、交叉);人員;場所;組織;裝置和地點。通過瀏覽使用系統的指令碼發現重要的物件和其責任,是物件導向分析和設計過程初期重要的技術。

靜態邏輯模型描述例項化(類成員關係)、關聯、聚集(整體/部分)、和一般化(繼承)等關係,這被稱為物件模型。一般化關係表示屬性和方法的繼承關係。定義物件模型的圖形符號體系通常是從用於資料建模的實體關係圖匯出的。對設計十分重要的約束,如基數(一對

一、一對多、多對多),也在物件模型中表示。

動態邏輯模型描述物件之間的互相作用。互相作用通過一組協同的物件、物件之間訊息的有序序列、參與物件的可見性定義的途徑來定義系統執行時的行為。booch方法中的物件互動作用圖被用來描述重要的互相作用,顯示參與的物件和物件之間按時間序列的訊息。可見性圖用來描述互相作用中物件的可見性。物件的可見性定義了乙個物件如何處於向它傳送訊息的方法的作用域之中。例如,它可以是方法的引數、區域性變數、新的物件或當前執行方法的物件的部分。

靜態物理模型通過模組描述**布局,動態物理模型描述軟體的程序和執行緒體系結構。

綜上所述,物件導向方法用於系統開發有如下優點:

(1)強調從現實世界中客觀存在的事物(物件)出發來認識問題域和構造系統,使系統能更準確地反映問題域。

(2)運用人類日常的思維方法和原則(體現於oo方法的抽象、分類、繼承、封裝、訊息等基本原則)進行系統開發,有利於發揮人類的思維能力,有效控制系統複雜性。

(3)物件的概念貫穿於開發全過程,使各個開發階段的系統成分具有良好的對應關係,顯著提高系統的開發效率與質量,並大大降低系統維護的難度。

(4)物件概念的一致性,使參與系統開發的各類人員在開發的各所段具有共同語言,有效地改善了人員之間的交流和協作。

(5)物件的相對穩定性和對易變因素隔離,增強了系統對環境的適應能力。

(6)物件、類之間的繼承關係和物件的相對獨立性,對軟體復用提供了強有力的支援。

步步為營uml建模系列導航

步步為營uml建模系列

七、表圖(data model diagram)

步步為營uml建模系列

六、類圖(class diagram)

步步為營uml建模系列

五、時序圖(squence diagram)

步步為營uml建模系列

四、狀態圖(state)

步步為營uml建模系列

三、用例圖(use case)

步步為營uml建模系列

二、部署圖(deployment diagram)

步步為營uml建模系列一(為什麼要建模)

歡迎各位參與討論,如果覺得對你有幫助,

推薦下,萬分謝謝.

出處:

步步為營 79 快取

快取cache,一種空間換取時間的技術,適用於經常訪問,不常修改的資料.1 寫入快取 1.1 方法一 cache message ab 1.2 方法二 cache.insert message ab 1.3 其他過載 insert string key,object value,cachedepen...

步步為營 50 事務

說明 比較常用 1 事務的四大特性 1.1 原子性atomicity 乙個事務中包含的多個sql語句,要麼同時成功,要麼同時失敗.1.2 一致性consistency 事務必須使資料庫從從乙個一致性狀態變成另外乙個一致性狀態.銀行轉賬 1.3 隔離性 isolation 各個事務執行互不干擾 鎖 1...

io nio socket步步為營(三)NIO

原理 運用reactor模式 selector是核心 分發器a multiplexor of selectablechannel objects。能檢測任意個註冊過的channel上的事件,並分發事件,內部實現不用考慮,封裝的好處。client沒必要用nio,使用中的client server,需要...