第7章 設(shè)計(jì)與實(shí)現(xiàn)_第1頁
第7章 設(shè)計(jì)與實(shí)現(xiàn)_第2頁
第7章 設(shè)計(jì)與實(shí)現(xiàn)_第3頁
第7章 設(shè)計(jì)與實(shí)現(xiàn)_第4頁
第7章 設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1第七章 設(shè)計(jì)與實(shí)現(xiàn)本章的目標(biāo)是介紹運(yùn)用UML進(jìn)行面向?qū)ο筌浖O(shè)計(jì),并了解系統(tǒng)實(shí)現(xiàn)時(shí)的問題。 l 理解一般的面向?qū)ο笤O(shè)計(jì)過程中最重要的活動(dòng);l 理解用于記錄面向?qū)ο笤O(shè)計(jì)的一些不同的模型;l 知道設(shè)計(jì)模式的思想,以及如何將其用于設(shè)計(jì)知識(shí)和經(jīng)驗(yàn)的復(fù)用;l 了解實(shí)現(xiàn)軟件時(shí)需要考慮的關(guān)鍵因素,包括軟件復(fù)用和開源開發(fā)。 軟件設(shè)計(jì)和實(shí)現(xiàn)是軟件工程過程中的一個(gè)階段,在此階段開發(fā)出可執(zhí)行的軟件系統(tǒng)。對(duì)簡單的系統(tǒng)來說,軟件設(shè)計(jì)和實(shí)現(xiàn)就是軟件過程的全部,其他的所有活動(dòng)都融匯在這個(gè)過程中。但是,對(duì)于大型的系統(tǒng),軟件設(shè)計(jì)和實(shí)現(xiàn)只是一系列軟件工程過程(如需求工程、檢驗(yàn)和有效性驗(yàn)證等)中的一個(gè)。47.1 利用UML進(jìn)行面

2、向?qū)ο笤O(shè)計(jì)1 系統(tǒng)上下文和與系統(tǒng)外部的交互系統(tǒng)上下文和與系統(tǒng)外部的交互2 體系結(jié)構(gòu)的設(shè)計(jì)體系結(jié)構(gòu)的設(shè)計(jì)3 對(duì)象識(shí)別對(duì)象識(shí)別4 設(shè)計(jì)模型設(shè)計(jì)模型5 對(duì)象接口描述對(duì)象接口描述4 統(tǒng)一建模語言(UML)提供對(duì)面向?qū)ο笤O(shè)計(jì)的廣泛支持。開發(fā)系統(tǒng)設(shè)計(jì)的過程,就是由概念設(shè)計(jì)轉(zhuǎn)變?yōu)樵敿?xì)的面向?qū)ο蟮脑O(shè)計(jì),需要完成如下幾個(gè)步驟:案例1:“野外氣象站系統(tǒng)”面向?qū)ο蟮脑O(shè)計(jì)Wilderness weather station野外氣象站系統(tǒng)是一個(gè)數(shù)據(jù)收集系統(tǒng),收野外氣象站系統(tǒng)是一個(gè)數(shù)據(jù)收集系統(tǒng),收集偏遠(yuǎn)地區(qū)的天氣條件數(shù)據(jù)的實(shí)時(shí)系統(tǒng)。集偏遠(yuǎn)地區(qū)的天氣條件數(shù)據(jù)的實(shí)時(shí)系統(tǒng)。 野外氣象站隸屬于氣象制圖系統(tǒng)中的一個(gè)子系野外氣象站隸

