第一篇:UML考試復習總結
1, 統一建模語言(Unified Modeling Language),簡稱UML,是一種通用的可視建模語言,用于說明、可視化、構造并文檔化軟件系統的體系結構.2, 控制軟件復雜度的方法:
1)分解,對復雜問題進行分解,然后分別解決各個子問題。
2)抽象,指抽取系統中的基本特性而忽略非基本的特性,以便更充分地注意與當前目標有關的方面。
3)模塊化,指解決一個復雜問題時自頂向下逐層把系統劃分成若干模塊的過程,并遵循高內聚低耦合的原則。
4)信息隱藏,即封裝,指把模塊內的實現細節與外界隔離,用戶只需知道模塊的功能,而不需了解模塊的內部細節。3,視圖
1)用例視圖。
作用:描述系統的功能需求,找出用例和執行者;描述使用的圖:用例圖和活動圖。2)邏輯視圖。
作用:描述如何實現系統內部的功能 ;
描述使用的圖:類圖和對象圖、狀態圖、順序圖、合作圖和活動圖。3)構件視圖。
作用:描述系統代碼構件組織和實現模塊,及它們之間的依賴關系 ; 描述使用的圖:構件圖。4)進程視圖。
作用:描述系統的并發性,并處理這些線程間的通信和同步 ;
描述使用的圖:狀態圖、順序圖、合作圖、活動圖、構件圖和配置圖。5)配置視圖。
作用:描述系統的物理設備配置,如計算機、硬件設備以及它們相互間的連接 ; 描述使用的圖:配置圖。4,基本概念
1)用例是對一個活動者(actor)使用系統的一項功能時所進行的交互過程的一個文字描述序列,是系統、子系統或類和外部的參與者(actor)交互的動作序列的說明,包括可選的動作序列和會出現異常的動作序列。
2)參與者(actor)是指系統以外的、需要使用系統或系統交互的東西,包括人、設備、外部系統等。
3)用例圖(use case diagram)以圖解的形式概括了系統中的不同參與者和用例,并顯示了哪些參與者能夠參與哪些用例。
4)類圖(Class diagram)是顯示了模型的靜態結構,特別是模型中存在的類、類的內部結構以及它們與其他類的關系等。5)類間關系
(1)關聯(association)是模型元素間的一種語義聯系,它是對具有共同的結構特性、行為特性、關系和語義的鏈(link)的描述。一個關聯可以有兩個或多個關聯端(association end),每個關聯端連接到一個類。
(2)聚集和組合:聚集是一種特殊形式的關聯。聚集表示類之間整體與部分的關系。聚集關系的實力是傳遞的,反對稱的。組合表示的也是類之間的整體與部分之間的關系,但組合關系中的整體與部分具有同樣的生存周期。
(3)泛化關系:泛化定義了一般元素和特殊元素之間的分類關系,類和類之間的泛化關系就是類與類之間的繼承關系。
(4)依賴關系:假設有兩個元素X和Y,如果修改了X元素的定義可能會導致兩一個元素Y的定義的修改,則稱元素Y依賴于元素X。6)接口類:只有方法沒有屬性,且所有方法只有聲明沒有實現的類。7)邊界類控制類和實體類的畫法
8)對象圖表示一組對象及他們之間的聯系。對象圖是系統的詳細狀態在某一時刻的快照,常用于表示復雜的類圖的一個實例。9)包就像一個“容器”,可用于組織模型中的相關元素。
10)包之間可以存在依賴關系,但這種依賴關系沒有傳遞性。11)對包的命名有兩種方式,即簡單包名和路徑包名。
12)構件是系統中遵從一組接口且提供其實現的物理的、可替換的部分。
13)構件圖則顯示一組構件以及它們之間的相互關系,包括編譯、鏈接或執行時構件之間的依賴關系。
14)部署圖也成為配置圖、實施圖,可以用來顯示系統中計算節點的拓撲結構和通信路徑與節點上運行的軟構件等。15)交互圖,是用來描述對象之間以及對象與參與者之間協作關系以及動態協作關系以及協作過程中行為次序的圖形文檔。
16)交互圖包括順序圖和協作圖兩種形式。順序圖著重描述對象按時間順序的消息交換,協作圖著重描述系統成分如何協同工作。
17)順序圖也稱時序圖,是顯示對象之間交互的圖,這些對象是按時間順序排列的。順序圖是二維模型,在順序圖中水平方向為對象維,沿水平方向排列的是參與交互的對象;順序圖中垂直方向為時間維,沿垂直向下方向按時間遞增順序列出各對象所發出和接受的消息。18)順序圖中的消息
(1)調用消息:調用消息的發送者把控制傳遞給消息的接收者,然后停止活動,等待消息接收者放棄或返回控制。
(2)異步消息:異步消息的發送者通過消息把信號傳遞該消息的接收者,然后繼續自己的活動,不等待接收者返回消息或控制。
(3)返回消息:返回消息表示從過程調用返回。
(4)阻止消息和超時消息:阻止消息是指消息發送者發出消息給接收者,如果接收者無法立即接收消息,則發送者放棄這個消息。超時消息是指消息發送者發出消息給接收者并按指定時間等待。如果接收者無法在指定時間內接收消息,則發送者放棄這個消息。19)協作圖是用于描述系統的行為是如何由系統的成分協作實現的圖,協作圖中包括的建模元素有對象、消息、鏈等。
20)狀態圖(statechart diagram)主要用于描述一個對象在其生存期間的動態行為,表現一個對象所經歷的狀態序列,引起狀態轉移的事件(event),以及因狀態轉移而伴隨的動作(action)。21)活動(activity)表示的是某流程中任務的執行,它可以表示算法過程中語句的執行。22)狀態圖可以表現一個對象在生存期的行為、所經歷的狀態序列、引起狀態轉移的事件以及因狀態轉移引起的動作。活動圖用來表示完成一個操作所需要的活動,或者是一個用例實例的活動。實際也是一種流程圖,描述活動的序列,即系統由一個活動到另一個活動的控制流。
23)泳道(swimlane)是活動圖中的區域劃分,根據每個活動的職責對所有活動進行劃分,每個泳道代表一個責任區。泳道和類并不是一一對應的關系,泳道關心的是其代表的職責,一個泳道可能由一個類實現,也可能由多個類實現。
第二篇:UML考試復習總結
1.在系統模型中為什么要使用多種UML圖?
回答:任何系統都有多種風險承擔人.每種UML圖都提供了用于一種或幾種風險承擔人對話的視圖。
2.那種UML 圖給出了系統的靜態視圖?
回答:下列UML 圖提供了系統的靜態視圖:類圖、對象圖、構建圖 和 部署圖。
3.哪種UML 圖提供了系統的動態視圖(也就是說,描述系統隨時間所經歷的變化)?
回答: 下列UML 圖提供了系統的動態視圖:用例圖、狀態圖、順序圖、活動圖 和 協作圖。
1.什么是對象?
回答: 對象是一個類的實例。
2.對象之間如何協同工作?
回答:對象通過相互發送消息協同工作。
3.多重性說明了什么?
回答: 多重性說明了一個類的多少個對象能夠與另一個類的對象發生關聯。
4.兩個對象之間能夠以多種方式關聯嗎?
回答:可以。例如兩個人之間既可以形成朋友關系也可以形成同事關系。
1.如何用UML 表示類?
回答:用一個矩形框來表示一個類。類名位于矩形框的中央,接近框的頂部。
2.類圖中可以指明哪些信息?
回答:可以指明類的屬性,操作。
3.什么是約束?
回答:約束是類圖應該遵循的一個或一組規則,它用一個花括號括起來的文本表示。
4.為什么要對類圖標注附加的注釋。
回答:可以為類圖增加注釋,增加一些在屬性、操作或職責中沒有指明的信息。例如,可以用它來指明一個包含更多信息的文檔。
1.多重性怎么表示?
回答:在關聯線的一端可以指明多少個遠端對象可以和近端多少個對象發生關聯。
2.如何發現類之間的繼承關系?
回答:在初始模型的類列表中,找出兩個或多個具有相同屬性和操作的類。其中的一個類可能就是其他類的父親,或者
可以為這些類新建一個父類。
3.什么是抽象類?
回答:抽象類用做繼承層次中的基類,但是它不產生實例對象。
4.限定符有哪些作用?
回答:限定符的作用是將一對多關聯化解為一對一關聯。
1.聚集和組成之間有什么區別?
回答: 組成和聚集都是整體類和部分之間的整體-部分關聯.在聚集中, 部分可能屬于多個整體.在組成中, 部分職能屬于一個整體.2.什么叫實現?實現和繼承有何相似之處?兩者又有何不同之處?
回答:實現是類和它的接口之間的關系。可以說成是類實現了它的接口。實現和繼承的類似之處在于類可以使用它的接口中的操作也可以操作也可以
從父類中繼承操作。兩者的不同之處是類不能使用它的接口中的屬性但可以繼承父類的屬性。(?)
3.寫出3種可見性層次的名稱,并描述每一種可見性的含義?
如果一個類的屬性或操作具有public 可見性,在另一個類中可以使用這個類的屬性或操作。
如果一個類的屬性或操作具有protected 可見性,那么這個類的子類或者其他的子孫可以使用這個類中的屬性或操作。
如果一個類的屬性或操作具有private 可見性,那么只有擁有它的屬性和操作的類才能使用它們。
接口中的操作都具有公用可見性。
1.發起一個用例的外部實體被稱為什么?
回答:發起用例的外部實體被稱為參與者actor。
2.包含用例是什么含義?
回答:“包含一個用例”的含義是一個用例中某個場景中的一些步驟和另一個用例中某個場景中的一些步驟是相同的。
所以可以不列出用例的所有場景,而只是指明它所包含的用例就可以了。
3.擴展用例是什么含義?
回答:“擴展”一個用例是指在這個用例中增加步驟。這樣可以產生一個新的用例。
4.用例和場景是同一個概念嗎?
回答:不是。用例是一組場景的集合。
1.舉出可視化表示用例的兩個優點。
回答:有了可視化表示的用例,就可以(1)將這種圖形化的表示給用戶,可從用戶那里得到更多的相關信息。
(2)可以將這些圖與其他類型的圖結合起來。
2.說明如何可視化描述本章中學到的用例之間的兩種關系:泛化和分組。舉出需要對用例分組的兩種情況。
在泛化關系中,一個用例繼承了另一個用例的含義和行為。分組時將一組用例組織成為一個包。
3.類和用例之間有什么類似之處?又有哪些差異?
回答:相同點:兩者都是結構元素。兩者都有繼承關系。
不同點:類由屬性和操作組成。用例由場景組成,每個場景又由一個步驟序列組成。類提供了系統的部分靜態視圖,用例提供了系統動態的行為視圖。
類描述的是系統的內部構成,而用例說明的是從外部看到的系統。
1.狀態圖在哪些重要方面與類圖、對象圖或者用例圖有所不同?
回答:狀態圖只是對一個對象的狀態建模。類圖、對象圖或者用例圖對一個系統或者至少是一部分建模。
2.給出下列術語的定義:轉移、事件和動作。
轉移是從一個狀態變化到另一個狀態。事件是引起一個轉移的某件事情的發生。動作是一個可執行的計算,它能引起一個狀態變化。
3.什么是無觸發器轉移?
回答:無觸發器轉移是由于狀態內的活動發生而引起的,不是因為對一個事件的響應而引起的。
4.順序子狀態和并發子狀態有什么區別?
子狀態是狀態內的狀態。順序子狀態一個接一個地順序出現。而并發子狀態同時出現。
5.什么是偽狀態?請舉例說明。
回答:偽狀態是沒有狀態變量和狀態內活動的狀態。初始狀態、終止狀態 和 歷史狀態 都是偽狀態的例子。
第三篇:UML復習總結
1.UML(unified modeling language): 統一建模語言是創建描繪軟件系統結構和設計藍圖的標準語言。它用于指定、構造、記錄軟件系統的工件并使之可視化。~ 的基本組成部分:包括 UML 的靜態、動態、包和注釋等部分。~ 的構建塊包含基本的成分、關系和關系圖。基本成分包括結構、行為、分組和注釋成分。
2.RUP(rational unified process): 統一開發過程是一種過程框架,有助于使用創建和部署用UML設計的軟件。~生命周期分為四個階段:起始階段、細化階段、構造階段、轉換 3.軟件開發生命周期(SDLC)是一個規范的、系統的軟件開發方法。可分為六個階段:可行性分析、需求分析和規范說明、設計、編碼、測試、維護。軟件的開發方法:瀑布方法、原型方法、螺旋方法、雙贏螺旋方法、增量方法。在設計階段,有兩種~:①面向功能方法以模塊為中心,注重軟件的功能。②面向對象(OO)方法支持重用、數據封裝、以及繼承、抽象和多態性等概念。
4.面向對象分析和設計(OOAD)是指根據對象、類、封裝、繼承、多態、抽象和動態邦定來分析需求以及設計軟件系統。
5.軟件系統的各個視圖:①用例視圖:表示系統為客戶提供的功能②設計~:側重于系統的靜態和動態表示③實施~:表示軟件系統中組成系統所需的各個文件和組件④部署~:表示將執行軟件系統和硬件的組合關系。
6.四種建模技術:①需求建模:包括使用用例關系圖描述需求。②靜態~:包括使用類、對象和復合結構關系圖來描述軟件系統的靜態成分③動態~:包括使用以下關系圖來描述動態成分的行為:活動關系圖、狀態機關系圖、通信關系圖、序列關系圖、交互概覽圖、時序關系圖④架構~: 描述軟件系統的內部結構如何構成:包關系圖、主件關系圖、部署關系圖 7.需求管理是一種持續的系統化方法。~的四個階段: 需求收集、~分析與協商、~規格化、~驗證。需求分析指將需求分類和組織為功能性需求和非功能性需求的過程。功能需求指軟件系統需要實現的功能和特性。非功能性需求指軟件系統需要達到的性能指標。需求驗證是在指定需求規范化后對需求進行驗證的活動。需求驗證包括:①確定所有的模糊需求②確定每條需求的來源③說明需求數量④確定需求之間的依賴關系⑤驗證需求是否簡明、可測試并且可跟蹤⑥驗證需求與軟件系統中的約束是否有沖突
8.軟件需求規格化(SRS)是詳細分析任務后產生的文檔。~必須提供信息:軟件系統定義、SRS文檔的用途、軟件系統的范圍、功能性需求、非功能性需求、目標軟件系統的運行條件 9.角色有關的關系:泛化~: 存在于有類似的行為和特性的角色之間繼承關系。關聯~: 顯示用例與角色之間通信關系。
10.用例關系圖:①顯示目標軟件系統的用例和角色之間的交互關系②顯示用例之間或角色之間的關系(如關聯和泛化等)。用例可以(文本方式,事件流方式)描述外部角色與軟件系統之間的交互過程。用例之間的關系:①擴展:指通過獲取其它用例的某些功能來建立當前用例的方式擴展關系的箭頭方向指向要被擴展的用例②包含:指一個用例的功能包含在另一個用例的功能中。包含關系里箭頭指向被包含在另一個用例中的用例。11.類關系圖表示類、接口、以及它們之間的關系。對象關系圖表示類的特定實例的屬性值以及對象之間的關系。類的屬性和操作的可見性是:+ :表示屬性或操作對于其它類可見。-:表示屬性或操作對其它類不可見。#:表示基類的屬性或操作僅對它的派生類可見。~:表示屬性或操作只對同一個包里的類是可見的。類和對象之間的關系:①關聯:表示兩個類的對象之間一般上的邏輯意義上的聯系。②聚合:表示兩個類之間的整體與局部的關系③組合:表示兩個類之間的整體與局部的關系④依賴性:表示兩個類的對象之間一般上的動態功能上的聯系⑤泛化:表示父類與子類之間派生關系⑥實現:表示類關系圖里兩個元素之間的語義關系,其中一個元素定義一個協議,另一個元素實現這個協議。12.抽象類是沒有任何直接實例的類,繼承于抽象類的類可以有直接實例,用于定義一組子類的公共特征和公共行為。接口是一組用于表示由類或組件提供的服務的操作集合,只能提供公共方法的聲明,而不能提供這些公共方法的實現,不可以創建接口的對象。兩者的相同處:①抽象類和接口都提供方法的規范,但是都不允許您直接創建實例。②抽象類和接口中指定的方法實現都在派生類中提供。不同處:①接口使您能實現多繼承,因為一個類可以實現多個接口。但是,抽象類不支持多繼承。一個類無法繼承多個抽象類②抽象類包含的屬性和方法可以是公共的、私有的或受保護的。接口只包含方法③抽象類可提供一部分方法的定義但接口不提供任何定義④抽象類在同一個包內使用,而接口可以跨多個包里實現。接口繼承與抽象類繼承的區別:①接口繼承可多繼承,而抽象類繼承不行②接口繼承中全是抽象方法,不提供定義,而抽象類繼承中可有方法定義。
13.交互關系圖:描述軟件系統的成分如何彼此交互以實現系統用例的功能。~有兩個部分:①協作者:描述交互關系圖中參與交換的系統靜態部分②交互:描述交互關系圖中靜態部分是怎樣參與動態協作的。常用的交互關系圖有:①序列關系圖:以一組按時間順序排序的消息的形式表示對象之間的交互②通信關系圖:以消息的形式表示對象間的交互
14.包關系圖用于描述軟件系統的各個包以及包之間的關系。使用包來建模軟件系統成分的好處有:①以可視化的方式顯示功能組以及它們之間的關系②使得大型軟件系統易于管理。用例分包規則:①以可視化的方式顯示功能組以及它們之間的關系② 使得大型軟件系統易于管理。類分包~:①具有相同繼承層次結構的類分組在一個包里②具有復合關系的類分組在一個包里③將相互協作、彼此交互的類分組在一個包里。
15.組件:實現一組規定接口功能的可執行部件。組件實現了一組接口。組件類型:①部署組件:描述可執行系統最終可部署部件②工作產品~:描述工程軟件有哪些文件組成③執行~:描述可執行軟件有哪些可執行部件組成
16.框架和模式是使軟件構件可重用的標準。框架:特定領域中類似應用程序的通用功能的模板,增加可重用性和減少應用程序開發時間。其特性:①類或組件的集合,具有執行一些特定或通用的功能②包含一些預定義規范的抽象和具體類接口③可以可通過子類化來擴展和實現這些抽象類和接口④定義一些抽象方法,這些方法接收系統中預定義的消息。模式:
新建的系統能滿足可重用的要求,有助于軟件組件之間更好的通信。~類型:通用職責分配軟件模式(GRASP)、四人組模式(GoF)單例模式:允許創建它自身的唯一一個實例的類。對于有些類只應許創建一個實例對象。用靜態數據成員來定義單件模式,以跟蹤所創建對象的生命期。設計模式好處:①可讓你創建能滿足新需求的可重用的解決方案而無需修改現有系統。②有助于軟件組件之間更好的通信。③有助于設計的重用、提供最有效的問題解決方案、給類分配職責。
17.實施質量流程的目的是為了在軟件開發過程中檢查所開發的軟件模型和產品的質量。質量流程包括:①用于開發軟件系統的軟件開發過程的質量②軟件開發過程中使用的軟件模型的質量③軟件開發過程結束時獲得的軟件產品的質量④質量流程自身的質量。生產質量過硬的產品時需要考慮的維度是:①技術:描述軟件開發過程所需的工具以及生成的輸出② 方法:描述軟件開發過程期間需要執行以生成輸出的操作順序③社會學:描述軟件開發過程所需的人力資源、環境條件和技能。質量保證技術檢查:語法:確保軟件模型使用正確的語法。語義:確保軟件模型表達出目標意圖并確保軟件模型的表示在項目中一致。美觀:確保軟件模型對稱并且完整。UML提供的三種擴展元素為:構造型:擴展 UML 詞匯表約束:擴展 UML 構造塊的語義關系。標記值:擴展 UML 構造塊的屬性
18靜態建模:它表示軟件系統的靜態或結構成分。它包括類關系圖和對象關系圖。它有助于描繪系統成分之間的關聯和依賴性。動態建模:它表示軟件系統靜態成分的行為過程。它包含交互、活動和狀態關系圖。它有助于表達系統在一段時間內的行為流程。
第四篇:UML實驗報告總結
實驗一 熟悉Rational Rose及建立用例模型 實驗
二、時序圖和協作圖建模
實習三 UML類圖與包圖建模(2學時)實驗四 狀態圖和活動圖建模 實驗五
組件與部署圖
實驗一 熟悉Rational Rose及建立用例模型
(2學時)
一、實驗名稱:熟悉(2學時)
二、實驗目的與要求:
? 了解和掌握Rose建模工具的使用 ? 掌握怎樣進行案例需求分析; ? 掌握UML用例圖建模技術
三、實驗內容:
1、熟悉rose上機環境及設置
2、根據以下談話設計出用例圖
Rational Rose及建立用例模型
四、實驗步驟:
見實驗說明書
實習二(2學時)
一、實驗名稱:
時序圖和協作圖建模(2學時)
二、實驗目的與要求:
? 了解和掌握Rose或Visio建模工具的使用
? 掌握怎樣進行系統分析,并進行UML靜態建模分析; ? 掌握UML時序圖和協作圖建模技術
三、實驗內容:
根據以下談話設計出時序圖和協作圖建模。
四、實驗步驟:
、UML類圖與包圖建模(2學時)
一、實驗名稱:UML類圖與包圖建模(2學時)
二、實驗目的與要求:
? 了解和掌握Rose或Visio建模工具的使用
? 掌握怎樣進行系統分析,并進行UML動態建模分析;
三、實驗內容:
四、實驗步驟:
實習四(2學時)
一、實驗名稱:
狀態圖和活動圖建模(2學時)
二、實驗目的與要求:
? 了解和掌握Rose或Visio建模工具的使用
? 掌握怎樣進行系統分析,并進行UML動態建模分析; ? 掌握UML狀態圖和活動圖建模技術
三、實驗內容:
四、實驗步驟:
實習五
組件與部署圖與代碼生成(2學時)
一、實驗名稱:
組件與部署圖(2學時)
二、實驗目的與要求:
三、實驗內容:
四、實驗步驟:
第五篇:uml報告總結
UML課程設計總結
這幾周的課程設計,是對課本知識的總結和鞏固,使我對UML的幾種圖有了更深刻的理解,明白了這些圖分別表達的意思以及各圖的優缺點,還有它們對于程序設計的作用。熟悉了VS中建模,熟悉了VS中控件的意義,對UML有了更深刻的了解。下面是我在每一個圖的學習中的一些心得和體會
在項目設計階段,我覺得順序圖,活動圖,狀態圖比較重要。順序圖在這些圖例里比較直觀,用戶能很快參與到討論中,活動圖和傳統的流程圖類似,也是一個補充。狀態圖在對關鍵對象是一定要做狀態分析的,經常會在做分析的時候發現一些容易被忽視的問題。類圖在設計階段可以用。
深刻體會了UML在建模中關系和作用。UML可以為面向對象的開發系統進行說明,是的復雜的系統和功能,邏輯關系,類之間的關系可視化。用例圖幫助我們從宏觀上認識了學生選導師系統的軟件結構。狀態圖,時序圖,類圖幫助我們從微觀上認識了這個系統的結構和關系。
畫用例圖是我第一次使用VS建模,對VS中的一些工具還很生硬,僅僅知道跟著指導書來進行建模。但經過一定的練習,也有了一定的收獲和體會,使我了解了用例圖的組成,作用以及使用場合;掌握了用例之間的各種關系;知道了用例建模主要要了解各個圖形所代表的意義,用例還可以進行下一集的描述,進行下一步的深化。
對于建模過程中遇到的問題通過上網查資料,問同學并和他們進行討論,得到了比較滿意的解決,避免了自己眼高手低,從實踐中發現自己的不足,并及時改正。更讓我明白,UML的知識是十分豐富的,我現在的認識還不夠,我將會在以后的學習中,不斷提高自己的UML知識,更好地讓UML為將來的編程設計服務。
進一步加強和提高了文檔的編寫能力
增強了寫作能力和團隊精神