一区二区三区高清aⅴ专区,台湾中文娱乐网,亚洲第一网站

基于構(gòu)件的軟件開(kāi)發(fā)前景分析(基于構(gòu)件的軟件開(kāi)發(fā)前景分析論文)

軟件開(kāi)發(fā) 3865
本篇文章給大家談?wù)劵跇?gòu)件的軟件開(kāi)發(fā)前景分析,以及基于構(gòu)件的軟件開(kāi)發(fā)前景分析論文對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。 軟件開(kāi)發(fā)以后的就業(yè)前景怎么樣? 一、我國(guó)信息化人才培養(yǎng)還處于發(fā)展階段,導(dǎo)致社會(huì)實(shí)際需求人才基數(shù)遠(yuǎn)遠(yuǎn)大于信息化人才的培養(yǎng)基數(shù),使得數(shù)以萬(wàn)計(jì)的中小企業(yè)急需全面系統(tǒng)掌握軟件開(kāi)發(fā)基礎(chǔ)技能與知識(shí)的軟件工程師。目前對(duì)軟件已達(dá)20萬(wàn)并且以每年20%左右的速度增長(zhǎng)。在未來(lái)5年內(nèi)合格軟件人才的需求將遠(yuǎn)大于供給。

本篇文章給大家談?wù)劵跇?gòu)件的軟件開(kāi)發(fā)前景分析,以及基于構(gòu)件的軟件開(kāi)發(fā)前景分析論文對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。

軟件開(kāi)發(fā)以后的就業(yè)前景怎么樣?

一、我國(guó)信息化人才培養(yǎng)還處于發(fā)展階段,導(dǎo)致社會(huì)實(shí)際需求人才基數(shù)遠(yuǎn)遠(yuǎn)大于信息化人才的培養(yǎng)基數(shù),使得數(shù)以萬(wàn)計(jì)的中小企業(yè)急需全面系統(tǒng)掌握軟件開(kāi)發(fā)基礎(chǔ)技能與知識(shí)的軟件工程師。目前對(duì)軟件已達(dá)20萬(wàn)并且以每年20%左右的速度增長(zhǎng)。在未來(lái)5年內(nèi)合格軟件人才的需求將遠(yuǎn)大于供給。

二、從各大招聘網(wǎng)站的招聘數(shù)據(jù)統(tǒng)計(jì)來(lái)看:軟件工程師的人才需求一直保持全年IT行業(yè)需求的最高,月月居十大熱門(mén)行業(yè)榜首,招聘始終維持在15%-20%左右的IT職業(yè)市場(chǎng)份額,其薪資也節(jié)節(jié)高升,軟件工程師的起薪從5000至8000元/月左右。我國(guó)目前每年的軟件人才缺口達(dá)60萬(wàn)以上,而企業(yè)對(duì)軟件人才的需求也以每年20%的速度遞增。

三、軟件工程是計(jì)算機(jī)領(lǐng)域發(fā)展最快的學(xué)科分支之一,國(guó)家非常重視軟件行業(yè)的發(fā)展。對(duì)軟件工程師人才的培養(yǎng)給予了非常優(yōu)惠的政策。在所有軟件開(kāi)發(fā)類人才的需求中對(duì)Java工程師的需求達(dá)到全部需求量的60%-70%。應(yīng)該說(shuō)Java軟件工程師就業(yè)前景是非常好的,再加上Java軟件工程師不僅IT專業(yè)企業(yè)需要,廣大的非IT企業(yè)也需要,前景是非常樂(lè)觀的。

基于構(gòu)件的軟件開(kāi)發(fā)包括哪些要素,其核心是什么

