UML系統(tǒng)建模與分析設計 課件全套 刁成嘉 第1-9章 系統(tǒng)建模與分析設計技術的演變- 軟件復用與構件接口技術_第1頁
UML系統(tǒng)建模與分析設計 課件全套 刁成嘉 第1-9章 系統(tǒng)建模與分析設計技術的演變- 軟件復用與構件接口技術_第2頁
UML系統(tǒng)建模與分析設計 課件全套 刁成嘉 第1-9章 系統(tǒng)建模與分析設計技術的演變- 軟件復用與構件接口技術_第3頁
UML系統(tǒng)建模與分析設計 課件全套 刁成嘉 第1-9章 系統(tǒng)建模與分析設計技術的演變- 軟件復用與構件接口技術_第4頁
UML系統(tǒng)建模與分析設計 課件全套 刁成嘉 第1-9章 系統(tǒng)建模與分析設計技術的演變- 軟件復用與構件接口技術_第5頁
已閱讀5頁,還剩377頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

UML系統(tǒng)建模

與分析設計課件2024/2/28UML系統(tǒng)建模與分析設計1第一章

系統(tǒng)建模與分析設計技術的演變

本章目的:理解軟件的基本概念和特點了解軟件的發(fā)展過程及軟件開發(fā)過程了解軟件開發(fā)的方法掌握面向?qū)ο蠹夹g的基本概念及開發(fā)過程了解幾種典型的面向?qū)ο蠓椒?024/2/28UML系統(tǒng)建模與分析設計21.1軟件的概念、特點和分類1.現(xiàn)代軟件的概念和特點(1)軟件規(guī)模大。(2)軟件開發(fā)規(guī)范并趨于標準化。(3)軟件開發(fā)方法多,有大量的軟件工具持。(4)注重軟件開發(fā)的管理。(5)軟件維護相對過去容易得多。2024/2/28UML系統(tǒng)建模與分析設計32.軟件的分類(1)按軟件的功能劃分系統(tǒng)軟件。支撐軟件。應用軟件。(2)按軟件的規(guī)模劃分微型軟件。小型軟件。中型軟件。大型甚至超大型軟件。(3)按軟件工作方式劃分實時處理軟件。分時軟件。交互式軟件。批處理軟件。2024/2/28UML系統(tǒng)建模與分析設計4(4)按軟件服務對象的范圍劃分項目軟件。 產(chǎn)品軟件。(5)按使用的頻度劃分 一次性使用軟件。 使用頻度較高的軟件。(6)按軟件失效的影響程度劃分 一般性軟件。 關鍵性軟件。2024/2/28UML系統(tǒng)建模與分析設計51.2軟件的發(fā)展與軟件工程軟件工程的指導性原則:

變動的軟件需求。 穩(wěn)妥的設計方法。 高效的軟件開發(fā)支持技術。 有效的過程管理。軟件工程具有里程碑意義的進展:

結構化軟件開發(fā)方法的工具。 計算機輔助軟件工程(CASE)。 面向?qū)ο笳Z言和方法成為主流的軟件開發(fā)技術。2024/2/28UML系統(tǒng)建模與分析設計61.3軟件開發(fā)模型的演變和生存周期1.3.1軟件開發(fā)過程與模型的演變1.瀑布模型(waterfallmodel)(1)慎重使用瀑布模型的情況:不能充分理解客戶需求或客戶需求有可能迅速發(fā)生化;系統(tǒng)太大太復雜,不能一次做完所有的事;事先擬采用的技術迅速發(fā)生變化;提供的資源有限;無法利用各開發(fā)階段的某一中間產(chǎn)品。2024/2/28UML系統(tǒng)建模與分析設計7(2)使用瀑布模型的情況:系統(tǒng)所有的功能、性能要求客戶可以一次性準確交付時;必須是首次開發(fā)的新系統(tǒng)并且淘汰全部老系統(tǒng)時。2.漸增模型(incrementalmodel)(1)慎重考慮使用漸增模型的情況:不能充分理解客戶需求或客戶需求有可能迅速發(fā)生變化;事先擬采用的技術迅速發(fā)生變化;客戶突然提出一些新的功能需求;長時期內(nèi)僅有有限的資源保證(開發(fā)人員和資金)。2024/2/28UML系統(tǒng)建模與分析設計8使用漸增模型的情況:需要在盡短的時間內(nèi)得到系統(tǒng)基本功能的演示或使用;各版本都有中間階段產(chǎn)品可提供使用;系統(tǒng)可以被自然地分割成漸增的模式;開發(fā)人員與資金可以逐步增加。2024/2/28UML系統(tǒng)建模與分析設計93.演化模型(evolutionarymodel) 演化模型也稱為原型(prototype)法模型。使用演化模型時應注意:演化模型也是通過系統(tǒng)各個可執(zhí)行的中間版本以漸增的形式來開發(fā)系統(tǒng)的,但是客戶需求可以分步逐漸了解,不用在初始時就確定。在模型中,可以預先定義一部分客戶需求,然后在每個后繼的中間版本中再逐步增加需求,一點點完善。在開發(fā)每個中間版本時,開發(fā)過程中的活動和任務可以順序地或部分重疊平行地被加入到這些中間版本中。2024/2/28UML系統(tǒng)建模與分析設計102024/2/28UML系統(tǒng)建模與分析設計114.螺旋模型(spiralmodel)螺旋模型的四類活動:制定計劃。風險分析。實施開發(fā)??蛻粼u估。2024/2/28UML系統(tǒng)建模與分析設計125.智能模型(intelligentmodel)2024/2/28UML系統(tǒng)建模與分析設計131.3.2軟件開發(fā)模型的選擇要綜合考慮以下幾個因素:(1)軟件規(guī)模(2)軟件類型系統(tǒng)軟件的開發(fā)。實時軟件的開發(fā)。商業(yè)應用軟件的開發(fā)。嵌入式軟件的開發(fā)。人工智能軟件的開發(fā)。2024/2/28UML系統(tǒng)建模與分析設計14(3)軟件質(zhì)量要求(4)交付工期(5)客戶需求明確度(6)投資(7)可復用性(8)開發(fā)者掌握的資源2024/2/28UML系統(tǒng)建模與分析設計151.3.3軟件生存周期2024/2/28UML系統(tǒng)建模與分析設計161.軟件定義 (1)軟件系統(tǒng)的可行性研究 1)經(jīng)濟可行性研究。 2)技術可行性研究。 3)法律可行性研究。 4)方案的選擇。 (2)需求分析 1)任務。 軟件功能需求: 軟件性能需求: 軟件系統(tǒng)運行環(huán)境: 2)按需求建模。 3)軟件需求規(guī)格說明(SoftwareRequirementsSpecification,簡稱SRS)。2024/2/28UML系統(tǒng)建模與分析設計172.軟件開發(fā) (1)概要設計 建立系統(tǒng)總體結構和各模塊之間的關系; 定義各個功能摸塊的接口; 設計全局數(shù)據(jù)庫或數(shù)據(jù)結構; 規(guī)定設計約束; 制定組裝測試計劃。 (2)詳細設計 對概要設計進行細化; 建立文檔資料。2024/2/28UML系統(tǒng)建模與分析設計18

(3)實現(xiàn) 選擇合適的編程語言; 制定測試案例; 保存文檔資料。 (4)組裝測試 (5)確認測試3.軟件使用、維護和更新?lián)Q代 (1)軟件使用 (2)系統(tǒng)維護 (3)系統(tǒng)更新?lián)Q代2024/2/28UML系統(tǒng)建模與分析設計191.4軟件開發(fā)方法簡介1.結構化程序設計方法 其控制結構僅由順序、選擇與重復等有限的基本控制結構表示。2.模塊化程序設計方法 模塊之間的接口應盡可能簡明清晰: 單獨模塊的修改不影響其它模塊的功能; 模塊化應具有可修改性、易讀性和可驗證性。3.面向?qū)ο蟪绦蛟O計方法2024/2/28UML系統(tǒng)建模與分析設計201.4.1結構化軟件開發(fā)方法 1.結構化分析的步驟 構造數(shù)據(jù)流模型。 構建控制流模型。 生成數(shù)據(jù)字典(DD)。 生成可選方案,建立需求規(guī)約。2024/2/28UML系統(tǒng)建模與分析設計212.結構化設計步驟首先研究、分析和審查數(shù)據(jù)流圖。從軟件的需求規(guī)格說明中弄清數(shù)據(jù)流加工的過程。然后根據(jù)數(shù)據(jù)流圖決定問題的類型。由數(shù)據(jù)流圖推導出系統(tǒng)的初始結構圖。優(yōu)化軟件結構。描述模塊接口。修改和補充數(shù)據(jù)詞典。制定測試計劃。2024/2/28UML系統(tǒng)建模與分析設計221.4.2模塊化軟件開發(fā)方法 (1)模塊可分解性。 (2)模塊可組裝性。 (3)模塊可理解性。 (4)模塊連續(xù)性。 (5)模塊保護。2024/2/28UML系統(tǒng)建模與分析設計231.4.3面向數(shù)據(jù)結構軟件開發(fā)方法 1.建立JSD的系統(tǒng)進程模型 2.JSD方法的步驟 (1)JSD需求分析步驟 標識系統(tǒng)中的實體與相應動作; 生成實體結構圖; 初建系統(tǒng)模型。 (2)JSD系統(tǒng)設計步驟 擴充功能過程。 系統(tǒng)定時。 系統(tǒng)實現(xiàn)。2024/2/28UML系統(tǒng)建模與分析設計24

