版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于構(gòu)件的軟件復(fù)用技術(shù)研究與應(yīng)用實(shí)踐基于構(gòu)件的軟件復(fù)用技術(shù)研究谷今杰 莫繼紅 (湖南大學(xué)軟件學(xué)院,長沙410082)通常情況下應(yīng)用軟件系統(tǒng)的開發(fā)過程包含以下幾個階段:需求分析、設(shè)計、編碼、測試、維護(hù)等。當(dāng)每個應(yīng)用系統(tǒng)的開發(fā)都是從頭開始時,在系統(tǒng)開發(fā)過程中就必然存在大量的重復(fù)勞動,如:用戶需求獲取的重復(fù)、需求分析、編碼、測試的重復(fù)和文檔等。探討應(yīng)用系統(tǒng)的本質(zhì),發(fā)現(xiàn)其中通常包含:通用基本構(gòu)件:是特定于計算機(jī)系統(tǒng)的構(gòu)成成分,如基本的數(shù)據(jù)結(jié)構(gòu)、用戶界面元素等,它們可以存在于各種應(yīng)用系統(tǒng)中;領(lǐng)域共性構(gòu)件:是應(yīng)用系統(tǒng)所屬領(lǐng)域的共性構(gòu)成成分,它們存在于該領(lǐng)域的各個應(yīng)用系統(tǒng)中;應(yīng)用專用構(gòu)件:是每個應(yīng)用系統(tǒng)的特
2、有構(gòu)成成分。應(yīng)用系統(tǒng)開發(fā)中重復(fù)勞動主要在于前兩類構(gòu)成成分的重復(fù)開發(fā)。軟件復(fù)用是在軟件開發(fā)中避免重復(fù)勞動的解決方案。其出發(fā)點(diǎn)是應(yīng)用系統(tǒng)的開發(fā)不再采用一切“從零開始”的模式,而是以已有的工作為基礎(chǔ),充分利用過去應(yīng)用系統(tǒng)開發(fā)中積累的知識和經(jīng)驗(yàn),如:需求分析結(jié)果、設(shè)計方案、源代碼、測試計劃及測試案例等從而將開發(fā)的重點(diǎn)集中于應(yīng)用的特有構(gòu)成成分。通過軟件復(fù)用,在應(yīng)用系統(tǒng)開發(fā)中可以充分利用已有的開發(fā)成果消除了包括分析、設(shè)計、編碼、測試等在內(nèi)的許多重復(fù)勞動,從而提高了軟件開發(fā)的效率:同時,通過復(fù)用高質(zhì)量的已有開發(fā)成果時,避免了重新開發(fā)可能引入的錯誤,從而提高軟件的質(zhì)量。軟件復(fù)用指重復(fù)使用“為了復(fù)用目的而設(shè)計的
3、軟件”的過程。相應(yīng)地,可復(fù)用軟件是指為了復(fù)用目的而設(shè)計的軟件。與軟件復(fù)用的概念相關(guān),重復(fù)使用軟件的行為還可能是重復(fù)使用“并非為了復(fù)用目的而設(shè)計的軟件”的過程,或在一個應(yīng)用系統(tǒng)中的不同版本間重復(fù)使用代碼的過程,這兩類行為都不屬于嚴(yán)格意義上的軟件復(fù)用。真正的復(fù)用是為了支持軟件,使用“為復(fù)用而開發(fā)的軟件(構(gòu)件)”來更快、更好地開發(fā)新的應(yīng)用系統(tǒng)。復(fù)用技術(shù)在整體上對軟件產(chǎn)業(yè)的影響卻并不盡如意。這是由于技術(shù)方面和非技術(shù)方面的種種因素造成的,其中技術(shù)上的不成熟是一個主要原因。近十幾年來,面向?qū)ο蠹夹g(shù)出現(xiàn)并逐步成為主流技術(shù),為軟件復(fù)用提供了基本的技術(shù)支持。軟件復(fù)用研究重新成為熱點(diǎn)。被視為解決軟件危機(jī)。提高軟件
4、生產(chǎn)效率和質(zhì)量的現(xiàn)實(shí)可行途徑。(復(fù)用分類)軟件復(fù)用可以從多個角度進(jìn)行考察。依據(jù)復(fù)用的對象,可以將軟件復(fù)用分為產(chǎn)品復(fù)用和過程復(fù)用。產(chǎn)品復(fù)用指復(fù)用已有的軟件構(gòu)件通過構(gòu)件集成(組裝)得到新系統(tǒng)。過程復(fù)用指復(fù)用已有的軟件開發(fā)過程使用可復(fù)用的應(yīng)用生成器來自動或半自動地生成所需系統(tǒng)。過程復(fù)用依賴于軟件自動化技術(shù)的發(fā)展,目前只適應(yīng)于一些特殊的應(yīng)用領(lǐng)域。產(chǎn)品復(fù)用是目前現(xiàn)實(shí)的、主流的途徑。依據(jù)對可復(fù)用信息進(jìn)行復(fù)用的方式。可以將軟件復(fù)用區(qū)分為黑盒(Blackbox)復(fù)用和白盒(Whitebox)復(fù)用。黑盒復(fù)用指對已有構(gòu)件不需作任何修改,直接進(jìn)行復(fù)用。這是理想的復(fù)用方式。白盒復(fù)用指已有構(gòu)件并不能完全符合用戶的需求。
5、需要根據(jù)用戶需求進(jìn)行適應(yīng)性修改后才使用。而在大多數(shù)應(yīng)用的組裝過程中,構(gòu)件適應(yīng)性修改是必需的。軟件復(fù)用按抽象程度的高低, 可以劃分為如下的復(fù)用級別: (1) 代碼的復(fù)用, 包括目標(biāo)代碼和源代碼的復(fù)用。當(dāng)前大部分編程語言的運(yùn)行支持系統(tǒng)都提供了連接(L ink) 、綁定(Binding) 等功能來支持這種復(fù)用; ( 2) 設(shè)計的復(fù)用, 設(shè)計結(jié)果比源程序的抽象級別更高, 因此它的復(fù)用受到實(shí)現(xiàn)環(huán)境的影響較少, 從而使可復(fù)用構(gòu)件被復(fù)用的機(jī)會更多, 并且所需的修改更少; (3) 分析的復(fù)用, 可復(fù)用的分析成分是針對問題域的某些事物(問題) 的抽象程度更高的解法。軟件復(fù)用有三個基本問題一是必須有可一是必須有可
6、以復(fù)用的對象。二是所復(fù)用的對象必須是有用的。三是復(fù)用者需要知道如何去使用被復(fù)用的對象。軟件復(fù)用包括兩個相關(guān)的過程:可復(fù)用軟件(構(gòu)件)的開發(fā)(Development, for Reuse)和基本可復(fù)用軟件(構(gòu)件)的應(yīng)用系統(tǒng)構(gòu)造(集成和組裝)(Development with Reuse)。解決好這幾個方面的問題才能實(shí)現(xiàn)真正成功的軟件復(fù)用。2構(gòu)件技術(shù)21構(gòu)件技術(shù)模型構(gòu)件復(fù)用是軟件復(fù)用的核心問題,因此有關(guān)構(gòu)件的研究得到日益重視并且形成了軟件工程學(xué)科的一個分支。在產(chǎn)業(yè)界正在逐漸形成一種產(chǎn)業(yè)模式,即構(gòu)件生產(chǎn)商負(fù)責(zé)生產(chǎn)構(gòu)件,構(gòu)件銷售商負(fù)責(zé)構(gòu)件的銷售,構(gòu)件集成商負(fù)責(zé)構(gòu)件集成。目前已經(jīng)商品化的構(gòu)件有微軟的CO
7、MDCOM、Sun公司的Java Bean和對象管理組織(OMG)的CORBA。構(gòu)件是一種不透明的功能實(shí)現(xiàn)要通過構(gòu)件模型進(jìn)行構(gòu)造,要能夠與第三方進(jìn)行合成,這樣就存在構(gòu)件模型標(biāo)準(zhǔn)化的問題。構(gòu)件模型的標(biāo)準(zhǔn)化要能同時滿足構(gòu)件生產(chǎn)者和構(gòu)件消費(fèi)者需求,學(xué)術(shù)界普遍接受的是“3C”(Concept,Content,Context)模型2,即component=(Concept,Content,Context),在這個模型中:Concept:概念描述軟件完成什么功能。描述構(gòu)件的接口和語義,概念和內(nèi)容(Content)能夠進(jìn)行通信;Content:內(nèi)容,描述如何實(shí)現(xiàn)這個構(gòu)件,一般情況下,構(gòu)件的內(nèi)容信息對臨時用戶
8、是隱藏的。只有需要對構(gòu)件作修改的用戶才是可知的;Context:上下文、組件在其適用領(lǐng)域內(nèi)的配置,通過對概念、操作和實(shí)現(xiàn)特征的詳細(xì)說明。上下文能夠使軟件尋找到滿足應(yīng)用需求的組件。22構(gòu)件的開發(fā)構(gòu)件的開發(fā)技術(shù)有多種其中比較有代表性的是CBSD技術(shù)。CBSD是CMUSEI提出的構(gòu)件設(shè)計參考模式,這種設(shè)計模式的原則是:組件具的擴(kuò)充獨(dú)立性:組件模型必須給出一些標(biāo)準(zhǔn)以保證獨(dú)立開發(fā)的組件能夠配置到公共的環(huán)境中,而不會出現(xiàn)不可預(yù)知的問題;開發(fā)時間短,這樣會減少整個開發(fā)和維護(hù)費(fèi)用;提高可預(yù)知性。基于構(gòu)件的系統(tǒng)來源于基于構(gòu)件的設(shè)計策略,構(gòu)件技術(shù)包括支持這種設(shè)計策略的產(chǎn)品的概念,這種設(shè)計策略與組件描述的設(shè)計模式和
9、交互模式的構(gòu)造類型非常相近,組件(即構(gòu)件)反映的設(shè)計模式如圖1。圖1中,構(gòu)件實(shí)現(xiàn)是能夠在物理或者邏輯設(shè)備中執(zhí)行的軟件實(shí)現(xiàn)。一個構(gòu)件可以有一個或者多個接口。構(gòu)件滿足一定的規(guī)范,這里稱為契約,這些契約的作用是保證獨(dú)立開發(fā)的構(gòu)件符合給定的規(guī)則,以便以可預(yù)知的方式進(jìn)行交互并配置到標(biāo)準(zhǔn)的建造環(huán)境和運(yùn)行環(huán)境中。基于構(gòu)件的系統(tǒng)是建立在少數(shù)不同的構(gòu)件類型上。每一個構(gòu)件的類型在中扮演的一個特定的角色,由接口對其進(jìn)行描述。構(gòu)件模型是組件類型、接口和組件間相互作用的模式說明書集合。構(gòu)件構(gòu)架提供多種服務(wù)來支持和加強(qiáng)構(gòu)件模型。3 COTS構(gòu)件當(dāng)前的軟件已不再是一個簡單的系統(tǒng)規(guī)模越來越大,通常是一復(fù)雜的“系統(tǒng)中的系統(tǒng)”。
10、大型軟件尤其如此,從頭開始做每一件事情來建造系統(tǒng)幾乎是不可能的。于是出現(xiàn)了COTS(Commercial Off The Shelf)技術(shù)。COTS構(gòu)件是從市場上采購得到的軟件組件,它由第三方開發(fā)。系統(tǒng)開發(fā)者不能訪問源代碼,相同的COTS構(gòu)件可能有很多用戶最后才能得到健壯的系統(tǒng)。C0碼構(gòu)件有以下的特征:COTS軟件不能被修改,這是COTS軟件的固有特性系統(tǒng)集成者購買組件后,不需要對構(gòu)件作修改:有時為了把所有的構(gòu)件進(jìn)行了太多的修改就不再被認(rèn)為是COTS組件了;系統(tǒng)集成者對COTS構(gòu)件沒有升級和維護(hù)控制權(quán),軟件升級和維護(hù)是COTS組件開發(fā)者的職責(zé)。依據(jù)COTS組件在系統(tǒng)中所起的作用不同。COTS分
11、為兩類:一類是一個COTS系統(tǒng)中,不是單一的COTS構(gòu)件支配整個系統(tǒng),而是由一組綁定在一起構(gòu)成的;另一類是在COTS解決方案中。使用一個主COTS構(gòu)件作為主解決方案。其他的傳統(tǒng)的構(gòu)件作為輔助的軟件或者插件加入到系統(tǒng)中。使用COTS構(gòu)件突出的優(yōu)點(diǎn)是能降低軟件開發(fā)的成本購買現(xiàn)有的軟件比自己開發(fā)所需的成本低,軟件的健壯性要高,因?yàn)槭袌錾咸峁┑腃OTS軟件使用的是成熟的技術(shù),使用這樣的構(gòu)件往往比自己開發(fā)的構(gòu)件的可靠性要高。但是COTS構(gòu)件的缺點(diǎn)是以“黑盒”提供給用戶,沒有源代碼,維護(hù)困難版本易于變化。不同COTS之間存在潛在的沖突。軟件構(gòu)件提供的功能過少或者過多。4 基于Agent的軟件復(fù)用技術(shù) Ag
12、ent也被稱為軟件Agent或智能Agent許多研究人員依據(jù)不同的研究內(nèi)容和目標(biāo)對術(shù)語“Agent”賦予了不同含義。Woodridge和Jennings對“Agent”的不同定義進(jìn)行了總結(jié),認(rèn)為“Agent”按其用法可分為兩種也就是Agent的兩種定義3:弱定義和強(qiáng)定義。Agent的弱定義是指Agent具有的自主性、社會性、反應(yīng)性、能動性、時間連續(xù)性以及面向目標(biāo)的特性。Agent強(qiáng)定義指Agent除了具有弱定義中的特性以外,通常還具有:可移動性、理性、適應(yīng)性、協(xié)作性。面向?qū)ο蠹夹g(shù)用于對被動實(shí)體的抽象較好。但是,它無法實(shí)現(xiàn)對活動實(shí)體的抽象;而Agent技術(shù)能夠較好地實(shí)現(xiàn)對活動實(shí)體的抽象。基于Ag
13、ent的軟件復(fù)用是軟件工程的一個新的研究領(lǐng)域,面向Agent編程AOP(AgentOriented Programming)的概念是Shoham在1993年提出的。因此,軟件技術(shù)的發(fā)展經(jīng)歷00(Object Oriented)技術(shù)后。并正在Agent技術(shù)方向發(fā)展。人工智能專家Guilfoyle在1995年就斷言:10年后大多數(shù)新興信息技術(shù)的發(fā)展將接受:Agent理論與技術(shù)手段是解決2l世紀(jì)系統(tǒng)建模和網(wǎng)絡(luò)化協(xié)同的重要手段【4】?;跇?gòu)件的復(fù)用必須解決的需求有:用戶能對所需要的構(gòu)件進(jìn)行搜索;需要有對已有復(fù)用該構(gòu)件的用戶版本進(jìn)行升級機(jī)制;對應(yīng)用該組構(gòu)件生產(chǎn)商和用戶提供一種能夠用相同的技術(shù)語言交流的工
14、具;構(gòu)件生產(chǎn)者和構(gòu)件復(fù)用者可以靈活地加入系統(tǒng)和從系統(tǒng)中撤銷;Internet上基于構(gòu)件復(fù)用的工具一定是復(fù)用者和生產(chǎn)者的環(huán)境的集成的部分。要滿足以上需求?;诮M件復(fù)用的軟件開發(fā)過程實(shí)際上成為被多Agent系統(tǒng)理解和操作的過程,這里稱為“面向Agent的軟件復(fù)用”。其基本思想是:在可復(fù)用的通用多Agent機(jī)構(gòu)中,對Agent結(jié)構(gòu)中的每一個元素都進(jìn)行定義,這些元素包括Agent需要的知識、計劃、行為和Agent之間的交互等,每一個具體Agent都是在基本Agent結(jié)構(gòu)的基礎(chǔ)上進(jìn)行創(chuàng)建。Internet環(huán)境下基于Agent的軟件復(fù)用的一般結(jié)構(gòu)如圖2所示。依據(jù)上述結(jié)構(gòu),構(gòu)建基于構(gòu)件的軟件復(fù)用的多Agen
15、t系統(tǒng)結(jié)構(gòu)時,必須要考慮的因素有:選用哪幾種類型的Agent,多Agent人分工與協(xié)作,Agent知識庫的建立等。構(gòu)建的方法和步聚包括:識別Agent對任務(wù)進(jìn)行提煉,定義本體(Ontology),定義行為計劃,表示行為和定義交互作用,構(gòu)造原型。使用Java的RIM能夠很好地實(shí)現(xiàn)通訊模塊的功能,這種結(jié)構(gòu)中需要對每一個實(shí)例化的Agent定義必需的知識。這些知識概括為:計劃、行為、與其他Agent的交互等。5結(jié)論不同的復(fù)用技術(shù),得到復(fù)用構(gòu)件或軟件的粒度大小不一樣,其設(shè)計方法和模式也不一樣。比較常用和成熟的是構(gòu)件復(fù)用。對于大型系統(tǒng)需要更大粒度的軟件復(fù)用一COTS,但其缺點(diǎn)是不能訪問源代碼,在Inter
16、net環(huán)境下,本人提出了基于Agent的軟件復(fù)用和方法由Agent在網(wǎng)絡(luò)環(huán)境下自主地進(jìn)行構(gòu)件的尋找和匹配,實(shí)現(xiàn)軟件的復(fù)用。軟件復(fù)用是解決軟件危機(jī)的有效途徑,促進(jìn)了軟件向產(chǎn)業(yè)化和健康化的方向發(fā)展。參考文獻(xiàn)1楊美清軟件復(fù)用及其相關(guān)技術(shù)計算機(jī)世界19900315:(5)2 Tveit AA survery of agent-oriented software engineeringhttp:/wwweleomagcorn/around/200353齊艷平面Agent與面向?qū)ο笥嬎銠C(jī)科學(xué)4 Syeara K Desker K,Pannu Aet a1Distributed intelligent ag
17、entshttp:/wwwcseemuEdu/softanents/19965 Sommervile L Software engineering(4th ed)Mass:Addison-Wesley,Reading,19926 Giorgini P,Kolp M,Mylopoulos JMulti-agent and software agentand software architecture:a comparative case studyhttp:wwwcsTorontoend,2003;47 Nwosu I C Workshop on componet based software
18、engineeringprocesseshttp:www11WOUnetpapem,200258 Jennings N RA roadmap of agent a researsh and developmenthttp:citeseernineceomJennings98 roamphtral,2003;10基于構(gòu)件的軟件復(fù)用技術(shù)應(yīng)用研究武偉,張明新(1西北師范大學(xué)數(shù)學(xué)與信息科學(xué)學(xué)院,甘肅蘭州730070;2山西大同大學(xué)數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院,山西大同037009)2軟件復(fù)用的核心技術(shù)構(gòu)件(Component)是指應(yīng)用系統(tǒng)中可以明確辨識的構(gòu)成成分而可復(fù)用構(gòu)件(Reusable Componen
19、t)是指具有相對獨(dú)立的功能和可復(fù)用價值的構(gòu)件軟件構(gòu)件技術(shù)(Software Component Technology)是支持軟件復(fù)用的核心技術(shù),是近幾年來迅速發(fā)展并受到高度重視的一個學(xué)科分支其主要研究內(nèi)容如下:21建立構(gòu)件庫簡單來說,構(gòu)件庫是一個對軟件構(gòu)件統(tǒng)一進(jìn)行形式化包裝、分類描述、存儲管理、檢索瀏覽的場所軟件構(gòu)件庫是大范圍內(nèi)、系統(tǒng)化實(shí)施軟件復(fù)用的必備基礎(chǔ)設(shè)施要復(fù)用軟件構(gòu)件有兩個前提條件,一是所需的構(gòu)件已經(jīng)存在,二是復(fù)用者能方便地找到所需的構(gòu)件由于軟件構(gòu)件蘊(yùn)涵了大量的信息,對其準(zhǔn)確、簡潔地描述極其困難,如果沒有一個統(tǒng)一的場所對其進(jìn)行統(tǒng)一的描述包裝,大規(guī)模的軟件復(fù)用是不可能實(shí)現(xiàn)的,所以建立大規(guī)
20、模的公共構(gòu)件庫是必須的建立自己的構(gòu)件庫是實(shí)現(xiàn)復(fù)用的基礎(chǔ),可獲取的構(gòu)件有公共構(gòu)件和商業(yè)構(gòu)件,前者質(zhì)量無法保障,必須對構(gòu)件進(jìn)行測試;后者不能修改源碼,只能是黑盒使用此外,可以自己開發(fā)一些簡單的構(gòu)件這樣通過不同途徑不斷的積累自己的軟構(gòu)件庫,開發(fā)的復(fù)用率會逐漸提高22構(gòu)件分類對于一個應(yīng)用系統(tǒng)通常包插i類成分:1)通用基本構(gòu)件:是特定于計算機(jī)系統(tǒng)的構(gòu)成成分,如基本數(shù)據(jù)結(jié)構(gòu)、用戶界面元素等,它們可以存在于各種應(yīng)用系中;2)領(lǐng)域共性構(gòu)件:是應(yīng)用系統(tǒng)所屬領(lǐng)域的共性構(gòu)成成分,它們存在于該領(lǐng)域的各個應(yīng)用系統(tǒng)中;3)應(yīng)用專用構(gòu)件:是應(yīng)用系統(tǒng)的特有構(gòu)成成分應(yīng)用系統(tǒng)開發(fā)中的重復(fù)勞動主要在于前兩類構(gòu)成成分重復(fù)開發(fā)其中通用
21、基本構(gòu)件層為底層,整個集成環(huán)境和運(yùn)行環(huán)境都使用的構(gòu)件,通用性好,粒度最小,可廣泛復(fù)用,屬于黑盒復(fù)用;領(lǐng)域共性構(gòu)件完成系統(tǒng)主要功能,但通用性不如前者,大部分使用前須進(jìn)行修改和測試,復(fù)用方式屬于白盒復(fù)用23構(gòu)件管理構(gòu)件庫隨著規(guī)模的擴(kuò)大和應(yīng)用時間的增長,構(gòu)件的管理難度也越來越大,作者設(shè)計一管理工具,在此管理工具中對入庫構(gòu)件需登記以下信息:構(gòu)件名稱、構(gòu)件序號、制作日期、修改日期、功能分類、功能描述、使用環(huán)境、構(gòu)件名稱、版本、保存位置和復(fù)用次數(shù)管理工具提供了添加、刪除、修改、檢索、統(tǒng)計等功能,實(shí)現(xiàn)了構(gòu)件的系統(tǒng)管理,通過該工具對構(gòu)件進(jìn)行管理基本解決了構(gòu)件保存、版本和篩選的問題,提高了軟件復(fù)用的效率24構(gòu)件
22、組裝構(gòu)件的組裝指將構(gòu)件庫中或能直接使用的構(gòu)件,或經(jīng)過適應(yīng)性修改后的構(gòu)件以及為當(dāng)前項(xiàng)目新開發(fā)的構(gòu)件進(jìn)行整合,最終構(gòu)成新的目標(biāo)軟件的過程基于構(gòu)件的開發(fā)通過構(gòu)件組裝得到最終應(yīng)用系統(tǒng),構(gòu)件組裝必須以某個框架或架構(gòu)為藍(lán)圖,實(shí)際可以看作是用構(gòu)件實(shí)例將軟件構(gòu)架具體化的過程構(gòu)件組裝技術(shù)以構(gòu)件模型、構(gòu)件一構(gòu)架描述盒開放系統(tǒng)技術(shù)為基礎(chǔ),成功的組裝必須以開放構(gòu)件模型和規(guī)范的構(gòu)件描述(包括對構(gòu)件連接和交互協(xié)議的嚴(yán)格定義)為基礎(chǔ),構(gòu)件實(shí)例必須符合系統(tǒng)中其他部分的要求分布式軟件總線、事件登記和回調(diào)、構(gòu)架描述語言、腳本語言和代碼生成技術(shù)都為架構(gòu)組裝指出了希望之路;DCO,JavaBean等運(yùn)行級的分布式構(gòu)件模型的出現(xiàn)和OR
23、B與Internet的引入,是構(gòu)件之問的獨(dú)立性和互操作性變得更強(qiáng),這些技術(shù)為構(gòu)件組裝,尤其是運(yùn)行級的構(gòu)件組裝提供了有力的支持25構(gòu)件標(biāo)準(zhǔn)化構(gòu)件模型的標(biāo)準(zhǔn)化和構(gòu)件庫系統(tǒng)的標(biāo)準(zhǔn)化3基于構(gòu)件的軟件開發(fā)基本思想基于構(gòu)件軟件開發(fā)方法的思路是借鑒傳統(tǒng)工業(yè)生產(chǎn)模式,首先是分析消費(fèi)者需求,設(shè)計整體結(jié)構(gòu)框架,根據(jù)需要到構(gòu)件庫中選擇能完成相應(yīng)功能的構(gòu)件,之后組裝應(yīng)用系統(tǒng)如果所需構(gòu)件不存在,就去購買、定制或自行開發(fā)新構(gòu)件構(gòu)件生產(chǎn)組和系統(tǒng)開發(fā)組問嚴(yán)格按照生產(chǎn)者一消費(fèi)者關(guān)系進(jìn)行任務(wù)分工:經(jīng)驗(yàn)工廠負(fù)責(zé)生產(chǎn)、提供構(gòu)件,項(xiàng)目組不再編程,而是通過從經(jīng)驗(yàn)工廠中請求所需的構(gòu)件集成組裝而得到最終所需的系統(tǒng)經(jīng)驗(yàn)工廠的活動分為同步活動和
24、異步活動同步活動指配合項(xiàng)目組的活動,接收構(gòu)件查找請求或定制請求,為項(xiàng)目組服務(wù)異步活動指有目的的構(gòu)件生產(chǎn)或?qū)ν交顒又械臉?gòu)件進(jìn)行再工程以提高構(gòu)件的可復(fù)用性4軟件復(fù)用技術(shù)的應(yīng)用作者【本文】把軟件復(fù)用技術(shù)應(yīng)用在管理信息系統(tǒng)中,簡介如下:41系統(tǒng)分析管理信息系統(tǒng)(MIS)包括以下模塊:1)信息管理模塊實(shí)現(xiàn)各類信息的添加、刪除、修改、審核等功能;2)信息查詢模塊實(shí)現(xiàn)對各類數(shù)據(jù)信息的查詢功能;3)信息輸出模塊實(shí)現(xiàn)數(shù)據(jù)的顯示,報表生成和打印功能;4)用戶管理模塊實(shí)現(xiàn)對各類用戶信息的輸入、修改、刪除和用戶權(quán)限分配功能以及用戶相關(guān)信息統(tǒng)計功能;5)部門管理模塊實(shí)現(xiàn)各個部門管理的分配、修改,新部門的添加以及老部門
25、的更新功能;6)訪問統(tǒng)計模塊實(shí)現(xiàn)系統(tǒng)訪問次數(shù)的統(tǒng)計,包括日訪問量、周訪問量、月訪問量和年訪問量對來訪的IP地址進(jìn)行統(tǒng)計,并提供查詢功能;7)異常處理模塊異常處理模塊繼承了Java自身的異常處理類實(shí)現(xiàn)了對自定義異常的處理4.2 軟件復(fù)用技術(shù)在系統(tǒng)中的應(yīng)用MIS主要是利用已有構(gòu)件組合集成生成軟件產(chǎn)品它的開發(fā)過程與傳統(tǒng)方法不同,大體分為以下幾個階段:1)需求分析和構(gòu)件的查找首先要對業(yè)務(wù)需求進(jìn)行分析,然后提煉出需要的構(gòu)件,最后對構(gòu)件進(jìn)行檢索;2)構(gòu)件的裁剪有些構(gòu)件不能直接使用,須對其進(jìn)行擴(kuò)張或者修改;3)構(gòu)件的生成裁剪后得到的構(gòu)件和新開發(fā)的構(gòu)件,都必須在構(gòu)造應(yīng)用工具上進(jìn)行測試,保證構(gòu)件功能及接口規(guī)范的
26、實(shí)現(xiàn),稱之為構(gòu)件的生成;4)構(gòu)件的組裝構(gòu)件的組裝是把構(gòu)件裝配成一個整體我們需要用開發(fā)工具制作一個應(yīng)用框架,這個框架是整個應(yīng)用系統(tǒng)的一個骨架,這個骨架在設(shè)計時可以通過領(lǐng)域分析方法設(shè)計成在某一領(lǐng)域可復(fù)用的構(gòu)架在MIS中底層的通用基本構(gòu)件包括基本界面以及常用菜單,這些構(gòu)件不需要修改直接就可以應(yīng)用到系統(tǒng)中;報表生成、打印、數(shù)據(jù)庫連接池、異常處理和訪問統(tǒng)計這些領(lǐng)域共性構(gòu)件無需修改,幾乎每個系統(tǒng)都能用到;信息、部門和用戶的添加構(gòu)件、刪除構(gòu)件、修改構(gòu)件以及查詢構(gòu)件等領(lǐng)域共性構(gòu)件實(shí)現(xiàn)系統(tǒng)的主要功能,根據(jù)應(yīng)用的不同,需進(jìn)行修改和調(diào)試才能復(fù)用用戶權(quán)限分配對不同的應(yīng)用系統(tǒng)差別較大,是應(yīng)用系統(tǒng)的特有構(gòu)成成分,是應(yīng)用專
27、用構(gòu)件,需結(jié)合應(yīng)用重新開發(fā)可見隨著構(gòu)件層次的升高,構(gòu)件的功能越來越強(qiáng),通用性也越來越差由于應(yīng)用系統(tǒng)的多樣性,有些功能無法用構(gòu)件實(shí)現(xiàn),可將其制成專用構(gòu)件,與復(fù)用構(gòu)件一起集成到應(yīng)用框架參考文獻(xiàn)1】楊芙清,梅宏,李克勤軟件復(fù)用與軟件構(gòu)件技術(shù)【J】電子學(xué)報,1999,27(2):68752】李海東,楊社堂CS模式應(yīng)用開發(fā)中軟件復(fù)用的研究【J太原理工大學(xué)學(xué)報,2006,37(S1):117118【3】張春枝,王弘基于CS與BWS混合模式的MIS系統(tǒng)設(shè)計J】計算機(jī)應(yīng)用研究,2001(10):123125【4黎婭基于構(gòu)件的軟件復(fù)用技術(shù)應(yīng)用研究D】重慶:重慶大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,2008【5Pead Brereton,David BudgenComponent-Based SystemsA Classification of
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 抽樣技術(shù)課程設(shè)計R
- 研學(xué)課程設(shè)計何在
- 線上直銷課程設(shè)計怎么做
- 繪畫課程設(shè)計背景
- 物理神奇的眼鏡課程設(shè)計
- 2025年車輛個人抵押債權(quán)轉(zhuǎn)讓合同3篇
- 知乎c語言課程設(shè)計作業(yè)
- 斗提機(jī)課程設(shè)計
- 智能烹飪課程設(shè)計
- 2025至2030年中國涮羊雜碗裝食品行業(yè)投資前景及策略咨詢研究報告
- 第五章空間分析原理與方法
- 環(huán)境因素清單+環(huán)境因素識別及評價表
- 有機(jī)肥產(chǎn)品生產(chǎn)質(zhì)量管理規(guī)定
- 初中教師教學(xué)基本功培訓(xùn)內(nèi)容課件
- 冬季山區(qū)行車安全
- 30題戰(zhàn)略規(guī)劃崗位常見面試問題含HR問題考察點(diǎn)及參考回答
- 小學(xué)數(shù)學(xué)指向核心素養(yǎng)的單元整體教學(xué)
- 噴淋、消火栓試壓記錄表
- 學(xué)校精準(zhǔn)扶貧工作計劃
- 工業(yè)產(chǎn)品質(zhì)量安全風(fēng)險管控清單
- 【幼兒生活環(huán)節(jié)中數(shù)學(xué)思維能力培養(yǎng)研究5500字(論文)】
評論
0/150
提交評論