<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è) > 嵌入式系統 > 設計應用 > 基于構件技術(shù)的軟件復用技術(shù)及其MIS應用

基于構件技術(shù)的軟件復用技術(shù)及其MIS應用

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

“有效的開(kāi)發(fā)軟件”和“有效的復用軟件”一直是軟件工程領(lǐng)域兩個(gè)永恒的主題。是提高軟件開(kāi)發(fā)效率和質(zhì)量的有效途徑,的主要思想是,將軟件看成是由不同功能部分的“組件”所組成的有機體,每一個(gè)組件在設計編寫(xiě)時(shí)可以被設計成完成同類(lèi)工作的通用工具。這樣,如果完成各種工作的組件被建立起來(lái)以后,編寫(xiě)一特定軟件的工作就變成了只是將各種不同組件組織連接起來(lái)的簡(jiǎn)單問(wèn)題,這對于軟件產(chǎn)品的最終質(zhì)量和維護工作都有本質(zhì)性的改變。

構件技術(shù)是支持的核心技術(shù),是近幾年來(lái)迅速發(fā)展并受到高度重視的一個(gè)學(xué)科分支。它的出現是對傳統MIS開(kāi)發(fā)過(guò)程的一次變革,是基于面向對象的、以嵌入后馬上可以“即插即用”概念為中心、通過(guò)構件的組合來(lái)支持應用的技術(shù)體系。標準零部件生產(chǎn)業(yè)的獨立存在和發(fā)展是產(chǎn)業(yè)形成規模經(jīng)濟的前提。軟件產(chǎn)業(yè)要發(fā)展并形成規模經(jīng)濟,標準構件的生產(chǎn)和構件的復用是關(guān)鍵因素。而軟件復用模式是產(chǎn)業(yè)工程化、工業(yè)化的必由之路。這正是軟件復用受到高度重視的根本原因。

1 軟件復用與軟件構件

1.1 軟件復用的基本概念

軟件復用是指重復使用“為了復用目的而設計的軟件”的過(guò)程[1]。軟件復用是在軟件開(kāi)發(fā)中避免重復勞動(dòng)的解決方案,它包括對軟件生產(chǎn)過(guò)程中其他勞動(dòng)成果的復用,如需求分析、概要設計、詳細設計、編碼、測試用例和使用手冊等。

依據對可復用信息進(jìn)行復用的方式,可以將軟件復用區分為黑盒(Black-box)復用和白盒(White-box)復用。黑盒復用是指對可復用構件不作任何修改,原封不動(dòng)地復用。這類(lèi)可復用構件比較通用,往往具有很好的封裝性,并具有標準的接口;而且這類(lèi)構件的復用率較高,因此要求有很高的質(zhì)量和可靠性。白盒復用是指在復用一個(gè)構件時(shí)須對其進(jìn)行部分修改,以適應具體應用的需要。

1.2 實(shí)現軟件復用的關(guān)鍵因素

實(shí)現軟件復用的關(guān)鍵因素如圖1所示,主要包括:、領(lǐng)域工程、、軟件再工程、開(kāi)放系統技術(shù)、軟件過(guò)程、CASE技術(shù),以及各種非技術(shù)因素[2]。


1.3 軟件復用過(guò)程

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

 軟件復用過(guò)程如圖2所示,可分為以下步驟:(1)認識到有可能復用的機會(huì );(2)分解、抽象;(3)分類(lèi)并建立復用構件庫;(4)檢索與選擇復用構件;(5)對復用構件具體化;(6)重新組裝成新軟件。


1.4 構件的基本概念

在眾多的軟件復用開(kāi)發(fā)方法中,基于構件的軟件開(kāi)發(fā)方法是一條有效、實(shí)際的軟件復用途徑。所謂構件是指系統中可以明確辨識的構成成份,軟件構件是系統中具有一定意義的獨立構成成份[3]。