面向數(shù)據(jù)結構的開發(fā)方法的特點:將分析結果作為設計基礎,無明顯分界;都必須標識關鍵實體和動作;信息具有層次性;提供一組將層次化的數(shù)據(jù)結構映射到程序結構的步驟;數(shù)據(jù)結構由順序、選擇和重復3種構造成分表示。2024/2/28UML系統(tǒng)建模與分析設計251.4.4面向?qū)ο筌浖_發(fā)方法

面向?qū)ο蠓椒ǖ囊饬x: (1)一種新的思考方式。 (2)將數(shù)據(jù)和行為結合成為對象。 (3)核心是封裝。 (4)面向?qū)ο蠓椒ń⒌幕A是:軟件工程概念;計算機科學概念;工程管理;數(shù)據(jù)庫信息模型;傳統(tǒng)軟件開發(fā)方法。2024/2/28UML系統(tǒng)建模與分析設計26

面向?qū)ο蠓椒ㄓ袔资N,綜合起來,其基本觀點如下:現(xiàn)實客觀世界由對象組成。相同的對象歸并為類。類可以繼承。對象之間通過消息進行聯(lián)系。面向?qū)ο?對象+類+繼承+通信2024/2/28UML系統(tǒng)建模與分析設計271.4.5軟件開發(fā)方法的評價與選擇綜合考慮以下幾方面因素:人員素質(zhì)。時間進度。掌握資源。可行性。領域知識。從四個方面評價:技術特征。使用特征。管理特征。經(jīng)濟特征。2024/2/28UML系統(tǒng)建模與分析設計281.5面向?qū)ο筌浖_發(fā)方法簡介

特點: (1)使人們更好地認識客觀世界 (2)能很好地適應需求變化 (3)容易實現(xiàn)軟件復用 (4)系統(tǒng)易于維護和修改2024/2/28UML系統(tǒng)建模與分析設計291.5.1面向?qū)ο蟮幕靖拍? 封裝性、繼承性和多態(tài)性。 1.對象 客觀世界中的實體抽象為問題空間中的對象。 2.對象的抽象——類 把具有相同特征和行為的對象歸在一起就形成了類(Class)。2024/2/28UML系統(tǒng)建模與分析設計302024/2/28UML系統(tǒng)建模與分析設計313.信息隱蔽和局部化——封裝4.繼承與派生2024/2/28UML系統(tǒng)建模與分析設計325.對象之間的聯(lián)系紐帶——消息2024/2/28UML系統(tǒng)建模與分析設計336.多態(tài)性 多態(tài)性(Polymorphism)是指同一個消息為不同的對象接收時,可產(chǎn)生不同的動作或執(zhí)行結果。2024/2/28UML系統(tǒng)建模與分析設計341.5.2面向?qū)ο笙到y(tǒng)開發(fā)過程2024/2/28UML系統(tǒng)建模與分析設計35

(1)需求分析階段。 (2)系統(tǒng)分析階段。 (3)系統(tǒng)設計階段。 (4)系統(tǒng)實現(xiàn)、測試、使用、維護階段。2024/2/28UML系統(tǒng)建模與分析設計361.5.3幾種典型的面向?qū)ο蠓椒ê喗?.Booch面向?qū)ο蠓椒?(1)Booch

方法的基本開發(fā)模型 開發(fā)模型包括邏輯模型、物理模型、靜態(tài)模型和動態(tài)模型。 (2)Booch方法的一般過程 開發(fā)過程分為技術層和管理層開發(fā)。 1)系統(tǒng)技術層開發(fā)步驟 發(fā)現(xiàn)類與對象。 確定類和對象的語義。 標識類和對象間的關系。2024/2/28UML系統(tǒng)建模與分析設計37

2)系統(tǒng)管理層開發(fā)步驟 強調(diào)團隊技術管理。 明確用戶關鍵需求。 建立系統(tǒng)分析模型。 完善設計系統(tǒng)結構。 系統(tǒng)實現(xiàn)。 軟件交付。2.Jacobson的面向?qū)ο蠓椒?(1)建立面向?qū)ο蠓治瞿P偷倪^程 1)建造用戶需求模型。 2)建造系統(tǒng)分析模型。

2024/2/28UML系統(tǒng)建模與分析設計38

(2)建立面向?qū)ο笤O計模型的過程 1)創(chuàng)建模塊作為主要的設計對象。 2)創(chuàng)建一個顯示激勵如何在模塊間傳送的交互圖。 3)把模塊組織成子系統(tǒng)。 4)復審設計工作。3.Coad-Yourdon的面向?qū)ο蠓椒ㄕ?(1)面向?qū)ο蠓治觯∣OA)步驟 類及對象層。 結構層。 主題層。 屬性層。 服務層。

(2)面向?qū)ο笤O計(OOD)步驟2024/2/28UML系統(tǒng)建模與分析設計394.JamesRumbaugh的面向?qū)ο蠓椒?(1)對象模型。 (2)動態(tài)模型。 (3)功能模型。2024/2/28UML系統(tǒng)建模與分析設計401.6本章小結2024/2/28UML系統(tǒng)建模與分析設計41第二章統(tǒng)一建模語言UML本章目的:UML系統(tǒng)建模與分析設計

掌握UML特點和基本圖標元素的表示符掌握UML軟件系統(tǒng)體系結構的五種視圖和九種基本圖了解UML的用例模型、靜態(tài)模型、動態(tài)模型的簡單建模方法了解UML的系統(tǒng)體系結構模型掌握UML與軟件開發(fā)統(tǒng)一過程2024/2/28UML系統(tǒng)建模與分析設計422.1UML模型系統(tǒng)體系結構UML系統(tǒng)建模與分析設計

2.1.1UML的誕生與發(fā)展2024/2/28UML系統(tǒng)建模與分析設計43UML系統(tǒng)建模與分析設計

2024/2/28UML系統(tǒng)建模與分析設計44統(tǒng)一標準面向?qū)ο罂梢暬⒈磉_能力強獨立于過程

易掌握、易用2.1.2UML的特點2024/2/28UML系統(tǒng)建模與分析設計45UML系統(tǒng)建模與分析設計

2.1.3軟件系統(tǒng)體系結構的描述作用:描述系統(tǒng)的功能需求,找出用例和執(zhí)行者;適用對象:客戶、分析者、設計者、開發(fā)者和測試者;描述使用的圖:用例圖和活動圖;重要性:系統(tǒng)的中心,它決定了其他視圖的開發(fā),用于確認和最終驗證系統(tǒng)。

1.用例視圖2024/2/28UML系統(tǒng)建模與分析設計462.邏輯視圖UML系統(tǒng)建模與分析設計

作用:描述如何實現(xiàn)系統(tǒng)內(nèi)部的功能

;適用對象:分析者、設計者、開發(fā)者

;描述使用的圖:類圖和對象圖、狀態(tài)圖、順序圖、合作圖和活動圖

;重要性:描述了系統(tǒng)的靜態(tài)結構和因發(fā)送消息而出現(xiàn)的動態(tài)協(xié)作關系

。

2024/2/28UML系統(tǒng)建模與分析設計47UML系統(tǒng)建模與分析設計作用:描述系統(tǒng)代碼構件組織和實現(xiàn)模塊,及它們之間的依賴關系

;適用對象:設計者、開發(fā)者

;描述使用的圖:構件圖

;重要性:描述系統(tǒng)如何劃分軟件構件,如何進行編程

。

3.構件視圖

2024/2/28UML系統(tǒng)建模與分析設計48UML系統(tǒng)建模與分析設計作用:描述系統(tǒng)的并發(fā)性,并處理這些線程間的通信和同步

;適用對象:開發(fā)者和系統(tǒng)集成者

;描述使用的圖:狀態(tài)圖、順序圖、合作圖、活動圖、構件圖和配置圖