3、屬于氣象制圖系統(tǒng)中的一個(gè)子系統(tǒng)。該系統(tǒng)自動(dòng)地收集氣象數(shù)據(jù)來生成氣象圖。統(tǒng)。該系統(tǒng)自動(dòng)地收集氣象數(shù)據(jù)來生成氣象圖。以以“野外氣象站系統(tǒng)野外氣象站系統(tǒng)”這個(gè)案例的設(shè)計(jì)部這個(gè)案例的設(shè)計(jì)部分來講解面向?qū)ο蟮脑O(shè)計(jì)活動(dòng)。分來講解面向?qū)ο蟮脑O(shè)計(jì)活動(dòng)。氣象站子系統(tǒng)設(shè)計(jì)過程氣象站子系統(tǒng)設(shè)計(jì)過程氣象制圖系統(tǒng)氣象制圖系統(tǒng)是一個(gè)復(fù)雜的系統(tǒng)。以其中是一個(gè)復(fù)雜的系統(tǒng)。以其中的的氣象站子系統(tǒng)氣象站子系統(tǒng)的面向?qū)ο笤O(shè)計(jì)過程為例的面向?qū)ο笤O(shè)計(jì)過程為例進(jìn)行面向?qū)ο笤O(shè)計(jì)過程的說明。進(jìn)行面向?qū)ο笤O(shè)計(jì)過程的說明。面向?qū)ο竺嫦驅(qū)ο笤O(shè)計(jì)過程階段如下:設(shè)計(jì)過程階段如下:1.了解并定義上下文和系統(tǒng)的外部交互了解并定義上下文和系統(tǒng)的外部交互2.

4、設(shè)計(jì)系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)系統(tǒng)體系結(jié)構(gòu)3.識(shí)別出系統(tǒng)中的主要對(duì)象識(shí)別出系統(tǒng)中的主要對(duì)象4.開發(fā)設(shè)計(jì)模型開發(fā)設(shè)計(jì)模型5.描述對(duì)象接口描述對(duì)象接口step1 系統(tǒng)上下文建模型系統(tǒng)上下文建模型目的:了解待開發(fā)軟件和外部環(huán)境之間存在的目的:了解待開發(fā)軟件和外部環(huán)境之間存在的關(guān)系,決定系統(tǒng)所需要具備的功能;決定系統(tǒng)關(guān)系,決定系統(tǒng)所需要具備的功能;決定系統(tǒng)的構(gòu)成,以便它能有效地與環(huán)境進(jìn)行通信。的構(gòu)成,以便它能有效地與環(huán)境進(jìn)行通信。 采用從外部的觀點(diǎn)描述應(yīng)用采用從外部的觀點(diǎn)描述應(yīng)用從系統(tǒng)的用戶和操從系統(tǒng)的用戶和操作員的觀點(diǎn)進(jìn)行描述。這樣描述,就是在定義系統(tǒng)作員的觀點(diǎn)進(jìn)行描述。這樣描述,就是在定義系統(tǒng)的上下文(的上

5、下文(Context)。)。使用關(guān)聯(lián)模型表示系統(tǒng)的靜態(tài)體系結(jié)構(gòu)使用關(guān)聯(lián)模型表示系統(tǒng)的靜態(tài)體系結(jié)構(gòu)用關(guān)聯(lián)來表示實(shí)體之間的關(guān)系,只需用簡單的用關(guān)聯(lián)來表示實(shí)體之間的關(guān)系,只需用簡單的方框圖,就能描述系統(tǒng)總的體系結(jié)構(gòu)。方框圖,就能描述系統(tǒng)總的體系結(jié)構(gòu)。系統(tǒng)上下文的描述方法系統(tǒng)上下文的描述方法每個(gè)氣象站所在環(huán)境中的系統(tǒng)都包含氣象信息系統(tǒng)、機(jī)載衛(wèi)星系統(tǒng)和控制系統(tǒng)。連線上的基數(shù)關(guān)系說明環(huán)境中有一個(gè)控制系統(tǒng),但有多個(gè)氣象站,以及一個(gè)衛(wèi)星和一個(gè)通用氣象信息系統(tǒng)。用例模型實(shí)現(xiàn)對(duì)系統(tǒng)中的交互建模使用使用UML中的用例模型可以實(shí)現(xiàn)對(duì)系統(tǒng)和中的用例模型可以實(shí)現(xiàn)對(duì)系統(tǒng)和環(huán)境的交互建模環(huán)境的交互建模用用例模型建立系統(tǒng)和環(huán)境

