久久综合丝袜日本网手机版,日韩欧美中文字幕在线三区,亚洲精品国产品国语在线,极品在线观看视频婷婷

      <small id="aebxz"><menu id="aebxz"></menu></small>
    1. 計算機軟件開發(fā)的進展研究論文

      時間:2022-07-04 09:17:15 計算機軟件 我要投稿
      • 相關(guān)推薦

      計算機軟件開發(fā)的進展研究論文

        1引言

      計算機軟件開發(fā)的進展研究論文

        當(dāng)前,計算機技術(shù)的迅速更新、軟件處理對象如企業(yè)業(yè)務(wù)過程的不斷變化以及軟件開發(fā)競爭的日趨激烈已經(jīng)使傳統(tǒng)的從源代碼級開發(fā)軟件系統(tǒng)的方法面臨越來越大的挑戰(zhàn)。利用傳統(tǒng)開發(fā)方法開發(fā)的大多數(shù)系統(tǒng)所使用的是在開發(fā)初始時所能得到的技術(shù),面向的是當(dāng)時所需處理的問題,要使這些軟件系統(tǒng)適應(yīng)處理對象如業(yè)務(wù)過程的變化以及計算機技術(shù)的進步是一件非常復(fù)雜的工作,往往必須對原有系統(tǒng)在代碼上進行重大修改,這種修改代價較高并且也有一定的風(fēng)險,從而造成軟件的可擴充性Scalabiltiy)較差。在開發(fā)過程中,為減少軟件開發(fā)費用、縮短軟件開發(fā)周期,保持開發(fā)者的技術(shù)水平變得越來越重要,因為只有這樣才能達(dá)到一個較高的開發(fā)效率,使得項目按時完成。而在傳統(tǒng)的開發(fā)方法中,由于開發(fā)不同的軟件時常需要不同的開發(fā)工具,這使得開發(fā)者必須不斷學(xué)習(xí)新的開發(fā)工具,原有的技巧以及已具備的經(jīng)驗難以被再次利用。當(dāng)今的軟件開發(fā)經(jīng)常需要利用現(xiàn)有成果,開發(fā)時可能要集成不同的系統(tǒng)、新的應(yīng)用、標(biāo)準(zhǔn)的軟件包以及已在業(yè)務(wù)開展中使用了的與任務(wù)有關(guān)的現(xiàn)有數(shù)據(jù)與系統(tǒng),通過集成可以減少不必要的工作量,提高軟件的可用性,加快開發(fā)進度。但是傳統(tǒng)的代碼開發(fā)方法主要著眼于從無到有的構(gòu)造,對軟件集成Integration)的支持不夠,大量的開發(fā)時間被投入到底層編程中,這種編程不僅耗時而且可能是重復(fù)勞動,從長遠(yuǎn)看還會造成代碼難于維護。

        隨著軟件構(gòu)件技術(shù)的成熟,大量的構(gòu)件作為現(xiàn)成的商品在軟件市場出現(xiàn),基于構(gòu)件的軟件開發(fā)CBSD:Component-basedSoftwareDevelopment)也作為一種新的工業(yè)化的軟件開發(fā)方法被提了出來。該方法是對以前傳統(tǒng)開發(fā)方法的一種改變,它使得軟件開發(fā)從代碼開發(fā)轉(zhuǎn)移到對已測試、已使用的,并且在內(nèi)部互操作的構(gòu)件的集成是軟件重用的一種實例。通過加強系統(tǒng)的靈活性以及可維護性,CBSD可以被用來減少軟件的開發(fā)費用、快速的集成系統(tǒng)以及減少與支持升級大型系統(tǒng)相關(guān)的維護費用,從而使軟件開發(fā)者處于有利的競爭地位。該方法的基礎(chǔ)是基于這樣的假設(shè):大型軟件系統(tǒng)的某些部分會不斷重現(xiàn);系統(tǒng)的公用部分應(yīng)當(dāng)編寫一次而不是多次;公共系統(tǒng)應(yīng)通過重用被集成而不是一而再,再而三的重寫,它體現(xiàn)了FredBrooks所支持的購買而不構(gòu)造”的開發(fā)思想。在CBSD中的構(gòu)件主要是指可以通過商業(yè)手段獲取的構(gòu)件CommercialOff-the-shellComponent),主要是遵循已有的C0M/DC0M、C0GBA以及JAVABEALS構(gòu)件標(biāo)準(zhǔn)的構(gòu)件、開發(fā)者可以加以剪裁的應(yīng)用框架以及已被其他應(yīng)用集成或擴展的獨立軟件系統(tǒng)。當(dāng)今世界上許多研宄機構(gòu)如美國的卡耐基梅隆大學(xué)、加拿大的國立研宄委員會NationalResearchCouncil)都在積極對CBSD展開研究,該文將對這一領(lǐng)域的研究成果、進展加以綜述。

        2CBSD的主要活動

        CBSD的開展主要是通過集成已存在的構(gòu)件來進行的,這與傳統(tǒng)的開發(fā)方法有著明顯的不同,在后者中,系統(tǒng)集成通常是實現(xiàn)工作的結(jié)束部分,而在CBSD中,構(gòu)件集成是構(gòu)造系統(tǒng)的核心內(nèi)容。因此,在決定獲取、重用甚至構(gòu)造構(gòu)件時,可集成性是所需考慮的關(guān)鍵因素。

        CBSD由4個主要活動組成:構(gòu)件的評選、構(gòu)件的適配、構(gòu)件的組裝以及系統(tǒng)的演化。

        2.1構(gòu)件的評選

        構(gòu)件的評選是一個從市場上的一批相互競爭的構(gòu)件中加以選擇的過程,該過程要求在眾多侯選者中選出最適合在該軟件環(huán)境中使用的構(gòu)件。在安全性要求較高的應(yīng)用中,構(gòu)件的選擇可以擴充到包括對創(chuàng)建與維護構(gòu)件的開發(fā)過程的選擇,但這樣也會減少使用現(xiàn)有構(gòu)件的一些好處。

        一個適合使用的構(gòu)件可能本身就是一個復(fù)雜的軟件,為了有效地使用該構(gòu)件,必須深入了解它。但較好地了解一個構(gòu)件并不是一件容易的事情。首先構(gòu)件的文檔可能不全或者錯誤。即使構(gòu)件的提供者有意識作好文檔,一個復(fù)雜的軟件是不可能在文檔中被完全并且正確說明的。即使不完全的文檔可能也是龐大的,除了非常有經(jīng)驗的使用者,其他人將很難理解;其次構(gòu)件的接口可能非常復(fù)雜。許多構(gòu)件有上百個API調(diào)用,即使編制這些構(gòu)件的人都很難知道每個API調(diào)用的行為或者特殊調(diào)用序列的結(jié)果;最后在構(gòu)件中存在錯誤。所有這些問題都對了解構(gòu)件造成困難。

        構(gòu)件的評選有兩個階段:發(fā)現(xiàn)與評價。在發(fā)現(xiàn)階段,要判別構(gòu)件的特性。這些特性包括構(gòu)件的功能提供什么樣的服務(wù))、構(gòu)件界面的其他方面如使用的標(biāo)準(zhǔn))以及其他難以分離出的質(zhì)量特點如構(gòu)件的可靠性,可預(yù)測性以及可用性。在一些情況下,在發(fā)現(xiàn)構(gòu)件時也應(yīng)該考慮構(gòu)件的非技術(shù)特性,如提供者的市場占有率、以前的業(yè)績以及構(gòu)件開發(fā)組織的過程成熟度。發(fā)現(xiàn)構(gòu)件是一個艱難的無法精確定義的過程,所需的信息很難量化,有時也難以得到。

        構(gòu)件的評價是一種決策。評價構(gòu)件用來支持作出編制還是購買、買A還是買B以及使用特征A還是使用特征B的決定。當(dāng)前已經(jīng)存在了一些相對成熟的評價技術(shù),如ISO的通用標(biāo)準(zhǔn)以及IEEE的特定域的構(gòu)件評價技術(shù),但就構(gòu)件評價本身來說是不確定的,這主要是由于使用難以互相比較的標(biāo)準(zhǔn)、不明確的系統(tǒng)期望、不精確的評價方法以及構(gòu)件的快速修改,這意味著構(gòu)件評價帶有一定的錯誤。確定構(gòu)件的適應(yīng)性是構(gòu)件評價的目標(biāo),構(gòu)件對系統(tǒng)百分之百的適應(yīng)是不大可能的,一般都存在一定的權(quán)衡,而構(gòu)件對系統(tǒng)的不適應(yīng)程度由不適應(yīng)的類型、修補不適應(yīng)的費用以及不適應(yīng)性所導(dǎo)致的風(fēng)險所決定。對于每一個評價活動,由于存在各自不同類型的決定、系統(tǒng)環(huán)境評價過程都是有針對性的,對開發(fā)者有用的應(yīng)該是一種系統(tǒng)的方法,該方法能夠在眾多可變的因素中加以選擇以說明有用的評價標(biāo)準(zhǔn)。

        2.2構(gòu)件的適配

        由于每個構(gòu)件在編制時針對的是滿足不同需求的,并且是基于上下文的不同假設(shè),在應(yīng)用到一個新系統(tǒng)時構(gòu)件常常必須被改寫。構(gòu)件必須被改寫的前提是保證構(gòu)件間的沖突最小。對構(gòu)件內(nèi)部結(jié)構(gòu)的理解程度決定了對構(gòu)件適應(yīng)的不同方法*2+:

        1)白盒子法。用戶可以獲得構(gòu)件的源碼,這樣可以通過改寫構(gòu)件以使構(gòu)件能與其他構(gòu)件進行互操作。這種方法可以對構(gòu)件的特性進行非常細(xì)致的控制,不過由于需要修改源碼,從長遠(yuǎn)看可能會導(dǎo)致嚴(yán)重的維護和升級的問題,使得基于構(gòu)件開發(fā)的許多優(yōu)點被丟失。

        2)黑盒子法。只能得到構(gòu)件的二進制可執(zhí)行形式,構(gòu)件沒有提供擴展機制或API。

        3)灰盒子法。在這種情況下,構(gòu)件的源碼是不可更改的,但構(gòu)件提供了它自身的擴展機制或可編程的接口API。

        對構(gòu)件自身的擴展機制加以調(diào)用的方式一般稱之為構(gòu)件的剪裁ComponentTailoring),它指構(gòu)件的使用者以構(gòu)件提供者所提供的方式來增強構(gòu)件的功能,包括腳本Script)、插件Plug-in)的使用和繼承inheritance)三種方式。卻本方式是指構(gòu)件在某些特定事件下執(zhí)行某一特定的腳本過程,早期的腳本是由簡單的宏語言來編寫的,在當(dāng)前許多新的應(yīng)用中腳本描述能力已經(jīng)越來越高級,用戶可以使用完善的編程語言和解釋器來編寫腳本如VBA、tcl以及Perl。插件是指在一個封閉應(yīng)用中注冊的構(gòu)件,當(dāng)應(yīng)用需要該插件功能時會對插件執(zhí)行一個回調(diào)Callback)。繼承允許構(gòu)件內(nèi)部的某一特定部分被修改和限定,當(dāng)前的面向?qū)ο髽?biāo)準(zhǔn)允許構(gòu)件被開發(fā)者使用,盡管使用者只能得到構(gòu)件的二進制代碼,繼承的使用要求深入了解構(gòu)件結(jié)構(gòu),在通常情況下僅僅被專業(yè)開發(fā)者所使用。對構(gòu)件可編程接口的調(diào)用一般會涉及到在構(gòu)件周圍編寫一個屏蔽構(gòu)件工作區(qū)以及延伸的包容器Wrapper)以提供對構(gòu)件接口的更高級抽象。把構(gòu)件包容起來有很多好處:可以使構(gòu)件遵循標(biāo)準(zhǔn),如在已有系統(tǒng)上的COGBA包容器;為某一范圍的構(gòu)件提供一個標(biāo)準(zhǔn)接口;增加或隱藏)構(gòu)件的功能;為構(gòu)件提供一個單一的訪問接口;盡管該集成者無法控制構(gòu)件,構(gòu)件的包容器能給構(gòu)件的集成者一種直觀的感覺。構(gòu)件的集成者可以控制和訪問包容器。

        2.3構(gòu)件的組裝

        構(gòu)件的組裝較易發(fā)生錯誤,需要一定量的編碼,并且難以調(diào)試和測試,此外,構(gòu)件還較易發(fā)生變化,商業(yè)構(gòu)件經(jīng)常面臨頻繁的升級。這些升級所增加的功能或消除的問題不一定是用戶所希望的,在上一版本的關(guān)鍵功能可能在后續(xù)的版本中被刪去了,在這種情況下,用戶可能會希望在系統(tǒng)新的發(fā)布版本中使用由其他供應(yīng)商提供的同類型構(gòu)件。

        為了處理在搭建系統(tǒng)時所遇到的問題,集成構(gòu)件的體系結(jié)構(gòu)應(yīng)該有以下一些特點:

        1)構(gòu)件可插拔。系統(tǒng)的體系結(jié)構(gòu)必須允許構(gòu)件的替換,這種替換包括更新為構(gòu)件的新版本和將構(gòu)件替換為由其他供應(yīng)商所提供的同類型構(gòu)件。

        2)構(gòu)件間松散耦合。構(gòu)件間的耦合必須盡可能的小,耦合可能包括功能耦合如過程調(diào)用以及其他類型的依賴如資源競爭或結(jié)構(gòu)上的假設(shè)。體系結(jié)構(gòu)必須允許構(gòu)件間的隔離。

        3)隱藏不必要的功能。為了使自己的構(gòu)件區(qū)別于其他人提供的構(gòu)件,構(gòu)件供應(yīng)商給他的構(gòu)件加上過多功能,這對構(gòu)件的組裝不利,系統(tǒng)結(jié)構(gòu)設(shè)計者可能因此希望去掉這些功能,系統(tǒng)的體系結(jié)構(gòu)必須提供對功能隱藏的支持。

        4)調(diào)試與測試。由于在開發(fā)過程中構(gòu)件基本上是以灰/黑盒子的形式來使用的,所以不可能對構(gòu)件內(nèi)部加以調(diào)試和測試。軟件的體系結(jié)構(gòu)無法克服這一問題,但是它可以包括在運行時對構(gòu)件的行為加以監(jiān)控及驗證的能力,并且可以防止構(gòu)件的錯誤擴展到系統(tǒng)的其他部分。

        在由構(gòu)件開發(fā)軟件系統(tǒng)時,可以使用以下幾種體系結(jié)構(gòu)類型:

        1)數(shù)據(jù)庫結(jié)構(gòu)。在該結(jié)構(gòu)中對所有操作數(shù)據(jù)的集中控制是系統(tǒng)在構(gòu)件間共享信息的關(guān)鍵。

        2)黑板模型。構(gòu)件間的數(shù)據(jù)共享是隨意的,涉及降低系統(tǒng)的開銷水平。

        3)消息總線。構(gòu)件有各自不同的數(shù)據(jù)存儲,這些局部數(shù)據(jù)通過變化消息來加以協(xié)調(diào)。

        4)消息請求代理0)B)協(xié)調(diào),0)*技術(shù)提供了與語言無關(guān)的接口定義和對象定位與激發(fā)的機制。

        組裝構(gòu)件時,在許多時候必須編寫一些粘接代碼GlueCode),這些代碼可以通過必須的數(shù)據(jù)轉(zhuǎn)換等手段來消除構(gòu)件間接口不兼容的問題,使底層構(gòu)件的功能按需激發(fā),從而提供把不同的構(gòu)件結(jié)合在一起的功能。不僅如此,通過捕獲異常,粘接代碼還能為系統(tǒng)提供統(tǒng)一的異常處理機制。

        2.4系統(tǒng)的演化

        系統(tǒng)是不斷改變的;系統(tǒng)中的構(gòu)件也是不斷變化的。系統(tǒng)與其構(gòu)件的演化對系統(tǒng)的維護造成了多種影響。在把新版本的構(gòu)件加入到系統(tǒng)時需要做許多工作,對于一個由多個構(gòu)件組成的系統(tǒng),每個構(gòu)件都有其自身的升級安排,把每個構(gòu)件的每一個新版本加入到系統(tǒng)中代價非常高昂,造成這種困難的原因是因為在構(gòu)件的新版本中,構(gòu)件的行為、界面、前提、性能以及錯誤的消除都可能發(fā)生變化;在舊版本的構(gòu)件上進行的定制、擴展以及相關(guān)工作必須施加到新構(gòu)件上。

        在基于構(gòu)件的系統(tǒng)中沒有在機械系統(tǒng)中定義的‘一致”的概念,在機械系統(tǒng)中各個部件完美結(jié)合而在軟件系統(tǒng)中各構(gòu)件的結(jié)合是在一定的限度之內(nèi)的。一種處理系統(tǒng)演化的方法是假發(fā)生,系統(tǒng)可能依賴于已不再使用或已被升級的特殊平臺;也可能在新版本中需要去除錯誤。集成新版本的構(gòu)件需要作出較大的努力。首先,新版本的構(gòu)件必須被評價以確定在舊版本上作了什么改變;其次,新構(gòu)件必須被集成到系統(tǒng)中。這可能包括添加或移去構(gòu)件的工作區(qū),增加新的擴充以考慮構(gòu)件新的行為,升級文檔和培訓(xùn)過程等等;最后,系統(tǒng)必須被測試和確認(rèn)。

        3使用CBSD的優(yōu)缺點

        作為一種新的軟件開發(fā)方法,CBSD具有自身的特點,這些特點把它與傳統(tǒng)的代碼開發(fā)方法區(qū)分開來。使用CBSD可以給軟件開發(fā)帶來以下好處構(gòu)件的開發(fā)者可以使用最適合的開發(fā)工具而不必學(xué)習(xí)新的語言和工具,這樣就允許企業(yè)可以利用已有的技術(shù);當(dāng)使用預(yù)先創(chuàng)建及測試的構(gòu)件時,在組裝過程中應(yīng)用的開發(fā)者可以關(guān)注業(yè)務(wù)問題而不用擔(dān)心技術(shù)以及外部設(shè)施等問題,減少了系統(tǒng)完成時間。

        在市場上出現(xiàn)的構(gòu)件大多經(jīng)過市場的檢驗而變的比較成熟,對這些構(gòu)件的使用可以使系統(tǒng)比在使用自己編制的構(gòu)件的情況下更可靠、設(shè)計更合理。

        由于系統(tǒng)的開發(fā)基于組裝過程,構(gòu)件能被較容易的替換為更便宜、有更多附加值、使用更好技術(shù)并且具有類似功能的構(gòu)件。這樣使得系統(tǒng)的靈活性更好,開發(fā)者也不會過分依賴于某個供應(yīng)商。

        CBSD可以降低軟件開發(fā)費用,由于構(gòu)件的供應(yīng)商開發(fā)及維護構(gòu)件是針對多個用戶的,那么使用該構(gòu)件的軟件在該構(gòu)件部分的開發(fā)及維護費用被多個用戶分擔(dān)。

        雖然CBSD有許多優(yōu)點,但也存在不少缺點,這些缺點給軟件開發(fā)帶來一定的風(fēng)險。

        首先開發(fā)者無法得到構(gòu)件的源碼,也就無法通過修改源碼來改變構(gòu)件的功能,這就意味著分析、調(diào)試以及測試構(gòu)件必須完全以黑盒子的形式進行。不僅如此,在許多時候,完整并且正確的特性說明也是拿不到的。雖然構(gòu)件的提供商提供了功能描述但是對于那些想掌握構(gòu)件更詳細(xì)的特性以及所需資源的開發(fā)者來說,這種說明往往難以滿足需要。構(gòu)件集成者也可能會使用未被構(gòu)件提供商所預(yù)見的構(gòu)件使用方式。

        其次,構(gòu)件的使用者無法控制構(gòu)件的升級。構(gòu)件的使用者僅僅是構(gòu)件提供商許多客戶中的一個,雖然從總體來說,構(gòu)件的升級是由客戶來驅(qū)動的,但單個客戶不可能有對構(gòu)件升級的全部控制權(quán)。

        再次,在構(gòu)件集成時,所選用的構(gòu)件之間可能不匹配或者是作為單獨應(yīng)用設(shè)計的構(gòu)件與軟件的其他部分不易交互。構(gòu)件之間的不匹配可以由許多原因?qū)е,如?shù)據(jù)模型、功能不匹配、資源沖突、過程模型等等。在有些時候這種不匹配在開發(fā)階段的后期才會暴露出來。

        4CBSD開發(fā)時建議遵循的原則

        通過對大量基于構(gòu)件軟件開發(fā)過程的分析,可以得到一套有助于利用構(gòu)件成功開發(fā)軟件的原則43,|。這些原則從經(jīng)驗中來,遵循這些原則,可以簡化開發(fā)及系統(tǒng)演化的工作。

        1)包容所有的構(gòu)件

        系統(tǒng)中所有的構(gòu)件都應(yīng)該有包容器把它們給包容起來。提出這一原則的理由在于包容器提供了系統(tǒng)開發(fā)者對構(gòu)件界面以及構(gòu)件間交互的唯一機制,并且使系統(tǒng)的其他構(gòu)件不受該構(gòu)件改變的影響。此外,系統(tǒng)中所有提供重要功能而由手工編寫的部分應(yīng)與對待構(gòu)件相似的方式對待,也應(yīng)該用包容器包起來,這樣當(dāng)以后如果出現(xiàn)同樣功能的構(gòu)件時,開發(fā)者可以較容易地把手工編寫部分改成構(gòu)件。

        2)粘接代碼獨立于構(gòu)件

        粘接代碼應(yīng)該獨立于與其粘接的構(gòu)件,在構(gòu)件替換時不必改寫,構(gòu)件的替換被構(gòu)件的包容和剪裁獨立所隱藏,粘接代碼與構(gòu)件的交互是通過包容器間接進行的。粘接代碼所提供的功能不應(yīng)該依賴于所訪問的特定構(gòu)件,諸如異常處理、控制流等服務(wù)的升級應(yīng)獨立于多粘接的構(gòu)件,這樣當(dāng)構(gòu)件升級或修改時,粘接代碼可以保持不變。通過提供構(gòu)件周圍用來隔絕的包容器粘接代碼可以使用標(biāo)準(zhǔn)方法訪問構(gòu)件。

        3)檢驗構(gòu)件的版本一致性

        構(gòu)件以新版本發(fā)布的形式快速升級,系統(tǒng)通常與使用構(gòu)件的哪一個版本運行有關(guān)系,一個特殊的構(gòu)件被升級到一個新版本經(jīng)常意味著包容器以及其他構(gòu)件也要被升級。

        系統(tǒng)的開發(fā)者無論如何都需要保證當(dāng)前構(gòu)件的配置版本一致,理想的版本檢查是自動進行的,版本驗證可以在創(chuàng)建、安裝或運行時進行,這與構(gòu)件的連接時間有關(guān)。Perl和使用Ac?tiveX構(gòu)件的VisualBasic都有對版本驗證的支持。在Perl中,構(gòu)件開發(fā)者在每個發(fā)布的軟件模塊中加入一個版本號,構(gòu)件使用者在連接該模塊時必須說明所需的版本,在運行時系統(tǒng)會檢查所連的模塊的版本是否等于或高于所需版本。ActiveX構(gòu)件對構(gòu)件及接口都有一個版本號,構(gòu)件的版本號是由開發(fā)者確定的,它被安裝程序使用來決定已安裝的構(gòu)件是否應(yīng)該被新版本的構(gòu)件所替換。接口的版本號是在編譯時自動分配的,它用來記錄一個構(gòu)件接口的不同版本的一致性。在運行時,當(dāng)一個VisualBasic程序連接到ActiveX構(gòu)件時,一個驗證構(gòu)件所暴露的接口是否是VisualBasic程序所預(yù)期接口的檢查會自動進行。如果版本不一致的話,系統(tǒng)集成者可以捕獲異常。

        4)在包容及粘接中加入斷言

        在許多情況下為了確認(rèn)運行時的斷言在包容及粘接中所進行的高層次檢查是非常有用的。這些斷言可以僅僅是驗證參數(shù)值或類型,也可以更為復(fù)雜,斷言數(shù)據(jù)值之間的關(guān)系或所需要事件的臨時順序。這種運行時的檢查主要位于包容器及粘接代碼中,通過在構(gòu)件間添加斷言并且在斷言違背時發(fā)出異常,錯誤能很快被發(fā)現(xiàn)并且從系統(tǒng)中分離出來。

        5)使用開放的標(biāo)準(zhǔn)

        使用遵循開放標(biāo)準(zhǔn)的構(gòu)件能使不同供應(yīng)商的構(gòu)件間較容易地替換,而選擇遵循特殊標(biāo)準(zhǔn)的構(gòu)件會給系統(tǒng)的可移植性以及用不同來源的構(gòu)件配置系統(tǒng)時帶來問題。如果使用不開放的標(biāo)準(zhǔn),系統(tǒng)開發(fā)者會過分依賴某一特定的供應(yīng)商,即使有其他供應(yīng)商提供相同功能并且性能或費用上更可取的構(gòu)件,開發(fā)者也無法采用。

        6)—致的體系結(jié)構(gòu)類型

        通常開發(fā)者無法控制構(gòu)件內(nèi)部的結(jié)構(gòu)以及構(gòu)件的演化與維護,他們所能決定的是系統(tǒng)體系結(jié)構(gòu)及體系結(jié)構(gòu)類型。通過定義在系統(tǒng)整個生命周期內(nèi)都可維護的靈活的體系結(jié)構(gòu)并且保證構(gòu)件都遵循這一結(jié)構(gòu)能使在系統(tǒng)中添加構(gòu)件較易進行,系統(tǒng)內(nèi)的服務(wù)也能按照需要剪裁和修改。如果在開發(fā)過程中過早地束縛于一個特殊的體系結(jié)構(gòu),會使構(gòu)件的集成變得困難,構(gòu)件的完全利用也不太可能實現(xiàn)。

        5小結(jié)

        基于構(gòu)件的軟件開發(fā)已經(jīng)越來越廣泛地應(yīng)用于包括企業(yè)信息系統(tǒng)在內(nèi)的多個領(lǐng)域的軟件生產(chǎn)中,并且成功地開發(fā)出許多系統(tǒng),但在對安全性要求苛刻的系統(tǒng)中,使用該方法風(fēng)險仍然太大。為了方便該方法的開展,當(dāng)前出現(xiàn)了不少開發(fā)工具如compuware公司的Uniface、SuperNova公司的Visualconcepts,這些工具在構(gòu)件組裝、部署等方面提供了許多支持,使得基于構(gòu)件的開發(fā)能更加有效地進行。

      【計算機軟件開發(fā)的進展研究論文】相關(guān)文章:

      計算機軟件開發(fā)實習(xí)周報04-21

      生物學(xué)研究論文03-03

      水利工程中計算機的運用研究論文范文(通用7篇)05-11

      計算機軟件開發(fā)合同06-20

      幼兒舞蹈教學(xué)研究論文01-03

      技工院校軟件開發(fā)專業(yè)項目課程實踐探索論文03-23

      計算機軟件開發(fā)合同2篇04-09

      計算機軟件開發(fā)合同5篇11-05

      計算機軟件開發(fā)合同(3篇)01-25

      計算機軟件開發(fā)合同3篇01-25