




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、教材教材:UML基礎與Rose建模案例覃海煥,基礎知識基礎知識軟件工程、面向對象技術UML語言及建模方法語言及建模方法UML構成 4+1視圖、9種圖、模型元素、關系、通用機制UML建模方法應用應用Rose進行進行UML建模建模UML與統(tǒng)一開發(fā)過程與統(tǒng)一開發(fā)過程UML建模案例建模案例UML基礎與基礎與Rose建模教程建模教程蔡敏等編著,人民郵電出版社,2006年。大篇幅介紹Rose的使用,適于入門。UML面向對象分析與設計教程面向對象分析與設計教程胡荷芬等編著,清華大學出版社,2012年。依據(jù)UML與面向對象編程語言,結合實際案例,深入全面地探討了軟件建模的概念、規(guī)范和方法。UML參考手冊參考手
2、冊James Rumbaugh, Ivar Jacobson, Grady booch (UML三劍客) 編著。最經典的介紹UML的書籍,適于深入理解。UML相關網(wǎng)站,有大量相關的資源和討論相關網(wǎng)站,有大量相關的資源和討論/IBM公司,了解公司,了解Rational軟件與軟件與UMLhttps:/ 平時平時10%實驗考查實驗考查40%期末考試期末考試50%1.1 軟件工程概述軟件工程概述 1.2 建模的目的建模的目的 1.3 UML概述概述1.1.1 軟件工程的發(fā)展歷史軟件工程的發(fā)展歷史1.1.2 軟件工程的生命周期軟件工程的生命周期 46年第一臺電子計算機在
3、美國研制成功后,50年代,軟件誕生。程序功能單一,大多由使用者自己編寫,極具個人特色60年代中期-70年代中期,軟件業(yè)進入大發(fā)展時期軟件規(guī)模急劇膨脹,軟件需求日趨復雜 維護難度越來越大、開發(fā)成本以指數(shù)級增長、用戶對 已完成的軟件系統(tǒng)不滿意、失敗的軟件項目比比皆是如何開發(fā)軟件,才能滿足不斷增長的、日趨復雜的要求?如何使得規(guī)模日漸龐大的軟件產品可維護?1968年,北大西洋公約召集的會議主張通過工程化的方法開發(fā)軟件來解決軟件危機,提出了“軟件工程” 概念,后發(fā)展成了一門學科。軟件工程:軟件工程:一門建立在系統(tǒng)化、規(guī)范化、數(shù)量化等工程原則和方法上的,關于軟件開發(fā)各階段的定義、任務和作用的工程學科。軟件
4、開發(fā)技術,包括:軟件開發(fā)方法學、軟件工具和軟件工程環(huán)境。軟件項目管理,包括:軟件度量、項目估算、進度控制、人員組織、配置管理和項目計劃等。經典的軟件工程思想將軟件開發(fā)分為經典的軟件工程思想將軟件開發(fā)分為5個階個階段:段: 需求捕獲 (Requirements Capture) 階段系統(tǒng)分析與設計 (System Analysis and Design)階段系統(tǒng)實現(xiàn) (Implementation) 階段測試 (Testing) 階段維護 (Maintenance) 階段 需求捕獲階段需求捕獲階段捕獲用戶對系統(tǒng)在功能、行為、性能和設計約束等方面的期望,通過分析、建模,最終形成需求規(guī)格說明書。是整
5、個開發(fā)過程的基礎,所占比例不斷提高。系統(tǒng)分析與設計階段系統(tǒng)分析與設計階段分析用戶需求并設計系統(tǒng)的內部結構。通常系統(tǒng)分析與需求捕獲同時進行,而系統(tǒng)設計則在系統(tǒng)分析之后進行。系統(tǒng)實現(xiàn)階段系統(tǒng)實現(xiàn)階段編碼階段,所占比例在逐漸縮小。測試階段測試階段通過各種測試思想、方法和工具,使軟件的Bug降到最低。也是驗收軟件是否符合用戶需求的一種手段。維護階段維護階段 軟件產品交付之后進行的修改工作。維護問題仍然是軟件開發(fā)中所面臨的最大問題。1.1 軟件工程概述軟件工程概述 1.2 建模的目的建模的目的 1.2.1 建模的重要性 1.2.2 建模四原則 1.2.3 面向對象建模 1.3 UML概述概述對建模的使用
6、是軟件成功的一個基本因素。對建模的使用是軟件成功的一個基本因素。模型的實質:模型的實質:對現(xiàn)實的簡化。 建模的目標建模的目標 :(1)便于展現(xiàn)系統(tǒng)。(2)允許指定系統(tǒng)的結構或行為。(3)提供構造系統(tǒng)的模板。(4)記錄決策。 越龐大的系統(tǒng),建模的意義越越龐大的系統(tǒng),建模的意義越大。大。認真選擇模型。認真選擇模型。 每個模型可以有多種表達方式。每個模型可以有多種表達方式。 不同的使用者希望從不同的視角描述、了解系統(tǒng)最好的模型總是能夠切合實際。最好的模型總是能夠切合實際。在簡化現(xiàn)實的過程中不要掩蓋掉重要的細節(jié) 孤立的模型是不完整的。任何好的系統(tǒng)都孤立的模型是不完整的。任何好的系統(tǒng)都是由一些幾乎獨立的
7、模型拼湊出來的。是由一些幾乎獨立的模型拼湊出來的。 兩種最常用的建模方法:兩種最常用的建模方法:基于算法方法(過程)建模 主要模塊為程序或函數(shù) 隨著需求的變化和系統(tǒng)的增長,運用此方法建立起來的系統(tǒng)很難維護面向對象建模 主要的模塊為對象或者類。 1.1 軟件工程概述軟件工程概述 1.2 建模的目的建模的目的 1.3 UML概述概述1.3.1 UML的歷史1.3.2 UML包含的內容1.3.3 UML的定義1.3.4 UML的應用領域從70年代中期到1994年,出現(xiàn)了眾多的面向對象建模語言。用戶難以選擇適合的語言。90年代中期,建模語言走向成熟,代表語言包括Booch 1993、OOSE、OMT-
8、2等,其中,Booch 1993:提出了面向對象軟件工程的概念,適合于系統(tǒng)分析和構造OOSE (Jacobson):提出了面向用例的概念,引入了外部角色的概念,適合支持商業(yè)工程和需求分析OMT-2 (Rumbaugh):用對象模型、動態(tài)模型、功能模型和用例模型共同完成對整個系統(tǒng)的建模,適用于分析和描述以數(shù)據(jù)為中心的信息系統(tǒng)Coad/Yourdon:最早的面向對象方法,但處理能力有限94年,Booch和Rumbaugh首先致力于Booch1993和OMT-2的統(tǒng)一。95年,Jacobson加入。之后成立了UML成員協(xié)會,以完善、加強和促進UML的定義工作,陸續(xù)發(fā)布了UML1.0、 UML1.1等
9、,目前最新版本為UML 2.5??稍诰W(wǎng)站下載。UML作為一種標準建模語言,其內容包含:作為一種標準建模語言,其內容包含:UML語義:描述基于UML的精確元模型定義。UML表示法:定義UML符號的表示法,在語義上是UML元模型的實例。UML的主要作用:的主要作用:幫助用戶對軟件系統(tǒng)進行面向對象的描述和建模。通過建立各種模型元素間的聯(lián)系來組件整個結構模型。通過各種圖形把這些模型元素及其關系可視化,使模型更易于理解。提供多種模型視圖,使人們可以從多個視角來考察模型。1. 視圖視圖:系統(tǒng)某一方面特性的描述。包括:用例視圖、邏輯視圖、并發(fā)視圖、組件視圖和配置視圖2. 圖圖:UML模型的圖形化呈現(xiàn)UML通
10、常提供9種基本的圖,包括用例圖、類圖等3. 模型元素模型元素:UML的基本構造塊,包括:事物和事物之間的聯(lián)系4. 通用機制:通用機制:為模型元素提供額外的注釋、信息和語義,可進行擴展UML的的5種視圖:種視圖:用例視圖 (Use Case View):外部用戶所能觀察到的系統(tǒng)功能的模型圖。邏輯視圖 (Logical View):系統(tǒng)的靜態(tài)或結構組成及特征。也稱結構模型視圖或靜態(tài)視圖。并發(fā)視圖 (Concurrency View):系統(tǒng)的動態(tài)或行為特征。也稱為行為模型視圖或動態(tài)視圖。組件視圖 (Component View):系統(tǒng)實現(xiàn)的結構和行為特征。也稱為實現(xiàn)模型視圖。配置視圖 (Deploy
11、ment View):系統(tǒng)實現(xiàn)環(huán)境的結構和行為特征。也稱為物理視圖。視圖由圖構成,視圖由圖構成,UML提供了提供了9種圖:種圖:(1)用例圖 (Use Case Diagram):系統(tǒng)功能(2)類圖 (Class Diagram):系統(tǒng)的靜態(tài)結構(3)對象圖 (Object Diagram):系統(tǒng)在某個時刻 的靜態(tài)結構(4)時序圖 (Sequence Diagram):按時間順序 描述系統(tǒng)元素間的交互(5)協(xié)作圖 (Collaboration Diagram):描述交互 中的系統(tǒng)元素及它們之間的消息鏈視圖由圖構成,視圖由圖構成,UML提供了提供了9種圖種圖(6)狀態(tài)圖 (State Diagr
12、am):系統(tǒng)元素的狀態(tài) 條件和響應(7)活動圖 (Activity Diagram):系統(tǒng)元素的活動(8)組件圖 (Component Diagram):實現(xiàn)系統(tǒng)的 元素的組織(9)配置圖 (Deployment Diagram):環(huán)境元素的配 置,及實現(xiàn)系統(tǒng)的元素與元素配置間的映射靜態(tài)建模機制靜態(tài)建模機制用例圖、類圖、對象圖、包、組件圖和配置圖動態(tài)建模機制動態(tài)建模機制消息、狀態(tài)圖、時序圖、協(xié)作圖和活動圖UML可以對任何具有靜態(tài)結構和動態(tài)行為的可以對任何具有靜態(tài)結構和動態(tài)行為的系統(tǒng)進行建模系統(tǒng)進行建模最常用于建立軟件系統(tǒng)的模型適用于從需求規(guī)格描述道測試的不同階段適用于從需求規(guī)格描述道測試的不同
13、階段需求分析階段:用例分析階段:類圖、類之間的協(xié)作(動態(tài)模型)設計階段:技術細節(jié)的類測試階段:提供測試依據(jù)。單元測試類圖和類規(guī)格說明;集成測試組件圖和協(xié)作圖;系統(tǒng)測試用例圖1 面向對象技術概述面向對象技術概述 1.1 面向對象的基本概念1.2 面向對象的開發(fā)語言 2 面向對象的分析和設計面向對象的分析和設計3 基于基于UML的面向對象分析、設計過程的面向對象分析、設計過程 Coad和和Yourdon:面向對象面向對象=對象對象+類類+繼承繼承+通信通信 使用這4個概念進行設計并加以實現(xiàn)的軟件系統(tǒng)面向對象的軟件系統(tǒng)面向對象技術的基本觀點面向對象技術的基本觀點:(1)客觀世界由對象對象組成,任何客
14、觀實體都是對象,復雜對象可以由簡單對象組成。(2)具有相同數(shù)據(jù)和操作的對象可歸納成類類,對象是類的一個實例。(3)類可以派生出子類,子類除了繼承繼承父類的全部特性外還可以有自己的特性。(4)對象之間的聯(lián)系聯(lián)系通過消息傳遞消息傳遞來維系。面向對象的核心元素面向對象的核心元素: 對象 封裝 消息 類 繼承 多態(tài)性 結構與連接 一個對象代表了客觀世界里的一個實體一個對象代表了客觀世界里的一個實體自然實體:具體的有形的物,如人、汽車;或概念實體:無形的事物或概念,如規(guī)則、計劃對象從不同的角度看有不同的含義對象從不同的角度看有不同的含義問題論域:對象指現(xiàn)實世界中的一個事物。建模和實現(xiàn):對象是問題域或實現(xiàn)
15、域中某些事物的抽象,是一個封裝數(shù)據(jù)屬性和操作行為的實體。 系統(tǒng)中的對象在軟件生命周期的各個階段可能有不同的表示形式對象的特征:對象的特征:問題論域:一個對象所包含的特性和行為系統(tǒng):一個對象所包含的數(shù)據(jù)(屬性)和所有提供的功能(操作)復雜的對象可由相對簡單的對象以某種方法組成。對象之間通過消息通信封裝:封裝:將屬性和操作封進一個對象里,使得對內部信息的訪問只能通過對象提供的有限接口進行。封裝有兩個含義:封裝有兩個含義:結合性信息隱蔽性封裝是面向對象方法的一個重要原則,其基本單位是對象。消息:消息:向對象發(fā)出的服務請求。一個消息包含消息名、接受對象的標志、服務標志、輸入信息、回答信息等。 消息傳遞
16、:消息傳遞:對象間的通信機制一個對象向另一個對象o發(fā)送消息請求其服務,消息包含請求執(zhí)行該項服務的信息o接收到消息后,解釋執(zhí)行該消息,然后給予響應對象間的協(xié)作通過消息傳遞進行對象間的協(xié)作通過消息傳遞進行36類:類:是對象的抽象,是一組具有相同數(shù)據(jù)結構和相同操作的對象的集合??陀^世界實際存在的都是對象,而不是類 。類和對象的關系類和對象的關系 類是對象的模板,基于類可以生成多個具有不同屬性值的對象。一個具體的對象是類的一個實例。示例:類:學生,對象:張三、李四等繼承:繼承:指子類可以自動擁有父類的全部屬性與操作的機制。 子類又稱派生類,父類又稱超類或基類表示:表示:帶實心三角形的 實線,箭頭指向父
17、類。繼承性又繼承性又分為單重繼承和多重繼承兩類分為單重繼承和多重繼承兩類。 繼承性是面向對象程序設計語言不同于其他語言的最主要的特點。繼承機制可提高軟件的可重用性。多態(tài)性:多態(tài)性:同一操作作用于不同的對象,可以有不同的解釋,產生不同的執(zhí)行結果。例如“畫”操作,作用于“矩形”對象,則在屏幕上畫一個矩形,作用于“圓”對象,則畫一個圓。根據(jù)綁定階段的不同,多態(tài)性分為兩種:根據(jù)綁定階段的不同,多態(tài)性分為兩種:編譯時的多態(tài)性:在編譯時決定實現(xiàn)何種操作。通過重載實現(xiàn)。運行時的多態(tài)性:在運行時才能決定實現(xiàn)何種操作。通過繼承和虛函數(shù)實現(xiàn)。多態(tài)性大致有如下多態(tài)性大致有如下3種實現(xiàn)方式:種實現(xiàn)方式:通過接口實現(xiàn):
18、多個類實現(xiàn)相同的接口,這些實現(xiàn)可以各不相同。通過繼承實現(xiàn):多個子類重載基類的相同操作,提供不同的實現(xiàn)。通過抽象類實現(xiàn):抽象類不能實例化,必須被繼承。未實現(xiàn)的操作需要繼承類提供實現(xiàn),已實現(xiàn)的操作可重寫。多態(tài)性對建模者同樣重要:多態(tài)性對建模者同樣重要:可讓建模者用客戶的語言、術語與客戶溝通。當一個操作術語有多種含義時,用多態(tài)來實現(xiàn)。一般一般/特殊結構:特殊結構:也稱為層次結構,描述對象之間的繼承關系,是以類為節(jié)點、繼承關系為邊的連通有向圖。整體整體/部分結構:部分結構:也稱為組裝結構,描述對象之間的組成關系。實例連接:實例連接:反映對象之間的靜態(tài)聯(lián)系,其實現(xiàn)通??赏ㄟ^對象的屬性表達。例如,描述教師
19、與學生的導師的關系,可在學生類中增加一個屬性“導師”,其類型為教師消息連接:消息連接:描述對象之間的動態(tài)關系,即兩個對象之間存在的由于通信需要而形成的關系,從消息發(fā)送者指向消息接收者。1. 面向對象的建模語言面向對象的建模語言Booch 1993 (Grady Booch)、OOSE (Jim Rumbaugh)、OMT-2 (Ivar Jacobson),UML2. 面向對象的程序設計語言有四個分支:面向對象的程序設計語言有四個分支:基于Smalltalk的語言: 不支持多繼承,但仍被認為是最面向對象的語言。代表為Smalltalk-80?;贑的語言: Object-C, C+, Java
20、基于LISP的語言: CLOS,用于知識表達和推理基于PASCAL的語言: Object/Turbo Pascal, Ada951 面向對象技術概述面向對象技術概述 2 面向對象的分析和設計過程面向對象的分析和設計過程2.1 面向對象分析 (OOA)2.2 面向對象設計 (OOD)3 基于基于UML的面向對象分析、設計過程的面向對象分析、設計過程 面向對象分析的基本原則面向對象分析的基本原則 面向對象分析的一般過程面向對象分析的一般過程 抽象原則:抽象原則:從現(xiàn)實世界中抽象出類。分類原則:分類原則:對象類,抽象程度層次結構。聚合原則:聚合原則:把復雜事物看成若干簡單事物的組合體,用整體/部分結
21、構表示。關聯(lián)原則:關聯(lián)原則:從一個事物聯(lián)想到另一個事物存在關聯(lián),用實例連接表示。消息通信原則:消息通信原則:對象之間只能通過消息進行通信,用消息連接表示。(1)獲取客戶對系統(tǒng)的需求)獲取客戶對系統(tǒng)的需求采用用例來收集客戶需求 分析員標識出使用該系統(tǒng)的參與者(用戶角色或其它系統(tǒng)) 每個用戶描述其如何使用系統(tǒng),或希望系統(tǒng)提供的功能,即用例 所有參與者描述的所有用例構成了系統(tǒng)的完整需求得到的用例必須進行復審,以使需求完整(2)標識類和對象)標識類和對象類和對象來自問題領域和系統(tǒng)責任。運用抽象原則標識出候選類,然后進行篩選。抽象出的類可能會遇到以下問題:抽象出的類可能會遇到以下問題:類的屬性或服務不適
22、合該類的全部對象。出現(xiàn)屬性和服務相似的類。出現(xiàn)對同一事物的重復描述。需要分析類之間的關系,定義類的結構和層次。(3)定義類的結構和層次)定義類的結構和層次類的結構有兩種:一般/特殊結構、整體/部分結構構成類圖的元素(類、屬性、方法、結構和連接)所表達的模型信息分為三個層次: 對象層:給出系統(tǒng)中所有反映問題域 與系統(tǒng)責任的對象。 特征層:給出每一個類及其所代表的 對象的內部特征,即屬性和操作。 關系層:給出各個類及其所代表的對象 之間的關系,繼承關系(一般/特殊結構)、組裝關系(整體/部分關系)、屬性的靜態(tài)依賴關系(實例連接)和操作的動態(tài)依賴關系(消息連接)。主題主題 (Subject):互相協(xié)
23、作以完成一組緊密結:互相協(xié)作以完成一組緊密結合在一起的責任的類的集合。也稱為子系統(tǒng)。合在一起的責任的類的集合。也稱為子系統(tǒng)。 從外部觀察系統(tǒng)時,主題可看做黑盒,有自己的一組責任與協(xié)作者,不必關注細節(jié)。觀察一個主題的內部時,可以集中關注系統(tǒng)的某一個方面。主題是比類更高主題是比類更高抽象抽象層次上的一種描述層次上的一種描述(4)定義類(對象)之間的關系)定義類(對象)之間的關系關聯(lián)依賴泛化(繼承)實現(xiàn)(5)定義對象行為模型)定義對象行為模型描述系統(tǒng)的動態(tài)行為,指明系統(tǒng)如何響應外部事件和激勵。建模步驟如下: 評估所有的用例,完全理解系統(tǒng)中交互的序列 標識驅動交互序列的事件,理解這些事件如何和特定的對
24、象相關聯(lián)。 為每個用例創(chuàng)建事件軌跡 (event trace)。 為系統(tǒng)建造狀態(tài)機圖。 復審對象行為模型,以驗證準確性和一致性。完整的完整的OOA模型分為:模型分為:基本模型:類圖,以直觀的方式表達系統(tǒng)最重要的信息,包括系統(tǒng)包含哪些類,每個類的內部構成,以及類與外部的關系。補充模型包括: 主題圖:按照粒度控制原則,將系統(tǒng)組成幾個主題,便于理解。 交互圖:Use case與系統(tǒng)成分之間的對照圖。詳細說明:按照分析方法所要求的格式,對分析模型進行說明和解釋。以文字為主。面向對象設計的模型面向對象設計的模型面向對象的高層設計面向對象的高層設計 面向對象的類設計面向對象的類設計(1)高層設計的結構模型)高層設計的結構模型(2)高層設計的準則)高層設計的準則(3)問題域子系統(tǒng)的設計)問題域子系統(tǒng)的設計(4)人機交互子系統(tǒng)的設計)人機交互子系統(tǒng)的設計(5)任務管理子系統(tǒng)的設計)任務管
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《瑪?shù)贍栠_》讀后感
- 武漢各大活動方案
- 汽車店手工活動方案
- 民間節(jié)日活動方案
- 植樹建園活動方案
- 沙縣小吃活動方案
- 漢服爬山活動方案
- 武術大會活動方案
- 永泰活動策劃方案
- 2024年助產專科護士理論考核試題及答案
- 2024屆云南省曲靖一中高一數(shù)學第二學期期末達標檢測試題含解析
- 知識產權法(新)-第二次形考任務-國開-參考資料
- 《口腔基礎醫(yī)學概要》課件-口腔的功能
- 高端大米營銷方案
- 中小學語文教師職業(yè)發(fā)展規(guī)劃課件
- 西王母故事的文本演變及文化內涵
- 2023年常州工學院輔導員招聘考試真題
- 《文本挖掘簡介》課件
- 社會調查報告-益陽市交通狀況調查報告
- CONSORT2010流程圖(FlowDiagram)【模板】文檔
評論
0/150
提交評論