![第7章 設(shè)計與實現(xiàn)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/28/a33aa62b-d843-4d43-90f0-0dc2aa127e58/a33aa62b-d843-4d43-90f0-0dc2aa127e581.gif)
![第7章 設(shè)計與實現(xiàn)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/28/a33aa62b-d843-4d43-90f0-0dc2aa127e58/a33aa62b-d843-4d43-90f0-0dc2aa127e582.gif)
![第7章 設(shè)計與實現(xiàn)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/28/a33aa62b-d843-4d43-90f0-0dc2aa127e58/a33aa62b-d843-4d43-90f0-0dc2aa127e583.gif)
![第7章 設(shè)計與實現(xiàn)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/28/a33aa62b-d843-4d43-90f0-0dc2aa127e58/a33aa62b-d843-4d43-90f0-0dc2aa127e584.gif)
![第7章 設(shè)計與實現(xiàn)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/28/a33aa62b-d843-4d43-90f0-0dc2aa127e58/a33aa62b-d843-4d43-90f0-0dc2aa127e585.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1第七章 設(shè)計與實現(xiàn)本章的目標(biāo)是介紹運用UML進行面向?qū)ο筌浖O(shè)計,并了解系統(tǒng)實現(xiàn)時的問題。 l 理解一般的面向?qū)ο笤O(shè)計過程中最重要的活動;l 理解用于記錄面向?qū)ο笤O(shè)計的一些不同的模型;l 知道設(shè)計模式的思想,以及如何將其用于設(shè)計知識和經(jīng)驗的復(fù)用;l 了解實現(xiàn)軟件時需要考慮的關(guān)鍵因素,包括軟件復(fù)用和開源開發(fā)。 軟件設(shè)計和實現(xiàn)是軟件工程過程中的一個階段,在此階段開發(fā)出可執(zhí)行的軟件系統(tǒng)。對簡單的系統(tǒng)來說,軟件設(shè)計和實現(xiàn)就是軟件過程的全部,其他的所有活動都融匯在這個過程中。但是,對于大型的系統(tǒng),軟件設(shè)計和實現(xiàn)只是一系列軟件工程過程(如需求工程、檢驗和有效性驗證等)中的一個。47.1 利用UML進行面
2、向?qū)ο笤O(shè)計1 系統(tǒng)上下文和與系統(tǒng)外部的交互系統(tǒng)上下文和與系統(tǒng)外部的交互2 體系結(jié)構(gòu)的設(shè)計體系結(jié)構(gòu)的設(shè)計3 對象識別對象識別4 設(shè)計模型設(shè)計模型5 對象接口描述對象接口描述4 統(tǒng)一建模語言(UML)提供對面向?qū)ο笤O(shè)計的廣泛支持。開發(fā)系統(tǒng)設(shè)計的過程,就是由概念設(shè)計轉(zhuǎn)變?yōu)樵敿毜拿嫦驅(qū)ο蟮脑O(shè)計,需要完成如下幾個步驟:案例1:“野外氣象站系統(tǒng)”面向?qū)ο蟮脑O(shè)計Wilderness weather station野外氣象站系統(tǒng)是一個數(shù)據(jù)收集系統(tǒng),收野外氣象站系統(tǒng)是一個數(shù)據(jù)收集系統(tǒng),收集偏遠地區(qū)的天氣條件數(shù)據(jù)的實時系統(tǒng)。集偏遠地區(qū)的天氣條件數(shù)據(jù)的實時系統(tǒng)。 野外氣象站隸屬于氣象制圖系統(tǒng)中的一個子系野外氣象站隸
3、屬于氣象制圖系統(tǒng)中的一個子系統(tǒng)。該系統(tǒng)自動地收集氣象數(shù)據(jù)來生成氣象圖。統(tǒng)。該系統(tǒng)自動地收集氣象數(shù)據(jù)來生成氣象圖。以以“野外氣象站系統(tǒng)野外氣象站系統(tǒng)”這個案例的設(shè)計部這個案例的設(shè)計部分來講解面向?qū)ο蟮脑O(shè)計活動。分來講解面向?qū)ο蟮脑O(shè)計活動。氣象站子系統(tǒng)設(shè)計過程氣象站子系統(tǒng)設(shè)計過程氣象制圖系統(tǒng)氣象制圖系統(tǒng)是一個復(fù)雜的系統(tǒng)。以其中是一個復(fù)雜的系統(tǒng)。以其中的的氣象站子系統(tǒng)氣象站子系統(tǒng)的面向?qū)ο笤O(shè)計過程為例的面向?qū)ο笤O(shè)計過程為例進行面向?qū)ο笤O(shè)計過程的說明。進行面向?qū)ο笤O(shè)計過程的說明。面向?qū)ο竺嫦驅(qū)ο笤O(shè)計過程階段如下:設(shè)計過程階段如下:1.了解并定義上下文和系統(tǒng)的外部交互了解并定義上下文和系統(tǒng)的外部交互2.
4、設(shè)計系統(tǒng)體系結(jié)構(gòu)設(shè)計系統(tǒng)體系結(jié)構(gòu)3.識別出系統(tǒng)中的主要對象識別出系統(tǒng)中的主要對象4.開發(fā)設(shè)計模型開發(fā)設(shè)計模型5.描述對象接口描述對象接口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)境進行通信。的構(gòu)成,以便它能有效地與環(huán)境進行通信。 采用從外部的觀點描述應(yīng)用采用從外部的觀點描述應(yīng)用從系統(tǒng)的用戶和操從系統(tǒng)的用戶和操作員的觀點進行描述。這樣描述,就是在定義系統(tǒng)作員的觀點進行描述。這樣描述,就是在定義系統(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)來表示實體之間的關(guān)系,只需用簡單的用關(guān)聯(lián)來表示實體之間的關(guān)系,只需用簡單的方框圖,就能描述系統(tǒng)總的體系結(jié)構(gòu)。方框圖,就能描述系統(tǒng)總的體系結(jié)構(gòu)。系統(tǒng)上下文的描述方法系統(tǒng)上下文的描述方法每個氣象站所在環(huán)境中的系統(tǒng)都包含氣象信息系統(tǒng)、機載衛(wèi)星系統(tǒng)和控制系統(tǒng)。連線上的基數(shù)關(guān)系說明環(huán)境中有一個控制系統(tǒng),但有多個氣象站,以及一個衛(wèi)星和一個通用氣象信息系統(tǒng)。用例模型實現(xiàn)對系統(tǒng)中的交互建模使用使用UML中的用例模型可以實現(xiàn)對系統(tǒng)和中的用例模型可以實現(xiàn)對系統(tǒng)和環(huán)境的交互建模環(huán)境的交互建模用用例模型建立系統(tǒng)和環(huán)境
6、間的交互模型。用用例模型建立系統(tǒng)和環(huán)境間的交互模型。氣象站的用例模型給出了通過氣象站與外部實氣象站的用例模型給出了通過氣象站與外部實體間的交互來開啟和關(guān)閉、上報采集的數(shù)據(jù)、體間的交互來開啟和關(guān)閉、上報采集的數(shù)據(jù)、儀器測試和校準。儀器測試和校準。氣象站系統(tǒng)的用例模型氣象站系統(tǒng)的用例模型用例圖用例圖能用簡單能用簡單的自然語言來描述的的自然語言來描述的交互過程,這有助于交互過程,這有助于識別系統(tǒng)中的對象和識別系統(tǒng)中的對象和操作。操作。只有結(jié)合用例描述的只有結(jié)合用例描述的用例圖才能表達豐富用例圖才能表達豐富的含義。見下頁。的含義。見下頁。從這個報告用例中可以看出:從這個報告用例中可以看出:1.需要一個
7、代表采集天氣數(shù)據(jù)的儀器對象需要一個代表采集天氣數(shù)據(jù)的儀器對象2.需要一個代表對天氣數(shù)據(jù)總結(jié)的對象需要一個代表對天氣數(shù)據(jù)總結(jié)的對象3.還需要兩個操作還需要兩個操作請求氣象數(shù)據(jù)的操作和發(fā)送氣象數(shù)據(jù)請求氣象數(shù)據(jù)的操作和發(fā)送氣象數(shù)據(jù)的操作。的操作。 step2體系結(jié)構(gòu)的設(shè)計體系結(jié)構(gòu)的設(shè)計設(shè)計體系結(jié)構(gòu)的前提條件設(shè)計體系結(jié)構(gòu)的前提條件1.完成軟件系統(tǒng)中的交互設(shè)計完成軟件系統(tǒng)中的交互設(shè)計2.完成系統(tǒng)環(huán)境的定義完成系統(tǒng)環(huán)境的定義3.具備有關(guān)體系結(jié)構(gòu)設(shè)計的一般性知識和具備有關(guān)體系結(jié)構(gòu)設(shè)計的一般性知識和具體的領(lǐng)域知識。具體的領(lǐng)域知識。如何考慮系統(tǒng)的非功能性需求如何考慮系統(tǒng)的非功能性需求?1.用例與基于用例的模型主
8、要注重的是功能性設(shè)計用例與基于用例的模型主要注重的是功能性設(shè)計在大多數(shù)面向?qū)ο蠓椒ㄖ校纪ㄟ^用例來獲取系統(tǒng)的在大多數(shù)面向?qū)ο蠓椒ㄖ?,都通過用例來獲取系統(tǒng)的所需功能性需求。所需功能性需求。2.用例設(shè)計之后是體系結(jié)構(gòu)設(shè)計。用例設(shè)計之后是體系結(jié)構(gòu)設(shè)計。n體系結(jié)構(gòu)是確保滿足非功能需求(如可維護性、效體系結(jié)構(gòu)是確保滿足非功能需求(如可維護性、效率和可靠性)的主要工具。率和可靠性)的主要工具。3.一個良好的設(shè)計,應(yīng)該同時采用用例和其他獲取功能一個良好的設(shè)計,應(yīng)該同時采用用例和其他獲取功能性需求的方法,并通過使用構(gòu)架產(chǎn)生一個符合非功能性需求的方法,并通過使用構(gòu)架產(chǎn)生一個符合非功能需求的設(shè)計。需求的設(shè)計。氣象
9、站系統(tǒng)的高層體系結(jié)構(gòu)非功能需求考慮子系統(tǒng)之間的可靠的互聯(lián)和通信實時操作的支持氣象站系統(tǒng)的高層體系結(jié)構(gòu)分布式體系結(jié)構(gòu)這種體系結(jié)構(gòu)的主要優(yōu)點在于它易于支持不同配置的子系統(tǒng),因為消息的發(fā)送方無需特別指定消息的接收子系統(tǒng)。數(shù)據(jù)采集系統(tǒng)體系結(jié)構(gòu)Transmitter和Receiver對象與通信管理有關(guān),WeatherData對象封裝儀器采集的信息并將其傳輸給氣象信息系統(tǒng)。這種結(jié)構(gòu)屬于生產(chǎn)者-消費者模式,。step3對象類的識別對象類的識別體系結(jié)構(gòu)的設(shè)計過程,也是識別對象類的過程。體系結(jié)構(gòu)的設(shè)計過程,也是識別對象類的過程。如何識別對象類如何識別對象類 ?1.對系統(tǒng)的自然語言描述做文法分析。對系統(tǒng)的自然語言
10、描述做文法分析。對象和屬性是名詞,操對象和屬性是名詞,操作或服務(wù)是動詞作或服務(wù)是動詞 2.使用應(yīng)用領(lǐng)域中的真實實體名字。使用應(yīng)用領(lǐng)域中的真實實體名字。例如飛機、職務(wù)(管理者)、事件(請求)、交互(會例如飛機、職務(wù)(管理者)、事件(請求)、交互(會議)、位置(辦公室)、機構(gòu)單元(公司)議)、位置(辦公室)、機構(gòu)單元(公司)現(xiàn)存系統(tǒng)的信息存儲結(jié)構(gòu)可以用來識別對象?,F(xiàn)存系統(tǒng)的信息存儲結(jié)構(gòu)可以用來識別對象。3.基于情景(用例)的分析識別基于情景(用例)的分析識別識別出系統(tǒng)使用的各個情景,分析情景,識別出需要的識別出系統(tǒng)使用的各個情景,分析情景,識別出需要的對象、屬性和操作。對象、屬性和操作。識別氣象站
11、系統(tǒng)中的對象類識別氣象站系統(tǒng)中的對象類一個氣象站系統(tǒng)是一套用來控制一些設(shè)備的軟件包,通過儀器收集氣象數(shù)據(jù),并進行數(shù)據(jù)處理、結(jié)果傳輸給氣象系統(tǒng)以便進一步處理。該儀器包括空中和地表溫度計( thermometersthermometers ),風(fēng)速計( anemometeranemometer ),風(fēng)向標(biāo)( wind vanewind vane ),氣壓計( barometerbarometer)。數(shù)據(jù)定期收集。當(dāng)發(fā)出一個命令傳輸氣象數(shù)據(jù),氣象站的數(shù)據(jù)采集過程和總結(jié)。綜述數(shù)據(jù)傳輸?shù)接嬎銠C時,收到請求映射。氣象站系統(tǒng)中的對象類氣象站系統(tǒng)中的對象類step4設(shè)計模型設(shè)計模型設(shè)計模型是系統(tǒng)需求和系統(tǒng)實現(xiàn)
12、之間的橋設(shè)計模型是系統(tǒng)需求和系統(tǒng)實現(xiàn)之間的橋梁梁1.描述系統(tǒng)中包含的對象或?qū)ο箢?,以及它們描述系統(tǒng)中包含的對象或?qū)ο箢?,以及它們之間的不同類型關(guān)系。之間的不同類型關(guān)系。2.對設(shè)計模型進行抽象,刪去模型與系統(tǒng)需求對設(shè)計模型進行抽象,刪去模型與系統(tǒng)需求之間的不必要的細節(jié)關(guān)聯(lián)之間的不必要的細節(jié)關(guān)聯(lián)3.消除相互沖突的需求消除相互沖突的需求在不同細節(jié)層次開發(fā)在不同細節(jié)層次開發(fā)不同的模型不同的模型 。4.為程序員提供充分的細節(jié)。為程序員提供充分的細節(jié)。系統(tǒng)描述者、設(shè)計者和程序員之間存在直接或系統(tǒng)描述者、設(shè)計者和程序員之間存在直接或間接的聯(lián)系。間接的聯(lián)系。設(shè)計的一個重要步驟是要決定需要什么樣的設(shè)設(shè)計的一個重
13、要步驟是要決定需要什么樣的設(shè)計模型和設(shè)計模型的細節(jié)層次計模型和設(shè)計模型的細節(jié)層次依賴所開發(fā)依賴所開發(fā)的系統(tǒng)類型。的系統(tǒng)類型。 順序數(shù)據(jù)處理系統(tǒng)和嵌入式實時系統(tǒng)需要使用不順序數(shù)據(jù)處理系統(tǒng)和嵌入式實時系統(tǒng)需要使用不同的設(shè)計模型。同的設(shè)計模型。減少模型使用的數(shù)量可降低設(shè)計的成本和完成減少模型使用的數(shù)量可降低設(shè)計的成本和完成設(shè)計過程所需要的時間。設(shè)計過程所需要的時間。 系統(tǒng)設(shè)計中注意的問題系統(tǒng)設(shè)計中注意的問題1.靜態(tài)模型靜態(tài)模型通過系統(tǒng)對象類及其之間的通過系統(tǒng)對象類及其之間的關(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.動態(tài)模型動態(tài)模型描述系統(tǒng)的動態(tài)結(jié)構(gòu)和系統(tǒng)描述系統(tǒng)的動態(tài)結(jié)構(gòu)和系統(tǒng)對象(不是對象類)之間的交互。對象(不是對象類)之間的交互。 需要記錄的交互包括由對象請求的服務(wù)序列以需要記錄的交互包括由對象請求的服務(wù)序列以及系統(tǒng)狀態(tài)與這些對象交互之間的關(guān)聯(lián)方式。及系統(tǒng)狀態(tài)與這些對象交互之間的關(guān)聯(lián)方式。兩類設(shè)計模型兩類設(shè)計模型本系統(tǒng)中用到的幾種模型1.子系統(tǒng)模型子系統(tǒng)模型說明對象的邏輯分組,每個分組構(gòu)說明對象的邏輯分組,每個分組構(gòu)成一個子系統(tǒng)。使用類的圖表格式來表示,每個成一個子系統(tǒng)。使用類的圖表格式來表示,每個子系統(tǒng)是一個包的形式存在。子系統(tǒng)模型
15、是靜態(tài)子系統(tǒng)是一個包的形式存在。子系統(tǒng)模型是靜態(tài)模型。模型。2.序列模型序列模型說明對象交互的序列。使用說明對象交互的序列。使用UML序列序列或協(xié)作圖來表示。序列模型是動態(tài)模型?;騾f(xié)作圖來表示。序列模型是動態(tài)模型。3.狀態(tài)機模型狀態(tài)機模型說明單個對象如何響應(yīng)事件來改變說明單個對象如何響應(yīng)事件來改變它們的狀態(tài)。它們使用它們的狀態(tài)。它們使用UML的狀態(tài)圖來表示。的狀態(tài)圖來表示。子系統(tǒng)模型是一種最有幫助的靜態(tài)模型,因為它說子系統(tǒng)模型是一種最有幫助的靜態(tài)模型,因為它說明了設(shè)計如何由一組邏輯上相關(guān)聯(lián)的對象來構(gòu)成。明了設(shè)計如何由一組邏輯上相關(guān)聯(lián)的對象來構(gòu)成。序列圖:記錄對象交互發(fā)生的序列1.參與交互的對象
16、水平地排列,每個對象有一條垂直的參與交互的對象水平地排列,每個對象有一條垂直的線條與之連接。線條與之連接。2.時間以垂直方向表示,時間的進展是沿著垂直的虛線時間以垂直方向表示,時間的進展是沿著垂直的虛線向下。向下。3.對象之間的交互表示為帶有標(biāo)號的箭頭,該箭頭是與對象之間的交互表示為帶有標(biāo)號的箭頭,該箭頭是與垂直線段相連的。注意:這些不是數(shù)據(jù)流,而是表示垂直線段相連的。注意:這些不是數(shù)據(jù)流,而是表示交互中的基本消息或事件。交互中的基本消息或事件。4.對象生命線上的細長方形表示這個對象是系統(tǒng)中控制對象生命線上的細長方形表示這個對象是系統(tǒng)中控制對象的時間。在這個長方形的頂端時刻接管控制,在對象的時
17、間。在這個長方形的頂端時刻接管控制,在長方形的底部放棄控制。長方形的底部放棄控制。氣象站系統(tǒng)中數(shù)據(jù)采集的操作序列圖氣象站系統(tǒng)中數(shù)據(jù)采集的操作序列圖該圖給出了當(dāng)外部制圖系統(tǒng)從氣象站請求數(shù)據(jù)時的交互該圖給出了當(dāng)外部制圖系統(tǒng)從氣象站請求數(shù)據(jù)時的交互序列。序列。 氣象站系統(tǒng)中數(shù)據(jù)采集的操作序列圖氣象站系統(tǒng)中數(shù)據(jù)采集的操作序列圖數(shù)據(jù)收集系統(tǒng)的對象:數(shù)據(jù)收集系統(tǒng)的對象: 1.satComms對象接收從氣象信息系統(tǒng)發(fā)來的天氣報告請求對象接收從氣象信息系統(tǒng)發(fā)來的天氣報告請求,并發(fā)出收到回復(fù)。已發(fā)消息中的實線箭頭表明外部系統(tǒng)并并發(fā)出收到回復(fù)。已發(fā)消息中的實線箭頭表明外部系統(tǒng)并不等待回復(fù)不等待回復(fù),繼續(xù)進行其他處
18、理。繼續(xù)進行其他處理。 2.satComms通過衛(wèi)星鏈接向通過衛(wèi)星鏈接向WetherStation發(fā)送消息發(fā)送消息,創(chuàng)建創(chuàng)建一個采集氣象數(shù)據(jù)的匯總。一個采集氣象數(shù)據(jù)的匯總。 3.WeatherStation向向CommsLink對象發(fā)送包含數(shù)據(jù)匯總的消對象發(fā)送包含數(shù)據(jù)匯總的消息。這里的虛線箭頭表明息。這里的虛線箭頭表明WeathStation對象類的實例會等對象類的實例會等待回復(fù)。待回復(fù)。 4.CommsLink調(diào)用調(diào)用WeatherData對象中的對象中的summarize方法并方法并等待回復(fù)。等待回復(fù)。 5.計算出氣象數(shù)據(jù)匯總并通過計算出氣象數(shù)據(jù)匯總并通過CommsLink對象返回給對象返
19、回給WeatherStation。 6. WeatherStation 調(diào)用調(diào)用Satcomms對象對象,通過衛(wèi)星通信系統(tǒng)通過衛(wèi)星通信系統(tǒng)將匯總數(shù)據(jù)傳輸給氣象信息系統(tǒng)將匯總數(shù)據(jù)傳輸給氣象信息系統(tǒng)。狀態(tài)機模型狀態(tài)機模型狀態(tài)機模型表示單個對象對不同事件的響應(yīng)行狀態(tài)機模型表示單個對象對不同事件的響應(yīng)行為為示例:示例:Weather Station對象的狀態(tài)圖,它給出對象的狀態(tài)圖,它給出了該對象如何響應(yīng)各種不同服務(wù)的請求。了該對象如何響應(yīng)各種不同服務(wù)的請求。Shutdown/停機停機Transmission/傳輸傳輸Summarising/求和求和氣象站的狀態(tài)圖氣象站的狀態(tài)圖 氣象站系統(tǒng)的狀態(tài)圖描述了
20、氣象站對象是如何對請求的各種服務(wù)進行響應(yīng)的。狀態(tài)圖的必要性 狀態(tài)圖是一種很有用的系統(tǒng)或?qū)ο蟛僮鞯母邔幽P?。并不是所有的系統(tǒng)對象都需要狀態(tài)圖。很多系統(tǒng)對象相對簡單,使用狀態(tài)圖反而給設(shè)計增加了不必要的細節(jié)。step5接口描述接口描述什么是接口(什么是接口(Interface)?)?“接口接口”只是一個標(biāo)識,它是系統(tǒng)對外部所具有只是一個標(biāo)識,它是系統(tǒng)對外部所具有的行為的一個映射的行為的一個映射外部可得到的方法。外部可得到的方法。結(jié)合系統(tǒng)的內(nèi)部,每個接口代表某些相關(guān)的系統(tǒng)結(jié)合系統(tǒng)的內(nèi)部,每個接口代表某些相關(guān)的系統(tǒng)功能子集功能子集內(nèi)部可作用的功能內(nèi)部可作用的功能 。接口描述需要定義服務(wù)的標(biāo)記和語義需要定
21、義服務(wù)的標(biāo)記和語義接口可以用接口可以用UML中與類圖一樣的符號來描述,但沒有屬性部分。中與類圖一樣的符號來描述,但沒有屬性部分。UML的格式標(biāo)記的格式標(biāo)記要包含在名字部分要包含在名字部分中。中。 對象接口設(shè)計關(guān)心的是如何詳細描述一個對象或?qū)ο蠼涌谠O(shè)計關(guān)心的是如何詳細描述一個對象或一組對象的接口細節(jié)。一組對象的接口細節(jié)。氣象站系統(tǒng)的接口7.3 實現(xiàn)問題實現(xiàn)階段主要完成軟件的可執(zhí)行版本。主要工作就是編寫代碼。參見編程規(guī)范,按要求編寫程序。代碼實現(xiàn)中的幾個問題1.復(fù)用 多數(shù)現(xiàn)代軟件都是對現(xiàn)有組件或系統(tǒng)的復(fù)用。開發(fā)一個軟件時,應(yīng)該盡可能地多的使用現(xiàn)有代碼。2.配置管理 開發(fā)過程中,每個生成的軟件組件都
22、會有很多不同版本,如果沒有很好地在配置管理系統(tǒng)中追蹤這些版本,有可能在系統(tǒng)中使用錯誤版本的組件。3.宿主機-目標(biāo)機開發(fā) 軟件產(chǎn)品通常不會在與軟件開發(fā)環(huán)境相同的計算機上運行。更多的是開發(fā)時使用一臺計算機(宿主機),運行時使用另一臺計算機(目標(biāo)機)。宿主機和目標(biāo)機的系統(tǒng)也有可能是一樣的類型,但是更經(jīng)常是完全不同的環(huán)境。1 復(fù)用的層次1.抽象層 :該層中并不是直接復(fù)用軟件,而是運用軟件設(shè)計中的成功抽象。抽象知識復(fù)用的代表方式是設(shè)計模式和體系結(jié)構(gòu)模式。2.對象層 :在這一層可直接復(fù)用庫中的對象,代替自己編寫代碼。實現(xiàn)這類復(fù)用時,必須妄到一個合適的庫,分析對象和方法是否提供所需的功能。3.組件層 :組件
23、是一組通過相互合作實現(xiàn)相關(guān)功能和服務(wù)的對象及對象類集合,通常需要增加自己的代碼對組件進行調(diào)整和擴展。4.系統(tǒng)層:在這一層,我們復(fù)用整個應(yīng)用系統(tǒng)。通常涉及這些系統(tǒng)的相關(guān)配置。通過添加和修改代碼(如果復(fù)用的是軟件的生產(chǎn)線)或者通過使用系統(tǒng)自身的配置界面。2 配置管理配置管理包含如下3個基本活動:1.版本管理2.系統(tǒng)集成3.問題追蹤3 宿主機-目標(biāo)機開發(fā)多數(shù)軟件開發(fā)是基于宿主機-日標(biāo)機模型的。軟件在一臺計算機(宿主機)上開發(fā),但在另一臺機器(目標(biāo)機)中運行。對于分布式系統(tǒng)而言,應(yīng)該考慮如下三個方面的問題1.組件的軟硬件需求 Cuda2.系統(tǒng)可用性需求 備用的組件3.組件通信 部署在同一個平臺,或者距離比較近的平臺上,減少通信延遲4 開源開發(fā)開源(Open Source,開放源碼)被非贏利軟件組織(美國的Open Sourc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 經(jīng)營酒吧合同
- 股份制改革流程文書模板與指導(dǎo)
- 汽車美容店合作協(xié)議書年
- 委托培訓(xùn)協(xié)議書
- 質(zhì)量管理體系培訓(xùn)指導(dǎo)書
- 2025年青海貨運從業(yè)資證孝試模似題庫
- 小學(xué)三年級數(shù)學(xué)加減乘除混合口算
- 2025年黔東南道路貨運駕駛員從業(yè)資格證考試題庫
- 2025年上海貨車叢業(yè)資格證考試題
- 2025年汕頭貨運從業(yè)資格證怎么考試
- 中儲棉直屬企業(yè)招聘筆試真題2024
- 2024年長沙衛(wèi)生職業(yè)學(xué)院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 2025屆高考數(shù)學(xué)一輪專題重組卷第一部分專題十四立體幾何綜合文含解析
- 福建省泉州市南安市2024-2025學(xué)年九年級上學(xué)期期末考試語文試題(無答案)
- 醫(yī)療器材申請物價流程
- 人教PEP版2025年春季小學(xué)英語三年級下冊教學(xué)計劃
- 華為研發(fā)部門績效考核制度及方案
- 2025年蛇年年度營銷日歷營銷建議【2025營銷日歷】
- 攝影入門課程-攝影基礎(chǔ)與技巧全面解析
- 冀少版小學(xué)二年級下冊音樂教案
- 【龍集鎮(zhèn)稻蝦綜合種養(yǎng)面臨的問題及優(yōu)化建議探析(論文)13000字】
評論
0/150
提交評論