;重要性:將系統(tǒng)分割成并發(fā)執(zhí)行的控制線程及處理這些線程的通信和同步

4.進程視圖2024/2/28UML系統(tǒng)建模與分析設計49UML系統(tǒng)建模與分析設計作用:描述系統(tǒng)的物理設備配置,如計算機、硬件設備以及它們相互間的連接

;適用對象:開發(fā)者、系統(tǒng)集成者和測試者

;描述使用的圖:配置圖

;重要性:描述硬件設備的連接和哪個程序或?qū)ο篑v留在哪臺計算機上執(zhí)行

。

5.配置視圖2024/2/28UML系統(tǒng)建模與分析設計50高級語言程序設計2.1.4UML模型元素2024/2/28UML系統(tǒng)建模與分析設計51UML系統(tǒng)建模與分析設計關聯(lián):連接(connect)模型元素及鏈接(link)實例。依賴:表示一個元素以某種方式依賴于另一種元素。泛化:表示一般與特殊的關系,即“一般”元素是“特殊”關系的泛化。聚合:表示整體與部分的關系。2024/2/28UML系統(tǒng)建模與分析設計52UML系統(tǒng)建模與分析設計2.2UML系統(tǒng)模型與建模三大類九種圖表示用例模型圖:由用例圖組成。靜態(tài)模型圖:由類圖、對象圖、包圖、構件圖和配置圖組成。動態(tài)模型圖:由活動圖、順序圖、狀態(tài)圖和合作圖組成。2024/2/28UML系統(tǒng)建模與分析設計53高級語言程序設計2.2.1用例模型及組成成分2024/2/28UML系統(tǒng)建模與分析設計54UML系統(tǒng)建模與分析設計2.2.2靜態(tài)模型與系統(tǒng)體系結構建模1.類圖(Classdiagram)2024/2/28UML系統(tǒng)建模與分析設計55UML系統(tǒng)建模與分析設計2.對象圖(Objectdiagram)2024/2/28UML系統(tǒng)建模與分析設計56高級語言程序設計3.包圖(Packagediagram)

2024/2/28UML系統(tǒng)建模與分析設計57高級語言程序設計4.構件圖(Componentdiagram)

2024/2/28UML系統(tǒng)建模與分析設計58高級語言程序設計5.配置圖2024/2/28UML系統(tǒng)建模與分析設計59UML系統(tǒng)建模與分析設計2.2.3動態(tài)模型與行為控制流建模

1.順序圖順序圖(SequenceDiagram)用來描述對象之間動態(tài)的交互關系,著重體現(xiàn)對象間消息傳遞的時間順序。2024/2/28UML系統(tǒng)建模與分析設計60高級語言程序設計2024/2/28UML系統(tǒng)建模與分析設計61高級語言程序設計2.合作圖2024/2/28UML系統(tǒng)建模與分析設計62UML系統(tǒng)建模與分析設計3.狀態(tài)圖

2024/2/28UML系統(tǒng)建模與分析設計63UML系統(tǒng)建模與分析設計4.活動圖

2024/2/28UML系統(tǒng)建模與分析設計64高級語言程序設計2024/2/28UML系統(tǒng)建模與分析設計65UML系統(tǒng)建模與分析設計2.3.1子系統(tǒng)組織的系統(tǒng)體系結構2.3UML系統(tǒng)體系結構模型

2024/2/28UML系統(tǒng)建模與分析設計66UML系統(tǒng)建模與分析設計2.3.2系統(tǒng)模型組織的系統(tǒng)體系結構

2024/2/28UML系統(tǒng)建模與分析設計67UML系統(tǒng)建模與分析設計2.3.3系統(tǒng)體系結構模型的描述方式2024/2/28UML系統(tǒng)建模與分析設計68UML系統(tǒng)建模與分析設計2024/2/28UML系統(tǒng)建模與分析設計69UML系統(tǒng)建模與分析設計2.4UML的擴展、調(diào)整機制2.4.1模型元素的分類與標記2024/2/28UML系統(tǒng)建模與分析設計70UML系統(tǒng)建模與分析設計2.4.2模型元素的特性規(guī)格說明

2024/2/28UML系統(tǒng)建模與分析設計71UML系統(tǒng)建模與分析設計2.4.3模型元素的語義擴展與約束2024/2/28UML系統(tǒng)建模與分析設計72UML系統(tǒng)建模與分析設計2.5UML與軟件開發(fā)統(tǒng)一過程

2024/2/28UML系統(tǒng)建模與分析設計73UML系統(tǒng)建模與分析設計2.5.1迭代、漸增式的開發(fā)過程

2.詳細規(guī)劃階段(1)用例分類1)將用例的優(yōu)先級分為三級:2)體系結構方面的風險的風險。3)進度風險(對實現(xiàn)每個用例所需工作量估算的評價)分為三級:(2)確定每次迭代的開發(fā)周期(3)將用例分配到各次迭代中1.開始階段

2024/2/28UML系統(tǒng)建模與分析設計74UML系統(tǒng)建模與分析設計4.移交階段

3.系統(tǒng)構造階段漸增式集成測試測試演示保存測試案例2024/2/28UML系統(tǒng)建模與分析設計75UML系統(tǒng)建模與分析設計2.5.2軟件開發(fā)步驟及核心支持活動

1.需求分析2.系統(tǒng)設計3.實現(xiàn)4.測試5.配置2024/2/28UML系統(tǒng)建模與分析設計76UML系統(tǒng)建模與分析設計6.核心支持工作(1)配置與變化管理(2)項目管理(3)環(huán)境設置2024/2/28UML系統(tǒng)建模與分析設計77UML系統(tǒng)建模與分析設計2.5.3UML軟件開發(fā)過程產(chǎn)生的模型與文檔(1)業(yè)務模型:建立問題領域的組織結構和業(yè)務流程的抽象。描述方式:需求分析規(guī)格說明書。(2)領域模型:建立問題領域的需求分析說明。描述方式:需求分析規(guī)格說明書。(3)用例模型:表達系統(tǒng)的功能。描述方式:用例圖、活動圖及需求分析規(guī)格說明書。

1.模型2024/2/28UML系統(tǒng)建模與分析設計78UML系統(tǒng)建模與分析設計基本功能分析;實現(xiàn)功能的對象;對象之間的關系;4)分析模型(任選):只有復雜的系統(tǒng)才需要建立獨立的分析模型。該模型包括:

描述方式:類圖、對象圖、包圖、順序圖、合作圖、狀態(tài)圖和活動圖。2024/2/28UML系統(tǒng)建模與分析設計79UML系統(tǒng)建模與分析設計(5)設計模型:系統(tǒng)具體解決方案,由調(diào)整和完善分析模型而成。描述方式:類圖、對象圖、包圖、順序圖、合作圖、狀態(tài)圖和活動圖。(7)實現(xiàn)模型:軟件的系統(tǒng)體系結構。描述方式:包圖和構件圖。(6)進程模型(任選):描述系統(tǒng)并發(fā)和同步機制。有多線程的并發(fā)系統(tǒng)才建立。描述方式:狀態(tài)圖、順序圖、合作圖、活動圖、構件圖和配置圖。2024/2/28UML系統(tǒng)建模與分析設計80UML系統(tǒng)建模與分析設計(8)配置模型:描述系統(tǒng)軟件在各個硬件上的配置。描述方式:配置圖。(9)測試模型:描述驗證系統(tǒng)功能的途徑。描述方式:測試案例和測試報告。2024/2/28UML系統(tǒng)建模與分析設計81UML系統(tǒng)建模與分析設計(1)技術文檔(2)管理文檔2.文檔2024/2/28UML系統(tǒng)建模與分析設計82UML系統(tǒng)建模與分析設計2.5.4UML軟件開發(fā)過程的基本特征

1.用例驅(qū)動的系統(tǒng)2024/2/28UML系統(tǒng)建模與分析設計83UML系統(tǒng)建模與分析設計2.以體系結構為中心3.螺旋上升式的開發(fā)過程4.以質(zhì)量控制和風險管理為目標2024/2/28UML系統(tǒng)建模與分析設計84UML系統(tǒng)建模與分析設計2.6本章小結2024/2/28UML系統(tǒng)建模與分析設計85UML系統(tǒng)建模與分析設計了解可行性研究與風險分析的方法掌握可行性分析報告的書寫格式

掌握客戶需求分析的要點及需求分析規(guī)格說明報告的書寫格式

掌握通過繪制用例圖及其正文描述來完成客戶需求分析的方法

掌握UML的用例模型建模方法

本章目的:

第三章需求分析與用例建模

