901軟體工程-面向物件的程式設計方法
面向物件方法學方程式=物件+類+繼承+傳遞訊息實現通訊
(一) 類、物件、封裝、訊息、繼承、多型等基本概念
1、類:對具有相同狀態和形同操作的一組相似物件的定義;
2、物件:對具有相同狀態的一組操作的集合,對狀態和操作的封裝;
3、例項:是由某個特定類所描述的一個具體的物件
4、訊息:要求某物件執行某個操作的規格說明;
三部分: 接收訊息物件;訊息名;0個或對個變元
5、方法和屬性
方法:物件執行的操作,即勒種定義的服務;
屬性:類中所定義資料,對客觀世界實體具體性質的抽象
6、繼承:子類自動共享基類中定義的屬性和方法的機制
7、多型性:在類等級不同層次可以共享一個方法名,不同層次每個類按各自需要實現這個方法
8、過載:
(1)函式過載:在同一個作用域內,引數特徵不同的函式可以使用相同名字
優點:呼叫者不需記住功能雷同函式名,方便使用者程式設計師易於閱讀和理解
(2)運算過載:同一運算子可以施加於不同型別運算元上面
(二) 統一建模語言 UML 的基礎知識
1、建模必要性:對複雜問題表達出來,把本質抽象出來
好處:捕獲商業流程、促進溝通、管理複雜性、定義軟體架構、促進軟體複用
2、發展
3、構成
4、UML檢視
用例檢視:定義了系統的需求,因此約束了描述了系統設計和構造的某些方面的所有其他檢視;定義了系統的外部行為是終端使用者、分析員和測試員所關心的;
設計檢視:描述了支援用例檢視規定的功能需求的邏輯結構。它由程式元件的定義,主要是類,類所包含的資料、類的行為以及類之間互動的說明定義
實現檢視:描述構造系統的物理元件,這些元件包括如何執行檔案程式碼庫和資料庫等內容。這個檢視包含的資訊與配置管理和系統整合這類活動有關。
程序檢視:進行檢視包括形成併發和同步機制的程序和執行緒
部署檢視:部署檢視描述物理元件如何在系統執行的實際環境(如計算機網路)中分佈
5、靜態建模--用例圖、類圖、物件圖
6、動態建模--順序圖、協作圖、活動圖(實質從狀態圖轉換來)
(1)順序圖:描述物件間互動
物件用矩形框表示,框內物件名
矩形框下的豎線代表物件的生命線
物件生命線上的細長矩形表示物件被啟用
物件間通訊用物件間水平線表示,箭頭形狀表明訊息型別(訊息型別在 ---》標題(4))
(2)協作圖:(可由順序圖轉換而來)描述相互協作物件間互動關係和連線關係
順序圖著重表現互動時間順序
協作圖著重表現互動物件間的靜態連結訊息
協作圖顯示物件間處理的分佈
(3)活動圖:描述為完成某一個用例需要做的活動以及這些活動的執行順序
狀態圖著重描述物件狀態的變化,以及觸發狀態變化的事件
活動圖著重表現描述各種活動的執行順序
粗短線:(同步杆)一如多出分劈;多入單出為結合
泳道圖:物件活動的責任泳道把活動分成若干組,把組指定給物件,物件履行該組活動。
(4)訊息:物件間互通訊息
①簡單訊息:沒有描述資訊的細節
②同步訊息:呼叫者發出訊息後等待訊息返回再繼續執行
③非同步訊息:呼叫者發出訊息後不等待訊息返回就繼續執行
④返回訊息:代表從過程呼叫的返回
過程控制:可省,隱含每個呼叫有配對返回
非過程空指標流:如非同步,不可省略
7、物理框架機制--構件圖、配置圖(部署圖)
(1)構件圖
展現了一組構件的型別,內部結構和他們之間的依賴關係
構件:代表系統一物理實現塊,一般作為獨立檔案存在
構件種類:部署構件;工作產品構件;執行構件
部署構件:構成一可執行系統的必要構件;如:java虛擬機器
工作產品構件:開發過程的產物,包括原始碼檔案及資料檔案。構件不直接參與可執行系統,用來產生可執行系統的中間工作產品
執行構件:構成一可執行系統必須要的構件。如:動態連結資料庫EXE檔案,cokba構件,.net構件
(2)配置圖
描述了系統硬體和軟體物理配置情況和系統體系結構
顯示系統執行時刻的結構
包含了結點和連線兩個元素