構件應具備的基本特征:(1)復用:復用是構件最基本的性質(zhì),構件的設計必須滿(mǎn)足能在新的應用項目中使用;(2)封裝:是對外界隱藏構件的設計和實(shí)現細節,僅通過(guò)接口與外界交互,可以保證構件功能復用的完整性和構件開(kāi)發(fā)及交互的獨立性;(3)組裝:構件可以通過(guò)組裝形成新的構件或系統,組裝是構件復用的手段;(4)粒度:構件是有大小的,與領(lǐng)域相關(guān)的構件粒度大;(5)層次:構件可以按層次進(jìn)行劃分,企業(yè)級應用系統的復雜邏輯可以通過(guò)分層來(lái)解決。

2 基于構件的軟件復用技術(shù)實(shí)現

對于構件,應當按可復用的要求進(jìn)行設計、實(shí)現、打包、編寫(xiě)文檔。構件應當是內聚的,并具有相當穩定的公開(kāi)的接口。有的構件具有廣泛的可復用性,可復用到眾多種類(lèi)的應用系統中。而有的構件則只能在有限的特定范圍內被復用。

復用者從軟件體系結構和可復用構件的模型入手,將現成的可復用資產(chǎn)匯集在一起,以滿(mǎn)足客戶(hù)的需求。復用者應當利用可復用資產(chǎn)提供的可變性機制對所需的構件進(jìn)行轉化。如果僅利用現有的可復用構件還不足以完全滿(mǎn)足客戶(hù)所有的需求,則就需要另外編程。最后,把所需要的構件集成在一起,并進(jìn)行測試,形成應用系統。

單獨的一個(gè)構件往往用處不大,但若干個(gè)構件聯(lián)合起來(lái),用處就大了。所以要將相關(guān)的構件組織在一起,形成構件系統。實(shí)際應用中的開(kāi)發(fā)者往往需要使用多個(gè)構件系統,因此,應當把構件系統當作系統產(chǎn)品進(jìn)行管理,必要時(shí)可自行開(kāi)發(fā)構件系統。一個(gè)構件系統的規??纱罂尚?,小到只有幾個(gè)構件及支持文檔。

應用系統要復用公共的構件,要從構件系統中挑選所需的可復用構件。構件系統中的構件之間存在若干種關(guān)系,例如,一個(gè)構件可從其他構件那里繼承其功能(即繼承關(guān)系),也可以發(fā)送消息給其他構件,或者可以與其他構件聯(lián)合、支持協(xié)同工作。

總之,一個(gè)構件系統是能提供一系列具有可復用特性的系統產(chǎn)品。這些特性被實(shí)現為相互依賴(lài)相互連接的眾多構件,包括眾多的類(lèi)型、軟件包和文檔。一個(gè)好的構件系統使得復用者能夠又快、又好、又省地開(kāi)發(fā)應用系統。對構件系統中的每個(gè)構件,都要精心地進(jìn)行設計和實(shí)現,使得它具有適當的靈活性,能夠與其他構件(甚至與其他構件系統)協(xié)同工作,向復用者提供適當層次的功能。構件系統應當是易于理解和易于使用的,每個(gè)構件類(lèi)型、類(lèi)以及與其他構件的相互作用,均應當有良好的文檔,并且所使用的術(shù)語(yǔ)應當具有一致性,對構件應當是仔細地進(jìn)行建模、實(shí)現、制作文檔、測試,以便于以后的有效維護和改進(jìn)。

3 軟件復用技術(shù)在MIS中的應用

基于可復用構件MIS的開(kāi)發(fā)過(guò)程如圖3所示,有如下5個(gè)步驟:

(1)需求分析
基于可復用構件的MIS需求分析可以采用改進(jìn)后的信息模型法,在數據分析、建立穩定的數據集合和邏輯數據模型的基礎上,從信息模型、狀態(tài)模型和功能模型中組織構件,建立系統模型。更多的是采用OOA,由此提煉的類(lèi)構件對構件復用更有利。要利用在開(kāi)發(fā)MIS系統之初準備的構件庫,并收集一些已經(jīng)開(kāi)發(fā)出的MIS的總體設計、規范、局部流程以及某些人機界面、通用功能模塊、簡(jiǎn)單開(kāi)發(fā)工具等。使用戶(hù)需求的系統模型盡可能與已經(jīng)收集的可復用構件等成分相聯(lián)系。
(2)系統設計
在構件復用情況下,由于代碼被封裝于構件之中,所以系統設計的目標應是可以實(shí)現的構件表達式,以支持后續的實(shí)現環(huán)節。MIS系統設計在內容上包括了數據設計、體系結構設計和過(guò)程設計等,在階段劃分上,又可以分為概要設計和詳細設計。在概要設計階段,MIS設計的任務(wù)是確定系統的概況,即把需求轉化為概念數據模型和軟件體系結構,該階段的工作需要MIS構件庫的支持。在詳細設計階段,邏輯數據模型通過(guò)進(jìn)一步細化轉換成物理數據模型,如數據庫結構。為了使體系結構的實(shí)現變?yōu)榭赡?,需要將體系結構中的過(guò)程構件(模塊)定義映射成實(shí)際程序構件的結構化表達式。對相對于構件庫無(wú)解的模塊需要進(jìn)行原先的過(guò)程設計。至此,需求信息已轉換為程序員可以接受的設計方案。
(3)系統實(shí)現
在MIS實(shí)現中,首先是數據庫的實(shí)現,可以通過(guò)MIS建模工具自動(dòng)在DBMS上完成,也可以由用戶(hù)利用相應工具手工完成。其次是把構件表達式變成程序實(shí)現,將進(jìn)行過(guò)程分析得到的描述信息稱(chēng)為過(guò)程構件。對于過(guò)程構件,可以用某一具體語(yǔ)言加以實(shí)現,最好使用對象對其進(jìn)行封裝。對于無(wú)需改動(dòng)的可復用構件,僅需要根據構件索引將其從構件庫中提取出來(lái),作為MIS的一個(gè)模塊。多數情況下,需要對提取出的構件進(jìn)行改造以適應新的應用系統。常見(jiàn)的改造形式是修改源程序,還可以通過(guò)面向對象的繼承、重載及動(dòng)態(tài)編聯(lián)等特性進(jìn)行改造。在一些情況下,還需要組合幾個(gè)構件形成更大粒度的構件以滿(mǎn)足某一特定功能需要。通過(guò)以上方法形成各個(gè)功能模塊,再將這些模塊通過(guò)控制模塊聯(lián)系起來(lái)形成應用系統雛形。
(4)系統測試
根據需求分析中提出的功能要求、性能要求等設計測試用例,對系統進(jìn)行全面測試、驗證、優(yōu)化,形成MIS系統原型,提交給用戶(hù)評價(jià)。根據評價(jià)意見(jiàn),返回前面的相關(guān)步驟,進(jìn)行修改。通過(guò)復用上次開(kāi)發(fā)過(guò)程的成果,可以很快形成新的原型,直到需求得到滿(mǎn)足,MIS系統發(fā)布為止。
(5)系統維護
基于可復用構件的MIS由于其自身的特點(diǎn),因此必須重新考慮MIS的維護問(wèn)題。一個(gè)基于可復用構件的MIS采用的構件可以是COTS構件、公開(kāi)構件、自由構件、共享構件等。對構件集成者來(lái)說(shuō),當把這些構件集成到系統中時(shí),由于缺乏部分或全部源代碼,使得維護變得十分困難。如果構件全部是“黑盒”,其可見(jiàn)部分僅局限于描述構件的使用和功能的文檔上,那么這對全部由黑盒構成的系統的維護,又增添了新的難度。對構件賣(mài)主來(lái)說(shuō),不能只考慮特定MIS應用領(lǐng)域的某一源代碼塊,而應維護被不同用戶(hù)所使用的所有代碼。因為每個(gè)MIS應用可能在需求上有一點(diǎn)差別,修改后的構件必須對所有的MIS都適用。
通過(guò)對基于構件的軟件復用的研究及其在MIS中的應用,可以提高軟件生產(chǎn)和開(kāi)發(fā)的工業(yè)化水平,大大提高了軟件開(kāi)發(fā)的效率、質(zhì)量和可維護性,特別是領(lǐng)域內構件技術(shù)的應用更有價(jià)值和應用前景。目前正在致力于MIS領(lǐng)域的軟件重用技術(shù)和的研究,希望通過(guò)對這一領(lǐng)域技術(shù)的研究,能夠探索出一條管理信息系統領(lǐng)域內軟件開(kāi)發(fā)的低投入、高效率、高質(zhì)量的有效途徑。



評論


技術(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>