<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 軟件產(chǎn)品家族的領(lǐng)域建模過(guò)程

軟件產(chǎn)品家族的領(lǐng)域建模過(guò)程

作者: 時(shí)間:2011-12-16 來(lái)源:網(wǎng)絡(luò ) 收藏

軟件產(chǎn)品家族是具有共同特性的一系列軟件系統,例如電信公司的各種計費系統、手機應用軟件,像這樣一些具有共同特性的一組軟件系統的開(kāi)發(fā),如果沒(méi)有系統重用的方法,采取傳統的“一次開(kāi)發(fā)一個(gè)系統”的方法,將使系統的成本和開(kāi)發(fā)周期大大增加。

被認為是解決軟件危機、實(shí)現軟件產(chǎn)業(yè)工業(yè)化生產(chǎn)方式的有效途徑。軟件產(chǎn)品家族方法即應用的相關(guān)原理和技術(shù),把整個(gè)產(chǎn)品家族作為同一問(wèn)題空間來(lái)看待的軟件開(kāi)發(fā)方法。研究和實(shí)踐表明,通過(guò)應用技術(shù),軟件產(chǎn)品家族方法極大地節省了軟件產(chǎn)品的開(kāi)發(fā)成本和時(shí)間[1],因此軟件產(chǎn)品家族方法也被認為是一種提高軟件開(kāi)發(fā)效率和控制軟件復雜性的有效措施。

本文采用面向特征的領(lǐng)域分析方法,選取高校設備預定管理產(chǎn)品家族作為研究實(shí)例,闡述了對軟件產(chǎn)品家族領(lǐng)域分析的方法,實(shí)現了需求的復用。

1相關(guān)概念

1.1領(lǐng)域工程

領(lǐng)域是一組具有相似或相近軟件需求的應用系統所覆蓋的功能區域[2]。領(lǐng)域的概念規定了領(lǐng)域工程的研究范圍,即在構造一個(gè)特定領(lǐng)域內的系統或者系統的某些部分時(shí),以可重用方面的形式收集、組織并保存過(guò)去的經(jīng)驗的活動(dòng),以及在構造新系統時(shí),提供一種充分的方法來(lái)重用這些資源。

領(lǐng)域工程過(guò)程實(shí)施與開(kāi)發(fā)單個(gè)應用系統的軟件工程過(guò)程(應用工程)不同,需依據一定的領(lǐng)域工程方法進(jìn)行。較有影響的領(lǐng)域分析方法有:面向特征的領(lǐng)域分析方法FODA(Feature-Oriented Domain Analysis)、組織領(lǐng)域分析模型方法ODM(Organization Domain Modeling)及領(lǐng)域分析和設計過(guò)程(DADP)等[3]。面向特征的領(lǐng)域分析方法為領(lǐng)域分析定義了具體的過(guò)程和階段,與其他方法相比具有較強的操作性。以下3個(gè)基本階段刻畫(huà)了FODA過(guò)程[3]:場(chǎng)景分析,定義進(jìn)行分析的領(lǐng)域的區域(或邊界);,提供一個(gè)對用軟件表達的領(lǐng)域的問(wèn)題空間的描述;構架建模,創(chuàng )造一個(gè)可以將解決方案實(shí)施到領(lǐng)域中具體問(wèn)題的軟件體系結構。

本文引用地址:http://dyxdggzs.com/article/257793.htm

1.2 產(chǎn)品家族

產(chǎn)品家族是指一類(lèi)共享體系結構屬性、特征、代碼、構件、中間件或者需求的軟件產(chǎn)品。作為特殊的領(lǐng)域,產(chǎn)品家族主要強調產(chǎn)品所在家族的共性,并不限于特定的軟件企業(yè)。共性是產(chǎn)品家族存在的基礎,而家族內單個(gè)產(chǎn)品間的區別則屬于變化性。因此,對軟件產(chǎn)品家族進(jìn)行領(lǐng)域分析,需要描述出家族內產(chǎn)品的共性和變化性。FODA方法用特征來(lái)對需求進(jìn)行模塊化組織,用特征和特征之間的關(guān)系來(lái)對整個(gè)產(chǎn)品領(lǐng)域進(jìn)行建模。

1.3 特征和

特征的定義在領(lǐng)域工程中并不完全相同,一個(gè)比較完整的定義為:從需求規約的組織結構角度來(lái)看,特征提供了一種對需求的分割和組織方式,即以特征作為需求空間內的一階實(shí)體,系統具有的特征及其相互關(guān)系構成了系統的需求空間[4]。

領(lǐng)域是面向特征的領(lǐng)域需求規約模型,通過(guò)記錄領(lǐng)域具有的一組相對穩定的特征以及特征之間的關(guān)系反映整個(gè)領(lǐng)域的軟件需求。它分為共性和變化性特征,其中共性特征表達領(lǐng)域內各成員系統的共有部分,變化性特征描述領(lǐng)域內部分成員系統的共有或特有部分。

2 面向特征的軟件產(chǎn)品家族建模方法

本文在對高校設備預定管理產(chǎn)品家族進(jìn)行時(shí),以FODA為基礎,把特征和的概念引入到領(lǐng)域分析模型中,用于表現領(lǐng)域需求,同時(shí)采用用例模型描述家族中的成員系統的變化性。

面向特征的產(chǎn)品家族領(lǐng)域分析的主要目標是獲得領(lǐng)域分析模型以描述家族中產(chǎn)品的共性和變化性需求,包括場(chǎng)景模型、領(lǐng)域面向對象分析模型和特征模型3部分。其主要活動(dòng)及過(guò)程如圖1所示。


2.1領(lǐng)域場(chǎng)景分析