2024/2/28UML系統(tǒng)建模與分析設計86UML系統(tǒng)建模與分析設計1.系統(tǒng)成本費用分析設備購置費用。系統(tǒng)開發(fā)費用。系統(tǒng)安裝、運行和維護費用。人員培訓費用。2.系統(tǒng)效益分析經(jīng)濟效益。社會效益。3.1.1經(jīng)濟可行性研究

3.1可行性研究與風險分析

2024/2/28UML系統(tǒng)建模與分析設計87UML系統(tǒng)建模與分析設計2024/2/28UML系統(tǒng)建模與分析設計88UML系統(tǒng)建模與分析設計1.風險分析

2.資源分析

3.技術分析反映系統(tǒng)動態(tài)特性:綜合系統(tǒng)的全部因素:突出系統(tǒng)的重要因素:結構簡單:3.1.2技術可行性分析3.1.3法律可行性分析3.1.4開發(fā)方案可行性分析研究1.提出待選方案

2.評價待選方案3.確定開發(fā)方案2024/2/28UML系統(tǒng)建模與分析設計89UML系統(tǒng)建模與分析設計3.1.5可行性分析報告文檔格式

2024/2/28UML系統(tǒng)建模與分析設計90UML系統(tǒng)建模與分析設計3.2.1建造需求模型——用例建模3.2客戶需求分析與用例建模用例建模的主要目標是:將需求規(guī)約變?yōu)榭梢暬P?,并得到用戶確認;

給出清晰、一致的關于系統(tǒng)做什么的描述,確定系統(tǒng)的功能要求;

提供從功能需求到系統(tǒng)分析、設計、實現(xiàn)各階段的度量標準;

為最終系統(tǒng)測試提供基準,據(jù)此驗證系統(tǒng)是否達到功能要求;

為項目目標進度管理和風險管理提供依據(jù)。

2024/2/28UML系統(tǒng)建模與分析設計91UML系統(tǒng)建模與分析設計用例建模的步驟:

確定系統(tǒng)的范圍和邊界;

確定系統(tǒng)的執(zhí)行者和用例;

對用例進行描述;

定義用例之間的關系;

審核用例模型。

2024/2/28UML系統(tǒng)建模與分析設計92UML系統(tǒng)建模與分析設計3.2.2用例圖

2024/2/28UML系統(tǒng)建模與分析設計93UML系統(tǒng)建模與分析設計3.2.3定義系統(tǒng)的邊界和范圍系統(tǒng)邊界包括:整個組織:如一個企業(yè);

一個組織的某個部門:如企業(yè)的財務處;

計算機系統(tǒng)的硬件/軟件邊界:如企業(yè)的進、銷、存計算機管理系統(tǒng)。

1.定義系統(tǒng)的范圍

2.定義系統(tǒng)的邊界2024/2/28UML系統(tǒng)建模與分析設計94UML系統(tǒng)建模與分析設計3.2.4確定執(zhí)行者執(zhí)行者(actor)是指在系統(tǒng)外部與系統(tǒng)交互的人或其他系統(tǒng),他以某種方式參與了系統(tǒng)內(nèi)用例的執(zhí)行。1.定義執(zhí)行者時應注意的幾個問題(1)執(zhí)行者之間可以有繼承關系2024/2/28UML系統(tǒng)建模與分析設計95UML系統(tǒng)建模與分析設計(2)執(zhí)行者代表一種角色而不是具體某個人(3)對同一個人擔任角色的限制(4)執(zhí)行者可分成主執(zhí)行者和副執(zhí)行者(5)執(zhí)行者還可細分為主動執(zhí)行者和被動執(zhí)行者2.尋找和確定執(zhí)行者3.2.5確定用例1.用例的特征

。響應性?;貓?zhí)性。完整性。2024/2/28UML系統(tǒng)建模與分析設計96UML系統(tǒng)建模與分析設計

2.尋找和確定用例系統(tǒng)為了維持正常運轉(zhuǎn)需要增加的功能和信息的交互;

這些這些信息從何而來,到哪里去?

實現(xiàn)當前系統(tǒng)(可能是人工系統(tǒng)而不是自動化系統(tǒng))的關鍵問題是什么?

3.描述用例用例名:簡單名:路徑名:

2024/2/28UML系統(tǒng)建模與分析設計97UML系統(tǒng)建模與分析設計用例的文字描述應包括以下內(nèi)容:用例的目的(功能);該用例在什么情況下被哪個執(zhí)行者啟動執(zhí)行;用例與執(zhí)行者之間交互哪些消息來通知對方作出決定;交互的主消息流及因此被使用或修改的實體;用例中可供選擇的異常事件流;用例結束標志:給執(zhí)行者返回一個可識別的值。舉例:用例名稱:學生選課執(zhí)行者:學生目的:完成一次學生選課的完整過程。類型:主要的、基本的級別:一級

2024/2/28UML系統(tǒng)建模與分析設計98UML系統(tǒng)建模與分析設計過程描述:(1)學生輸入標識碼(ID),系統(tǒng)識別標識碼的有效性;(2)對學生進行注冊識別;(3)流覽本學期預開課程;(4)選擇學生自己要上的課程并確認;(5)退出系統(tǒng),系統(tǒng)給出所選課程列表及相應學分合計。異常事件流處理:(1)標識碼有效性檢查失敗,允許學生重新輸入(3次機會)。(2)注冊識別失敗,沒有注冊(尙未交學費)的學生不能選課。(3)選擇課程確認失敗,所選幾門課程中在上課時間上發(fā)生沖突時,系統(tǒng)提示重選。

2024/2/28UML系統(tǒng)建模與分析設計99UML系統(tǒng)建模與分析設計3.2.6用例之間的關聯(lián)

1.繼承關聯(lián)2.擴展關聯(lián)

2024/2/28UML系統(tǒng)建模與分析設計100UML系統(tǒng)建模與分析設計3.包含關聯(lián)4.使用關聯(lián)

2024/2/28UML系統(tǒng)建模與分析設計101UML系統(tǒng)建模與分析設計2024/2/28UML系統(tǒng)建模與分析設計102UML系統(tǒng)建模與分析設計3.2.7用例圖實例2024/2/28UML系統(tǒng)建模與分析設計103UML系統(tǒng)建模與分析設計3.3定義系統(tǒng)的對象和類類-責任-協(xié)作者(Class-Responsibility-Collaborator,簡稱CRC)技術:

2024/2/28UML系統(tǒng)建模與分析設計104UML系統(tǒng)建模與分析設計3.3.1確定對象類(1)發(fā)現(xiàn)潛在對象與系統(tǒng)交互的角色。系統(tǒng)的工作環(huán)境場所。概念實體、發(fā)生的事件或事情。部門和設備。與系統(tǒng)有關的外部實體。(2)標識對象名的原則使用單個名詞或名詞短語標識對象名;對象名稱必須有意義、簡潔明了、含義明確、易于理解;盡量使用用戶熟悉的行業(yè)標準術語。

2024/2/28UML系統(tǒng)建模與分析設計105UML系統(tǒng)建模與分析設計(3)篩選對象根據(jù)以下特征來選擇和確定最終的對象:關鍵性??刹僮餍?。信息含量。公共屬性。公共操作。關鍵外部信息。(4)對象分類:有形性。包含性。順序性。持久性。完整性。2024/2/28UML系統(tǒng)建模與分析設計106UML系統(tǒng)建模與分析設計3.3.2標識對象類的屬性(1)發(fā)現(xiàn)和確定對象潛在的屬性(2)識別和篩選對象屬性的原則(3)識別和篩選屬性應注意的問題(4)屬性的命名原則3.3.3標識對象類的操作(1)尋找潛在的對象類操作(2)篩選、確定操作(3)命名操作名(4)操作的說明(5)操作的分類:2024/2/28UML系統(tǒng)建模與分析設計107UML系統(tǒng)建模與分析設計3.3.4標識對象類之間的關聯(lián)(協(xié)作)(1)建立實例連接(2)消息傳遞(3)篩選對象間的關聯(lián)3.3.5復審類的定義復審方法猶如“擊鼓傳花”。3.3.6定義類的結構和層次(1)一般-特殊結構(2)整體-部分結構(3)子系統(tǒng)

2024/2/28UML系統(tǒng)建模與分析設計108UML系統(tǒng)建模與分析設計

3.4客戶需求分析規(guī)格說明2024/2/28UML系統(tǒng)建模與分析設計109UML系統(tǒng)建模與分析設計

3.5需求分析中的用例建模步驟3.5.1用例的類型端點用例:

基本用例:

主要用例:

輔助用例:

3.5.2建立用例圖建立用例圖的步驟:

