UML和麪向對象分析與設計總結數據庫
一、UML中常見的關係的線性表示:編程
擴展關係:、泛化(繼承)關係:、依賴關係:網絡
聚合關係:、組成關係:、多線程
關聯關係:、實現關係:函數
二、UML中幾種基本圖及其基本功能做用:工具
UML的重要內容能夠由哪五類圖(共9種圖形)來定義:優化
答:用例圖:用例圖。線程
靜態圖:類圖、對象圖設計
行爲圖:狀態圖、活動圖對象
交互圖:時序圖、協做圖
實現圖:構件圖、部署圖
1)類圖:類圖是描述類、接口、協做以及它們之間的關係的圖,用來顯示系統中各個類的靜態結構。
類包括:類圖、屬性、方法。
類圖包括:類、接口、協做、關係、約束、註釋以及包。
類的表示包括:名稱、屬性、操做、職責和約束。
類圖的建模過程:肯定對象與類、肯定類的屬性、肯定類的關係。
類圖在UML中的重要做用:1.爲開發人員提供這種模仿現實世界的表達方式。
2.讓分析員使用客戶所採用的術語和客戶交流,促使客戶說出所要解決的問題的重要細節。
2)對象圖:對象圖表示在某一時刻一組對象以及他們之間的關係的圖。
UML對象圖的用途
◆捕獲實例和鏈接、◆在分析和設計階段建立、◆捕獲交互的靜態部分、◆舉例說明數據/對象結構、◆詳細描述瞬態圖、◆由分析人員、設計人員和代碼實現人員開發
3)用例圖:表述了一組用例、參與者以及它們之間的關係的圖。
用例模型包括:用例圖和用例規則。
用例規則包括:基本流和備選流。
用例圖的組成元素有:參與者,用例,通訊關聯,用例規約
創建用例模型步驟:
1) 根據系統邊界肯定參與者
2) 根據每一個參與者肯定與之相關聯的用例
3) 對每一個用例寫出用例規約文檔,調整用例模型(優化參與者與參與者之間的關係,用例與用例之間的關係)
用例對於系統開發人員來講的價值:是用來從用戶的觀察角度收集系統需求的一項技術,便於分析員與客戶和用戶交流,使系統更符合用戶的需求
4)順序圖也稱爲時序圖,它描敘了系統中對象間經過消息進行的交互,強調了消息在時間軸上的前後順序。
順序圖是由對象、生命線、控制焦點和消息等構成。(消息表示了對象間的通訊,生命線表示了對象的生存期,控制焦點表示對象正在執行一些活動)
順序圖將交互關係表示爲一張二維圖,其中縱向是時間軸,時間沿豎線向下延伸,橫向表明了在協做中各獨立對象的角色。
順序圖中從左到右各對象分別爲:執行者角色、控制類、用戶接口、業務層、後臺數據庫。
順序圖的做用:順序圖經常使用來描述用例的實現,它代表了由哪些對象經過消息相互協做來實現用例的功能。在順序圖中,標識了消息發生的前後順序。
5)協做圖:描述了系統中對象間經過消息進行的交互,強調了對象在交互行爲中承擔的角色。
協做圖包括對象、鏈(鏈接器)、消息。
(協做圖與順序圖的比較與各自的優缺點下面有)
交互圖(協做圖與順序圖)的特徵:交互圖形主要用於對用例中的控制建模,通常狀況下,一個交互圖形表達單個用例的行爲,它表示出該用例中若干個實例對象和對象之間所傳遞的消息,交互圖形有效的幫助人們觀察和理解系統內部的協做關係和過程行爲。
6)狀態圖:描述了一個對象所處的可能狀態以及狀態之間的轉換,並給出了狀態變化序列的起點和終點。
狀態圖包括:狀態、轉換。
一個狀態圖表示一個狀態機,表示從一個狀態到另外一個狀態的控制流。
引起狀態轉換的事件主要有:調用事件、變化事件、時間事件以及信號事件。
建模步驟:找出適合用模型描述其行爲的類、肯定對象可能存在的狀態、肯定引發狀態轉換的事件、肯定轉換進行時對象執行的相應動做、對建模結果進行相應的精化和細化。
做用:能幫助分析員、設計員和開發人員理解系統中對象的行爲。(P87)
7)活動圖:描述從活動到活動的流。
活動圖包括:動做狀態,活動狀態,動做流、分支與合併、分關與匯合、泳道以及對象流。
8)構件圖:主要用來描述各類軟件構件之間的依賴關係,是描述構件與構件關係的圖。
構件圖包括註釋、約束和包。
構件包括5個要素:接口聲明、接口實現、構件標準、封裝方法以及部署方法。
構件分爲3種類型:配置構件、工做產品構件以及執行構件。
構件圖的基本目的是:使系統人員和開發人員可以從總體上了解系統的全部物理部件;同時,也使咱們知道如何對構件進行打包,以便交付給最終客戶;最後,構件圖顯示了被開發系統所包含的構件之間的依賴關係
(構件和類的比較見下面)
9)部署圖:描述系統中的硬件節點及節點之間如何鏈接的圖。
部署圖的組成元素包括節點、節點間的連接。
部署圖的目的:描述系統投產的相關問題;描述系統與生產環境中的其餘系統間的依賴關係,這些系統多是已經存在,或是將要引入的;描述一個商業應用主要的部署結構;設計一個嵌入系統的硬件和軟件結構;描述一個組織的硬件/網絡基礎結構。
(活動圖與狀態圖的比較見下面)
三、類圖的表示:
四、略
五、對象間的可見性:可見性指的是一個對象可以「看到」 或者引用另外一個對象的能力。Public + ,private - ,protected #
六、類的區分:
UML將類分爲邊界類、實體類以及控制類。
1)邊界類用於描述外部參與者與系統之間的交互。
邊界類是一種用於對系統外部環境與其內部運做之間的交互進行建模的類。這種交互包括轉換事件,並記錄系統表示方式(例如接口)中的變動。
2)實體類主要是做爲數據管理和業務邏輯處理層面上存在的類別。
實體類的主要職責是存儲和管理系統內部的信息,它也能夠有行爲,甚至很複雜的行爲,但這些行爲必須與它所表明的實體對象密切相關。
實體類保存要放進持久存儲體的信息。持久存儲體就是數據庫、文件等能夠永久存儲數據的介質。實體類能夠經過事件流和交互圖發現。一般每一個實體類在數據庫中有相應的表,實體類中的屬性對應數據庫表中的字段。
實體類是用於對必須存儲的信息和相關行爲建模的類。實體對象(實體類的實例)用於保存和更新一些現象的有關信息,例如:事件、人員或者一些現實生活中的對象。
3)控制類用於描述一個用例所具備的事件流控制行爲,控制一個用例中的事件順序。
1.邊界類,描述外部與系統內部交互的類;2.控制類,控制其餘類;3.實體類,存儲信息和相關行爲的類;
七、面向對象開發系統是一系列對象的集合。
八、面向對象的三大機制:封裝、繼承、多態。
九、軟件工做的有效性和可靠性。
十、面向對象以前是面向過程的結構化分析與設計方法,這種方法以功能分析爲基礎。
十一、對象是客觀實體的抽象表示,是由描述對象屬性的數據和對這些數據進行的操做行爲兩部分組成。而類是對具備相同屬性和行爲一組對象的抽象描述。所以,它做爲一種用戶自定義類型和建立對象的樣板,而按照這種樣板所建立的一個個具體對象就是類的實例。經過繼承關係又可造成一種類層關係。
十二、UML中靜態圖有:用例圖、類圖、對象圖、構件圖、部署圖
動態圖有:活動圖、順序圖、協做圖、狀態圖
簡答題:
一、簡述面向對象的三大機制:封裝性、繼承性以及多態性。
1)封裝性。所謂封裝就是把對象的屬性和行爲結合成一個獨立的單位,使外界不能直接訪問或修改這些數據和代碼,外界只能經過對象提供的接口函數來改變或獲取對象的屬性數據,這就實現了消息的隱蔽;2)繼承性。若是在一個已定義的類上,增長一些特殊屬性或操做,能夠造成一個新的類,這個類不只繼承了前一個類的所有特徵,並且具備新的特性,所以可看做前一個類的特例,是對前一個類的繼承。前一個類成爲父類,新產生的類叫作子類。經過繼承關係可造成一種類層次結構,叫作繼承結構;3)多態性。在類層次結構的不一樣類中,可用相同的函數名實現功能不一樣的函數。多態即程序中同名的不一樣方法共存的狀況,常見的兩種多態方式爲:①子類對父類方法的覆蓋;② 利用重載在同一個類中定義多個同名的不一樣方法。
二、簡述面向對象發展的動因:
爲了超越程序複雜性障礙,克服軟件危機,人們提出了面向對象軟件開發方法。面向對象開發方法一改過去傳統的以功能分析爲基礎的面向過程的結構化分析與設計方法。面向對象開發方法模擬人們理解和處理客觀世界的方式來分析問題,把系統視爲一系列對象的結合,其面向對象設計又將分析的結果映射到某一種面向對象實現工具的結構上,使映射過程有着比較直接的對應關係,使分析者、設計者和編程者均可使用相同的概念,從而使面向對象的軟件開發能比較天然地模擬客觀世界的活動,使問題描述空間與解空間在結構上儘量一致。所以,採用面向對象方法能夠更有效地開發大型軟件系統。面向對象方法的封裝、繼承、多態等機制不只支持軟件複用,並且使軟件維護工做可靠有效,可實現軟件系統的柔性製造,更好地克服軟件危機。所以,它成爲成熟的廣爲採用的軟件開發方法。
三、分析順序圖和協做圖之間的差異和優缺點:
順序圖可視化地表示了對象之間隨時間發生的交互,它除了展現對象之間的關聯,還顯示出對象之間的消息傳遞。與順序圖同樣,協做圖也展現對象之間的交互關係。順序圖強調的是交互的時間順序,而協做圖強調的是交互的語境和參與交互的對象的總體組織。順序圖按照時間順序布圖,而協做圖按照空間組織布圖。
順序圖能夠清晰地表示消息之間的順序和時間關係,但須要較多的水平方向的空間。
協做圖在增長對象時比較容易,並且分支也比較少,但若是消息比較多時難以表示消息之間的順序。
填空、選擇:
一、2略
三、在用例圖中用例與角色是關聯角色。
四、順序圖中有生命線。
五、總體與局部的關係用匯集(聚合)表達的。
六、UML圖中,關聯角色的構造型有5種
七、略
八、UML中4大關係:依賴、泛化、實現和關聯。
九、UML構造塊中的事物和關係各包含哪些內容?
UML的事物包含:動做事物、結構事物、分組事物、註釋事物
動做事物包含:交互、狀態機
結構事物包含:類、接口、用例、協做、節點、構件、活動類
分組事物包含:包
註釋事物包含:註解
十、活動圖中的泳道技術的做用:經過泳道不只體現了整個活動控制流,還體現出了每一個活動的實施者。
十一、狀態圖描述從狀態到狀態的控制流程,經常使用來對系統的動態特稱進行建模。
十二、UML中類可分爲3大類:實體類、控制類和邊界類。
1三、UML體系分爲3大部分:UML基本構造塊、UML規則和UML公共機制。
1. 比較活動圖與狀態圖:
1)活動圖和狀態圖描述的重點不一樣:活動圖描述的是從活動到活動的控制流,而狀態圖表述的是對象的狀態及狀態之間的轉移。
2)活動圖和狀態圖使用的場合不一樣:對於如下幾種狀況可使用活動圖:分析用例、理解涉及多個用例的工做流、處理多線程應用:對於下面的狀況要使用狀態圖:顯示一個對象在其生命週期內的行爲。
2. 構件和類的比較:從構件的定義來看,構件和類十分類似,如都有名稱,均可以實現一組接口,均可以參與依賴,泛化和關聯關係,均可以被嵌套,均可以有實例,均可以參與交互,但它們之間也存着如下明顯區別:1)類是對實體的抽象,而構件是對存在於計算機中的物理部件的抽象。也就是說構件是能夠部署的,而類不能部署。2)構件是屬於軟件模塊,而非邏輯模塊,與類相比,它們處於不一樣的抽象級別,甚至能夠說,構件就是由一組類經過協做完成的;3)類能夠直接擁有操做和屬性,而構件僅擁有能夠經過其接口訪問的操做。
三、面向對象方法的基本觀點:
(1)客觀世界由對象組成,任何客觀實體都是對象。對象是系統的基本單位。
(2)複雜的對象能夠包含簡單的對象。
(3)事物的靜態特徵用對象的屬性表示;事物的動態特徵用對象的操做表示。
(4)對象的屬性與操做結合在一塊兒,封裝成一個獨立的實體
(5)具備相同屬性和操做的對象可概括成類,對象是類的一個實例。
(6) 類能夠派生出子類,子類除了繼承父類的所有特性外還能夠有本身的特性。
(7)對象之間經過消息進行通訊,以實現對象之間的動態聯繫。
四、簡述面向對象分析方法(OOA)的5個基本步驟
1)、識別對象,識別對象包括標識潛在的對象和篩選對象兩步
2)、識別對象的屬性
3)、識別對象的行爲
4)、識別對象所屬的類
5)、定義主題詞