結構化設計
結構化設計是以函數爲單位的設計,最小單元是函數。每個函數完成一個功能,接收一定的數據並返回一定的數據。整個軟件系統由一個個函數組成。從入口函數開始,依次產生關聯關係,實現系統的整體功能。
由於是自頂向下的結構設計,因此重構性較差。
程序三種基本結構
順序
順序結構就是指前後的執行順序關係
選擇
選擇也成爲條件關係,不同的條件採用不同的執行
循環
循環結構就是反覆執行的代碼邏輯,分爲當型和直到型。
怎麼區分呢?while```do就是當型,先判斷條件。do···while就是直到型,後判斷條件。
面向對象
對象由成員變量和方法構成。
面向對象的三大特徵是:封裝、繼承、多態。
封裝:
對外就是通過函數執行操作,具體的實現和怎麼執行的代碼是封閉不可見得。
繼承:
子承父業,父類有的部分數據,子類也複製了一份
多態:
子類表現出多樣性的方式
用例圖
使用橢圓表示功能模塊即用例,人型表示角色,關係用線段表示。
類圖
類圖顯示了實體與實體之間的聯繫。
類之間的關係分爲:
1. 關聯
一個類的屬性引用其他類的對象,這就產生了關聯。
關聯分爲聚合和組合關係。
聚合指的是,該實體既可以是某個實體的一部分,又可以是另外一個實體的一部分。而組合則不行。
聚合用空心菱形表示,組合用實心菱形表示。
單向關聯用單向箭頭表示,雙向關聯用雙向箭頭表示。
2. 泛化指的是繼承關係。
泛化用空心三角形表示。
3.依賴關係
一個類中用到另外一個類作爲參數,這就叫依賴。用虛線表示。
組件圖
從接口和實現角度去說的關係
使用圓形表示接口,實線帶個括號表示依賴關係。矩形框表示Port
部署圖
部署圖表示的軟件在分層結構上的表示
順序圖
橫向表示調用關係,豎向表示時間軸
活動圖
就是多分支流程圖
狀態機圖
狀態機圖表示的不同狀態之間的轉換
起始狀態:實心圓
狀態轉移:有向線段
中間狀態:圓角矩形
判斷點:空心圓
結束:帶實心圓的圓