(1)確定用例(2)描述用例(3)篩選用例(4)繪制用例圖(5)層次化用例圖2024/2/28UML系統(tǒng)建模與分析設計110UML系統(tǒng)建模與分析設計3.5.3層次化用例圖(1)

功能需求用例圖(2)生存環(huán)境用例圖

2024/2/28UML系統(tǒng)建模與分析設計111UML系統(tǒng)建模與分析設計3.6需求分析用例建模案例3.6.1客戶需求分析1.業(yè)務組織結構(綜述)“企業(yè)綜合信息管理系統(tǒng)”的用戶是企業(yè)各級管理部門的工作人員、公司經(jīng)理和系統(tǒng)操作人員。該系統(tǒng)主要提供“財務管理”、“人力資源管理”、“生產(chǎn)調(diào)度管理”、“進銷存管理”、“設備安全管理”、和“行政事務管理”等方面的服務。2024/2/28UML系統(tǒng)建模與分析設計112UML系統(tǒng)建模與分析設計2.具體功能要求本案例只對其中的“進銷存管理子系統(tǒng)”進行詳細的需求分析用例建模。(1)銷售管理1)制定銷售計劃2)與客戶簽訂銷售合同3)檢查合同履約率4)生產(chǎn)調(diào)度管理部門組織生產(chǎn)5)庫存管理部門對產(chǎn)品進行入庫、出庫處理6)財務管理部門收取客戶貨款7)售后服務2024/2/28UML系統(tǒng)建模與分析設計113UML系統(tǒng)建模與分析設計(2)采購管理1)制定原材料(零部件)采購計劃2)與客戶簽訂采購合同3)檢查合同履約率4)庫存管理部門對原材料進行入庫驗收、存儲5)財務管理部門支付貨款(3)庫存管理1)產(chǎn)品入庫管理2)原材料(零部件)入庫管理3)原材料(零部件)出庫管理4)產(chǎn)品出庫管理5)庫存管理6)采購管理部門組織采購7)生產(chǎn)調(diào)度管理部門安排生產(chǎn)8)財務管理部門對庫存物資進行核算2024/2/28UML系統(tǒng)建模與分析設計114UML系統(tǒng)建模與分析設計3.需求補充說明(1)數(shù)據(jù)保存

采購合同:每個合同執(zhí)行期可能多達幾個月,合同需要長期保留。銷售合同:每個合同執(zhí)行期可能多達幾個月,合同需要長期保留。

歷年履約合同:履約后的合同需要長期(幾十年)保留,以備查使用。

庫存貨物清單:庫存貨物量隨出、入庫有所消長,長期保存。

貨物損毀報表:長期保留,以備查使用。

入庫單:長期保留,以備查核算使用。

出庫單:長期保留,以備查核算使用。

庫存貨物資產(chǎn)核對表:長期保留,以備查使用。

2024/2/28UML系統(tǒng)建模與分析設計115UML系統(tǒng)建模與分析設計(2)系統(tǒng)的用戶客戶、倉庫管理員、銷售人員、采購人員、公司經(jīng)理、財務管理系統(tǒng)、生產(chǎn)調(diào)度管理系統(tǒng)。(3)系統(tǒng)運行用戶界面銷售合同管理用戶界面:采購合同管理用戶界面:倉庫貨物清單管理用戶界面:2024/2/28UML系統(tǒng)建模與分析設計116UML系統(tǒng)建模與分析設計(4)系統(tǒng)運行的軟件、硬件環(huán)境1)系統(tǒng)運行的軟件環(huán)境2)系統(tǒng)運行的硬件環(huán)境3.6.2確定系統(tǒng)范圍和系統(tǒng)邊界1.進銷存管理子系統(tǒng)的業(yè)務范圍2.進銷存管理子系統(tǒng)的系統(tǒng)邊界

3.6.3確定執(zhí)行者

“進銷存管理子系統(tǒng)”有5個人執(zhí)行者和2個系統(tǒng)執(zhí)行者,即“采購人員”、“銷售人員”、“倉庫管理員”、“客戶”、“公司經(jīng)理”、“生產(chǎn)調(diào)度管理子系統(tǒng)”和“財務管理子系統(tǒng)”。2024/2/28UML系統(tǒng)建模與分析設計117UML系統(tǒng)建模與分析設計3.6.4確定用例(1)“企業(yè)綜合信息管理系統(tǒng)”中的用例(一層)財務管理;

人力資源管理;

生產(chǎn)調(diào)度管理;

進銷存管理;

設備安全管理;

行政事務管理。

(2)“進銷存管理子系統(tǒng)”中的用例(第二層)銷售管理;

采購管理;

庫存管理。

(3)“銷售管理子系統(tǒng)”中的用例(第三層)制定產(chǎn)品銷售計劃;簽訂銷售合同;督促客戶付款;監(jiān)督產(chǎn)品發(fā)貨;檢查合同履約;提供售后服務。

2024/2/28UML系統(tǒng)建模與分析設計118UML系統(tǒng)建模與分析設計(4)“采購管理子系統(tǒng)”中的用例(第三層)制定采購計劃;簽訂采購合同;貨物入庫檢驗;支付貨款;檢查合同履約。(5)“庫存管理子系統(tǒng)”中的用例(第三層)入庫管理;出庫管理;庫存管理。2024/2/28UML系統(tǒng)建模與分析設計119UML系統(tǒng)建模與分析設計3.6.5分層繪制用例圖1.最高層用例圖2024/2/28UML系統(tǒng)建模與分析設計120UML系統(tǒng)建模與分析設計2.第2層用例圖2024/2/28UML系統(tǒng)建模與分析設計121UML系統(tǒng)建模與分析設計3.第3層用例圖2024/2/28UML系統(tǒng)建模與分析設計122UML系統(tǒng)建模與分析設計4.第4層用例圖2024/2/28UML系統(tǒng)建模與分析設計123UML系統(tǒng)建模與分析設計2024/2/28UML系統(tǒng)建模與分析設計124UML系統(tǒng)建模與分析設計3.6.6描述用例1.“增加銷售合同”用例用例編號:04010101(共有4層用例圖結構,每層用2位數(shù)字表示,采用8位編號。)用例名:增加銷售合同執(zhí)行者:人執(zhí)行者:合同管理員、客戶、公司經(jīng)理。系統(tǒng)執(zhí)行者:“財務管理子系統(tǒng)”和“生產(chǎn)調(diào)度管理子系統(tǒng)”。目的:合同管理員將與客戶簽訂的銷售合同的詳細內(nèi)容錄入管理系統(tǒng),用于對銷售合同進行統(tǒng)計、查詢、檢查是否履約等,監(jiān)控正在履約的合同。類型: 端點、主要的、基本的級別:一級

2024/2/28UML系統(tǒng)建模與分析設計125UML系統(tǒng)建模與分析設計過程描述:(1)合同管理員輸入標識碼(ID),系統(tǒng)識別標識碼的有效性;(2)初始化一個新銷售合同,設置各種處室標志;(3)輸入一個新的具有唯一性的合同編號;(4)將與客戶簽訂的銷售合同的詳細內(nèi)容錄入管理系統(tǒng);(5)退出系統(tǒng)。與其它用例的關聯(lián):過程描述(1)中包含身份驗證用例;(4)中包含編號自動生成用例。異常事件流處理:(1)標識碼有效性檢查失?。合到y(tǒng)檢測標識碼有效性失敗,允許重新輸入。(2)編號也可以由合同管理員手動輸入,系統(tǒng)自動進行唯一性檢查。出現(xiàn)錯誤,允許重新輸入。

2.“修改合同”用例……………2024/2/28UML系統(tǒng)建模與分析設計126UML系統(tǒng)建模與分析設計3.7本章小結2024/2/28UML系統(tǒng)建模與分析設計127UML系統(tǒng)建模與分析設計第四章系統(tǒng)分析與對象類建模