6、間的交互模型。用用例模型建立系統(tǒng)和環(huán)境間的交互模型。氣象站的用例模型給出了通過氣象站與外部實(shí)氣象站的用例模型給出了通過氣象站與外部實(shí)體間的交互來開啟和關(guān)閉、上報(bào)采集的數(shù)據(jù)、體間的交互來開啟和關(guān)閉、上報(bào)采集的數(shù)據(jù)、儀器測試和校準(zhǔn)。儀器測試和校準(zhǔn)。氣象站系統(tǒng)的用例模型氣象站系統(tǒng)的用例模型用例圖用例圖能用簡單能用簡單的自然語言來描述的的自然語言來描述的交互過程,這有助于交互過程,這有助于識(shí)別系統(tǒng)中的對(duì)象和識(shí)別系統(tǒng)中的對(duì)象和操作。操作。只有結(jié)合用例描述的只有結(jié)合用例描述的用例圖才能表達(dá)豐富用例圖才能表達(dá)豐富的含義。見下頁。的含義。見下頁。從這個(gè)報(bào)告用例中可以看出:從這個(gè)報(bào)告用例中可以看出:1.需要一個(gè)

7、代表采集天氣數(shù)據(jù)的儀器對(duì)象需要一個(gè)代表采集天氣數(shù)據(jù)的儀器對(duì)象2.需要一個(gè)代表對(duì)天氣數(shù)據(jù)總結(jié)的對(duì)象需要一個(gè)代表對(duì)天氣數(shù)據(jù)總結(jié)的對(duì)象3.還需要兩個(gè)操作還需要兩個(gè)操作請(qǐng)求氣象數(shù)據(jù)的操作和發(fā)送氣象數(shù)據(jù)請(qǐng)求氣象數(shù)據(jù)的操作和發(fā)送氣象數(shù)據(jù)的操作。的操作。 step2體系結(jié)構(gòu)的設(shè)計(jì)體系結(jié)構(gòu)的設(shè)計(jì)設(shè)計(jì)體系結(jié)構(gòu)的前提條件設(shè)計(jì)體系結(jié)構(gòu)的前提條件1.完成軟件系統(tǒng)中的交互設(shè)計(jì)完成軟件系統(tǒng)中的交互設(shè)計(jì)2.完成系統(tǒng)環(huán)境的定義完成系統(tǒng)環(huán)境的定義3.具備有關(guān)體系結(jié)構(gòu)設(shè)計(jì)的一般性知識(shí)和具備有關(guān)體系結(jié)構(gòu)設(shè)計(jì)的一般性知識(shí)和具體的領(lǐng)域知識(shí)。具體的領(lǐng)域知識(shí)。如何考慮系統(tǒng)的非功能性需求如何考慮系統(tǒng)的非功能性需求?1.用例與基于用例的模型主

8、要注重的是功能性設(shè)計(jì)用例與基于用例的模型主要注重的是功能性設(shè)計(jì)在大多數(shù)面向?qū)ο蠓椒ㄖ?,都通過用例來獲取系統(tǒng)的在大多數(shù)面向?qū)ο蠓椒ㄖ校纪ㄟ^用例來獲取系統(tǒng)的所需功能性需求。所需功能性需求。2.用例設(shè)計(jì)之后是體系結(jié)構(gòu)設(shè)計(jì)。用例設(shè)計(jì)之后是體系結(jié)構(gòu)設(shè)計(jì)。n體系結(jié)構(gòu)是確保滿足非功能需求(如可維護(hù)性、效體系結(jié)構(gòu)是確保滿足非功能需求(如可維護(hù)性、效率和可靠性)的主要工具。率和可靠性)的主要工具。3.一個(gè)良好的設(shè)計(jì),應(yīng)該同時(shí)采用用例和其他獲取功能一個(gè)良好的設(shè)計(jì),應(yīng)該同時(shí)采用用例和其他獲取功能性需求的方法,并通過使用構(gòu)架產(chǎn)生一個(gè)符合非功能性需求的方法,并通過使用構(gòu)架產(chǎn)生一個(gè)符合非功能需求的設(shè)計(jì)。需求的設(shè)計(jì)。氣象