場(chǎng)景分析的目的是通過(guò)領(lǐng)域分析人員與用戶(hù)、領(lǐng)域專(zhuān)家交互,分析已有的一組軟件產(chǎn)品,給出一個(gè)軟件產(chǎn)品家族范圍的定義,確定軟件系統族包括哪些應用。場(chǎng)景分析包括以下3個(gè)過(guò)程:定義領(lǐng)域的范圍、確定與軟件家族交互的操作者、建立領(lǐng)域字典。如果是第一次開(kāi)發(fā)家族內的成員系統,沒(méi)有可重用的軟件產(chǎn)品家族需求,則需要由需求工程師和領(lǐng)域專(zhuān)家從歷史、當前和未來(lái)的系統需求中確定系統家族的功能需求和質(zhì)量需求?! ?br />
2.2領(lǐng)域面向對象分析模型

在產(chǎn)品家族中,不同的應用系統由于其針對的商業(yè)目標或用戶(hù)群不同,使得用戶(hù)與系統之間的交互存在差異性。在為軟件產(chǎn)品家族創(chuàng )建用例模型時(shí),需要對現存系統的用例模型進(jìn)行整合,將各用例模型中的公共部分抽取出來(lái),作為用例模型中的共性部分;對于家族內單個(gè)產(chǎn)品具有的功能,進(jìn)行分類(lèi)篩選,作為用例模型的變化性部分,在單個(gè)用例圖中加以描述。之后要對整個(gè)用例模型進(jìn)行一致性、冗余性檢查,最終得到包含共性和變化性需求的軟件產(chǎn)品家族用例模型。

2.3特征模型

領(lǐng)域分析階段特征模型主要根據領(lǐng)域用例模型而來(lái)的,領(lǐng)域用例模型描述的是領(lǐng)域的功能性需求,因而特征模型主要是由功能性特征組成。而一個(gè)功能在執行過(guò)程中表現出的行為特點(diǎn),既可能是產(chǎn)品家族中所有系統的共性,也可能只是單個(gè)系統才具有的獨特之處。

3應用實(shí)例

本文選取高校設備預定管理這一類(lèi)共享軟件需求的軟件家族作為研究案例,應用面向特征的軟件產(chǎn)品家族建模方法。

3.1領(lǐng)域范圍

在高校教學(xué)中,大都或多或少地存在著(zhù)教學(xué)設備和教學(xué)資源緊缺的問(wèn)題。為了合理地利用現有教學(xué)資源,提高教學(xué)效率和教學(xué)資源的利用率,許多高校使用設備預定管理軟件進(jìn)行教學(xué)設備的預定和分配。這些系統具有相似的功能,即實(shí)現設備的預定/預約,方便用戶(hù)或設備使用人員,實(shí)現設備使用的自動(dòng)分配,因此可以定義為高校設備預定管理產(chǎn)品家族。這里的設備包括高校教學(xué)中使用的教學(xué)儀器、設備,以及教室、會(huì )議室、學(xué)術(shù)報告廳等教學(xué)資源。

3.2與軟件家族交互的操作者

硬件方面包括數據傳輸局域網(wǎng)、服務(wù)器和客戶(hù)端計算機。
軟件方面包括Windows XP、SQL Server 2005、Microsoft.Net Framework 2.0。
系統使用者包括設備管理人員和設備使用人員。

3.3領(lǐng)域字典

對于軟件產(chǎn)品家族內的部分術(shù)語(yǔ)以領(lǐng)域字典的形式進(jìn)行注釋?zhuān)绫?所示。


3.4領(lǐng)域用例模型

通過(guò)分析現有高校設備預定管理軟件,考慮到不同學(xué)校不同的管理方式,抽象出高校設備預定管理軟件產(chǎn)品家族的共性需求,由用例模型來(lái)描述, 如圖2所示。用例圖能夠詳細地描述用戶(hù)與系統的交互過(guò)程,因此可以表達交互過(guò)程中的變化性。表2是其中的“增加預定”用例,變化性的需求用斜體表示。


3.5特征模型

根據設備預定管理的家族用例模型,從交互過(guò)程分析活動(dòng)開(kāi)始,建立設備預定管理家族的特征模型圖,如圖3所示?!?br />
“批量預定”——可選特征。有的應用系統中不允許批量預定(例如重要設備),只能在使用前臨時(shí)預定;而有些設備則可以一次預定多個(gè)(例如教室)。“批量預定”特征包含“多個(gè)時(shí)間段”和“多個(gè)設備”2個(gè)特征,二者關(guān)系可替換,即允許多個(gè)時(shí)間段預定,也可一次預定多個(gè)設備,或二者皆可。

“設備管理”——強制特征。每個(gè)應用系統都需要對設備進(jìn)行管理,如添加、刪除、修改等。

“刪除設備方式”——強制特征。由“刪除設備和預定”、“預定結束后刪除”和“不刪除”3個(gè)子特征描述。三者的關(guān)系是多選一,即“刪除設備方式”是3個(gè)子特征中的1個(gè)。

依賴(lài)關(guān)系:例如“批量折扣”特征依賴(lài)于“批量預定”特征。

面向特征的方法是目前主流的領(lǐng)域建模方法,該方法支持領(lǐng)域需求共性/變化性的建模,及支持對領(lǐng)域需求變化性的剪裁。本文在分析了面向特征的領(lǐng)域分析方法的基礎上,提出了通過(guò)建立領(lǐng)域用例模型和特征模型來(lái)描述軟件產(chǎn)品家族內成員的共性和變化性,得到了高校設備預定管理家族的領(lǐng)域分析模型,從而實(shí)現了對軟件產(chǎn)品家族的建模。



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>