本章目的:掌握系統(tǒng)分析的內(nèi)容與方法掌握系統(tǒng)分析規(guī)格說明書的基本書寫格式了解尋找和確定一個系統(tǒng)中對象類的方法掌握UML中對象類屬性和操作的定義和描述方法掌握對象類之間的關系及其表示方法掌握利用包(子系統(tǒng))的層次關系描述系統(tǒng)體系結構掌握類和對象建模方法2024/2/28UML系統(tǒng)建模與分析設計128UML系統(tǒng)建模與分析設計4.1系統(tǒng)分析4.1.1建造對象類靜態(tài)結構模型的步驟(1)連線建立網(wǎng)絡圖。(2)連接線命名。(3)確定關聯(lián)基數(shù)。(4)簡化模型。(5)編制相應的文檔資料。2024/2/28UML系統(tǒng)建模與分析設計129UML系統(tǒng)建模與分析設計4.1.2建造對象類動態(tài)結構模型建模的步驟如下:(1)建造對象狀態(tài)模型。(2)建造對象之間交互行為模型。(3)復審對象類動態(tài)結構模型,以驗證其準確性和一致性。(4)編制相應的文檔資料。2024/2/28UML系統(tǒng)建模與分析設計130UML系統(tǒng)建模與分析設計4.1.3建造系統(tǒng)功能處理模型(1)確認功能需求。(2)建活動流程圖。(3)以上內(nèi)容都要確認是否真正符合用戶的需求。(4)編制相應的文檔資料。2024/2/28UML系統(tǒng)建模與分析設計131UML系統(tǒng)建模與分析設計4.1.4編制系統(tǒng)分析規(guī)格說明的文檔2024/2/28UML系統(tǒng)建模與分析設計132UML系統(tǒng)建模與分析設計4.2對象類的概念4.2.1對象類圖的圖形符號表示類的圖形符號表示分為長式和短式兩種2024/2/28UML系統(tǒng)建模與分析設計133UML系統(tǒng)建模與分析設計4.2.2對象圖是類圖的一個實例2024/2/28UML系統(tǒng)建模與分析設計134UML系統(tǒng)建模與分析設計4.2.2對象圖是類圖的一個實例2024/2/28UML系統(tǒng)建模與分析設計135圖4-2線段和交點兩個對象之間關系的長式與短式對象圖2024/2/28UML系統(tǒng)建模與分析設計136UML系統(tǒng)建模與分析設計4.3描述對象類4.3.1類的屬性描述語法格式:可見性屬性名[多重性]:類型[=初始值]規(guī)則:(1)可見性:描述了該屬性在哪些范圍內(nèi)可以使用。+:表示其為公有成員,其它類可以訪問(可見);-:表示其為私有成員,不能被其他類訪問(不可見),可缺省;#:表示其為保護成員,一般用于繼承,只能被本類及派生類使用。(2)屬性名:代表屬性的一個標識符。(3)多重性:任選項,用多值表達式表示,格式為:低值..高值。

低值、高值為正整數(shù),表示該類的實例對象的屬性個數(shù);0..*表示從0個到無限多個;可缺省,表示1..1,只有一個。2024/2/28UML系統(tǒng)建模與分析設計137UML系統(tǒng)建模與分析設計規(guī)則(續(xù)):(4)類型:可以是系統(tǒng)固有的類型,如整型、實型等,也可以是用戶自定義的類型。(5)=初始值:任選項,初值可作為創(chuàng)建該類對象時這個屬性的默認值。(6)類屬性:用下劃線標識的屬性名,該類的所有對象之間共享該屬性。(7)/:只讀,可以與“+”、“-”或“#”同時使用,缺省表示可讀可寫。

描述屬性時,屬性名和類型是必須的,其他部分都任選。2024/2/28UML系統(tǒng)建模與分析設計138UML系統(tǒng)建模與分析設計4.3.2類的操作描述格式:可見性操作名([參數(shù)表]):返回列表[{特征描述}]規(guī)則:(1)參數(shù)表:用逗號分隔的形式參數(shù)序列;(2)返回列表:回送調(diào)用對象消息的類型,格式:返回類型或返回名=類型,……(3)[{特征描述}]:任選項,描述該操作的特征,通常不直接展示在類圖中,有:

前置條件:滿足該條件(為真)調(diào)用本操作;后置條件:執(zhí)行本操作后該條件為真;某算法指定執(zhí)行該操作;用特征(操作名、回送型、參數(shù)表)來指定該操作。2024/2/28UML系統(tǒng)建模與分析設計139UML系統(tǒng)建模與分析設計4.4類之間的關系4.4.1關聯(lián)關系1.一般關聯(lián)

關聯(lián)是類之間的語義聯(lián)系,代表類的對象(實例)之間的一組連接(稱為鏈)。(1)常規(guī)關聯(lián)

“0..1”:表示“零或1”;“0..*”或“*”:表示“0”或“多”;“1..*”:表示“1或多”;“5..11”:表示“5至11”;“1,3,8”:是枚舉型,表示“1或3或8”。2024/2/28UML系統(tǒng)建模與分析設計1402024/2/28UML系統(tǒng)建模與分析設計141(2)關聯(lián)類把類之間的關聯(lián)定義成類,稱為關聯(lián)類。關聯(lián)類也有屬性、操作并與其他的類關聯(lián)。2024/2/28UML系統(tǒng)建模與分析設計1422024/2/28UML系統(tǒng)建模與分析設計1432.多重關聯(lián)兩個以上的類之間也可以互相關聯(lián)。2024/2/28UML系統(tǒng)建模與分析設計144UML系統(tǒng)建模與分析設計3.關聯(lián)的約束(1)ordered:有序的對象。2024/2/28UML系統(tǒng)建模與分析設計1452024/2/28UML系統(tǒng)建模與分析設計146UML系統(tǒng)建模與分析設計4.受限關聯(lián)5.遞歸關聯(lián)2024/2/28UML系統(tǒng)建模與分析設計147UML系統(tǒng)建模與分析設計4.4.2聚集關系1.共享聚集共享聚集的“部分”對象可以是任意“整體”對象的一部分,表示事物的整體/部分關系較弱的情況。2024/2/28UML系統(tǒng)建模與分析設計148UML系統(tǒng)建模與分析設計2.組合聚集3.三種關聯(lián)的比較2024/2/28UML系統(tǒng)建模與分析設計1494.4.3繼承關系2024/2/28UML系統(tǒng)建模與分析設計1504.4.4依賴和細化關系2024/2/28UML系統(tǒng)建模與分析設計151UML系統(tǒng)建模與分析設計4.4.5對象設計模式(pattern)

在面向?qū)ο筌浖_發(fā)項目的系統(tǒng)設計中,總有一些只包含少數(shù)幾個對象的設計模塊在設計圖中反復出現(xiàn),這些模塊頻繁地出現(xiàn)在各種更大更復雜的系統(tǒng)設計中,我們把這種模塊稱為“設計模式”。1.設計模式的特征簡單性:只包含少數(shù)幾個類;靈巧性:精巧并能解決實際問題;驗證性:已經(jīng)在若干個實際運行的系統(tǒng)中成功地完成測試驗證;通用性:在各種系統(tǒng)設計中可以解決同類問題;復用性:可在各種系統(tǒng)的各個層次的系統(tǒng)設計中反復使用。2024/2/28UML系統(tǒng)建模與分析設計1522.對象集合管理器模式2024/2/28UML系統(tǒng)建模與分析設計1533.對象容器模式2024/2/28UML系統(tǒng)建模與分析設計1544.5接口4.5.1接口的定義2024/2/28UML系統(tǒng)建模與分析設計1554.5.2接口的實施2024/2/28UML系統(tǒng)建模與分析設計1564.6系統(tǒng)體系結構的分層次描述4.6.1系統(tǒng)體系結構的基本單元——包(子系統(tǒng))2024/2/28UML系統(tǒng)建模與分析設計157UML系統(tǒng)建模與分析設計UML中對包預定義的構造型有:<<system>>:系統(tǒng)模型。<<subsystem>>:子系統(tǒng)模型。<<facade>>:僅僅是其他包的某一個視圖,如業(yè)務模型中有關產(chǎn)品的信息。<<stub>>:另一個包公共內(nèi)容的服務代理(存根)。<<framework>>:模型的體系結構?;竟δ埽阂?guī)定了系統(tǒng)之間的接口,便于各小組獨立開展工作;用來表示該小組當前工作的成果,供其他小組參考。2024/2/28UML系統(tǒng)建模與分析設計158UML系統(tǒng)建模與分析設計4.6.2包的嵌套2024/2/28UML系統(tǒng)建模與分析設計159UML系統(tǒng)建模與分析設計4.6.3包之間的依賴和繼承關系包之間可以有依賴和繼承等關系。依賴:兩個包中的對象類之間有依賴,則兩個包有依賴;繼承:包之間的繼承關系描述了系統(tǒng)的接口。2024/2/28UML系統(tǒng)建模與分析設計160UML系統(tǒng)建模與分析設計4.7對象類靜態(tài)模型建模的步驟尋找確定對象類。根據(jù)客戶業(yè)務和系統(tǒng)實現(xiàn)需要,采用CRC卡方式建立對象類。定義類的接口。為了系統(tǒng)的安全性和類之間的獨立性,為一些通用的類建立接口。定義類之間的關系。為滿足系統(tǒng)功能要求和優(yōu)化系統(tǒng)設計,定義類之間的關系。建立對象類圖。將確定的類、接口及類之間的關系用圖標符號描述,建立對象類圖。建立系統(tǒng)包圖。對一個復雜的大系統(tǒng)用包(子系統(tǒng))的形式描述其系統(tǒng)體系結構??蛻粜枨箅A段,系統(tǒng)分析階段,系統(tǒng)設計階段,建立系統(tǒng)的對象類模型步驟如下:2024/2/28UML系統(tǒng)建模與分析設計161UML系統(tǒng)建模與分析設計4.8對象類靜態(tài)模型建模案例4.8.1建立對象類[見教材](1)銷售合同(2)采購合同(3)銷售合同統(tǒng)計報表(4)采購合同統(tǒng)計報表(5)入庫單(6)出庫單(7)庫存單2024/2/28UML系統(tǒng)建模與分析設計162UML系統(tǒng)建模與分析設計4.8.2定義用戶接口(1)建立采購合同接口(2)建立銷售合同接口(3)查詢購進合同接口(4)查詢銷售合同接口(5)打印催貨單接口(6)打印催款單接口(7)接受到貨通知單接口(8)打印付款通知單接口(9)接受收款通知單接口(10)打印發(fā)貨通知單接口(11)合同統(tǒng)計接口2024/2/28UML系統(tǒng)建模與分析設計1634.8.3根據(jù)類之間的關系繪制類圖1.類之間的關系(1)共享聚集:2024/2/28UML系統(tǒng)建模與分析設計164UML系統(tǒng)建模與分析設計1.類之間的關系(1)共享聚集:(2)組合聚集:(3)依賴關系:(4)繼承:(5)關聯(lián):2024/2/28UML系統(tǒng)建模與分析設計165UML系統(tǒng)建模與分析設計2.建立對象類圖2024/2/28UML系統(tǒng)建模與分析設計166UML系統(tǒng)建模與分析設計4.8.4確定和建立系統(tǒng)包圖2024/2/28UML系統(tǒng)建模與分析設計1672024/2/28UML系統(tǒng)建模與分析設計168UML系統(tǒng)建模與分析設計4.9本章小結2024/2/28UML系統(tǒng)建模與分析設計169UML系統(tǒng)建模與分析設計第五章系統(tǒng)設計與對象動態(tài)交互模型本章目的:了解UML軟件開發(fā)的系統(tǒng)設計方法與技術掌握系統(tǒng)設計規(guī)格說明報告文檔書寫格式掌握UML中順序圖的描述方法掌握同步消息和異步消息的定義和描述方法掌握UML中合作圖的描述方法掌握利用順序圖與合作圖建立動態(tài)交互模型的方法步驟2024/2/28UML系統(tǒng)建模與分析設計1705.1系統(tǒng)設計UML系統(tǒng)建模與分析設計5.1.1反復迭代的系統(tǒng)設計方式