9、站系統(tǒng)的高層體系結(jié)構(gòu)非功能需求考慮子系統(tǒng)之間的可靠的互聯(lián)和通信實(shí)時(shí)操作的支持氣象站系統(tǒng)的高層體系結(jié)構(gòu)分布式體系結(jié)構(gòu)這種體系結(jié)構(gòu)的主要優(yōu)點(diǎn)在于它易于支持不同配置的子系統(tǒng),因?yàn)橄⒌陌l(fā)送方無需特別指定消息的接收子系統(tǒng)。數(shù)據(jù)采集系統(tǒng)體系結(jié)構(gòu)Transmitter和Receiver對(duì)象與通信管理有關(guān),WeatherData對(duì)象封裝儀器采集的信息并將其傳輸給氣象信息系統(tǒng)。這種結(jié)構(gòu)屬于生產(chǎn)者-消費(fèi)者模式,。step3對(duì)象類的識(shí)別對(duì)象類的識(shí)別體系結(jié)構(gòu)的設(shè)計(jì)過程,也是識(shí)別對(duì)象類的過程。體系結(jié)構(gòu)的設(shè)計(jì)過程,也是識(shí)別對(duì)象類的過程。如何識(shí)別對(duì)象類如何識(shí)別對(duì)象類 ?1.對(duì)系統(tǒng)的自然語言描述做文法分析。對(duì)系統(tǒng)的自然語言

10、描述做文法分析。對(duì)象和屬性是名詞,操對(duì)象和屬性是名詞,操作或服務(wù)是動(dòng)詞作或服務(wù)是動(dòng)詞 2.使用應(yīng)用領(lǐng)域中的真實(shí)實(shí)體名字。使用應(yīng)用領(lǐng)域中的真實(shí)實(shí)體名字。例如飛機(jī)、職務(wù)(管理者)、事件(請(qǐng)求)、交互(會(huì)例如飛機(jī)、職務(wù)(管理者)、事件(請(qǐng)求)、交互(會(huì)議)、位置(辦公室)、機(jī)構(gòu)單元(公司)議)、位置(辦公室)、機(jī)構(gòu)單元(公司)現(xiàn)存系統(tǒng)的信息存儲(chǔ)結(jié)構(gòu)可以用來識(shí)別對(duì)象?,F(xiàn)存系統(tǒng)的信息存儲(chǔ)結(jié)構(gòu)可以用來識(shí)別對(duì)象。3.基于情景(用例)的分析識(shí)別基于情景(用例)的分析識(shí)別識(shí)別出系統(tǒng)使用的各個(gè)情景,分析情景,識(shí)別出需要的識(shí)別出系統(tǒng)使用的各個(gè)情景,分析情景,識(shí)別出需要的對(duì)象、屬性和操作。對(duì)象、屬性和操作。識(shí)別氣象站

11、系統(tǒng)中的對(duì)象類識(shí)別氣象站系統(tǒng)中的對(duì)象類一個(gè)氣象站系統(tǒng)是一套用來控制一些設(shè)備的軟件包,通過儀器收集氣象數(shù)據(jù),并進(jìn)行數(shù)據(jù)處理、結(jié)果傳輸給氣象系統(tǒng)以便進(jìn)一步處理。該儀器包括空中和地表溫度計(jì)( thermometersthermometers ),風(fēng)速計(jì)( anemometeranemometer ),風(fēng)向標(biāo)( wind vanewind vane ),氣壓計(jì)( barometerbarometer)。數(shù)據(jù)定期收集。當(dāng)發(fā)出一個(gè)命令傳輸氣象數(shù)據(jù),氣象站的數(shù)據(jù)采集過程和總結(jié)。綜述數(shù)據(jù)傳輸?shù)接?jì)算機(jī)時(shí),收到請(qǐng)求映射。氣象站系統(tǒng)中的對(duì)象類氣象站系統(tǒng)中的對(duì)象類step4設(shè)計(jì)模型設(shè)計(jì)模型設(shè)計(jì)模型是系統(tǒng)需求和系統(tǒng)實(shí)現(xiàn)

