軟件工程期末考試複習(八) 面向對象方法學的優點面向對象的概念對象模型用例圖

  • 2019 年 10 月 4 日
  • 筆記

面向對象方法學引論

面向對象方法學的優點

  1. 與人類習慣的思維方法一致
  2. 穩定性好
  3. 可重用性好
  4. 較易開發大型軟件產品
  5. 可維護性好

面向對象的概念

1、對象的概念:在應用領域中有意義的,與所需要解決的問題有關係的任何事物都可以作為對象。對象是對問題領域中某個實體的抽象。

2、對象的特點:

  1. 以數據為中心
  2. 對象是主動的
  3. 實現了數據封裝
  4. 本質上具有並行性
  5. 模塊獨立性好

3、其他概念:

  1、類(class)

  在面向對象的軟件技術中,「類」就是對具有相同數據和相同操作的一組相似對象的定義,也就是說,類是對具有相同屬性和行為的一個或多個對象的描述,通常在這種描述中也包括對怎樣創建該類的新對象的說明。   2、實例(instance)   實例就是由某個特定的類所描述的一個具體的對象。「對象」 既可以指一個具體的對象,也可以泛指一般的對象,但是,「實例」必然是指一個具體的對象。   3、消息(massage)   消息就是要求某個對象執行在定義它的那個類中所定義的某個操作的規格說明。通常,一個消息由接收消息的對象、消息選擇符(也稱為消息名) 、 零個或多個變元3部分組成。   4、方法(method)   方法就是對象所能執行的操作,也就是類中所定義的服務。方法描述了對象執行操作的算法,響應消息的方法。在C++語言中把方法稱為成員函數。   5、屬性(attribute)   屬性就是類中所定義的數據,它是對客觀世界實體所具有的性質的抽象。類的每個實例都有自己特有的屬性值。在C++語言中把屬性稱為數據成員。   6、封裝(encapsulation)   在面向對象的程序中,封裝是指把數據和實現操作的代碼集中起來放在對象內部。   對象具有封裝性的條件如下:     (1) 有一個清晰的邊界。所有私有數據和實現操作的代碼都被封裝在這個邊界內,從外面看不見更不能直接訪問。     (2) 有確定的接口(即協議)。這些接口就是對象可以接受的消息,只能通過向對象發送消息來使用它。     (3) 受保護的內部實現。實現對象功能的細節(私有數據和代碼)不能在定義該對象的類的範圍外訪問。     封裝就是信息隱藏,通過封裝對外界隱藏對象的實現細節。   7、繼承(inheritance)   在面向對象的軟件技術中,繼承是子類自動地共享基類中定義的數據和方法的機制。面向對象軟件技術把類組成一個層次結構的系統(類等級):一個類的上層可以有父類,下層可以有子類。這種層次結構系統的一個重要性質是繼承性,一個類直接繼承其父類的全部描述(數據和操作)。   8、多態性(polymorphism)   在面向對象的軟件技術中,多態性是指子類對象可以像父類對象那樣使用,同樣的消息既可以發送給父類對象也可以發送給子類對象。即,在類等級的不同層次中可以共享(公用)一個行為(方法)的名字,然而不同層次中的每個類卻各自按自己的需要來實現這個行為。多態性機制不僅增加了面向對象軟件系統的靈活性,進一步減少了信息冗餘,而且顯著提高了軟件的可重用性和可擴充性。   9.重載(overloading)   有兩種重載:函數重載是指在同一作用域內的若干個參數特徵不同的函數可以使用相同的函數名字;運算符重載是指同一個運算符可以施加於不同類型的操作數上面。重載進一步提高了面向對象系統的靈活性和可讀性。

4、面向對象具有以下四個要點:

對象模型

1、類圖的基本符號

2、表示關係的符號   1.關聯:關聯表示兩個類的對象之間存在某種語義上的聯繫。 (1) 普通關聯 只要在類與類之間存在連接關係就可以用普通關聯表示。普通關聯的圖示符號是連接兩個類之間的直線,如下圖所示。

2.聚集 聚集也稱為聚合,是關聯的特例。聚集表示類與類之間的關係是整體與部分的關係。使用的「包含」、「組成」、「分為……部分」等字句,意味着存在聚集關係。有共享聚集和組合聚集兩種特殊的聚集關係。 (1) 共享聚集 如果在聚集關係中處於部分方的對象可同時參與多個處於整體方對象的構成,則該聚集稱為共享聚集。下圖中,一個課題組包含許多成員,每個成員又可以是另一個課題組的成員,則課題組和成員之間是共享聚集關係。一般聚集和共享聚集的關聯關係用空心菱形表示。

2.聚集 (2) 組合聚集 如果部分類完全隸屬於整體類,部分與整體共存,整體不存在了部分也會隨之消失(或失去存在價值了),則該聚集稱為組合聚集(簡稱為組成)。

3.泛化 UML中的泛化關係就是通常所說的繼承關係,它是通用元素和具體元素之間的一種分類關係。具體元素完全擁有通用元素的信息,並且還可以附加一些其他信息。 在UML中,用一端為空心三角形的連線表示泛化關係,三角形的頂角緊挨着通用元素。 泛化關係指出在類與類之間存在「一般–特殊」關係。泛化可進一步劃分成普通泛化和受限泛化。

用例圖

1、一幅用例圖包含的模型元素有系統、行為者、用例及用例之間的關係。右圖是自動售貨機系統的用例圖。圖中的方框代表系統,橢圓代表用例(售貨、供貨和取貨款是自動售貨機系統的典型用例),線條人代表行為者,它們之間的連線表示關係。

2、一個用例是可以被行為者感受到的、系統的一個完整的功能。

3、用例具有下述特徵