5.1.2系統(tǒng)對象設計

(1)對象接口設計 (2)設計算法和數(shù)據(jù)結構 (3)確認子系統(tǒng) (4)子系統(tǒng)間的通信規(guī)約2024/2/28UML系統(tǒng)建模與分析設計171UML系統(tǒng)建模與分析設計5.1.3系統(tǒng)體系結構設計

1.任務管理設計 (1)主從結構設計。 (2)分布式結構設計。 2.數(shù)據(jù)管理設計 (1)定義數(shù)據(jù)類型。 (2)設計數(shù)據(jù)管理。數(shù)據(jù)管理設計提供了持久對象的基本結構。 3.用戶界面設計5.1.4

系統(tǒng)設計的優(yōu)化和審查2024/2/28UML系統(tǒng)建模與分析設計172UML系統(tǒng)建模與分析設計5.1.5系統(tǒng)設計規(guī)格說明報告2024/2/28UML系統(tǒng)建模與分析設計173UML系統(tǒng)建模與分析設計5.2交互模型建模5.2.1

對象之間的通信消息內(nèi)容標識的格式為:[序號][警戒條件]*[重復次數(shù)][回送值表:=]操作名參數(shù)表)使用規(guī)則:1.序號:表示消息在對象間交互的時間順序號。2.[警戒條件]:選擇項,為一布爾條件表達式。3.*[重復次數(shù)]:選擇項,表示消息重復發(fā)送的次數(shù)。4.回送值表:以“,”區(qū)分的名字表列,分別表示完成指定操作后返回的系列值。可缺省。5.操作名:必須是接收該消息的對象類角色中的操作名。6.“()”內(nèi)的參數(shù)表是以“,”號區(qū)分的實參表,傳送給接收消息的對象中的某個操作。2024/2/28UML系統(tǒng)建模與分析設計174UML系統(tǒng)建模與分析設計5.2.2同步通信與異步通信(1)簡單消息:表示控制流。(2)同步消息:它是一種嵌套的控制流。(3)異步消息:它是異步控制流。(4)返回消息:表示控制流從過程調(diào)用的返回。2024/2/28UML系統(tǒng)建模與分析設計175UML系統(tǒng)建模與分析設計5.3順序圖建模

順序圖用來描述對象間的交互行為。它注重消息的時間順序,即對象間消息的發(fā)送和接收的順序。順序圖還揭示了一個特定場景的交互,即系統(tǒng)執(zhí)行期間發(fā)生在某個時間點的對象之間的特定交互,它適合于描述實時系統(tǒng)中的時間特性和時間約束。2024/2/28UML系統(tǒng)建模與分析設計176UML系統(tǒng)建模與分析設計5.3.1

順序圖的組成成分2024/2/28UML系統(tǒng)建模與分析設計177UML系統(tǒng)建模與分析設計(1)對象:順序圖中所包含的每個對象用一個 對象框(短式)表示,對象名需帶下劃線。(2)生存線:對象框下畫的一條垂直虛線,稱 為該對象的生存線,表示對象的生存時間。(3)激活期:對象生存線上的一個細長方形 框,表示該對象的激活時間段,即活動期 間。(4)消息:對象之間消息的發(fā)送和接收用兩個 對象生存線(激活期)之間的消息箭頭線。5.3.1

順序圖的組成成分(con.)2024/2/28UML系統(tǒng)建模與分析設計178UML系統(tǒng)建模與分析設計5.3.2

對象之間的同步與異步操作1.對象之間的同步操作同步消息的發(fā)送者把進程控制傳遞給消息的接收者,然后暫?;顒?,等待消息的接收者放棄或返回控制;同步消息的接收者執(zhí)行所請求的操作,如果需要的話,可以把控制傳遞給另一個對象角色,請求做某個操作,并且當該操作完成后把控制返回給原來的同步消息的發(fā)送者;同步消息的接收者也可以直接返回或發(fā)送信息給原來的消息發(fā)送者。2024/2/28UML系統(tǒng)建模與分析設計1792024/2/28UML系統(tǒng)建模與分析設計180UML系統(tǒng)建模與分析設計5.3.2

對象之間的同步與異步操作(con.)2.對象之間的異步操作異步消息的發(fā)送者通過發(fā)消息把信號傳遞給消息的接收者,然后繼續(xù)自己的活動,不等待消息接收者返回信息或控制;異步消息的接收者執(zhí)行所請求的操作,操作完成后可以向異步消息的發(fā)送者返回信息;異步消息的發(fā)送者和接收者采用并發(fā)工作方式。一條異步消息每次只發(fā)一個信號,即只做一件事,可以做的事情有:創(chuàng)建一個新對象;創(chuàng)建一個新線程,此時異步消息連接到一個激活期的頂部;與一個正在運行的線程通信。2024/2/28UML系統(tǒng)建模與分析設計181UML系統(tǒng)建模與分析設計5.3.3順序圖中的分支控制圖5-5帶條件和分支并發(fā)執(zhí)行的順序圖2024/2/28UML系統(tǒng)建模與分析設計1825.3.4順序圖中的約束標記圖5-6中帶有時間延遲標記的順序圖UML系統(tǒng)建模與分析設計2024/2/28UML系統(tǒng)建模與分析設計1835.3.5順序圖中的循環(huán)處理操作UML系統(tǒng)建模與分析設計2024/2/28UML系統(tǒng)建模與分析設計1845.3.6對象的創(chuàng)建和消亡UML系統(tǒng)建模與分析設計2024/2/28UML系統(tǒng)建模與分析設計1855.4合作圖建模

合作圖可以用來描述系統(tǒng)對象之間的交互,強調(diào)這組對象之間的關系。UML系統(tǒng)建模與分析設計2024/2/28UML系統(tǒng)建模與分析設計1865.4.1合作圖的組成成分1.對象2.鏈接圖5-9帶有關聯(lián)角色的合作圖UML系統(tǒng)建模與分析設計2024/2/28UML系統(tǒng)建模與分析設計1875.4.2合作圖中對象的創(chuàng)建與消亡對象創(chuàng)建:{new};對象消亡:{destroyed};對象創(chuàng)建并消亡:{transient}。