12、之間的橋設(shè)計(jì)模型是系統(tǒng)需求和系統(tǒng)實(shí)現(xiàn)之間的橋梁梁1.描述系統(tǒng)中包含的對(duì)象或?qū)ο箢?,以及它們描述系統(tǒng)中包含的對(duì)象或?qū)ο箢?,以及它們之間的不同類型關(guān)系。之間的不同類型關(guān)系。2.對(duì)設(shè)計(jì)模型進(jìn)行抽象,刪去模型與系統(tǒng)需求對(duì)設(shè)計(jì)模型進(jìn)行抽象,刪去模型與系統(tǒng)需求之間的不必要的細(xì)節(jié)關(guān)聯(lián)之間的不必要的細(xì)節(jié)關(guān)聯(lián)3.消除相互沖突的需求消除相互沖突的需求在不同細(xì)節(jié)層次開發(fā)在不同細(xì)節(jié)層次開發(fā)不同的模型不同的模型 。4.為程序員提供充分的細(xì)節(jié)。為程序員提供充分的細(xì)節(jié)。系統(tǒng)描述者、設(shè)計(jì)者和程序員之間存在直接或系統(tǒng)描述者、設(shè)計(jì)者和程序員之間存在直接或間接的聯(lián)系。間接的聯(lián)系。設(shè)計(jì)的一個(gè)重要步驟是要決定需要什么樣的設(shè)設(shè)計(jì)的一個(gè)重

13、要步驟是要決定需要什么樣的設(shè)計(jì)模型和設(shè)計(jì)模型的細(xì)節(jié)層次計(jì)模型和設(shè)計(jì)模型的細(xì)節(jié)層次依賴所開發(fā)依賴所開發(fā)的系統(tǒng)類型。的系統(tǒng)類型。 順序數(shù)據(jù)處理系統(tǒng)和嵌入式實(shí)時(shí)系統(tǒng)需要使用不順序數(shù)據(jù)處理系統(tǒng)和嵌入式實(shí)時(shí)系統(tǒng)需要使用不同的設(shè)計(jì)模型。同的設(shè)計(jì)模型。減少模型使用的數(shù)量可降低設(shè)計(jì)的成本和完成減少模型使用的數(shù)量可降低設(shè)計(jì)的成本和完成設(shè)計(jì)過程所需要的時(shí)間。設(shè)計(jì)過程所需要的時(shí)間。 系統(tǒng)設(shè)計(jì)中注意的問題系統(tǒng)設(shè)計(jì)中注意的問題1.靜態(tài)模型靜態(tài)模型通過系統(tǒng)對(duì)象類及其之間的通過系統(tǒng)對(duì)象類及其之間的關(guān)系來描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。關(guān)系來描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。 在這一階段需要記錄的重要關(guān)系有泛化關(guān)在這一階段需要記錄的重要關(guān)系有泛化關(guān)系

14、、使用系、使用/被使用關(guān)系和組成關(guān)系。被使用關(guān)系和組成關(guān)系。2.動(dòng)態(tài)模型動(dòng)態(tài)模型描述系統(tǒng)的動(dòng)態(tài)結(jié)構(gòu)和系統(tǒng)描述系統(tǒng)的動(dòng)態(tài)結(jié)構(gòu)和系統(tǒng)對(duì)象(不是對(duì)象類)之間的交互。對(duì)象(不是對(duì)象類)之間的交互。 需要記錄的交互包括由對(duì)象請(qǐng)求的服務(wù)序列以需要記錄的交互包括由對(duì)象請(qǐng)求的服務(wù)序列以及系統(tǒng)狀態(tài)與這些對(duì)象交互之間的關(guān)聯(lián)方式。及系統(tǒng)狀態(tài)與這些對(duì)象交互之間的關(guān)聯(lián)方式。兩類設(shè)計(jì)模型兩類設(shè)計(jì)模型本系統(tǒng)中用到的幾種模型1.子系統(tǒng)模型子系統(tǒng)模型說明對(duì)象的邏輯分組,每個(gè)分組構(gòu)說明對(duì)象的邏輯分組,每個(gè)分組構(gòu)成一個(gè)子系統(tǒng)。使用類的圖表格式來表示,每個(gè)成一個(gè)子系統(tǒng)。使用類的圖表格式來表示,每個(gè)子系統(tǒng)是一個(gè)包的形式存在。子系統(tǒng)模型

