版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第四章 特定領(lǐng)域的軟件體系結(jié)構(gòu)本章內(nèi)容o 4.1 特定領(lǐng)域軟件體系結(jié)構(gòu)定義o 4.2 DSSA的基本活動(dòng)n 4.2.1 DSSA的領(lǐng)域工程n 4.2.2 DSSA的應(yīng)用工程n 4.2.3 領(lǐng)域工程與應(yīng)用工程的關(guān)系o 4.3 DSSA的參與者o 4.4 DSSA的生命周期o 4.5 DSSA的建立本章內(nèi)容o 4.6 基于DSSA的軟件開發(fā)o 4.7 DSSA與軟件體系結(jié)構(gòu)風(fēng)格o 4.8 DSSA對(duì)軟件開發(fā)的意義o 4.9 DSSA的應(yīng)用實(shí)例4.1 特定領(lǐng)域軟件體系結(jié)構(gòu)定義o 目前,軟件開發(fā)的總體趨勢(shì)是領(lǐng)域驅(qū)動(dòng)的設(shè)計(jì)與實(shí)現(xiàn)o 特定領(lǐng)域軟件體系結(jié)構(gòu)(Domain Specific Software
2、Architecture,DSSA)代表了某一特定領(lǐng)域中軟件系統(tǒng)的整體框架結(jié)構(gòu)o DSSA描述了領(lǐng)域中各個(gè)應(yīng)用的公共特征和動(dòng)態(tài)行為o DSSA是作用于領(lǐng)域中不同應(yīng)用的設(shè)計(jì)藍(lán)圖4.1 特定領(lǐng)域軟件體系結(jié)構(gòu)定義o 以DSSA為基礎(chǔ),通過大規(guī)模重用,可以快速地、高效地實(shí)例化出一系列的軟件產(chǎn)品,提高軟件開發(fā)的效率o DSSA的定義:n DSSA是軟件構(gòu)件的集合,以標(biāo)準(zhǔn)結(jié)構(gòu)組合而成,對(duì)于一種特殊類型的任務(wù)具有通用性,可以有效地、成功地用于新應(yīng)用系統(tǒng)的構(gòu)建n DSSA是問題元素和解元素的樣本,同時(shí)給出了問題元素和解元素之間的映射關(guān)系4.1 特定領(lǐng)域軟件體系結(jié)構(gòu)定義n DSSA是一個(gè)特定問題領(lǐng)域中,支持一組
3、應(yīng)用的領(lǐng)域模型、參考需求和參考體系結(jié)構(gòu)所形成的開發(fā)基礎(chǔ)o 特定領(lǐng)域軟件體系結(jié)構(gòu)具有以下特征:n DSSA對(duì)整個(gè)領(lǐng)域進(jìn)行適度抽象n DSSA具有嚴(yán)格定義的問題域和解決方案n 在領(lǐng)域中,DSSA應(yīng)該具有固有的、典型的可復(fù)用軟件元素,用于工程開發(fā)n DSSA具有普遍性,可用于開發(fā)領(lǐng)域中的某類特定應(yīng)用4.2 DSSA的基本活動(dòng)o 基于DSSA的開發(fā)不以實(shí)現(xiàn)某個(gè)特定應(yīng)用為目標(biāo),而是關(guān)注整個(gè)領(lǐng)域n 通過對(duì)某個(gè)特定領(lǐng)域進(jìn)行分析,提出該領(lǐng)域的典型需求,建立相應(yīng)的領(lǐng)域模型,設(shè)計(jì)與之對(duì)應(yīng)的參考架構(gòu),進(jìn)而實(shí)現(xiàn)各個(gè)組成模塊n 針對(duì)領(lǐng)域分析模型中的需求,DSSA給出了相應(yīng)的解決方案,該解決方案不僅滿足單個(gè)系統(tǒng),而且也適
4、應(yīng)領(lǐng)域中的其它系統(tǒng)需求,是領(lǐng)域范圍內(nèi)的一個(gè)高層次設(shè)計(jì)框架4.2 DSSA的基本活動(dòng)o DSSA包含兩個(gè)過程,即領(lǐng)域工程和應(yīng)用工程n 領(lǐng)域工程是為一組相近或相似的應(yīng)用建立基本能力與必備基礎(chǔ)的過程,它覆蓋了建立可復(fù)用軟件元素的所有活動(dòng)n 應(yīng)用工程是通過重用軟件資源,以領(lǐng)域通用體系結(jié)構(gòu)為框架,開發(fā)出滿足用戶需求的一系列應(yīng)用軟件的過程4.2.1 DSSA的領(lǐng)域工程o 在啟動(dòng)一個(gè)軟件項(xiàng)目時(shí),我們應(yīng)該關(guān)注軟件涉及的領(lǐng)域o 對(duì)領(lǐng)域的理解主要有如下三種觀點(diǎn):n 一組或一族相關(guān)系統(tǒng),所有這些系統(tǒng)具有一種能力或共享同一數(shù)據(jù)集n 具有相同需求的一個(gè)應(yīng)用程序族所描述的問題空間n 一個(gè)問題或任務(wù)領(lǐng)域,在其中可以開發(fā)出多
5、重高度相似的應(yīng)用系統(tǒng),以滿足各種不同用戶的特定需求4.2.1 DSSA的領(lǐng)域工程o 領(lǐng)域的基本特征:n 領(lǐng)域中的系統(tǒng)具有相關(guān)性,具體表現(xiàn)為:具有類似的用戶需求;共享領(lǐng)域范圍內(nèi)的數(shù)據(jù);共同實(shí)現(xiàn)一個(gè)目標(biāo);共同描述一個(gè)問題空間n 對(duì)領(lǐng)域內(nèi)各個(gè)系統(tǒng)所形成的問題空間進(jìn)行求解,可以導(dǎo)出新的應(yīng)用系統(tǒng)n 領(lǐng)域內(nèi)的重要資源、資源的義務(wù)和資源之間的相互關(guān)系是以一定的基礎(chǔ)結(jié)構(gòu)來進(jìn)行表示的4.2.1 DSSA的領(lǐng)域工程o 在軟件工程中,領(lǐng)域是指一組具有相近或相似需求的應(yīng)用系統(tǒng)所覆蓋的功能、問題、解決方案以及知識(shí)區(qū)域o 從軟件復(fù)用角度出發(fā),可以將領(lǐng)域劃分為垂直領(lǐng)域和水平領(lǐng)域o 垂直領(lǐng)域是指具有相似需求的一系列應(yīng)用所覆蓋
6、的業(yè)務(wù)區(qū)域o 水平領(lǐng)域則指根據(jù)應(yīng)用系統(tǒng)內(nèi)部模塊的功能分類,所得到的相似問題空間4.2.1 DSSA的領(lǐng)域工程o 領(lǐng)域工程是識(shí)別和創(chuàng)建面向特定領(lǐng)域的可重用軟件資源的過程,是特定領(lǐng)域軟件體系結(jié)構(gòu)的實(shí)現(xiàn)基礎(chǔ)o 領(lǐng)域工程主要包括三個(gè)部分,即領(lǐng)域分析、領(lǐng)域設(shè)計(jì)和領(lǐng)域?qū)崿F(xiàn)o 領(lǐng)域分析n 領(lǐng)域分析是在一個(gè)特定領(lǐng)域范圍內(nèi)開展的以領(lǐng)域定義、共性抽象、特性描述、概念闡述、數(shù)據(jù)抽取、功能分析、關(guān)系識(shí)別、以及結(jié)構(gòu)框架開發(fā)為目標(biāo)的系統(tǒng)化分析過程4.2.1 DSSA的領(lǐng)域工程n 領(lǐng)域分析所關(guān)心的是一個(gè)特定領(lǐng)域內(nèi)所有相似系統(tǒng)的對(duì)象和活動(dòng)的共同特征與演化特性,所產(chǎn)生的是支持系統(tǒng)化復(fù)用的基礎(chǔ)設(shè)施n 領(lǐng)域分析是DSSA開發(fā)的基礎(chǔ)
7、,是DSSA開發(fā)的出發(fā)點(diǎn),也是這種方法成敗的關(guān)鍵n 領(lǐng)域模型是領(lǐng)域分析過程中的一個(gè)重要概念,是領(lǐng)域分析活動(dòng)的輸出結(jié)果n 領(lǐng)域模型是一組能夠反映領(lǐng)域共性與變化特征(例如:功能、對(duì)象、數(shù)據(jù)及其關(guān)系)的相關(guān)模型和文檔資料4.2.1 DSSA的領(lǐng)域工程n 領(lǐng)域模型描述領(lǐng)域中應(yīng)用的共同需求,領(lǐng)域模型所描述的需求經(jīng)常被稱為領(lǐng)域需求n 領(lǐng)域模型是針對(duì)某一特定領(lǐng)域的需求規(guī)約模型n 領(lǐng)域模型描述了多種不同的信息:o 領(lǐng)域范圍:領(lǐng)域定義和上下文分析o 領(lǐng)域字典:定義領(lǐng)域內(nèi)相關(guān)術(shù)語o 符號(hào)標(biāo)識(shí):描述概念和概念模型,利用符號(hào)系統(tǒng)對(duì)領(lǐng)域模型內(nèi)的概念進(jìn)行統(tǒng)一的說明o 領(lǐng)域共性:領(lǐng)域內(nèi)相似應(yīng)用的共性需求和共同特征o 特征模
8、型:定義領(lǐng)域特征,描述領(lǐng)域特征之間的相互關(guān)系4.2.1 DSSA的領(lǐng)域工程n 領(lǐng)域分析是在一個(gè)特定的領(lǐng)域范圍內(nèi),對(duì)一系列共性、個(gè)性、以及動(dòng)態(tài)元素進(jìn)行識(shí)別、收集和組織,并最終形成可指導(dǎo)的軟件復(fù)用模型的過程n 比較有影響的領(lǐng)域分析方法有:o 面向特征的領(lǐng)域分析(FODA),包括上下文分析、領(lǐng)域建模和體系結(jié)構(gòu)建模3個(gè)不同的階段o 組織領(lǐng)域分析模型(ODM),包括領(lǐng)域規(guī)劃、領(lǐng)域建模和可復(fù)用資源的建設(shè)o 基于DSSA的領(lǐng)域分析(DSSA Domain Analysis),獲取領(lǐng)域開發(fā)環(huán)境,設(shè)計(jì)DSSA和原型系統(tǒng),利用原型系統(tǒng)和DSSA來實(shí)現(xiàn)應(yīng)用系統(tǒng)4.2.1 DSSA的領(lǐng)域工程o JIAWG面向?qū)ο蟮念I(lǐng)
9、域分析(JODA),包括領(lǐng)域準(zhǔn)備、領(lǐng)域定義和領(lǐng)域建模o 領(lǐng)域分析與設(shè)計(jì)過程(DADP),包括標(biāo)識(shí)領(lǐng)域、界定領(lǐng)域、分析領(lǐng)域和設(shè)計(jì)領(lǐng)域o 動(dòng)態(tài)領(lǐng)域分析(DDA),收集信息,確定領(lǐng)域范圍,區(qū)分共性、個(gè)性和動(dòng)態(tài)元素,描述領(lǐng)域中的各類元素n 在應(yīng)用工程中已經(jīng)被廣泛使用的各種方法、技術(shù)和原則,經(jīng)過補(bǔ)充和修改后,都可以在領(lǐng)域分析過程中使用n 領(lǐng)域分析依賴于領(lǐng)域工程、應(yīng)用工程、知識(shí)工程、人工智能和信息管理等學(xué)科的支撐4.2.1 DSSA的領(lǐng)域工程n 領(lǐng)域分析依賴于領(lǐng)域工程、應(yīng)用工程、知識(shí)工程、人工智能和信息管理等學(xué)科的支撐n 領(lǐng)域建模過程必須以業(yè)務(wù)領(lǐng)域?yàn)橹行膐 領(lǐng)域設(shè)計(jì)n 領(lǐng)域設(shè)計(jì)的主要目標(biāo)是創(chuàng)建特定領(lǐng)域軟件
10、體系結(jié)構(gòu)DSSAn 與領(lǐng)域分析模型一樣,領(lǐng)域設(shè)計(jì)框架必須被一般化、標(biāo)準(zhǔn)化和文檔化,使之能夠在創(chuàng)建多個(gè)軟件產(chǎn)品時(shí)被使用4.2.1 DSSA的領(lǐng)域工程n 領(lǐng)域設(shè)計(jì)框架一般化處理的步驟:o 將依賴關(guān)系從實(shí)現(xiàn)中分離出來,使之容易辨認(rèn)和修改,以適應(yīng)特定軟件產(chǎn)品的需求,或者滿足新應(yīng)用環(huán)境與技術(shù)的需要o 將框架分層,使軟件資源可以按照特定應(yīng)用、特定操作系統(tǒng)、以及特定硬件平臺(tái)的要求進(jìn)行分層o 在每一層上,尋找適合領(lǐng)域設(shè)計(jì)框架的通用軟件資源,然后以此為基礎(chǔ),尋找適合框架的其它基礎(chǔ)性資源n 在領(lǐng)域工程中,可復(fù)用軟件資源的選擇是極為重要的4.2.1 DSSA的領(lǐng)域工程n 復(fù)用元素的選擇原則是:o 在軟件開發(fā)和維護(hù)過
11、程中,最頻繁使用的軟件元素o 提供最大利益的軟件元素,例如:節(jié)省費(fèi)用、節(jié)省時(shí)間、減少項(xiàng)目失敗的風(fēng)險(xiǎn)、以及強(qiáng)化重用標(biāo)準(zhǔn)等o 用于創(chuàng)建和維護(hù)對(duì)本公司具有重要意義的策略性軟件元素o 是復(fù)用消費(fèi)者(例如:領(lǐng)域?qū)<?、系統(tǒng)框架設(shè)計(jì)人員、軟件開發(fā)人員和軟件維護(hù)人員)所需要的軟件元素n 針對(duì)領(lǐng)域模型所表示的需求,DSSA給出了相應(yīng)的解決方案,是適應(yīng)領(lǐng)域中多個(gè)系統(tǒng)需求的高層次設(shè)計(jì)框架4.2.1 DSSA的領(lǐng)域工程n 領(lǐng)域設(shè)計(jì)要滿足的需求具有一定的變化性,因此解決方案也應(yīng)該是可變的n DSSA的各個(gè)組成部分應(yīng)該是現(xiàn)有系統(tǒng)設(shè)計(jì)框架的泛化,便于今后的實(shí)例化與信息參考n 領(lǐng)域設(shè)計(jì)應(yīng)該緊緊地圍繞著領(lǐng)域模型展開o 領(lǐng)域?qū)崿F(xiàn)
12、n 領(lǐng)域?qū)崿F(xiàn)的主要目標(biāo)是根據(jù)領(lǐng)域模型、DSSA來開發(fā)和組織可復(fù)用軟件元素n 其主要活動(dòng)包括:開發(fā)可復(fù)用軟件元素,對(duì)可復(fù)用軟件元素進(jìn)行組織4.2.1 DSSA的領(lǐng)域工程n 領(lǐng)域?qū)崿F(xiàn)階段的重要產(chǎn)品就是與特定領(lǐng)域相關(guān)的可復(fù)用構(gòu)件庫n 復(fù)用構(gòu)件庫覆蓋了領(lǐng)域模型、領(lǐng)域設(shè)計(jì)框架和源代碼多種抽象層次,體現(xiàn)為系統(tǒng)、框架以及類的不同粒度和形態(tài)n 可復(fù)用構(gòu)件的組織也是根據(jù)領(lǐng)域模型和領(lǐng)域設(shè)計(jì)框架來完成的n 開發(fā)可復(fù)用構(gòu)件的基本原則是:o 從設(shè)計(jì)到編碼必須遵循此前定義的DDSA,與DDSA始終保持高度的一致4.2.1 DSSA的領(lǐng)域工程o 應(yīng)該采用適當(dāng)?shù)挠成湟?guī)則來指導(dǎo)設(shè)計(jì)元素到編程語言的映射過程o 采取模塊化、信息隱
13、蔽和分而治之等傳統(tǒng)的軟件工程原則,來減少構(gòu)件與外部環(huán)境之間的依賴關(guān)系o 應(yīng)為可復(fù)用構(gòu)件建立良好的接口規(guī)約n DSSA定義了可復(fù)用軟件資源的重用時(shí)機(jī),從而支持了系統(tǒng)化的軟件重用4.2.2 DSSA的應(yīng)用工程o 應(yīng)用工程是在領(lǐng)域工程基礎(chǔ)上,針對(duì)某一具體應(yīng)用所實(shí)施的開發(fā)過程o 應(yīng)用工程是對(duì)領(lǐng)域模型的實(shí)例化過程,可以為單個(gè)應(yīng)用設(shè)計(jì)提供最佳的解決方案o 應(yīng)用工程可以劃分為應(yīng)用系統(tǒng)分析、應(yīng)用系統(tǒng)設(shè)計(jì)和應(yīng)用系統(tǒng)實(shí)現(xiàn)與測(cè)試3個(gè)階段o 應(yīng)用系統(tǒng)分析n 根據(jù)領(lǐng)域工程所獲取的分析模型,對(duì)照用戶的實(shí)際需求,確認(rèn)領(lǐng)域分析模型中的變化性因素,或者提出新的應(yīng)用需求,以建立該系統(tǒng)的分析模型4.2.2 DSSA的應(yīng)用工程o 應(yīng)
14、用系統(tǒng)設(shè)計(jì)n 以領(lǐng)域工程所獲得的DSSA為基礎(chǔ),對(duì)照應(yīng)用的具體分析模型,給出該系統(tǒng)的設(shè)計(jì)方案o 應(yīng)用系統(tǒng)實(shí)現(xiàn)與測(cè)試n 以領(lǐng)域構(gòu)架和構(gòu)件為基礎(chǔ),對(duì)照具體應(yīng)用的設(shè)計(jì)模型,按照框架來集成組裝構(gòu)件,同時(shí)進(jìn)行必要的代碼編寫工作,以實(shí)現(xiàn)并測(cè)試最終的系統(tǒng)4.2.3 領(lǐng)域工程與應(yīng)用工程的關(guān)系o 領(lǐng)域中的共性部分是通過領(lǐng)域中的所有應(yīng)用來體現(xiàn)的,一旦得到實(shí)現(xiàn)之后,在應(yīng)用工程中便不再作為關(guān)注的重點(diǎn)o 選擇和配置不同抽象層次的變化性因素,將成為貫穿應(yīng)用工程全過程的主要活動(dòng)o 在領(lǐng)域設(shè)計(jì)階段,建立比較合理、靈活的DSSA,將系統(tǒng)中的可變部分與固定部分分離開來,將系統(tǒng)成分在DSSA和構(gòu)件之間進(jìn)行合理的分配,把變化性因素封
15、裝為構(gòu)件4.2.3 領(lǐng)域工程與應(yīng)用工程的關(guān)系o 領(lǐng)域工程與應(yīng)用工程二者之間是有區(qū)別的n 在領(lǐng)域工程中,開發(fā)人員的基本任務(wù)是對(duì)領(lǐng)域中所有應(yīng)用的需求進(jìn)行抽象,而不僅僅局限于個(gè)別系統(tǒng)n 在應(yīng)用工程中,開發(fā)人員的主要任務(wù)是,以領(lǐng)域工程的成果為基礎(chǔ),針對(duì)特定需求產(chǎn)生一系列的具體設(shè)計(jì)方案n 領(lǐng)域工程是在一個(gè)較高的層次上,對(duì)領(lǐng)域應(yīng)用中的共同特征進(jìn)行抽象,并通過領(lǐng)域模型和DSSA來表示這些共同特征之間的關(guān)聯(lián)關(guān)系4.2.3 領(lǐng)域工程與應(yīng)用工程的關(guān)系o 領(lǐng)域工程和應(yīng)用工程是互相聯(lián)系的:n 應(yīng)用工程所建立的系統(tǒng),包含了需求規(guī)約、設(shè)計(jì)方案和實(shí)現(xiàn)細(xì)節(jié)等多種信息,這些又是領(lǐng)域工程的信息來源n 領(lǐng)域工程負(fù)責(zé)對(duì)應(yīng)用工程各個(gè)階
16、段中的產(chǎn)品進(jìn)行抽象n 領(lǐng)域工程所獲取的資源,將對(duì)本領(lǐng)域新應(yīng)用的開發(fā)提供支持n 領(lǐng)域工程和應(yīng)用工程都需要解決一些相似的問題n 領(lǐng)域工程的步驟、行為和成果與應(yīng)用工程是一一對(duì)應(yīng)的4.2.3 領(lǐng)域工程與應(yīng)用工程的關(guān)系o 在應(yīng)用工程中被廣泛使用的方法、技術(shù)和原則都可以在領(lǐng)域工程中加以利用n 例如:結(jié)構(gòu)化分析方法、面向?qū)ο笤O(shè)計(jì)技術(shù)、實(shí)體-關(guān)系圖、以及數(shù)據(jù)流圖等4.3 DSSA的參與者o DSSA的參與者包括領(lǐng)域工程人員和應(yīng)用工程人員o 領(lǐng)域工程人員包括:領(lǐng)域?qū)<?、領(lǐng)域分析人員、領(lǐng)域設(shè)計(jì)人員和領(lǐng)域?qū)崿F(xiàn)人員o 領(lǐng)域?qū)<野ㄔ擃I(lǐng)域中有經(jīng)驗(yàn)的用戶、從事該領(lǐng)域系統(tǒng)需求分析、設(shè)計(jì)、實(shí)現(xiàn)以及項(xiàng)目管理的軟件工程師等4.3
17、 DSSA的參與者n 提供關(guān)于領(lǐng)域中的系統(tǒng)需求規(guī)約和實(shí)現(xiàn)知識(shí),幫助組織規(guī)范一致的領(lǐng)域術(shù)語字典,選擇樣本系統(tǒng)作為領(lǐng)域工程的參考,以及復(fù)審領(lǐng)域模型和領(lǐng)域設(shè)計(jì)框架等相關(guān)產(chǎn)品o 領(lǐng)域分析人員由具有領(lǐng)域?qū)I(yè)知識(shí)、工程背景和領(lǐng)域?qū)崿F(xiàn)經(jīng)驗(yàn)的系統(tǒng)分析人員來擔(dān)任n 控制領(lǐng)域分析過程,獲取領(lǐng)域知識(shí),并將領(lǐng)域知識(shí)組織到領(lǐng)域模型中,同時(shí)根據(jù)現(xiàn)有系統(tǒng)規(guī)約、標(biāo)準(zhǔn)規(guī)范來驗(yàn)證領(lǐng)域模型的準(zhǔn)確性和一致性,以實(shí)現(xiàn)領(lǐng)域模型的維護(hù)任務(wù)4.3 DSSA的參與者o 領(lǐng)域設(shè)計(jì)人員由有經(jīng)驗(yàn)的軟件設(shè)計(jì)人員擔(dān)任n 控制整個(gè)領(lǐng)域設(shè)計(jì)過程,從領(lǐng)域模型和現(xiàn)有應(yīng)用系統(tǒng)發(fā)出,設(shè)計(jì)DSSA,驗(yàn)證DSSA的準(zhǔn)確性與一致性,建立領(lǐng)域模型和DSSA之間的關(guān)聯(lián)關(guān)系o
18、 領(lǐng)域?qū)崿F(xiàn)人員由有經(jīng)驗(yàn)的程序設(shè)計(jì)人員擔(dān)任n 根據(jù)領(lǐng)域模型和DSSA,開發(fā)可復(fù)用軟件構(gòu)件,利用再工程技術(shù)從現(xiàn)有系統(tǒng)中提取可復(fù)用軟件構(gòu)件,驗(yàn)證可復(fù)用構(gòu)件,建立DSSA與可復(fù)用構(gòu)件之間的關(guān)聯(lián)關(guān)系4.3 DSSA的參與者o 參與應(yīng)用工程的人員劃分為三種角色,系統(tǒng)分析人員、系統(tǒng)設(shè)計(jì)人員和系統(tǒng)實(shí)現(xiàn)人員o 系統(tǒng)分析人員是指完成系統(tǒng)分析任務(wù)的項(xiàng)目組成員,包括:系統(tǒng)分析人員、系統(tǒng)設(shè)計(jì)人員、系統(tǒng)實(shí)現(xiàn)人員和用戶n 系統(tǒng)分析人員對(duì)新應(yīng)用進(jìn)行綜合考察,以領(lǐng)域分析模型為基礎(chǔ),結(jié)合系統(tǒng)的個(gè)性差異,獲取其應(yīng)用需求4.3 DSSA的參與者o 系統(tǒng)設(shè)計(jì)人員是系統(tǒng)的技術(shù)專家,對(duì)選擇何種信息技術(shù)及根據(jù)所選擇的技術(shù)來設(shè)計(jì)系統(tǒng)非常感興趣
19、n 系統(tǒng)設(shè)計(jì)人員根據(jù)應(yīng)用需求,以領(lǐng)域設(shè)計(jì)框架為基礎(chǔ),給出應(yīng)用系統(tǒng)的整體結(jié)構(gòu)n 系統(tǒng)設(shè)計(jì)人員將系統(tǒng)用戶的業(yè)務(wù)需求和約束條件轉(zhuǎn)換為可行的技術(shù)解決方案o 按照整體設(shè)計(jì)框架,系統(tǒng)實(shí)現(xiàn)人員將構(gòu)件連接起來,以創(chuàng)建應(yīng)用系統(tǒng)4.3 DSSA的參與者n 對(duì)設(shè)計(jì)框架中的概念構(gòu)件進(jìn)行分類,如果構(gòu)件庫中存在與之相符的實(shí)現(xiàn)構(gòu)件,則直接進(jìn)行復(fù)用n 若存在相似的實(shí)現(xiàn)構(gòu)件,則對(duì)其進(jìn)行修改并符合要求后進(jìn)行復(fù)用n 若不存在相符和相似的實(shí)現(xiàn)構(gòu)件,則需要進(jìn)行重新開發(fā)o 應(yīng)該使領(lǐng)域工程人員與應(yīng)用工程人員都參與DSSA的各個(gè)階段4.4 DSSA的生命周期4.4 DSSA的生命周期o 對(duì)領(lǐng)域進(jìn)行分析建立領(lǐng)域模型,領(lǐng)域模型是領(lǐng)域設(shè)計(jì)的出發(fā)點(diǎn)
20、,同時(shí)也是應(yīng)用需求分析的參照o 以領(lǐng)域模型為基礎(chǔ),設(shè)計(jì)特定領(lǐng)域軟件體系結(jié)構(gòu)DSSA的參考規(guī)范和重用構(gòu)件,同時(shí)也為應(yīng)用系統(tǒng)的設(shè)計(jì)提供參照o 參考DSSA和應(yīng)用的個(gè)性差異,設(shè)計(jì)應(yīng)用系統(tǒng)的框架結(jié)構(gòu)4.4 DSSA的生命周期o 按照系統(tǒng)的框架結(jié)構(gòu),從構(gòu)件庫中檢索可重用的軟件構(gòu)件或重新開發(fā)所需的構(gòu)件,創(chuàng)建應(yīng)用系統(tǒng)o 在設(shè)計(jì)實(shí)現(xiàn)過程中,總結(jié)不滿足規(guī)范的約束和差錯(cuò),用以完善DSSA參考規(guī)范o 應(yīng)用需求的變動(dòng)和模擬執(zhí)行結(jié)果也為DSSA參考規(guī)范的修改提供依據(jù)o 應(yīng)用設(shè)計(jì)實(shí)現(xiàn)復(fù)用了領(lǐng)域設(shè)計(jì)實(shí)現(xiàn)的相關(guān)成果,反過來又促進(jìn)了領(lǐng)域設(shè)計(jì)實(shí)現(xiàn)方案完善4.4 DSSA的生命周期o DSSA的生命周期與復(fù)用技術(shù)有著密切的關(guān)聯(lián)關(guān)系
21、o 基于DSSA的軟件開發(fā)對(duì)重用的要求:n 跨越網(wǎng)絡(luò)協(xié)議、體系結(jié)構(gòu)、操作系統(tǒng)、程序設(shè)計(jì)語言和地址空間邊界的大范圍共享重用n 以可重用構(gòu)件為基本單元實(shí)現(xiàn)軟件工業(yè)化生產(chǎn),以有效地降低開發(fā)成本,提高生產(chǎn)效率和系統(tǒng)可靠性4.4 DSSA的生命周期n 以高度抽象的可重用構(gòu)件為基礎(chǔ),實(shí)現(xiàn)領(lǐng)域?qū)<抑鲗?dǎo)的軟件設(shè)計(jì),使應(yīng)用系統(tǒng)具有針對(duì)性和動(dòng)態(tài)演化能力n 開發(fā)高階可重用構(gòu)件,以有效開拓重用的深度和力度o DSSA重用的特征:n 為了決定不同粒度的最佳構(gòu)件重用集,必須對(duì)領(lǐng)域有一個(gè)深入而透徹的了解,對(duì)領(lǐng)域的了解是通過領(lǐng)域模型的建立與分析來完成的4.4 DSSA的生命周期n 領(lǐng)域模型和參考體系結(jié)構(gòu)清楚地定義了領(lǐng)域的共同
22、特征,由于領(lǐng)域是特定的,根據(jù)參考體系結(jié)構(gòu),將為軟件重用提供最佳切入點(diǎn)n 參考體系結(jié)構(gòu)的重用驅(qū)動(dòng)了共同域設(shè)計(jì)方案的重用n 參考體系結(jié)構(gòu)為重用提供了通用框架,避免了在構(gòu)件集成時(shí)所出現(xiàn)的組合問題n 建立重用構(gòu)件庫,必須以領(lǐng)域模型和參考體系結(jié)構(gòu)為基礎(chǔ)n 領(lǐng)域模型、參考體系結(jié)構(gòu)和構(gòu)件庫都將隨著領(lǐng)域應(yīng)用需求的變化而不斷地發(fā)生演變4.5 DSSA的建立o DSSA是一種軟件構(gòu)件的集合,它采用標(biāo)準(zhǔn)的結(jié)構(gòu)和協(xié)議來進(jìn)行描述,是專門針對(duì)某一類特定任務(wù)所設(shè)計(jì)的o 將DSSA在整個(gè)領(lǐng)域中進(jìn)行推廣,可以解決具有類似功能的應(yīng)用問題o 基于DSSA的軟件開發(fā)方法將設(shè)計(jì)者的注意力集中在當(dāng)前問題的個(gè)性化需求上,不必考慮那些被DS
23、SA認(rèn)為是普遍的、公共的需求4.5 DSSA的建立o DSSA由領(lǐng)域模型、參考需求和參考體系結(jié)構(gòu)3個(gè)部分組成,此外,還包括框架/環(huán)境支持工具和抽取評(píng)估工具n 領(lǐng)域模型是DSSA的關(guān)鍵成分,它是領(lǐng)域內(nèi)各系統(tǒng)共同需求的抽象,描述了領(lǐng)域內(nèi)應(yīng)用需求的共同特征n 領(lǐng)域模型所描述的需求經(jīng)常被稱之為參考需求或領(lǐng)域需求,是通過考察領(lǐng)域中已有系統(tǒng)的需求而獲取的4.5 DSSA的建立n 參考體系結(jié)構(gòu)是一個(gè)統(tǒng)一的、相關(guān)的和多級(jí)的軟件體系結(jié)構(gòu)規(guī)范,被用做開發(fā)活動(dòng)的指南,它將設(shè)計(jì)限制在低層,并支持互操作和軟件重用o DSSA領(lǐng)域分析過程框架如下所示:4.5 DSSA的建立4.5 DSSA的建立o 領(lǐng)域分析活動(dòng)的信息源即
24、領(lǐng)域知識(shí),主要包括領(lǐng)域內(nèi)遺留系統(tǒng)中的各種形式信息o 領(lǐng)域分析人員和領(lǐng)域?qū)<依靡欢ǖ念I(lǐng)域分析方法和技術(shù)對(duì)領(lǐng)域中的相關(guān)知識(shí)進(jìn)行捕獲、識(shí)別和驗(yàn)證o 對(duì)所提取的領(lǐng)域標(biāo)準(zhǔn)、領(lǐng)域模型和框架結(jié)構(gòu)等可重用軟件資產(chǎn)進(jìn)行分析和抽象,形成了可復(fù)用的基礎(chǔ)設(shè)施o 領(lǐng)域分析主要包括以下三個(gè)階段,即領(lǐng)域標(biāo)識(shí)、領(lǐng)域界定和領(lǐng)域建模4.5 DSSA的建立o 領(lǐng)域標(biāo)識(shí),包括以下四個(gè)步驟:n 標(biāo)識(shí)信息:為可靠的領(lǐng)域技能和文檔資源提供必要的信息源n 采集領(lǐng)域信息:收集領(lǐng)域信息,為領(lǐng)域描述作準(zhǔn)備n 描述領(lǐng)域:說明領(lǐng)域內(nèi)的子領(lǐng)域,子領(lǐng)域之間的關(guān)系、領(lǐng)域所包含的系統(tǒng),按共性、公共功能和性能的分類結(jié)果,以及系統(tǒng)和子系統(tǒng)的類型特征n 驗(yàn)證領(lǐng)域
25、描述:證實(shí)領(lǐng)域描述信息的真實(shí)性,給出事務(wù)過程模型、數(shù)據(jù)模型以及需求規(guī)范文檔4.5 DSSA的建立o 領(lǐng)域界定,對(duì)領(lǐng)域標(biāo)識(shí)的結(jié)果進(jìn)行確認(rèn),以便在此基礎(chǔ)之上,進(jìn)行領(lǐng)域分析活動(dòng)o 領(lǐng)域建模,綜合問題空間信息,標(biāo)識(shí)公共特性,識(shí)別對(duì)象及其之間的關(guān)系,確定系統(tǒng)行為,描述約束條件和開發(fā)公共對(duì)象模型o 建立特定領(lǐng)域體系結(jié)構(gòu)的基本思想是:針對(duì)某個(gè)特定應(yīng)用領(lǐng)域,對(duì)領(lǐng)域模型和參考需求加以擴(kuò)充,從而得到該領(lǐng)域的軟件體系結(jié)構(gòu)4.5 DSSA的建立o DSSA創(chuàng)建過程描述如下:n 定義領(lǐng)域范圍,確定什么在感興趣的領(lǐng)域之中,以及本過程到何時(shí)結(jié)束,這個(gè)階段的主要輸出是領(lǐng)域的應(yīng)用需求和一系列的用戶需求n 定義領(lǐng)域特定元素,編寫
26、領(lǐng)域字典和領(lǐng)域術(shù)語的同義詞詞典,增加更多的細(xì)節(jié),以及識(shí)別領(lǐng)域中應(yīng)用之間的共性和個(gè)性差異n 定義領(lǐng)域特定的設(shè)計(jì)方案和實(shí)現(xiàn)需求約束,在解空間中,描述有差別的特征,不僅要識(shí)別出約束,而且還要記錄約束對(duì)設(shè)計(jì)和實(shí)現(xiàn)決定所造成的后果4.5 DSSA的建立n 定義領(lǐng)域模型和體系結(jié)構(gòu)框架,其目標(biāo)是產(chǎn)生適用于一般問題的體系結(jié)構(gòu),并說明構(gòu)成它們的模塊或構(gòu)件的語法與語義n 產(chǎn)生和搜集可重用的產(chǎn)品單元,為DSSA增加構(gòu)件,用于創(chuàng)建領(lǐng)域中的新應(yīng)用o 特定領(lǐng)域軟件體系結(jié)構(gòu)是以領(lǐng)域分析結(jié)果為基礎(chǔ)建立的,適用于特定領(lǐng)域中的各個(gè)應(yīng)用o DSSA主要通過4方面的重用來提高軟件的開發(fā)效率:4.5 DSSA的建立n 領(lǐng)域重用,包括領(lǐng)
27、域模型的重用和需求分析的重用n 基礎(chǔ)資源的重用,包括DSSA的重用和構(gòu)件的重用n 過程重用,包括領(lǐng)域工程重用和應(yīng)用工程重用n 軟件開發(fā)人員的組織是DSSA的一個(gè)映射,也是可重用的部分o 在領(lǐng)域分析過程中,應(yīng)該考慮軟件復(fù)用效率最大化問題,而這又將依賴于DSSA中共性與可變性的良好分離4.5 DSSA的建立o DSSA的設(shè)計(jì)應(yīng)該滿足領(lǐng)域模型中的依賴關(guān)系和相關(guān)約束信息,同時(shí)應(yīng)該以適當(dāng)?shù)姆绞絹碇С挚勺兲卣鞯慕壎╫ DSSA的設(shè)計(jì)原則主要包括:n 分離共性和可變性,提高構(gòu)件的可復(fù)用性n 滿足模型中可變特征的不同綁定時(shí)間的要求n 盡量降低構(gòu)件的復(fù)用成本,提高復(fù)用效率n 保持DSSA模型與特征模型中元素邊界
28、的一致性,DSSA應(yīng)該體現(xiàn)出清晰的邏輯邊界4.5 DSSA的建立n 開發(fā)特定領(lǐng)域范圍內(nèi)的類屬和廣泛適用的領(lǐng)域構(gòu)件,以實(shí)現(xiàn)最大程度的軟件重用n 領(lǐng)域知識(shí)和領(lǐng)域基礎(chǔ)結(jié)構(gòu)的形式化表示,作為領(lǐng)域建模的信息源n 領(lǐng)域分析過程的細(xì)化描述,以方便開展建模工作n 領(lǐng)域產(chǎn)品的層次化處理,便于領(lǐng)域工程與應(yīng)用工程的實(shí)施4.6 基于DSSA的軟件開發(fā)o 特定領(lǐng)域軟件體系結(jié)構(gòu)反映了領(lǐng)域內(nèi)各系統(tǒng)之間在總體組織、全局控制、通信協(xié)議和數(shù)據(jù)存取等方面的共性和個(gè)性差異o DSSA開發(fā)方法的重點(diǎn)不是應(yīng)用,而是重用,最終目的是開發(fā)領(lǐng)域中的一族應(yīng)用程序o 將領(lǐng)域工程與應(yīng)用工程相結(jié)合,可實(shí)現(xiàn)特定領(lǐng)域的軟件開發(fā)o 無論是領(lǐng)域工程還是應(yīng)用工
29、程,都是一個(gè)反復(fù)迭代的過程4.6 基于DSSA的軟件開發(fā)4.6 基于DSSA的軟件開發(fā)o 在應(yīng)用工程中,我們可以對(duì)所有系統(tǒng)的個(gè)性差異進(jìn)行總結(jié),獲取其中的共性特征,啟動(dòng)新一輪的領(lǐng)域工程o 在特定領(lǐng)域中,經(jīng)過完善的DSSA又將促進(jìn)應(yīng)用系統(tǒng)的開發(fā)效率,提高所開發(fā)軟件產(chǎn)品的質(zhì)量o 從應(yīng)用開發(fā)者的角度來看,軟件分析階段和軟件設(shè)計(jì)階段的主要任務(wù)是從DSSA中導(dǎo)出特定應(yīng)用的體系結(jié)構(gòu)框架4.6 基于DSSA的軟件開發(fā)o 從應(yīng)用開發(fā)者的角度來看,軟件實(shí)現(xiàn)階段的主要任務(wù)是根據(jù)系統(tǒng)體系結(jié)構(gòu)框架來選擇構(gòu)件,以實(shí)現(xiàn)該應(yīng)用系統(tǒng)o 在整個(gè)生命周期中,特定領(lǐng)域軟件體系結(jié)構(gòu)和可重用構(gòu)件始終是開發(fā)過程中的核心內(nèi)容4.6 基于DS
30、SA的軟件開發(fā)4.6 基于DSSA的軟件開發(fā)o 在基于DSSA的設(shè)計(jì)與實(shí)現(xiàn)過程中,應(yīng)該將一個(gè)復(fù)雜的應(yīng)用問題切分成層o 開發(fā)每一層中內(nèi)聚模塊,讓每一層僅依賴于其下層的構(gòu)件,遵照標(biāo)準(zhǔn)的架構(gòu)模式,以降低層次之間的耦合度o 將與領(lǐng)域業(yè)務(wù)邏輯相關(guān)的代碼集中到一個(gè)層次中,讓它專注于展現(xiàn)領(lǐng)域模型o 隨著領(lǐng)域需求的不斷變化和對(duì)領(lǐng)域理解的進(jìn)一步深入,將啟動(dòng)新一輪的領(lǐng)域工程,對(duì)DSSA進(jìn)行演化4.6 基于DSSA的軟件開發(fā)o DSSA的演化過程:n 根據(jù)領(lǐng)域需求確定DSSA,描述滿足領(lǐng)域需求的由構(gòu)件、構(gòu)件之間的連接以及約束所表示的系統(tǒng)體系結(jié)構(gòu)n DSSA的規(guī)范說明,運(yùn)用合適的形式化數(shù)學(xué)理論對(duì)DSSA模型進(jìn)行規(guī)范定
31、義,得到DSSA的規(guī)范描述,以使其創(chuàng)建過程更加精確并且無歧義n DSSA的求精及驗(yàn)證,DSSA是通過從抽象到具體,逐步求精而得到的,需要對(duì)不同抽象層次的DSSA進(jìn)行驗(yàn)證,以判斷具體的DSSA是否與抽象的DSSA的語義之間保持一致4.6 基于DSSA的軟件開發(fā)n 實(shí)施DSSA,將DSSA實(shí)施于領(lǐng)域的系統(tǒng)設(shè)計(jì)之中n DSSA的維護(hù),領(lǐng)域需求可能會(huì)發(fā)生變化,要求DSSA能夠反映需求的變化,維護(hù)DSSA就是將變化了的領(lǐng)域需求反饋給領(lǐng)域模型,促使DSSA的進(jìn)一步修改與完善n DSSA的終結(jié),當(dāng)領(lǐng)域需求發(fā)生巨大變化時(shí),DSSA已經(jīng)不能再滿足領(lǐng)域的設(shè)計(jì)要求,此時(shí),就需要擯棄原有的DSSA4.6 基于DSSA的軟件開發(fā)4.6 基于DSSA的軟件開發(fā)o 在創(chuàng)建DSSA的過程中,同時(shí)要導(dǎo)出適應(yīng)DSSA的可復(fù)用軟件構(gòu)件o 在DSSA的演化過程中,可能會(huì)生成新的可重用構(gòu)件,也可能需要對(duì)庫中已有的構(gòu)件進(jìn)行修改與更新o 可重用構(gòu)件也有其產(chǎn)生、發(fā)展和演化的過程o 可重用構(gòu)件的演化步驟如下:n (1)從DSSA中導(dǎo)出系統(tǒng)體系結(jié)構(gòu)所認(rèn)定的可重用構(gòu)件C4.6 基于DSSA的軟件開發(fā)n (2)查詢構(gòu)件庫,看構(gòu)件庫中是否有構(gòu)件C,若有則轉(zhuǎn)(5)n (3)描述構(gòu)件Cn (4)根據(jù)C的描述,來開發(fā)構(gòu)件,然后轉(zhuǎn)(7)n (5)看構(gòu)件庫中的構(gòu)件是否能滿足要求,若是則轉(zhuǎn)(9)n (6)構(gòu)件庫中的構(gòu)件不能完全滿足要求
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年代理加盟協(xié)議范本
- 《民族復(fù)興中國夢(mèng)》課件
- 2025年個(gè)人消費(fèi)貸款抵押合同
- 2025年化學(xué)災(zāi)難責(zé)任保險(xiǎn)合同
- 2025年寬帶網(wǎng)絡(luò)使用協(xié)約
- 2025年石材質(zhì)押合同
- 2025版綠色建筑項(xiàng)目募集資金三方監(jiān)管與支持合同4篇
- 2025版信息安全管理體系委托管理合同范本3篇
- 2025版衛(wèi)生間裝修材料環(huán)保認(rèn)證協(xié)議書3篇
- 2025版農(nóng)業(yè)設(shè)施設(shè)計(jì)顧問服務(wù)協(xié)議3篇
- 醫(yī)院三基考核試題(康復(fù)理療科)
- 2024-2030年中國招標(biāo)代理行業(yè)深度分析及發(fā)展前景與發(fā)展戰(zhàn)略研究報(bào)告
- 醫(yī)師定期考核 (公共衛(wèi)生)試題庫500題(含答案)
- 基因突變和基因重組(第1課時(shí))高一下學(xué)期生物人教版(2019)必修2
- 內(nèi)科學(xué)(醫(yī)學(xué)高級(jí)):風(fēng)濕性疾病試題及答案(強(qiáng)化練習(xí))
- 音樂劇好看智慧樹知到期末考試答案2024年
- 辦公設(shè)備(電腦、一體機(jī)、投影機(jī)等)采購 投標(biāo)方案(技術(shù)方案)
- 案卷評(píng)查培訓(xùn)課件模板
- 2024年江蘇省樣卷五年級(jí)數(shù)學(xué)上冊(cè)期末試卷及答案
- 人教版初中英語七八九全部單詞(打印版)
- 波浪理論要點(diǎn)圖解完美版
評(píng)論
0/150
提交評(píng)論