軟件工程系統(tǒng)模型_第1頁
軟件工程系統(tǒng)模型_第2頁
軟件工程系統(tǒng)模型_第3頁
軟件工程系統(tǒng)模型_第4頁
軟件工程系統(tǒng)模型_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、陳江平Software Engineering, 8th edition. Chapter 8 Slide 1第8章 系統(tǒng)模型陳江平Software Engineering, 8th edition. Chapter 8 Slide 2目標l理解為什么確立系統(tǒng)的邊界和對系統(tǒng)在上下文建模是重要的;l理解行為建模、數(shù)據(jù)建模和對象建模等概念;l介紹統(tǒng)一建模語言(UML)中定義的一些符號;l理解CASE 工作臺是如何支持系統(tǒng)建模的。陳江平Software Engineering, 8th edition. Chapter 8 Slide 3內(nèi)容l上下文建模l行為模型l數(shù)據(jù)模型l對象模型l結構化方法陳江

2、平Software Engineering, 8th edition. Chapter 8 Slide 4系統(tǒng)建模l系統(tǒng)建模有助于分析者增進對系統(tǒng)功能的理解,這些模型用來與客戶進行通信。l不同的模型從不同的視角去表述系統(tǒng):從外部來看,它是對系統(tǒng)上下文或系統(tǒng)環(huán)境建模。從行為上看,它是對系統(tǒng)行為建模;從結構上看,它是對系統(tǒng)的體系結構和系統(tǒng)處理的數(shù)據(jù)的結構建模。陳江平Software Engineering, 8th edition. Chapter 8 Slide 5系統(tǒng)模型類型l數(shù)據(jù)流模型 說明在系統(tǒng)的不同階段數(shù)據(jù)是如何被處理的。l組成模型 說明系統(tǒng)中的實體是如何由其他實體組成的。l體系結構模型

3、 說明主要的子系統(tǒng)。l分類模型 說明實體間怎樣具有共同特性。l激勵-響應模型 說明系統(tǒng)對來自內(nèi)部和外部的事件的響應。陳江平Software Engineering, 8th edition. Chapter 8 Slide 6上下文模型( Context models )l在需求導出和分析過程的早期階段,應該首先界定系統(tǒng)的邊界,與系統(tǒng)信息持有者一起明確系統(tǒng)是什么以及系統(tǒng)的環(huán)境是什么。l社會性和組織性的關注可能會影響系統(tǒng)邊界的決定。l體系結構模型描述系統(tǒng)的環(huán)境,不描述其他子系統(tǒng)之間的關聯(lián)關系,也不描述要分析的系統(tǒng)本身。陳江平Software Engineering, 8th edition. C

4、hapter 8 Slide 7ATM系統(tǒng)的上下文陳江平Software Engineering, 8th edition. Chapter 8 Slide 8過程模型( Process models )l過程模型給出系統(tǒng)中支持的各種活動,這些活動是系統(tǒng)所支持的。l數(shù)據(jù)流模型給出數(shù)據(jù)如何在系統(tǒng)間傳輸。陳江平Software Engineering, 8th edition. Chapter 8 Slide 9設備采購的過程模型陳江平Software Engineering, 8th edition. Chapter 8 Slide 10行為模型( Behavioural models )l行為

5、模型用來描述系統(tǒng)的所有行為。l兩類行為模型:數(shù)據(jù)流模型,用來描述系統(tǒng)中的數(shù)據(jù)處理過程 ;狀態(tài)機模型,用以描述系統(tǒng)如何對事件做出響應 。l這兩種模型顯示了系統(tǒng)的不同方面,所以兩者都被用來描述系統(tǒng)的行為。陳江平Software Engineering, 8th edition. Chapter 8 Slide 11數(shù)據(jù)處理模型l數(shù)據(jù)流圖 (DFDs) 用來建模系統(tǒng)的數(shù)據(jù)處理方式。l數(shù)據(jù)流模型用來描述數(shù)據(jù)是怎樣一步步在處理序列中流動的。l數(shù)據(jù)流模型是許多分析方法中的固有部分。l數(shù)據(jù)流圖使用的是一些淺顯易懂的符號。l數(shù)據(jù)流模型展示了系統(tǒng)中端到端的處理過程。陳江平Software Engineering

6、, 8th edition. Chapter 8 Slide 12訂單處理的數(shù)據(jù)流圖陳江平Software Engineering, 8th edition. Chapter 8 Slide 13數(shù)據(jù)流圖( Data flow diagrams )l數(shù)據(jù)流模型(DFDs model)是從功能角度來看待系統(tǒng)而得到的模型表示 。l數(shù)據(jù)流模型的價值主要體現(xiàn)在它對系統(tǒng)中的數(shù)據(jù)和數(shù)據(jù)在特定的過程中的流動的跟蹤和記錄,有助于系統(tǒng)分析人員理解系統(tǒng)中到底發(fā)生了什么。l數(shù)據(jù)流圖也可以用來顯示一個系統(tǒng)在它的環(huán)境中,與其他系統(tǒng)進行的數(shù)據(jù)交換。陳江平Software Engineering, 8th edition.