15、是靜態(tài)子系統(tǒng)是一個(gè)包的形式存在。子系統(tǒng)模型是靜態(tài)模型。模型。2.序列模型序列模型說明對(duì)象交互的序列。使用說明對(duì)象交互的序列。使用UML序列序列或協(xié)作圖來表示。序列模型是動(dòng)態(tài)模型?;騾f(xié)作圖來表示。序列模型是動(dòng)態(tài)模型。3.狀態(tài)機(jī)模型狀態(tài)機(jī)模型說明單個(gè)對(duì)象如何響應(yīng)事件來改變說明單個(gè)對(duì)象如何響應(yīng)事件來改變它們的狀態(tài)。它們使用它們的狀態(tài)。它們使用UML的狀態(tài)圖來表示。的狀態(tài)圖來表示。子系統(tǒng)模型是一種最有幫助的靜態(tài)模型,因?yàn)樗f子系統(tǒng)模型是一種最有幫助的靜態(tài)模型,因?yàn)樗f明了設(shè)計(jì)如何由一組邏輯上相關(guān)聯(lián)的對(duì)象來構(gòu)成。明了設(shè)計(jì)如何由一組邏輯上相關(guān)聯(lián)的對(duì)象來構(gòu)成。序列圖:記錄對(duì)象交互發(fā)生的序列1.參與交互的對(duì)象

16、水平地排列,每個(gè)對(duì)象有一條垂直的參與交互的對(duì)象水平地排列,每個(gè)對(duì)象有一條垂直的線條與之連接。線條與之連接。2.時(shí)間以垂直方向表示,時(shí)間的進(jìn)展是沿著垂直的虛線時(shí)間以垂直方向表示,時(shí)間的進(jìn)展是沿著垂直的虛線向下。向下。3.對(duì)象之間的交互表示為帶有標(biāo)號(hào)的箭頭,該箭頭是與對(duì)象之間的交互表示為帶有標(biāo)號(hào)的箭頭,該箭頭是與垂直線段相連的。注意:這些不是數(shù)據(jù)流,而是表示垂直線段相連的。注意:這些不是數(shù)據(jù)流,而是表示交互中的基本消息或事件。交互中的基本消息或事件。4.對(duì)象生命線上的細(xì)長方形表示這個(gè)對(duì)象是系統(tǒng)中控制對(duì)象生命線上的細(xì)長方形表示這個(gè)對(duì)象是系統(tǒng)中控制對(duì)象的時(shí)間。在這個(gè)長方形的頂端時(shí)刻接管控制,在對(duì)象的時(shí)

17、間。在這個(gè)長方形的頂端時(shí)刻接管控制,在長方形的底部放棄控制。長方形的底部放棄控制。氣象站系統(tǒng)中數(shù)據(jù)采集的操作序列圖氣象站系統(tǒng)中數(shù)據(jù)采集的操作序列圖該圖給出了當(dāng)外部制圖系統(tǒng)從氣象站請(qǐng)求數(shù)據(jù)時(shí)的交互該圖給出了當(dāng)外部制圖系統(tǒng)從氣象站請(qǐng)求數(shù)據(jù)時(shí)的交互序列。序列。 氣象站系統(tǒng)中數(shù)據(jù)采集的操作序列圖氣象站系統(tǒng)中數(shù)據(jù)采集的操作序列圖數(shù)據(jù)收集系統(tǒng)的對(duì)象:數(shù)據(jù)收集系統(tǒng)的對(duì)象: 1.satComms對(duì)象接收從氣象信息系統(tǒng)發(fā)來的天氣報(bào)告請(qǐng)求對(duì)象接收從氣象信息系統(tǒng)發(fā)來的天氣報(bào)告請(qǐng)求,并發(fā)出收到回復(fù)。已發(fā)消息中的實(shí)線箭頭表明外部系統(tǒng)并并發(fā)出收到回復(fù)。已發(fā)消息中的實(shí)線箭頭表明外部系統(tǒng)并不等待回復(fù)不等待回復(fù),繼續(xù)進(jìn)行其他處

