基于構(gòu)件的軟件開發(fā)前景分析(基于構(gòu)件的軟件工程)
本篇文章給大家談?wù)劵跇?gòu)件的軟件開發(fā)前景分析,以及基于構(gòu)件的軟件工程對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
- 1、軟件開發(fā)前景?
- 2、軟件體系結(jié)構(gòu)的應(yīng)用現(xiàn)狀
- 3、基于構(gòu)件的軟件開發(fā)包括哪些要素
- 4、基于構(gòu)件的軟件開發(fā)方法對(duì)什么菌有影響
軟件開發(fā)前景?
雖然互聯(lián)網(wǎng)領(lǐng)域的持續(xù)快速發(fā)展,尤其是近些年來(lái)移動(dòng)互聯(lián)網(wǎng)領(lǐng)域的發(fā)展,在很大程度上促進(jìn)了IT行業(yè)領(lǐng)域?qū)τ陂_發(fā)人才的需求,但是目前要想找到一份適合自己的軟件開發(fā)崗位也并不容易,而要想獲得較高的薪資待遇往往也有很多具體的要求。
當(dāng)前軟件開發(fā)崗位對(duì)于從業(yè)者的門檻要求在進(jìn)一步提升,隨著云計(jì)算、大數(shù)據(jù)和人工智能相關(guān)技術(shù)的發(fā)展,軟件開發(fā)領(lǐng)域?qū)τ谙嚓P(guān)開發(fā)崗位的要求有三個(gè)較為明顯的變化,其一是開發(fā)人員需要具備多場(chǎng)景開發(fā)能力(全棧開發(fā));其二是開發(fā)人員需要具備一定的創(chuàng)新能力(研發(fā));其三是開發(fā)人員需要具備一定的行業(yè)知識(shí)。
在云計(jì)算技術(shù)的推動(dòng)下,未來(lái)更多的行業(yè)定制化開發(fā)會(huì)轉(zhuǎn)向基于PaaS的開發(fā)方式,這將在很大程度上提升程序員的開發(fā)效率,所以未來(lái)行業(yè)定制化開發(fā)必然會(huì)出現(xiàn)崗位升級(jí),這也將促使一部分技術(shù)結(jié)構(gòu)陳舊的程序員面臨一定的從業(yè)壓力。
在大數(shù)據(jù)技術(shù)和5G通信的推動(dòng)下,程序員需要面對(duì)的開發(fā)場(chǎng)景也將得到進(jìn)一步的拓展,程序員不僅需要掌握常規(guī)的軟件開發(fā)技術(shù),還需要掌握一定的大數(shù)據(jù)技術(shù),所以要想就業(yè)到軟件開發(fā)崗位也并不容易。目前一部分開發(fā)企業(yè)對(duì)于全棧程序員更感興趣,而要想成為一名全棧程序員,無(wú)疑需要更多的積累。
軟件體系結(jié)構(gòu)的應(yīng)用現(xiàn)狀
形成研究熱點(diǎn),仍處于非形式化水平
自20世紀(jì)90年代后期以來(lái),軟件體系結(jié)構(gòu)的研究成為一個(gè)熱點(diǎn)。廣大軟件工作者已經(jīng)認(rèn)識(shí)到軟件體系結(jié)構(gòu)研究的重大意義和它對(duì)軟件系統(tǒng)設(shè)計(jì)開發(fā)的重要性,開展了很多研究和實(shí)踐工作。
從軟件體系結(jié)構(gòu)研究的現(xiàn)狀來(lái)看,當(dāng)前的研究和對(duì)軟件體系結(jié)構(gòu)的描述,在很大程度上來(lái)說(shuō)還停留在非形式化的基礎(chǔ)上。軟件構(gòu)架師仍然缺乏必要的工具,這種工具應(yīng)該是顯式描述的、有獨(dú)立性的形式化工具。
在目前通用的軟件開發(fā)方法中,其描述通常是用非形式化的圖和文本,不能描述系統(tǒng)期望的存在于構(gòu)件之間的接口,不能描述不同的組成系統(tǒng)的組合關(guān)系的意義。難以被開發(fā)人員理解,更不能用來(lái)分析其一致性和完整性等特性。
當(dāng)一個(gè)軟件系統(tǒng)中的構(gòu)件之間幾乎以一種非形式化的方法描述時(shí),系統(tǒng)的重用性也會(huì)受到影響,在設(shè)計(jì)一個(gè)系統(tǒng)結(jié)構(gòu)過(guò)程中的努力很難移植到另一個(gè)系統(tǒng)中去。對(duì)系統(tǒng)構(gòu)件和連接關(guān)系的結(jié)構(gòu)化假設(shè)沒(méi)有得到顯式的、形式化的描述時(shí),把這樣的系統(tǒng)構(gòu)件移植到另一個(gè)系統(tǒng)中去將是有風(fēng)險(xiǎn)的,甚至是不可能的。
軟件體系結(jié)構(gòu)的形式化方法研究
軟件體系結(jié)構(gòu)研究如果僅僅停留在非形式化的框圖階段,已經(jīng)難以適應(yīng)進(jìn)一步發(fā)展的需要。為支持基于體系結(jié)構(gòu)的開發(fā),需要有形式化建模符號(hào)、體系結(jié)構(gòu)說(shuō)明的分析與開發(fā)工具。從軟件體系結(jié)構(gòu)研究的現(xiàn)狀來(lái)看,在這一領(lǐng)域近來(lái)已經(jīng)有不少進(jìn)展,其中比較有代表性的是美國(guó)卡耐基梅隆大學(xué)(Carnegie Mellon University)的Robert J.A11en于l997年提出的Wright系統(tǒng)。Wright是-種結(jié)構(gòu)描述語(yǔ)言,該語(yǔ)言基于一種形式化的、抽象的系統(tǒng)模型,為描述和分析軟件體系結(jié)構(gòu)和結(jié)構(gòu)化方法提供了一種實(shí)用的工具。Wright主要側(cè)重于描述系統(tǒng)的軟件構(gòu)件和連接的結(jié)構(gòu)、配置和方法。它使用顯式的、獨(dú)立的連接模型來(lái)作為交互的方式,這使得該系統(tǒng)可以用邏輯謂詞符號(hào)系統(tǒng),而不依賴特定的系統(tǒng)實(shí)例來(lái)描述系統(tǒng)的抽象行為。該系統(tǒng)還可以通過(guò)一組靜態(tài)檢查來(lái)判斷系統(tǒng)結(jié)構(gòu)規(guī)格說(shuō)明的一致性和完整性。從這些特性的分析來(lái)說(shuō),Wright系統(tǒng)的確適用于對(duì)大型系統(tǒng)的描述和分析。
軟件體系結(jié)構(gòu)的建模研究
研究軟件體系結(jié)構(gòu)的首要問(wèn)題是如何表示軟件體系結(jié)構(gòu),即如何對(duì)軟件體系結(jié)構(gòu)建模。根據(jù)建模的側(cè)重點(diǎn)的不同,可以將軟件體系結(jié)構(gòu)的模型分為5種:結(jié)構(gòu)模型、框架模型、動(dòng)態(tài)模型、過(guò)程模型和功能模型。在這5個(gè)模型中,最常用的是結(jié)構(gòu)模型和動(dòng)態(tài)模型。
(1)結(jié)構(gòu)模型
這是一個(gè)最直觀、最普遍的建模方法。這種方法以體系結(jié)構(gòu)的構(gòu)件、連接件和其他概念來(lái)刻畫結(jié)構(gòu),并力圖通過(guò)結(jié)構(gòu)來(lái)反映系統(tǒng)的重要語(yǔ)義內(nèi)容,包括系統(tǒng)的配置、約束、隱含的假設(shè)條件、風(fēng)格、性質(zhì)。研究結(jié)構(gòu)模型的核心是體系結(jié)構(gòu)描述語(yǔ)言。(2)框架模型
框架模型與結(jié)構(gòu)模型類似,但它不太側(cè)重描述結(jié)構(gòu)的細(xì)節(jié)而更側(cè)重于整體的結(jié)構(gòu)??蚣苣P椭饕砸恍┨厥獾膯?wèn)題為目標(biāo)建立只針對(duì)和適應(yīng)該問(wèn)題的結(jié)構(gòu)。
(3)動(dòng)態(tài)模型
動(dòng)態(tài)模型是對(duì)結(jié)構(gòu)或框架模型的補(bǔ)充,研究系統(tǒng)的大顆粒的行為性質(zhì)。例如,描述系統(tǒng)的重新配置或演化。動(dòng)態(tài)可能指系統(tǒng)總體結(jié)構(gòu)的配置、建立或拆除通信通道或計(jì)算的過(guò)程。這類系統(tǒng)常是激勵(lì)型的。
(4)過(guò)程模型
過(guò)程模型研究構(gòu)造系統(tǒng)的步驟和過(guò)程。因而結(jié)構(gòu)是遵循某些過(guò)程腳本的結(jié)果。
(5)功能模型
該模型認(rèn)為體系結(jié)構(gòu)是由一組功能構(gòu)件按層次組成,下層向上層提供服務(wù)。它可以看作是一種特殊的框架模型。
這5種模型各有所長(zhǎng),也許將5種模型有機(jī)地統(tǒng)一在一起,形成一個(gè)完整的模型來(lái)刻畫軟件體系結(jié)構(gòu)更合適。例如,Kruchten在1995年提出了一個(gè)4+1的視角模型。4+1模型從5個(gè)不同的視角包括邏輯視角、過(guò)程視角、物理視角、開發(fā)視角和場(chǎng)景視角來(lái)描述軟件體系結(jié)構(gòu)。每一個(gè)視角只關(guān)心系統(tǒng)的一個(gè)側(cè)面,5個(gè)視角結(jié)合在一起才能夠反映系統(tǒng)的軟件體系結(jié)構(gòu)的全部?jī)?nèi)容。4+1模型如圖1所示。
圖1 4+1模型
發(fā)展基于體系結(jié)構(gòu)的軟件開發(fā)模型
軟件開發(fā)模型是跨越整個(gè)軟件生存周期的系統(tǒng)開發(fā)、運(yùn)行、維護(hù)所實(shí)施的全部工作和任務(wù)的結(jié)構(gòu)框架,給出了軟件開發(fā)活動(dòng)各階段之間的關(guān)系。目前,常見(jiàn)的軟件開發(fā)模型大致可分為三種類型:
(1)以軟件需求完全確定為前提的瀑布模型。
(2)在軟件開發(fā)初始階段只能提供基本需求時(shí)采用的漸進(jìn)式開發(fā)模型,如螺旋模型等。
(3)以形式化開發(fā)方法為基礎(chǔ)的變換模型。
所有開發(fā)方法都是要解決需求與實(shí)現(xiàn)之間的差距。但是,這三種類型的軟件開發(fā)模型都存在這樣或那樣的缺陷,不能很好地支持基于軟件體系結(jié)構(gòu)的開發(fā)過(guò)程。因此,研究人員在發(fā)展基于體系結(jié)構(gòu)的軟件開發(fā)模型方面做了一定的工作。例如,為了形象地表示體系結(jié)構(gòu)的生命周期,北京郵電大學(xué)的周瑩新博士建立了一個(gè)軟件體系結(jié)構(gòu)的生命周期模型,該模型如圖2所示。圖2 軟件體系結(jié)構(gòu)的生命周期模型
軟件產(chǎn)品線體系結(jié)構(gòu)的研究
軟件體系結(jié)構(gòu)的開發(fā)是大型軟件系統(tǒng)開發(fā)的關(guān)鍵環(huán)節(jié)。體系結(jié)構(gòu)在軟件生產(chǎn)線的開發(fā)中具有至關(guān)重要的作用,在這種開發(fā)生產(chǎn)中,基于同一個(gè)軟件體系結(jié)構(gòu),可以創(chuàng)建具有不同功能的多個(gè)系統(tǒng)。在軟件產(chǎn)品族之間共享體系結(jié)構(gòu)和一組可重用的構(gòu)件,可以增加軟件工程和降低開發(fā)和維護(hù)成本。
一個(gè)產(chǎn)品線代表著一組具有公共的系統(tǒng)需求集的軟件系統(tǒng),它們都是根據(jù)基本的用戶需求對(duì)標(biāo)準(zhǔn)的產(chǎn)品線構(gòu)架進(jìn)行定制,將可重用構(gòu)件與系統(tǒng)獨(dú)有的部分集成而得到的。采用軟件生產(chǎn)線式模式進(jìn)行軟件生產(chǎn),將產(chǎn)生巨型編程企業(yè)。但目前生產(chǎn)的軟件產(chǎn)品族大部分是處于同一領(lǐng)域的。
基于構(gòu)件的軟件開發(fā)包括哪些要素
與傳統(tǒng)的軟件開發(fā)方式相比,基于構(gòu)件的軟件開發(fā)方法有什么突破呢?
一、體系結(jié)構(gòu)
軟件體系結(jié)構(gòu)代表了系統(tǒng)公共的高層次的抽象,它是系統(tǒng)設(shè)計(jì)成敗的關(guān)鍵。其設(shè)計(jì)的核心是能否使用重復(fù)的體系模式。傳統(tǒng)的應(yīng)用系統(tǒng)體系結(jié)構(gòu)從基于主機(jī)的集中式框架,到在網(wǎng)絡(luò)的客戶端上通過(guò)網(wǎng)絡(luò)訪問(wèn)服務(wù)器的框架,都不能適應(yīng)目前企業(yè)所處的商業(yè)環(huán)境,原因是:
企業(yè)過(guò)分地依賴于某個(gè)供應(yīng)商的軟件和硬件產(chǎn)品。這種單一供應(yīng)商使得企業(yè)難以利用計(jì)算供應(yīng)商的免費(fèi)市場(chǎng),將計(jì)算基礎(chǔ)設(shè)施的重要決定交給第三方處理,這顯然不利于企業(yè)在合作伙伴之間共享信息。
不能適應(yīng)遠(yuǎn)程訪問(wèn)的分布式、多層次異構(gòu)系統(tǒng)。
封裝的應(yīng)用系統(tǒng)在出現(xiàn)某種組織需要時(shí),難以用定制來(lái)維護(hù)系統(tǒng),從而難以滿足多變的需求。
不能實(shí)現(xiàn)分析、設(shè)計(jì)核心功能重用,最多只能實(shí)現(xiàn)代碼重用。
如今,應(yīng)用系統(tǒng)已經(jīng)發(fā)展成為在Intranet和Internet上的各種客戶端可遠(yuǎn)程訪問(wèn)的分布式、多層次異構(gòu)系統(tǒng)。CBSD為開發(fā)這樣的應(yīng)用系統(tǒng)提供
了新的系統(tǒng)體系結(jié)構(gòu)。它是標(biāo)準(zhǔn)定義的、分布式、模塊化結(jié)構(gòu),使應(yīng)用系統(tǒng)可分成幾個(gè)獨(dú)立部分開發(fā),可用增量方式開發(fā)。
這樣的體系結(jié)構(gòu)實(shí)現(xiàn)了CBSD的以下幾點(diǎn)目標(biāo):
能夠通過(guò)內(nèi)部開發(fā)的、第三方提供的或市場(chǎng)上購(gòu)買的現(xiàn)有構(gòu)件,來(lái)集成和定制應(yīng)用軟件系統(tǒng)。
鼓勵(lì)在各種應(yīng)用系統(tǒng)中重用核心功能,努力實(shí)現(xiàn)分析、設(shè)計(jì)的重用。
系統(tǒng)都應(yīng)具有靈活方便的升級(jí)和系統(tǒng)模塊的更新維護(hù)能力。
封裝最好的實(shí)踐案例,并使其在商業(yè)條件改變的情況下,還能夠被采用,并能保留已有資源。
由此看出,CDSD從系統(tǒng)高層次的抽象上解決了復(fù)用性與異構(gòu)互操作性,這正是分布式網(wǎng)絡(luò)系統(tǒng)所希望解決的難題。
二、開發(fā)過(guò)程
傳統(tǒng)的軟件開發(fā)過(guò)程在重用元素、開發(fā)方法上都與CBSD有很大的不同。雖然面向?qū)ο蠹夹g(shù)促進(jìn)了軟件重用,但是,只實(shí)現(xiàn)了類和類繼承的重用。在整個(gè)系統(tǒng)和類之間還存在很大的缺口。為填補(bǔ)這個(gè)缺口,人們?cè)肓嗽S多方法,如系統(tǒng)體系結(jié)構(gòu)、框架、設(shè)計(jì)模式等。
自從構(gòu)件出現(xiàn)以來(lái),軟件的重用才得到了根本改變。CBSD實(shí)現(xiàn)了分析、設(shè)計(jì)、類等多層次上的重用。圖1顯示了它的重用元素分層實(shí)現(xiàn)。在分析抽象層上,重用
元素有子系統(tǒng)、類;在設(shè)計(jì)層上重用元素有系統(tǒng)體系結(jié)構(gòu)、子系統(tǒng)體系結(jié)構(gòu)、設(shè)計(jì)模式、框架、容器、構(gòu)件、類庫(kù)、模板、抽象類等。
在軟件開發(fā)方法上,CBSD引導(dǎo)軟件開發(fā)從應(yīng)用系統(tǒng)開發(fā)轉(zhuǎn)變?yōu)閼?yīng)用系統(tǒng)集成。建立一個(gè)應(yīng)用系統(tǒng)需要重用很多已有的構(gòu)件模塊,這些構(gòu)件模塊可能是在不同的時(shí)
間、由不同的人員開發(fā)的,并有各種不同的用途。在這種情況下,應(yīng)用系統(tǒng)的開發(fā)過(guò)程就變成對(duì)構(gòu)件接口、構(gòu)件上下文以及框架環(huán)境一致性的逐漸探索過(guò)程。例如,
在J2EE平臺(tái)上,用EJB框架開發(fā)應(yīng)用系統(tǒng),主要工作是將應(yīng)用邏輯,按session Bean、entity
Bean設(shè)計(jì)開發(fā),并利用JTS事務(wù)處理的服務(wù)實(shí)現(xiàn)應(yīng)用系統(tǒng)。其主要難點(diǎn)是事務(wù)劃分、構(gòu)件的部署與開發(fā)環(huán)境配置。概括地說(shuō),傳統(tǒng)的軟件開發(fā)過(guò)程是串行瀑布
式、流水線的過(guò)程;而CBSD是并發(fā)進(jìn)化式,不斷升級(jí)完善的過(guò)程。圖2顯示了它們的不同。
三、軟件方法學(xué)
軟件方法學(xué)是從各種不同角度、不同思路去認(rèn)識(shí)軟件的本質(zhì)。傳統(tǒng)的軟件方法學(xué)是從面向機(jī)器、面向數(shù)據(jù)、面向過(guò)程、面向功能、面向數(shù)據(jù)流、面向?qū)ο蟮炔粩鄤?chuàng)新
的觀點(diǎn)反映問(wèn)題的本質(zhì)。整個(gè)軟件的發(fā)展歷程使人們?cè)絹?lái)越認(rèn)識(shí)到應(yīng)按客觀世界規(guī)律去解決軟件方法學(xué)問(wèn)題。直到面向?qū)ο蠓椒ǖ某霈F(xiàn),才使軟件方法學(xué)邁進(jìn)了一大
步。但是,高層次上的重用、分布式異構(gòu)互操作的難點(diǎn)還沒(méi)有解決。CBSD發(fā)展到今天,才在軟件方法學(xué)上為解決這個(gè)難題提供了機(jī)會(huì)。它把應(yīng)用業(yè)務(wù)和實(shí)現(xiàn)分
離,即邏輯與數(shù)據(jù)的分離,提供標(biāo)準(zhǔn)接口和框架,使軟件開發(fā)方法變成構(gòu)件的組合。因此,軟件方法學(xué)是以接口為中心,面向行為的設(shè)計(jì)。圖3是其開發(fā)過(guò)程。
歸納起來(lái),CBSD的軟件開發(fā)方法學(xué)應(yīng)包括下面幾方面:
對(duì)構(gòu)件有明確的定義。
基于構(gòu)件的概念需要有構(gòu)件的描述技術(shù)和規(guī)范,如UML、JavaBean、EJB、Servlet規(guī)范等。
開發(fā)應(yīng)用系統(tǒng)必須按構(gòu)件裁剪劃分組織,包括分配不同的角色。
有支持檢驗(yàn)構(gòu)件特性和生成文檔的工具,確保構(gòu)件規(guī)范的實(shí)現(xiàn)和質(zhì)量測(cè)試。
總之,傳統(tǒng)的軟件方法學(xué)從草稿自頂向下進(jìn)行,對(duì)重用沒(méi)有提供更多的輔助。CBSD的軟件方法學(xué)要豐富得多,它是即插即用,基于體系結(jié)構(gòu),以接口為中心,將構(gòu)件有機(jī)組合,它把自頂向下和自底向上方法結(jié)合起來(lái)進(jìn)行開發(fā)。
四、開發(fā)組織機(jī)構(gòu)
傳統(tǒng)軟件的開發(fā)組織一般由分析員、設(shè)計(jì)員、程序員和測(cè)試員組成。對(duì)一個(gè)小的應(yīng)用系統(tǒng)來(lái)說(shuō),一個(gè)熟練的開發(fā)人員,可能兼顧以上多個(gè)角色。但對(duì)CBSD來(lái)說(shuō),因?yàn)闃?gòu)件開發(fā)與應(yīng)用系統(tǒng)集成往往是分開進(jìn)行的,因此整個(gè)開發(fā)過(guò)程由六個(gè)角色來(lái)完成,他們是:
構(gòu)件開發(fā)者 也是構(gòu)件供貨商,這些大多數(shù)是中間件構(gòu)件提供者。
應(yīng)用構(gòu)件集成者 針對(duì)某應(yīng)用領(lǐng)域?qū)⒁延袠?gòu)件組合成更大的構(gòu)件模塊或容器, 作為系統(tǒng)部署的基本單元。
應(yīng)用系統(tǒng)部署者 將系統(tǒng)部署基本單元放入選定的平臺(tái)環(huán)境或基本框架中,完成軟件定制的要求。
開發(fā)平臺(tái)服務(wù)器供應(yīng)商 提供服務(wù)器、操作系統(tǒng)和數(shù)據(jù)庫(kù)等基本軟件。
應(yīng)用系統(tǒng)開發(fā)工具供應(yīng)商 提供構(gòu)件公共設(shè)施服務(wù)。
系統(tǒng)管理員 配置硬件、網(wǎng)絡(luò)和操作系統(tǒng),監(jiān)督和維護(hù)應(yīng)用系統(tǒng)者。
這六個(gè)角色的工作專業(yè)性很強(qiáng),要兼顧成為多面手很不容易。目前已形成構(gòu)件開放市場(chǎng),而且還很火紅。這也是當(dāng)今軟件人才大戰(zhàn)所遇的
一個(gè)困惑。因此,在CBSD中,如何組織好開發(fā)隊(duì)伍尤為重要,必須按本企業(yè)所具備人才來(lái)組織。特別重要的是:開發(fā)初期必須選好標(biāo)準(zhǔn)框架,以及統(tǒng)一的開發(fā)指
導(dǎo)方針,保證在整個(gè)開發(fā)過(guò)程中,各角色能隨時(shí)互相溝通。一般來(lái)說(shuō),CBSD的人員素質(zhì)決定了構(gòu)件的重用率。
五、構(gòu)造方法
傳統(tǒng)應(yīng)用軟件的構(gòu)造是用白盒子方法,應(yīng)用系統(tǒng)的實(shí)現(xiàn)全在代碼中,應(yīng)用邏輯和數(shù)據(jù)粘結(jié)在一起。而CBSD 的構(gòu)造是用白盒子和黑盒子相結(jié)合的方法。 基于構(gòu)件的框架是用兩個(gè)概念來(lái)支持演變:第一個(gè)概念是構(gòu)件有很強(qiáng)的性能接口,使構(gòu)件邏輯功能和構(gòu)件模型的實(shí)現(xiàn)都隱藏起來(lái)。這樣,只要接口相同,構(gòu)件就可以被替換。
第二個(gè)概念是隱式調(diào)用,即在基于構(gòu)件的框
架中,從來(lái)不直接給構(gòu)件的接口分配地址,只在識(shí)別構(gòu)件用戶后才分配地址。因此,構(gòu)件用戶只要了解接口要求和為構(gòu)件接口提供的引用后的返回信息
(該引用可能是一個(gè)構(gòu)件,也可能是一個(gè)構(gòu)件代理。對(duì)構(gòu)件用戶來(lái)說(shuō),構(gòu)件代理就是構(gòu)件,不用區(qū)分) 。
構(gòu)件接口的信息并不存入構(gòu)件內(nèi),而是存入構(gòu)件倉(cāng)庫(kù)或注冊(cè)處。這樣才能保證構(gòu)件替換靈活,并很容易利用隱式調(diào)用去重新部署構(gòu)件。由于構(gòu)件的實(shí)現(xiàn)對(duì)用戶透明,
因此也使構(gòu)件能適應(yīng)各種不同的個(gè)性化要求。為此,構(gòu)件提供自檢和規(guī)范化兩個(gè)機(jī)制。自檢保證在不了解構(gòu)件的具體實(shí)現(xiàn)時(shí),就能獲得構(gòu)件接口信息。例
如,JavaBean提供的自檢機(jī)制是Reflection和BeanInfo, 通過(guò)Reflection
可直接獲得Bean構(gòu)件的全部方法,通過(guò)BeanInfo可直接獲得構(gòu)件的許多復(fù)雜信息。
規(guī)范化允許不訪問(wèn)構(gòu)件就可以修改它,如JavaBean提供的規(guī)范化是property sheet和customizer(定制器)。 通過(guò)property sheet提供一組簡(jiǎn)單參數(shù),修改Bean的屬性。復(fù)雜的修改由用戶通過(guò)定制器設(shè)置參數(shù)完成。
基于構(gòu)件的軟件開發(fā)方法對(duì)什么菌有影響
軟件構(gòu)件技術(shù)是在軟件開發(fā)中避免重復(fù)勞動(dòng)的解決方案。
通過(guò)軟件構(gòu)件技術(shù)可以提高軟件開發(fā)的效率和質(zhì)量。近十幾年來(lái)面向?qū)ο蠹夹g(shù)出現(xiàn)并逐步成為主流技術(shù),為軟件構(gòu)件技術(shù)提供了基本的技術(shù)支持。
軟件構(gòu)件技術(shù)研究成為熱點(diǎn),被視為解決軟件危機(jī)、提高軟件生產(chǎn)效率和質(zhì)量的現(xiàn)實(shí)可行的途徑。
關(guān)于基于構(gòu)件的軟件開發(fā)前景分析和基于構(gòu)件的軟件工程的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。