7、 Chapter 8 Slide 14胰島素泵中的數(shù)據(jù)流圖陳江平Software Engineering, 8th edition. Chapter 8 Slide 15狀態(tài)機模型( State machine models )l狀態(tài)機模型是一種描述系統(tǒng)對內(nèi)部或外部事件響應的行為模型。l這種模型適合用來描述實時系統(tǒng),因為這類系統(tǒng)多是由外界環(huán)境的刺激而驅動的。l狀態(tài)機模型用節(jié)點表示系統(tǒng)狀態(tài),用節(jié)點之間的弧來表示事件。當一個事件發(fā)生的時候,系統(tǒng)從一個狀態(tài)轉移到一個新的狀態(tài)。l狀態(tài)圖表(Statecharts)是UML中的主要部分,經(jīng)常用來描述狀態(tài)機模型 。陳江平Software Engineeri

8、ng, 8th edition. Chapter 8 Slide 16狀態(tài)圖表( Statecharts )l它允許將一個模型分解成多個子模型(見下一頁);l在某個狀態(tài)內(nèi)以“do”開頭的一個簡單的動作描述表示在該狀態(tài)下系統(tǒng)的行為。l狀態(tài)圖可以用表格加以補充,來描述狀態(tài)和激勵。陳江平Software Engineering, 8th edition. Chapter 8 Slide 17簡單微波爐的狀態(tài)機模型陳江平Software Engineering, 8th edition. Chapter 8 Slide 18微波爐狀態(tài)描述StateDescriptionWaitingThe oven

9、is waiting for input. The display shows the current time.Half powerThe oven power is set to 300 watts. The display shows H alf power .Full powerThe oven power is set to 600 watts. The display shows F ull power .Set timeThe cooking time is set to the user s input value. The display shows the cooking

10、timeselected and is updated as the time is set.DisabledOven operation is disabled for safety. Interior oven light is on. Display shows N otready .EnabledOven operation is enabled. Interior oven light is off. Display shows Ready to cook .OperationOven in operation. Interior oven light is on. Display

11、shows the timer countdown. Oncompletion of cooking, the buzzer is sounded for 5 seconds. Oven light is on. Displayshows Cooking complete w hile buzzer is sounding.陳江平Software Engineering, 8th edition. Chapter 8 Slide 19微波爐激勵描述StimulusDescriptionHalf powerThe user has pressed the half power buttonFul

12、l powerThe user has pressed the full power buttonTimerThe user has pressed one of the timer buttonsNumberThe user has pressed a numeric keyDoor openThe oven door switch is not closedDoor closedThe oven door switch is closedStartThe user has pressed the start buttonCancelThe user has pressed the canc

13、el button陳江平Software Engineering, 8th edition. Chapter 8 Slide 20微波爐操作陳江平Software Engineering, 8th edition. Chapter 8 Slide 21語義數(shù)據(jù)模型l語義數(shù)據(jù)模型( Semantic data models )用來描述系統(tǒng)處理的數(shù)據(jù)的邏輯結構。l最廣泛采用的數(shù)據(jù)建模技術是實體-關系-屬性建模,它描述數(shù)據(jù)實體、關聯(lián)屬性以及實體之間的關系。l實體-關系模型在數(shù)據(jù)庫設計中被廣泛采用。使用關系型數(shù)據(jù)庫,它很容易得到實現(xiàn) 。lUML沒有為此模型引進專門的描述符號,其開發(fā)過程和模型數(shù)據(jù)用對象

14、和對象間的關系來表達。陳江平Software Engineering, 8th edition. Chapter 8 Slide 22LIBSYS系統(tǒng)的語義數(shù)據(jù)模型陳江平Software Engineering, 8th edition. Chapter 8 Slide 23數(shù)據(jù)字典l數(shù)據(jù)字典(Data dictionaries)是系統(tǒng)的模型中出現(xiàn)的所有名字的羅列,除名字之外還包括對有關命令實體,關系和屬性的描述 。l優(yōu)點它支持名字管理,避免了名字被重用;作為連接軟件分析、設計、實現(xiàn)和進化各階段的開發(fā)機構的信息存儲。l許多支持系統(tǒng)建模的 CASE 工具也支持數(shù)據(jù)字典。陳江平Software E

