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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

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

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

5、模型用來(lái)描述系統(tǒng)的所有行為。l兩類行為模型:數(shù)據(jù)流模型,用來(lái)描述系統(tǒng)中的數(shù)據(jù)處理過(guò)程 ;狀態(tài)機(jī)模型,用以描述系統(tǒng)如何對(duì)事件做出響應(yīng) 。l這兩種模型顯示了系統(tǒng)的不同方面,所以兩者都被用來(lái)描述系統(tǒng)的行為。陳江平Software Engineering, 8th edition. Chapter 8 Slide 11數(shù)據(jù)處理模型l數(shù)據(jù)流圖 (DFDs) 用來(lái)建模系統(tǒng)的數(shù)據(jù)處理方式。l數(shù)據(jù)流模型用來(lái)描述數(shù)據(jù)是怎樣一步步在處理序列中流動(dòng)的。l數(shù)據(jù)流模型是許多分析方法中的固有部分。l數(shù)據(jù)流圖使用的是一些淺顯易懂的符號(hào)。l數(shù)據(jù)流模型展示了系統(tǒng)中端到端的處理過(guò)程。陳江平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)是從功能角度來(lái)看待系統(tǒng)而得到的模型表示 。l數(shù)據(jù)流模型的價(jià)值主要體現(xiàn)在它對(duì)系統(tǒng)中的數(shù)據(jù)和數(shù)據(jù)在特定的過(guò)程中的流動(dòng)的跟蹤和記錄,有助于系統(tǒng)分析人員理解系統(tǒng)中到底發(fā)生了什么。l數(shù)據(jù)流圖也可以用來(lái)顯示一個(gè)系統(tǒng)在它的環(huán)境中,與其他系統(tǒng)進(jìn)行的數(shù)據(jù)交換。陳江平Software Engineering, 8th edition.

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

8、ng, 8th edition. Chapter 8 Slide 16狀態(tài)圖表( Statecharts )l它允許將一個(gè)模型分解成多個(gè)子模型(見(jiàn)下一頁(yè));l在某個(gè)狀態(tài)內(nèi)以“do”開(kāi)頭的一個(gè)簡(jiǎn)單的動(dòng)作描述表示在該狀態(tài)下系統(tǒng)的行為。l狀態(tài)圖可以用表格加以補(bǔ)充,來(lái)描述狀態(tài)和激勵(lì)。陳江平Software Engineering, 8th edition. Chapter 8 Slide 17簡(jiǎn)單微波爐的狀態(tài)機(jī)模型陳江平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微波爐激勵(lì)描述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語(yǔ)義數(shù)據(jù)模型l語(yǔ)義數(shù)據(jù)模型( Semantic data models )用來(lái)描述系統(tǒng)處理的數(shù)據(jù)的邏輯結(jié)構(gòu)。l最廣泛采用的數(shù)據(jù)建模技術(shù)是實(shí)體-關(guān)系-屬性建模,它描述數(shù)據(jù)實(shí)體、關(guān)聯(lián)屬性以及實(shí)體之間的關(guān)系。l實(shí)體-關(guān)系模型在數(shù)據(jù)庫(kù)設(shè)計(jì)中被廣泛采用。使用關(guān)系型數(shù)據(jù)庫(kù),它很容易得到實(shí)現(xiàn) 。lUML沒(méi)有為此模型引進(jìn)專門(mén)的描述符號(hào),其開(kāi)發(fā)過(guò)程和模型數(shù)據(jù)用對(duì)象

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

15、ngineering, 8th edition. Chapter 8 Slide 24數(shù)據(jù)字典實(shí)體的例子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對(duì)象模型l對(duì)象模型(Object models)用對(duì)象類和它們的關(guān)系來(lái)描述系統(tǒng) l對(duì)象類是對(duì)具有相同屬性、服務(wù)和操作的一組對(duì)象的抽象。l不同的對(duì)象模型有:繼承模型(Inheritance models);聚合模型(Aggregation models);交互模型(Interaction models)。陳江平Software Engineering, 8th edition. Chapter 8 Slide 26對(duì)象模型l對(duì)象模型是一種映射真實(shí)世界中實(shí)體及其操作的自然方式。l實(shí)

18、體越抽象,用這種方法來(lái)建模就越困難。l對(duì)象類識(shí)別被看作是一個(gè)很難的過(guò)程,它需要對(duì)應(yīng)用領(lǐng)域有一個(gè)深層次的理解。l反映應(yīng)用領(lǐng)域?qū)嶓w的對(duì)象類是可以通過(guò)系統(tǒng)復(fù)用的。陳江平Software Engineering, 8th edition. Chapter 8 Slide 27繼承模型l繼承模型把領(lǐng)域?qū)ο箢惤M織成一個(gè)層次結(jié)構(gòu)。l最一般的對(duì)象類居于層次關(guān)系的頂端。l較專門(mén)的對(duì)象類既繼承通用類中的屬性和服務(wù),又具有自身的屬性和服務(wù)。l設(shè)計(jì)類層次不是件容易的事,分析人員需要對(duì)所要分析的領(lǐng)域有充分的了解。陳江平Software Engineering, 8th edition. Chapter 8 Slide

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

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

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論