與傳統(tǒng)的軟件開(kāi)發(fā)方式相比,基于構(gòu)件的軟件開(kāi)發(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為開(kāi)發(fā)這樣的應(yīng)用系統(tǒng)提供了新的系統(tǒng)體系結(jié)構(gòu)。它是標(biāo)準(zhǔn)定義的、分布式、模塊化結(jié)構(gòu),使應(yīng)用系統(tǒng)可分成幾個(gè)獨(dú)立部分開(kāi)發(fā),可用增量方式開(kāi)發(fā)。 這樣的體系結(jié)構(gòu)實(shí)現(xiàn)了CBSD的以下幾點(diǎn)目標(biāo): 能夠通過(guò)內(nèi)部開(kāi)發(fā)的、第三方提供的或市場(chǎng)上購(gòu)買(mǎi)的現(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)所希望解決的難題。 二、開(kāi)發(fā)過(guò)程 傳統(tǒng)的軟件開(kāi)發(fā)過(guò)程在重用元素、開(kāi)發(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ù)、模板、抽象類等。 在軟件開(kāi)發(fā)方法上,CBSD引導(dǎo)軟件開(kāi)發(fā)從應(yīng)用系統(tǒng)開(kāi)發(fā)轉(zhuǎn)變?yōu)閼?yīng)用系統(tǒng)集成。建立一個(gè)應(yīng)用系統(tǒng)需要重用很多已有的構(gòu)件模塊,這些構(gòu)件模塊可能是在不同的時(shí)間、由不同的人員開(kāi)發(fā)的,并有各種不同的用途。在這種情況下,應(yīng)用系統(tǒng)的開(kāi)發(fā)過(guò)程就變成對(duì)構(gòu)件接口、構(gòu)件上下文以及框架環(huán)境一致性的逐漸探索過(guò)程。例如,在J2EE平臺(tái)上,用EJB框架開(kāi)發(fā)應(yīng)用系統(tǒng),主要工作是將應(yīng)用邏輯,按session Bean、entity Bean設(shè)計(jì)開(kāi)發(fā),并利用JTS事務(wù)處理的服務(wù)實(shí)現(xiàn)應(yīng)用系統(tǒng)。其主要難點(diǎn)是事務(wù)劃分、構(gòu)件的部署與開(kāi)發(fā)環(huán)境配置。概括地說(shuō),傳統(tǒng)的軟件開(kāi)發(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)接口和框架,使軟件開(kāi)發(fā)方法變成構(gòu)件的組合。因此,軟件方法學(xué)是以接口為中心,面向行為的設(shè)計(jì)。圖3是其開(kāi)發(fā)過(guò)程。 歸納起來(lái),CBSD的軟件開(kāi)發(fā)方法學(xué)應(yīng)包括下面幾方面: 對(duì)構(gòu)件有明確的定義。 基于構(gòu)件的概念需要有構(gòu)件的描述技術(shù)和規(guī)范,如UML、JavaBean、EJB、Servlet規(guī)范等。 開(kāi)發(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)行開(kāi)發(fā)。 四、開(kāi)發(fā)組織機(jī)構(gòu) 傳統(tǒng)軟件的開(kāi)發(fā)組織一般由分析員、設(shè)計(jì)員、程序員和測(cè)試員組成。對(duì)一個(gè)小的應(yīng)用系統(tǒng)來(lái)說(shuō),一個(gè)熟練的開(kāi)發(fā)人員,可能兼顧以上多個(gè)角色。但對(duì)CBSD來(lái)說(shuō),因?yàn)闃?gòu)件開(kāi)發(fā)與應(yīng)用系統(tǒng)集成往往是分開(kāi)進(jìn)行的,因此整個(gè)開(kāi)發(fā)過(guò)程由六個(gè)角色來(lái)完成,他們是: 構(gòu)件開(kāi)發(fā)者 也是構(gòu)件供貨商,這些大多數(shù)是中間件構(gòu)件提供(續(xù)致信網(wǎng)上一頁(yè)內(nèi)容)者。 應(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)境或基本框架中,完成軟件定制的要求。 開(kāi)發(fā)平臺(tái)服務(wù)器供應(yīng)商 提供服務(wù)器、操作系統(tǒng)和數(shù)據(jù)庫(kù)等基本軟件。 應(yīng)用系統(tǒng)開(kāi)發(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)件開(kāi)放市場(chǎng),而且還很火紅。這也是當(dāng)今軟件人才大戰(zhàn)所遇的一個(gè)困惑。因此,在CBSD中,如何組織好開(kāi)發(fā)隊(duì)伍尤為重要,必須按本企業(yè)所具備人才來(lái)組織。特別重要的是:開(kāi)發(fā)初期必須選好標(biāo)準(zhǔn)框架,以及統(tǒng)一的開(kāi)發(fā)指導(dǎo)方針,保證在整個(gè)開(kāi)發(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ù)完成。

現(xiàn)在軟件開(kāi)發(fā)專業(yè)前景如何?

在當(dāng)今互聯(lián)網(wǎng)信息技術(shù)大爆炸時(shí)代,人工智能、云計(jì)算、物聯(lián)網(wǎng)等正在火熱推進(jìn)應(yīng)用中,需要大量的軟件開(kāi)發(fā)人才。Java作為一門(mén)十分熱門(mén)的軟件開(kāi)發(fā)語(yǔ)言,是當(dāng)今熱門(mén)的軟件編程語(yǔ)言,適合大中型企業(yè)軟件、移動(dòng)應(yīng)用開(kāi)發(fā)。也就是學(xué)完Java軟件編程,就可以勝任很多軟件開(kāi)發(fā)工作。