15、ngineering, 8th edition. Chapter 8 Slide 24數(shù)據(jù)字典實體的例子NameDescriptionTypeDateArticleDetails of the published article that may be ordered bypeople using LIBSYS.Entity30.12.2002authorsThe names of the authors of the article who may be duea share of the fee.Attribute30.12.2002BuyerThe person or organisat

16、ion that orders a co py of thearticle.Entity30.12.2002fee-payable-toA 1:1 relationship between Article and the CopyrightAgency who should be paid the copyright fee.Relation29.12.2002Address(Buyer)The address of the buyer. This is used to any paperbilling information that is required.Attribute31.12.2

17、002陳江平Software Engineering, 8th edition. Chapter 8 Slide 25對象模型l對象模型(Object models)用對象類和它們的關系來描述系統(tǒng) l對象類是對具有相同屬性、服務和操作的一組對象的抽象。l不同的對象模型有:繼承模型(Inheritance models);聚合模型(Aggregation models);交互模型(Interaction models)。陳江平Software Engineering, 8th edition. Chapter 8 Slide 26對象模型l對象模型是一種映射真實世界中實體及其操作的自然方式。l實

18、體越抽象,用這種方法來建模就越困難。l對象類識別被看作是一個很難的過程,它需要對應用領域有一個深層次的理解。l反映應用領域實體的對象類是可以通過系統(tǒng)復用的。陳江平Software Engineering, 8th edition. Chapter 8 Slide 27繼承模型l繼承模型把領域對象類組織成一個層次結構。l最一般的對象類居于層次關系的頂端。l較專門的對象類既繼承通用類中的屬性和服務,又具有自身的屬性和服務。l設計類層次不是件容易的事,分析人員需要對所要分析的領域有充分的了解。陳江平Software Engineering, 8th edition. Chapter 8 Slide

19、28對象模型和 UMLlUML是由開發(fā)人員集成的一種標準表示,廣泛應用于面向對象的分析和設計方法中。lUML已經(jīng)成為了對象建模的標準。l符號上面一欄是對象類的名字,中間一欄是對象類的屬性,下面一欄是對象類中的操作;對象類之間的關系(稱為關聯(lián))用線路連接對象來表示;繼承是指泛化關系,在繼承圖中使用“向上”而不是“向下”的箭頭來表示。陳江平Software Engineering, 8th edition. Chapter 8 Slide 29圖書館系統(tǒng)的部分類層次陳江平Software Engineering, 8th edition. Chapter 8 Slide 30用戶類層次陳江平Sof

20、tware Engineering, 8th edition. Chapter 8 Slide 31多重繼承l(wèi)多重繼承是一個對象可以同時從多個類繼承屬性和操作,這樣它的屬性就是所有父類的屬性和操作的和。l這可能會導致語義沖突,也就是在不同的超類中,有相同的名字的屬性或服務有不同的語義。l多繼承使得類的層次組織更復雜。陳江平Software Engineering, 8th edition. Chapter 8 Slide 32多重繼承陳江平Software Engineering, 8th edition. Chapter 8 Slide 33對象聚合l聚合模型( Aggregation mo

21、dels )顯示了對象類是如何由其他一組對象組合而成的 。l聚合模型類似于語義數(shù)據(jù)模型中的部分-整體關系。陳江平Software Engineering, 8th edition. Chapter 8 Slide 34表示課程的聚合對象陳江平Software Engineering, 8th edition. Chapter 8 Slide 35對象行為建模l行為模型(behavioural model)顯示了對象是如何與其他對象進行交互來產(chǎn)生某種特殊的系統(tǒng)行為的,可以用用例來描述。l在UML中,序列圖(Sequence diagrams) 能描述在用例當中所包含的動作的序列,協(xié)作圖( col

22、laboration diagrams )描述在對象間所交換的消息的序列。陳江平Software Engineering, 8th edition. Chapter 8 Slide 36電子科目的發(fā)放陳江平Software Engineering, 8th edition. Chapter 8 Slide 37結構化方法l結構化方法(Structured methods )是一種系統(tǒng)建模方法,對現(xiàn)有系統(tǒng)和將要建立的系統(tǒng)建立模型。l方法定義一系列模型,一個過程,借此能到處這些模型,還有可以應用于模型的一組規(guī)則和方針。lCASE 工具作為結構化方法的一部分,支持系統(tǒng)建模 。陳江平Software Engineering, 8th edition. Chapter 8 Slide 38結構化方法的弱點l它們不能對非功能系統(tǒng)需求的理解和建模提供有效支持。l它們是難以區(qū)分的,因為它們不總是能包括一些方針來幫助用戶確定是否一個方法適合他們的特殊問題。l它們通常產(chǎn)生大量的文檔。l所產(chǎn)生的模型粒度太細,用戶通常發(fā)現(xiàn)這些模型很難理解

溫馨提示

  • 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

提交評論