18、理。繼續(xù)進(jìn)行其他處理。 2.satComms通過衛(wèi)星鏈接向通過衛(wèi)星鏈接向WetherStation發(fā)送消息發(fā)送消息,創(chuàng)建創(chuàng)建一個(gè)采集氣象數(shù)據(jù)的匯總。一個(gè)采集氣象數(shù)據(jù)的匯總。 3.WeatherStation向向CommsLink對(duì)象發(fā)送包含數(shù)據(jù)匯總的消對(duì)象發(fā)送包含數(shù)據(jù)匯總的消息。這里的虛線箭頭表明息。這里的虛線箭頭表明WeathStation對(duì)象類的實(shí)例會(huì)等對(duì)象類的實(shí)例會(huì)等待回復(fù)。待回復(fù)。 4.CommsLink調(diào)用調(diào)用WeatherData對(duì)象中的對(duì)象中的summarize方法并方法并等待回復(fù)。等待回復(fù)。 5.計(jì)算出氣象數(shù)據(jù)匯總并通過計(jì)算出氣象數(shù)據(jù)匯總并通過CommsLink對(duì)象返回給對(duì)象返

19、回給WeatherStation。 6. WeatherStation 調(diào)用調(diào)用Satcomms對(duì)象對(duì)象,通過衛(wèi)星通信系統(tǒng)通過衛(wèi)星通信系統(tǒng)將匯總數(shù)據(jù)傳輸給氣象信息系統(tǒng)將匯總數(shù)據(jù)傳輸給氣象信息系統(tǒng)。狀態(tài)機(jī)模型狀態(tài)機(jī)模型狀態(tài)機(jī)模型表示單個(gè)對(duì)象對(duì)不同事件的響應(yīng)行狀態(tài)機(jī)模型表示單個(gè)對(duì)象對(duì)不同事件的響應(yīng)行為為示例:示例:Weather Station對(duì)象的狀態(tài)圖,它給出對(duì)象的狀態(tài)圖,它給出了該對(duì)象如何響應(yīng)各種不同服務(wù)的請(qǐng)求。了該對(duì)象如何響應(yīng)各種不同服務(wù)的請(qǐng)求。Shutdown/停機(jī)停機(jī)Transmission/傳輸傳輸Summarising/求和求和氣象站的狀態(tài)圖氣象站的狀態(tài)圖 氣象站系統(tǒng)的狀態(tài)圖描述了

20、氣象站對(duì)象是如何對(duì)請(qǐng)求的各種服務(wù)進(jìn)行響應(yīng)的。狀態(tài)圖的必要性 狀態(tài)圖是一種很有用的系統(tǒng)或?qū)ο蟛僮鞯母邔幽P?。并不是所有的系統(tǒng)對(duì)象都需要狀態(tài)圖。很多系統(tǒng)對(duì)象相對(duì)簡單,使用狀態(tài)圖反而給設(shè)計(jì)增加了不必要的細(xì)節(jié)。step5接口描述接口描述什么是接口(什么是接口(Interface)?)?“接口接口”只是一個(gè)標(biāo)識(shí),它是系統(tǒng)對(duì)外部所具有只是一個(gè)標(biāo)識(shí),它是系統(tǒng)對(duì)外部所具有的行為的一個(gè)映射的行為的一個(gè)映射外部可得到的方法。外部可得到的方法。結(jié)合系統(tǒng)的內(nèi)部,每個(gè)接口代表某些相關(guān)的系統(tǒng)結(jié)合系統(tǒng)的內(nèi)部,每個(gè)接口代表某些相關(guān)的系統(tǒng)功能子集功能子集內(nèi)部可作用的功能內(nèi)部可作用的功能 。接口描述需要定義服務(wù)的標(biāo)記和語義需要定