只要你初中或者高中畢業(yè),喜歡軟件編程,就可以零基礎(chǔ)學(xué)習(xí)JAVA軟件。因?yàn)樵趯W(xué)校老師會(huì)手把手地叫你學(xué)習(xí)Java軟件編程的英語(yǔ)單詞的含義和用法。通常 Java軟件編程會(huì)學(xué)習(xí)一下內(nèi)容:

如果你在學(xué)校學(xué)習(xí)基本Java基礎(chǔ)后,還需要熟練掌握以下技能:

1、html+div+css+javascript 網(wǎng)頁(yè)前端編程知識(shí)

2、MySQL數(shù)據(jù)編程知識(shí)

3、Java面向?qū)ο蟆⒓?、多線程、網(wǎng)絡(luò)編程知識(shí)

4、JavaWeb編程jsp servelt filter listener mvc設(shè)計(jì)模式等知識(shí)

5、SpringMvc Spring Mybatis框架編程知識(shí)

6、基于MVC在線訂購(gòu)系統(tǒng)編程實(shí)訓(xùn)

以上知識(shí)和技能如果熟練掌握J(rèn)avaWeb編程技能,你就能勝任大中型企業(yè)軟件、移動(dòng)應(yīng)用、電商訂購(gòu)平臺(tái)的開(kāi)發(fā)。你是可以很快找到工作的!

也就是說(shuō)Java工程師在基本上所有的行業(yè)的軟件開(kāi)發(fā)都能勝任,通吃!

基于構(gòu)件的軟件開(kāi)發(fā)包括哪些要素

與傳統(tǒng)的軟件開(kāi)發(fā)方式相比,基于構(gòu)件的軟件開(kāi)發(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為開(kāi)發(fā)這樣的應(yīng)用系統(tǒng)提供

了新的系統(tǒng)體系結(jié)構(gòu)。它是標(biāo)準(zhǔn)定義的、分布式、模塊化結(jié)構(gòu),使應(yīng)用系統(tǒng)可分成幾個(gè)獨(dú)立部分開(kāi)發(fā),可用增量方式開(kāi)發(fā)。

這樣的體系結(jié)構(gòu)實(shí)現(xiàn)了CBSD的以下幾點(diǎn)目標(biāo):

能夠通過(guò)內(nèi)部開(kāi)發(fā)的、第三方提供的或市場(chǎng)上購(gòu)買(mǎi)的現(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)所希望解決的難題。

二、開(kāi)發(fā)過(guò)程

傳統(tǒng)的軟件開(kāi)發(fā)過(guò)程在重用元素、開(kāi)發(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ù)、模板、抽象類等。

在軟件開(kāi)發(fā)方法上,CBSD引導(dǎo)軟件開(kāi)發(fā)從應(yīng)用系統(tǒng)開(kāi)發(fā)轉(zhuǎn)變?yōu)閼?yīng)用系統(tǒng)集成。建立一個(gè)應(yīng)用系統(tǒng)需要重用很多已有的構(gòu)件模塊,這些構(gòu)件模塊可能是在不同的時(shí)

間、由不同的人員開(kāi)發(fā)的,并有各種不同的用途。在這種情況下,應(yīng)用系統(tǒng)的開(kāi)發(fā)過(guò)程就變成對(duì)構(gòu)件接口、構(gòu)件上下文以及框架環(huán)境一致性的逐漸探索過(guò)程。例如,

在J2EE平臺(tái)上,用EJB框架開(kāi)發(fā)應(yīng)用系統(tǒng),主要工作是將應(yīng)用邏輯,按session Bean、entity

Bean設(shè)計(jì)開(kāi)發(fā),并利用JTS事務(wù)處理的服務(wù)實(shí)現(xiàn)應(yīng)用系統(tǒng)。其主要難點(diǎn)是事務(wù)劃分、構(gòu)件的部署與開(kāi)發(fā)環(huán)境配置。概括地說(shuō),傳統(tǒng)的軟件開(kāi)發(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)接口和框架,使軟件開(kāi)發(fā)方法變成構(gòu)件的組合。因此,軟件方法學(xué)是以接口為中心,面向行為的設(shè)計(jì)。圖3是其開(kāi)發(fā)過(guò)程。

歸納起來(lái),CBSD的軟件開(kāi)發(fā)方法學(xué)應(yīng)包括下面幾方面:

對(duì)構(gòu)件有明確的定義。

基于構(gòu)件的概念需要有構(gòu)件的描述技術(shù)和規(guī)范,如UML、JavaBean、EJB、Servlet規(guī)范等。

開(kāi)發(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)行開(kāi)發(fā)。

四、開(kāi)發(fā)組織機(jī)構(gòu)

