《物件導向軟體工程》筆記(二)

2021-04-12 12:34:44 字數 2371 閱讀 4239

《物件導向軟體工程》筆記(二)

第五章 用類進行建模

ocsf物件客戶機-伺服器框架

統一建模語言unified modelling language

omg物件管理組織object management group

1、uml有多種型別的圖,包括:

(1)類圖:描述類及類之間的關係;

(2)互動圖:(包括兩種圖:順序圖和協作圖)通過描述物件之間如何互動來展示系統行為;

(3)狀態圖和活**:展示了系統內部是如何運作的;

(4)構件和部署圖:展示如何重邏輯上和物理上安排系統的不同構件。

uml的特徵:

(1)具有詳細的語義,描述各種符號的含義;

(2)具有擴充套件機制,允許軟體設計人員表示非uml核心部分的概念;

(3)它具有相關的文字語言,稱為物件約束語言(object constraint language,ocl),用來說明圖中元素的各種情況。

uml的目標是為軟體開發提供支援。

有幾種物件導向的方法,其中一些使用uml表示模型。rational統一開發過程(rational unified process,rup)就是這些方法的乙個例子。

uml是一種建模語言,用來建立軟體系統視覺化模型。在軟體開發中,模型是至關重要的,它們用來描述和驗證軟體系統。

(1)模型應該使用標準符號;

(2)模型應該盡可能被客戶和使用者理解;

(3)模型應該讓軟體工程師能夠洞察整個系統;

(4)模型應該提供抽象。

模型既可以用來幫助建立設計,也可以用來分析和評審這些設計。

2、uml類圖的要素

類圖描述了軟體系統中的資料。

在類圖中顯示的主要符號有:

(1)類class:表示資料型別本身;

(2)關聯association:表示類之間的鏈結;

(3)屬性attribute:是類及其例項中的簡單資料;

(4)操作operation:表示類及其例項所執行的功能;

(5)泛化generalization:把類組織成繼承層次結構。

3、例項圖(instance diagram):給出了存在於程式執行過程中某個特殊點的物件與鏈結

的配置示例。

類圖的高階特徵:

(1)聚合(aggregation):是表示」部分-整體「關係的特殊關聯。

(2)介面(inte***ce):描述了一組物件中的部分可見行為。

(3)約束、注釋和描述性文字

(4)物件約束語言基礎

ocl是一種規格說明語言,而非程式語言。

ocl宣告僅僅是指定系統中的必須為true的邏輯事實。

ocl本身是不能編譯和執行的。

ocl語句也可以用自動**生成。

類圖中的ocl語句可以指定屬性值和關聯。它們還可以宣告操作的前置條件和後置條件。

ocl語句的組成元素:

(1)對角色名稱、關聯名稱、屬性和操作結果的引用;

(2)邏輯值真與假;

(3)邏輯操作符;

(4)字串;

(5)整數和實數;

(6)數**算。

第六章 使用設計模式

(1)有助於保證類圖中關係分離的模式:抽象-發生(abstraction-occurrence)模式、觀察者(observer)模式、玩家-角色(player-role)模式;

(2)用來建立例項層次的模式:通用層次(general-hierarch)模式

(3)委託(delegation)模式;

(4)可以使用委託訪問乙個或更多其他類的功能的模式:介面卡(adapter)模式、外觀(facade)模式和**(proxy)模式;

(5)有助於保護其它物件不會受到預料之外訪問的模式:恆定(immutable)模式和唯讀介面(read-only inte***ce)模式。

1、模式簡介

模式是在特定上下文中遇到的一般性問題的可重用解決方案的概要。

設計模式design pattern就是用在建模或設計中的模式。

好的模式應該盡可能通用,包含那些已經被證明能夠有效解決指定上下文中問題的解決方案。

模式必須用易於理解的方式來描述。

每個模式都應該有乙個名字,還應該具有如下資訊:

(1)上下文context:模式應用的一般環境;

(2)問題problem:解釋要克服主要困難的一兩句話;

(3)約束force:解決問題時要考慮的關係或影響;

(4)解決方案solution:建議使用的解決問題的方法;

(5)反模式antipattern:在此上下文中很差或根本不起作用的模式;

(6)相關模式related pattern:(可選)與本模式相似的解決方案;

(7)參考reference:對開發了或啟發該模式的人的致謝。

物件導向的軟體工程

物件導向的軟體工程是當前最流行的軟體工程方法,但是,想要從根本上搞懂理解物件導向的工程方法很是不容易,所以,暫時不要執著於深究物件導向的原理,或者從頭到腳的去觀察他。選擇從工程中去學習物件導向的方法,從實踐中去獲取對物件導向工程方法的理解。uml是物件導向工程方法相關的設計工具,學習使用uml工具是...

軟體工程 物件導向技術

物件導向的思想已經設計到軟體開發的各個方面,一切事物皆物件,所以物件是無處不在的,通過物件導向的方式,將現實生活的事物抽象成物件,有利於對複雜的系統進行分析,設計與程式設計。能有效提高程式設計的效率。定義 物件導向 物件 類 繼承 通訊 如果乙個軟體系統使用這斯個概念設計和實現的,則是物件導向的,物...

物件導向軟體工程 第二章

首先,實際軟體開發中有很多變數,開發者會犯錯,環境也會改變,客戶也可能犯錯,因此就有各種各樣的模型用以減小變數帶來的損失。1.首先是進化樹模型,它等價與增量 迭代模型,可以理解為最終結果是由不斷新增元件所組成的 增量 而每次新增元件的過程中需要不斷優化,更新元件 迭代 每個增量與迭代都擁有屬於自己的...