21、義服務(wù)的標(biāo)記和語義接口可以用接口可以用UML中與類圖一樣的符號(hào)來描述,但沒有屬性部分。中與類圖一樣的符號(hào)來描述,但沒有屬性部分。UML的格式標(biāo)記的格式標(biāo)記要包含在名字部分要包含在名字部分中。中。 對(duì)象接口設(shè)計(jì)關(guān)心的是如何詳細(xì)描述一個(gè)對(duì)象或?qū)ο蠼涌谠O(shè)計(jì)關(guān)心的是如何詳細(xì)描述一個(gè)對(duì)象或一組對(duì)象的接口細(xì)節(jié)。一組對(duì)象的接口細(xì)節(jié)。氣象站系統(tǒng)的接口7.3 實(shí)現(xiàn)問題實(shí)現(xiàn)階段主要完成軟件的可執(zhí)行版本。主要工作就是編寫代碼。參見編程規(guī)范,按要求編寫程序。代碼實(shí)現(xiàn)中的幾個(gè)問題1.復(fù)用 多數(shù)現(xiàn)代軟件都是對(duì)現(xiàn)有組件或系統(tǒng)的復(fù)用。開發(fā)一個(gè)軟件時(shí),應(yīng)該盡可能地多的使用現(xiàn)有代碼。2.配置管理 開發(fā)過程中,每個(gè)生成的軟件組件都

22、會(huì)有很多不同版本,如果沒有很好地在配置管理系統(tǒng)中追蹤這些版本,有可能在系統(tǒng)中使用錯(cuò)誤版本的組件。3.宿主機(jī)-目標(biāo)機(jī)開發(fā) 軟件產(chǎn)品通常不會(huì)在與軟件開發(fā)環(huán)境相同的計(jì)算機(jī)上運(yùn)行。更多的是開發(fā)時(shí)使用一臺(tái)計(jì)算機(jī)(宿主機(jī)),運(yùn)行時(shí)使用另一臺(tái)計(jì)算機(jī)(目標(biāo)機(jī))。宿主機(jī)和目標(biāo)機(jī)的系統(tǒng)也有可能是一樣的類型,但是更經(jīng)常是完全不同的環(huán)境。1 復(fù)用的層次1.抽象層 :該層中并不是直接復(fù)用軟件,而是運(yùn)用軟件設(shè)計(jì)中的成功抽象。抽象知識(shí)復(fù)用的代表方式是設(shè)計(jì)模式和體系結(jié)構(gòu)模式。2.對(duì)象層 :在這一層可直接復(fù)用庫中的對(duì)象,代替自己編寫代碼。實(shí)現(xiàn)這類復(fù)用時(shí),必須妄到一個(gè)合適的庫,分析對(duì)象和方法是否提供所需的功能。3.組件層 :組件

23、是一組通過相互合作實(shí)現(xiàn)相關(guān)功能和服務(wù)的對(duì)象及對(duì)象類集合,通常需要增加自己的代碼對(duì)組件進(jìn)行調(diào)整和擴(kuò)展。4.系統(tǒng)層:在這一層,我們復(fù)用整個(gè)應(yīng)用系統(tǒng)。通常涉及這些系統(tǒng)的相關(guān)配置。通過添加和修改代碼(如果復(fù)用的是軟件的生產(chǎn)線)或者通過使用系統(tǒng)自身的配置界面。2 配置管理配置管理包含如下3個(gè)基本活動(dòng):1.版本管理2.系統(tǒng)集成3.問題追蹤3 宿主機(jī)-目標(biāo)機(jī)開發(fā)多數(shù)軟件開發(fā)是基于宿主機(jī)-日標(biāo)機(jī)模型的。軟件在一臺(tái)計(jì)算機(jī)(宿主機(jī))上開發(fā),但在另一臺(tái)機(jī)器(目標(biāo)機(jī))中運(yùn)行。對(duì)于分布式系統(tǒng)而言,應(yīng)該考慮如下三個(gè)方面的問題1.組件的軟硬件需求 Cuda2.系統(tǒng)可用性需求 備用的組件3.組件通信 部署在同一個(gè)平臺(tái),或者距離比較近的平臺(tái)上,減少通信延遲4 開源開發(fā)開源(Open Source,開放源碼)被非贏利軟件組織(美國的Open Sourc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論