傳統(tǒng)軟件的開(kāi)發(fā)組織一般由分析員、設(shè)計(jì)員、程序員和測(cè)試員組成。對(duì)一個(gè)小的應(yīng)用系統(tǒng)來(lái)說(shuō),一個(gè)熟練的開(kāi)發(fā)人員,可能兼顧以上多個(gè)角色。但對(duì)CBSD來(lái)說(shuō),因?yàn)闃?gòu)件開(kāi)發(fā)與應(yīng)用系統(tǒng)集成往往是分開(kāi)進(jìn)行的,因此整個(gè)開(kāi)發(fā)過(guò)程由六個(gè)角色來(lái)完成,他們是:

構(gòu)件開(kāi)發(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)境或基本框架中,完成軟件定制的要求。

開(kāi)發(fā)平臺(tái)服務(wù)器供應(yīng)商 提供服務(wù)器、操作系統(tǒng)和數(shù)據(jù)庫(kù)等基本軟件。

應(yīng)用系統(tǒng)開(kāi)發(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)件開(kāi)放市場(chǎng),而且還很火紅。這也是當(dāng)今軟件人才大戰(zhàn)所遇的

一個(gè)困惑。因此,在CBSD中,如何組織好開(kāi)發(fā)隊(duì)伍尤為重要,必須按本企業(yè)所具備人才來(lái)組織。特別重要的是:開(kāi)發(fā)初期必須選好標(biāo)準(zhǔn)框架,以及統(tǒng)一的開(kāi)發(fā)指

導(dǎo)方針,保證在整個(gè)開(kāi)發(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)件的軟件開(kāi)發(fā)提高了軟件開(kāi)發(fā)的生產(chǎn)效率

摘要

基于構(gòu)件的軟件復(fù)用和開(kāi)發(fā)被認(rèn)為是提高軟件開(kāi)發(fā)效率和質(zhì)量的有效途徑,并在分布式系統(tǒng)中得到了廣泛的應(yīng)用.但是,目前的軟件構(gòu)件技術(shù)主要還是著眼于構(gòu)件實(shí)現(xiàn)模型和運(yùn)行時(shí)互操作,缺乏一套系統(tǒng)的方法以指導(dǎo)整個(gè)開(kāi)發(fā)過(guò)程.近年來(lái),以構(gòu)件為基本單元的軟件體系結(jié)構(gòu)研究取得了較大的發(fā)展.它通過(guò)對(duì)軟件系統(tǒng)整體結(jié)構(gòu)和特性的描述,為面向構(gòu)件的軟件開(kāi)發(fā)提供了一個(gè)自頂向下的途徑.介紹了一種以軟件體系結(jié)構(gòu)為指導(dǎo),面向構(gòu)件的軟件開(kāi)發(fā)方法,試圖為基于構(gòu)件的軟件復(fù)用提供一種有效的解決方案.這種方法主要是將軟件體系結(jié)構(gòu)引入到軟件開(kāi)發(fā)的各個(gè)階段,作為系統(tǒng)開(kāi)發(fā)的藍(lán)圖,利用工具支持的自動(dòng)轉(zhuǎn)換機(jī)制縮小從高層設(shè)計(jì)到實(shí)現(xiàn)的距離,而后在構(gòu)件平臺(tái)的運(yùn)行支持下實(shí)現(xiàn)自動(dòng)的系統(tǒng)組裝生成.

基于構(gòu)件應(yīng)用開(kāi)發(fā)的優(yōu)點(diǎn)有哪些?

構(gòu)件的最大優(yōu)點(diǎn)是重用,軟件之所以那么難做,就是難以重用。這方面硬件要好得多,硬件容易重用,CPU、存儲(chǔ)器、硬盤(pán)、光驅(qū)、顯示器等等都可以重用,將它們裝配在一起就成了一臺(tái)新計(jì)算機(jī)。軟件就很難達(dá)到這樣的重用程度,構(gòu)件的出現(xiàn)是一個(gè)進(jìn)步

另外補(bǔ)充一下,通過(guò)一些特殊的處理,如dll動(dòng)態(tài)鏈接庫(kù)的應(yīng)用,提高了程序的執(zhí)行效率,即:當(dāng)需要某部分功能時(shí)才載入某個(gè)dll庫(kù),使程序具備了比較好的伸縮和可擴(kuò)展性,當(dāng)某個(gè)功能發(fā)生變動(dòng)時(shí),只需要更新相應(yīng)的dll文件即可

基于構(gòu)件的軟件開(kāi)發(fā)前景分析的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于基于構(gòu)件的軟件開(kāi)發(fā)前景分析論文、基于構(gòu)件的軟件開(kāi)發(fā)前景分析的信息別忘了在本站進(jìn)行查找喔。

掃碼二維碼