UML系統(tǒng)建模與分析設計2024/2/28UML系統(tǒng)建模與分析設計188UML系統(tǒng)建模與分析設計2024/2/28UML系統(tǒng)建模與分析設計189UML系統(tǒng)建模與分析設計5.4.3嵌套消息與順序消息的標識1.嵌套消息序號的標識

圖5-12采用層次嵌套消息描述的銷售合同管理系統(tǒng)中的處理付款單合作圖2024/2/28UML系統(tǒng)建模與分析設計1905.4.3嵌套消息與順序消息的標識(con.)2.順序消息序號的標識UML系統(tǒng)建模與分析設計圖5-13采用順序消息序號描述的銷售合同管理系統(tǒng)中的處理付款單合作圖2024/2/28UML系統(tǒng)建模與分析設計191UML系統(tǒng)建模與分析設計5.4.4異步操作中的回調(diào)消息1.自調(diào)用2.異步操作中的回調(diào)圖5-14具有回調(diào)消息的合作圖2024/2/28UML系統(tǒng)建模與分析設計192圖5-15具有回調(diào)消息的順序圖UML系統(tǒng)建模與分析設計5.4.4異步操作中的回調(diào)消息(con.)2024/2/28UML系統(tǒng)建模與分析設計1935.4.5循環(huán)發(fā)送同一個重復消息UML系統(tǒng)建模與分析設計2024/2/28UML系統(tǒng)建模與分析設計194UML系統(tǒng)建模與分析設計5.5動態(tài)交互模型

——控制流建模(1)進程:進程是一個動作流;能夠與其他進 程并發(fā)執(zhí)行。(2)線程:線程是進程內(nèi)部的一個動作流;能 夠與其他線程并發(fā)執(zhí)行。(3)主動對象:一個擁有進程或線程的對象。(4)被動對象:必須由其它對象發(fā)來的消息進 行觸發(fā),才執(zhí)行動作的對象。(5)主動對象類:主動對象類是主動對象的抽 象。2024/2/28UML系統(tǒng)建模與分析設計1955.6

動態(tài)交互模型建模案例

——“銷售合同管理”子系統(tǒng)5.6.1子系統(tǒng)的用例模型和對象靜態(tài)模型UML系統(tǒng)建模與分析設計2024/2/28UML系統(tǒng)建模與分析設計196UML系統(tǒng)建模與分析設計5.6.2順序圖建模步驟1.確定交互和涉及的對象(1)啟動系統(tǒng)(2)循環(huán)處理付款單(3)核對銷售合同(4)核對合同的銷售貨物清單(5)核對庫房貨物清單(6)核查預警量(7)打印庫存預警清單(8)打印出庫單2024/2/28UML系統(tǒng)建模與分析設計197UML系統(tǒng)建模與分析設計5.6.2順序圖建模步驟(con.)2.順序圖中對象排列的原則(1)對象橫向排列在順序圖的頂部;(2)最重要的對象在最左邊(如對全局進行 初始的對象);(3)交互密切的對象盡可能相鄰;(4)交互中創(chuàng)建的對象,應放置在其創(chuàng)建的 時間點上;(5)每個對象有一個下垂的生命線。2024/2/28UML系統(tǒng)建模與分析設計1985.6.2順序圖建模步驟(con.)3.消息傳遞(1)消息傳遞的方向:按時間順序從上到下在對象的生命線之間傳遞;(2)在消息箭頭線上標出消息標簽的內(nèi)容、約束或構造型;(3)發(fā)送和接收消息的對象生命線必須處在激活期;(4)交互中對象的創(chuàng)建和銷毀必須繪出構造型和標記;(5)區(qū)別同步消息和異步消息的圖標表示符;(6)標出消息的循環(huán)結構及出口條件;(7)順序圖從初始化消息開始,以其返回消息終止。UML系統(tǒng)建模與分析設計2024/2/28UML系統(tǒng)建模與分析設計1995.6.2順序圖建模步驟(con.)圖5-18“付款單處理”用例的順序圖(1)UML系統(tǒng)建模與分析設計2024/2/28UML系統(tǒng)建模與分析設計200UML系統(tǒng)建模與分析設計5.6.3合作圖建模步驟1.確定交互及涉及的對象2.合作圖中對象排列的原則(1)最重要的對象應在圖的中央;(2)與其有直接交互的對象放置在鄰近;(3)對象初始化;(4)選擇初始對象。2024/2/28UML系統(tǒng)建模與分析設計2015.6.3合作圖建模步驟(con.)UML系統(tǒng)建模與分析設計圖5-20“履約合同檢查”用例的合作圖2024/2/28UML系統(tǒng)建模與分析設計202UML系統(tǒng)建模與分析設計5.6.3合作圖建模步驟(con.)3.鏈接與消息傳遞(1)標明對象之間的鏈接;(2)在鏈接上標明消息的序號;(3)在消息箭頭線上標出消息標簽的內(nèi)容、約束或構造型;(4)區(qū)別同步消息和異步消息的圖標表示符;(5)合作圖從初始對象開始,到其終止對象結束。2024/2/28UML系統(tǒng)建模與分析設計2035.6.3合作圖建模步驟(con.)圖5-21“履約合同檢查”用例的順序圖UML系統(tǒng)建模與分析設計2024/2/28UML系統(tǒng)建模與分析設計2045.7本章小結

UML系統(tǒng)建模與分析設計2024/2/28UML系統(tǒng)建模與分析設計205UML系統(tǒng)建模與分析設計本章目的:●了解對象狀態(tài)變化和活動變化的描述方式●掌握UML繪制狀態(tài)圖和活動圖的方法和步驟●掌握狀態(tài)模型中并發(fā)行為的描述方法●掌握用狀態(tài)圖和活動圖建立對象動態(tài)行為模型的方法和步驟

第六章系統(tǒng)動態(tài)建?!獱顟B(tài)模型2024/2/28UML系統(tǒng)建模與分析設計206UML系統(tǒng)建模與分析設計6.1.1對象狀態(tài)的基本描述圖符

6.1狀態(tài)圖的基本組成成分2024/2/28UML系統(tǒng)建模與分析設計207UML系統(tǒng)建模與分析設計6.1.1對象狀態(tài)的基本描述圖符

2024/2/28UML系統(tǒng)建模與分析設計208UML系統(tǒng)建模與分析設計6.1.3一個無人職守電梯升降的狀態(tài)圖2024/2/28UML系統(tǒng)建模與分析設計209UML系統(tǒng)建模與分析設計6.2.1對象的狀態(tài)屬性6.2狀態(tài)的分類與描述6-4一個設備使用狀況的狀態(tài)圖2024/2/28UML系統(tǒng)建模與分析設計210UML系統(tǒng)建模與分析設計6.2.2簡單狀態(tài)與嵌套狀態(tài)動作:一組可執(zhí)行的語句,動作具有以下特征:●遷移性:與狀態(tài)遷移有關;●原子性:這組語句不可中斷;●連續(xù)性:一組語句必須連續(xù)執(zhí)行,直到完畢?;顒樱阂唤M可執(zhí)行的動作,后棟具有以下特征:●有限性:完整的活動有一定的期限;●非原子性:這組動作可因某一事件發(fā)生而中斷。2024/2/28UML系統(tǒng)建模與分析設計211UML系統(tǒng)建模與分析設計6.2.2簡單狀態(tài)與嵌套狀態(tài)6-5描述設備(車床)狀況的嵌套狀態(tài)圖

2024/2/28UML系統(tǒng)建模與分析設計212UML系統(tǒng)建模與分析設計6.2.3狀態(tài)的順序遷移

6.2.4狀態(tài)的并發(fā)遷移與同步2024/2/28UML系統(tǒng)建模與分析設計213UML系統(tǒng)建模與分析設計6.2.4狀態(tài)的并發(fā)遷移與同步6-7采用同步并發(fā)遷移圖符描述的并發(fā)子狀態(tài)圖

2024/2/28UML系統(tǒng)建模與分析設計214UML系統(tǒng)建模與分析設計6.2.5嵌套狀態(tài)中的歷史狀態(tài)指示器

6-8帶有歷史指示器的軟件安裝過程狀態(tài)圖2024/2/28UML系統(tǒng)建模與分析設計215UML系統(tǒng)建模與分析設計6.3.1狀態(tài)的遷移觸發(fā)6.3狀態(tài)遷移的觸發(fā)與描述

描述狀態(tài)遷移的形式化語法格式如下:

事件[條件]/動作表達式發(fā)送子句說明:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論