基于構件的軟件開發(fā)前景分析(基于構件的軟件開發(fā)前景分析論文)
本篇文章給大家談談基于構件的軟件開發(fā)前景分析,以及基于構件的軟件開發(fā)前景分析論文對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
軟件開發(fā)以后的就業(yè)前景怎么樣?
一、我國信息化人才培養(yǎng)還處于發(fā)展階段,導致社會實際需求人才基數(shù)遠遠大于信息化人才的培養(yǎng)基數(shù),使得數(shù)以萬計的中小企業(yè)急需全面系統(tǒng)掌握軟件開發(fā)基礎技能與知識的軟件工程師。目前對軟件已達20萬并且以每年20%左右的速度增長。在未來5年內(nèi)合格軟件人才的需求將遠大于供給。
二、從各大招聘網(wǎng)站的招聘數(shù)據(jù)統(tǒng)計來看:軟件工程師的人才需求一直保持全年IT行業(yè)需求的最高,月月居十大熱門行業(yè)榜首,招聘始終維持在15%-20%左右的IT職業(yè)市場份額,其薪資也節(jié)節(jié)高升,軟件工程師的起薪從5000至8000元/月左右。我國目前每年的軟件人才缺口達60萬以上,而企業(yè)對軟件人才的需求也以每年20%的速度遞增。
三、軟件工程是計算機領域發(fā)展最快的學科分支之一,國家非常重視軟件行業(yè)的發(fā)展。對軟件工程師人才的培養(yǎng)給予了非常優(yōu)惠的政策。在所有軟件開發(fā)類人才的需求中對Java工程師的需求達到全部需求量的60%-70%。應該說Java軟件工程師就業(yè)前景是非常好的,再加上Java軟件工程師不僅IT專業(yè)企業(yè)需要,廣大的非IT企業(yè)也需要,前景是非常樂觀的。
基于構件的軟件開發(fā)包括哪些要素,其核心是什么
與傳統(tǒng)的軟件開發(fā)方式相比,基于構件的軟件開發(fā)方法有什么突破呢? 一、體系結構 軟件體系結構代表了系統(tǒng)公共的高層次的抽象,它是系統(tǒng)設計成敗的關鍵。其設計的核心是能否使用重復的體系模式。傳 統(tǒng)的應用系統(tǒng)體系結構從基于主機的集中式框架,到在網(wǎng)絡的客戶端上通過網(wǎng)絡訪問服務器的框架,都不能適應目前企業(yè)所處的商業(yè)環(huán)境,原因是: 企業(yè)過分地依賴于某個供應商的軟件和硬件產(chǎn)品。這種單一供應商使得企業(yè)難以利用計算供應商的免費市場,將計算基礎設施的重要決定交給第三方處理,這顯然不利于企業(yè)在合作伙伴之間共享信息。 不能適應遠程訪問的分布式、多層次異構系統(tǒng)。 封裝的應用系統(tǒng)在出現(xiàn)某種組織需要時,難以用定制來維護系統(tǒng),從而難以滿足多變的需求。 不能實現(xiàn)分析、設計核心功能重用,最多只能實現(xiàn)代碼重用。 如今,應用系統(tǒng)已經(jīng)發(fā)展成為在Intranet和Internet上的各種客戶端可遠程訪問的分布式、多層次異構系統(tǒng)。CBSD為開發(fā)這樣的應用系統(tǒng)提供了新的系統(tǒng)體系結構。它是標準定義的、分布式、模塊化結構,使應用系統(tǒng)可分成幾個獨立部分開發(fā),可用增量方式開發(fā)。 這樣的體系結構實現(xiàn)了CBSD的以下幾點目標: 能夠通過內(nèi)部開發(fā)的、第三方提供的或市場上購買的現(xiàn)有構件,來集成和定制應用軟件系統(tǒng)。 鼓勵在各種應用系統(tǒng)中重用核心功能,努力實現(xiàn)分析、設計的重用。 系統(tǒng)都應具有靈活方便的升級和系統(tǒng)模塊的更新維護能力。 封裝最好的實踐案例,并使其在商業(yè)條件改變的情況下,還能夠被采用,并能保留已有資源。 由此看出,CDSD從系統(tǒng)高層次的抽象上解決了復用性與異構互操作性,這正是分布式網(wǎng)絡系統(tǒng)所希望解決的難題。 二、開發(fā)過程 傳統(tǒng)的軟件開發(fā)過程在重用元素、開發(fā)方法上都與CBSD有很大的不同。雖然面向對象技術促進了軟件重用,但是,只實現(xiàn)了類和類繼承的重用。在整個系統(tǒng)和類之間還存在很大的缺口。為填補這個缺口,人們曾想了許多方法,如系統(tǒng)體系結構、框架、設計模式等。 自從構件出現(xiàn)以來,軟件的重用才得到了根本改變。CBSD實現(xiàn)了分析、設計、類等多層次上的重用。圖1顯示了它的重用元素分層實現(xiàn)。在分析抽象層上,重用元素有子系統(tǒng)、類;在設計層上重用元素有系統(tǒng)體系結構、子系統(tǒng)體系結構、設計模式、框架、容器、構件、類庫、模板、抽象類等。 在軟件開發(fā)方法上,CBSD引導軟件開發(fā)從應用系統(tǒng)開發(fā)轉變?yōu)閼孟到y(tǒng)集成。建立一個應用系統(tǒng)需要重用很多已有的構件模塊,這些構件模塊可能是在不同的時間、由不同的人員開發(fā)的,并有各種不同的用途。在這種情況下,應用系統(tǒng)的開發(fā)過程就變成對構件接口、構件上下文以及框架環(huán)境一致性的逐漸探索過程。例如,在J2EE平臺上,用EJB框架開發(fā)應用系統(tǒng),主要工作是將應用邏輯,按session Bean、entity Bean設計開發(fā),并利用JTS事務處理的服務實現(xiàn)應用系統(tǒng)。其主要難點是事務劃分、構件的部署與開發(fā)環(huán)境配置。概括地說,傳統(tǒng)的軟件開發(fā)過程是串行瀑布式、流水線的過程;而CBSD是并發(fā)進化式,不斷升級完善的過程。圖2顯示了它們的不同。 三、軟件方法學 軟件方法學是從各種不同角度、不同思路去認識軟件的本質。傳統(tǒng)的軟件方法學是從面向機器、面向數(shù)據(jù)、面向過程、面向功能、面向數(shù)據(jù)流、面向對象等不斷創(chuàng)新的觀點反映問題的本質。整個軟件的發(fā)展歷程使人們越來越認識到應按客觀世界規(guī)律去解決軟件方法學問題。直到面向對象方法的出現(xiàn),才使軟件方法學邁進了一大步。但是,高層次上的重用、分布式異構互操作的難點還沒有解決。CBSD發(fā)展到今天,才在軟件方法學上為解決這個難題提供了機會。它把應用業(yè)務和實現(xiàn)分離,即邏輯與數(shù)據(jù)的分離,提供標準接口和框架,使軟件開發(fā)方法變成構件的組合。因此,軟件方法學是以接口為中心,面向行為的設計。圖3是其開發(fā)過程。 歸納起來,CBSD的軟件開發(fā)方法學應包括下面幾方面: 對構件有明確的定義。 基于構件的概念需要有構件的描述技術和規(guī)范,如UML、JavaBean、EJB、Servlet規(guī)范等。 開發(fā)應用系統(tǒng)必須按構件裁剪劃分組織,包括分配不同的角色。 有支持檢驗構件特性和生成文檔的工具,確保構件規(guī)范的實現(xiàn)和質量測試。 總之,傳統(tǒng)的軟件方法學從草稿自頂向下進行,對重用沒有提供更多的輔助。CBSD的軟件方法學要豐富得多,它是即插即用,基于體系結構,以接口為中心,將構件有機組合,它把自頂向下和自底向上方法結合起來進行開發(fā)。 四、開發(fā)組織機構 傳統(tǒng)軟件的開發(fā)組織一般由分析員、設計員、程序員和測試員組成。對一個小的應用系統(tǒng)來說,一個熟練的開發(fā)人員,可能兼顧以上多個角色。但對CBSD來說,因為構件開發(fā)與應用系統(tǒng)集成往往是分開進行的,因此整個開發(fā)過程由六個角色來完成,他們是: 構件開發(fā)者 也是構件供貨商,這些大多數(shù)是中間件構件提供(續(xù)致信網(wǎng)上一頁內(nèi)容)者。 應用構件集成者 針對某應用領域將已有構件組合成更大的構件模塊或容器, 作為系統(tǒng)部署的基本單元。 應用系統(tǒng)部署者 將系統(tǒng)部署基本單元放入選定的平臺環(huán)境或基本框架中,完成軟件定制的要求。 開發(fā)平臺服務器供應商 提供服務器、操作系統(tǒng)和數(shù)據(jù)庫等基本軟件。 應用系統(tǒng)開發(fā)工具供應商 提供構件公共設施服務。 系統(tǒng)管理員 配置硬件、網(wǎng)絡和操作系統(tǒng),監(jiān)督和維護應用系統(tǒng)者。 這六個角色的工作專業(yè)性很強,要兼顧成為多面手很不容易。目前已形成構件開放市場,而且還很火紅。這也是當今軟件人才大戰(zhàn)所遇的一個困惑。因此,在CBSD中,如何組織好開發(fā)隊伍尤為重要,必須按本企業(yè)所具備人才來組織。特別重要的是:開發(fā)初期必須選好標準框架,以及統(tǒng)一的開發(fā)指導方針,保證在整個開發(fā)過程中,各角色能隨時互相溝通。一般來說,CBSD的人員素質決定了構件的重用率。 五、構造方法 傳統(tǒng)應用軟件的構造是用白盒子方法,應用系統(tǒng)的實現(xiàn)全在代碼中,應用邏輯和數(shù)據(jù)粘結在一起。而CBSD 的構造是用白盒子和黑盒子相結合的方法。 基于構件的框架是用兩個概念來支持演變:第一個概念是構件有很強的性能接口,使構件邏輯功能和構件模型的實現(xiàn)都隱藏起來。這樣,只要接口相同,構件就可以被替換。 第二個概念是隱式調用,即在基于構件的框架中,從來不直接給構件的接口分配地址,只在識別構件用戶后才分配地址。因此,構件用戶只要了解接口要求和為構件接口提供的引用后的返回信息 (該引用可能是一個構件,也可能是一個構件代理。對構件用戶來說,構件代理就是構件,不用區(qū)分) 。 構件接口的信息并不存入構件內(nèi),而是存入構件倉庫或注冊處。這樣才能保證構件替換靈活,并很容易利用隱式調用去重新部署構件。由于構件的實現(xiàn)對用戶透明,因此也使構件能適應各種不同的個性化要求。為此,構件提供自檢和規(guī)范化兩個機制。自檢保證在不了解構件的具體實現(xiàn)時,就能獲得構件接口信息。例如,JavaBean提供的自檢機制是Reflection和BeanInfo, 通過Reflection 可直接獲得Bean構件的全部方法,通過BeanInfo可直接獲得構件的許多復雜信息。 規(guī)范化允許不訪問構件就可以修改它,如JavaBean提供的規(guī)范化是property sheet和customizer(定制器)。 通過property sheet提供一組簡單參數(shù),修改Bean的屬性。復雜的修改由用戶通過定制器設置參數(shù)完成。
現(xiàn)在軟件開發(fā)專業(yè)前景如何?
在當今互聯(lián)網(wǎng)信息技術大爆炸時代,人工智能、云計算、物聯(lián)網(wǎng)等正在火熱推進應用中,需要大量的軟件開發(fā)人才。Java作為一門十分熱門的軟件開發(fā)語言,是當今熱門的軟件編程語言,適合大中型企業(yè)軟件、移動應用開發(fā)。也就是學完Java軟件編程,就可以勝任很多軟件開發(fā)工作。
只要你初中或者高中畢業(yè),喜歡軟件編程,就可以零基礎學習JAVA軟件。因為在學校老師會手把手地叫你學習Java軟件編程的英語單詞的含義和用法。通常 Java軟件編程會學習一下內(nèi)容:
如果你在學校學習基本Java基礎后,還需要熟練掌握以下技能:
1、html+div+css+javascript 網(wǎng)頁前端編程知識
2、MySQL數(shù)據(jù)編程知識
3、Java面向對象、集合、多線程、網(wǎng)絡編程知識
4、JavaWeb編程jsp servelt filter listener mvc設計模式等知識
5、SpringMvc Spring Mybatis框架編程知識
6、基于MVC在線訂購系統(tǒng)編程實訓
以上知識和技能如果熟練掌握JavaWeb編程技能,你就能勝任大中型企業(yè)軟件、移動應用、電商訂購平臺的開發(fā)。你是可以很快找到工作的!
也就是說Java工程師在基本上所有的行業(yè)的軟件開發(fā)都能勝任,通吃!
基于構件的軟件開發(fā)包括哪些要素
與傳統(tǒng)的軟件開發(fā)方式相比,基于構件的軟件開發(fā)方法有什么突破呢?
一、體系結構
軟件體系結構代表了系統(tǒng)公共的高層次的抽象,它是系統(tǒng)設計成敗的關鍵。其設計的核心是能否使用重復的體系模式。傳統(tǒng)的應用系統(tǒng)體系結構從基于主機的集中式框架,到在網(wǎng)絡的客戶端上通過網(wǎng)絡訪問服務器的框架,都不能適應目前企業(yè)所處的商業(yè)環(huán)境,原因是:
企業(yè)過分地依賴于某個供應商的軟件和硬件產(chǎn)品。這種單一供應商使得企業(yè)難以利用計算供應商的免費市場,將計算基礎設施的重要決定交給第三方處理,這顯然不利于企業(yè)在合作伙伴之間共享信息。
不能適應遠程訪問的分布式、多層次異構系統(tǒng)。
封裝的應用系統(tǒng)在出現(xiàn)某種組織需要時,難以用定制來維護系統(tǒng),從而難以滿足多變的需求。
不能實現(xiàn)分析、設計核心功能重用,最多只能實現(xiàn)代碼重用。
如今,應用系統(tǒng)已經(jīng)發(fā)展成為在Intranet和Internet上的各種客戶端可遠程訪問的分布式、多層次異構系統(tǒng)。CBSD為開發(fā)這樣的應用系統(tǒng)提供
了新的系統(tǒng)體系結構。它是標準定義的、分布式、模塊化結構,使應用系統(tǒng)可分成幾個獨立部分開發(fā),可用增量方式開發(fā)。
這樣的體系結構實現(xiàn)了CBSD的以下幾點目標:
能夠通過內(nèi)部開發(fā)的、第三方提供的或市場上購買的現(xiàn)有構件,來集成和定制應用軟件系統(tǒng)。
鼓勵在各種應用系統(tǒng)中重用核心功能,努力實現(xiàn)分析、設計的重用。
系統(tǒng)都應具有靈活方便的升級和系統(tǒng)模塊的更新維護能力。
封裝最好的實踐案例,并使其在商業(yè)條件改變的情況下,還能夠被采用,并能保留已有資源。
由此看出,CDSD從系統(tǒng)高層次的抽象上解決了復用性與異構互操作性,這正是分布式網(wǎng)絡系統(tǒng)所希望解決的難題。
二、開發(fā)過程
傳統(tǒng)的軟件開發(fā)過程在重用元素、開發(fā)方法上都與CBSD有很大的不同。雖然面向對象技術促進了軟件重用,但是,只實現(xiàn)了類和類繼承的重用。在整個系統(tǒng)和類之間還存在很大的缺口。為填補這個缺口,人們曾想了許多方法,如系統(tǒng)體系結構、框架、設計模式等。
自從構件出現(xiàn)以來,軟件的重用才得到了根本改變。CBSD實現(xiàn)了分析、設計、類等多層次上的重用。圖1顯示了它的重用元素分層實現(xiàn)。在分析抽象層上,重用
元素有子系統(tǒng)、類;在設計層上重用元素有系統(tǒng)體系結構、子系統(tǒng)體系結構、設計模式、框架、容器、構件、類庫、模板、抽象類等。
在軟件開發(fā)方法上,CBSD引導軟件開發(fā)從應用系統(tǒng)開發(fā)轉變?yōu)閼孟到y(tǒng)集成。建立一個應用系統(tǒng)需要重用很多已有的構件模塊,這些構件模塊可能是在不同的時
間、由不同的人員開發(fā)的,并有各種不同的用途。在這種情況下,應用系統(tǒng)的開發(fā)過程就變成對構件接口、構件上下文以及框架環(huán)境一致性的逐漸探索過程。例如,
在J2EE平臺上,用EJB框架開發(fā)應用系統(tǒng),主要工作是將應用邏輯,按session Bean、entity
Bean設計開發(fā),并利用JTS事務處理的服務實現(xiàn)應用系統(tǒng)。其主要難點是事務劃分、構件的部署與開發(fā)環(huán)境配置。概括地說,傳統(tǒng)的軟件開發(fā)過程是串行瀑布
式、流水線的過程;而CBSD是并發(fā)進化式,不斷升級完善的過程。圖2顯示了它們的不同。
三、軟件方法學
軟件方法學是從各種不同角度、不同思路去認識軟件的本質。傳統(tǒng)的軟件方法學是從面向機器、面向數(shù)據(jù)、面向過程、面向功能、面向數(shù)據(jù)流、面向對象等不斷創(chuàng)新
的觀點反映問題的本質。整個軟件的發(fā)展歷程使人們越來越認識到應按客觀世界規(guī)律去解決軟件方法學問題。直到面向對象方法的出現(xiàn),才使軟件方法學邁進了一大
步。但是,高層次上的重用、分布式異構互操作的難點還沒有解決。CBSD發(fā)展到今天,才在軟件方法學上為解決這個難題提供了機會。它把應用業(yè)務和實現(xiàn)分
離,即邏輯與數(shù)據(jù)的分離,提供標準接口和框架,使軟件開發(fā)方法變成構件的組合。因此,軟件方法學是以接口為中心,面向行為的設計。圖3是其開發(fā)過程。
歸納起來,CBSD的軟件開發(fā)方法學應包括下面幾方面:
對構件有明確的定義。
基于構件的概念需要有構件的描述技術和規(guī)范,如UML、JavaBean、EJB、Servlet規(guī)范等。
開發(fā)應用系統(tǒng)必須按構件裁剪劃分組織,包括分配不同的角色。
有支持檢驗構件特性和生成文檔的工具,確保構件規(guī)范的實現(xiàn)和質量測試。
總之,傳統(tǒng)的軟件方法學從草稿自頂向下進行,對重用沒有提供更多的輔助。CBSD的軟件方法學要豐富得多,它是即插即用,基于體系結構,以接口為中心,將構件有機組合,它把自頂向下和自底向上方法結合起來進行開發(fā)。
四、開發(fā)組織機構
傳統(tǒng)軟件的開發(fā)組織一般由分析員、設計員、程序員和測試員組成。對一個小的應用系統(tǒng)來說,一個熟練的開發(fā)人員,可能兼顧以上多個角色。但對CBSD來說,因為構件開發(fā)與應用系統(tǒng)集成往往是分開進行的,因此整個開發(fā)過程由六個角色來完成,他們是:
構件開發(fā)者 也是構件供貨商,這些大多數(shù)是中間件構件提供者。
應用構件集成者 針對某應用領域將已有構件組合成更大的構件模塊或容器, 作為系統(tǒng)部署的基本單元。
應用系統(tǒng)部署者 將系統(tǒng)部署基本單元放入選定的平臺環(huán)境或基本框架中,完成軟件定制的要求。
開發(fā)平臺服務器供應商 提供服務器、操作系統(tǒng)和數(shù)據(jù)庫等基本軟件。
應用系統(tǒng)開發(fā)工具供應商 提供構件公共設施服務。
系統(tǒng)管理員 配置硬件、網(wǎng)絡和操作系統(tǒng),監(jiān)督和維護應用系統(tǒng)者。
這六個角色的工作專業(yè)性很強,要兼顧成為多面手很不容易。目前已形成構件開放市場,而且還很火紅。這也是當今軟件人才大戰(zhàn)所遇的
一個困惑。因此,在CBSD中,如何組織好開發(fā)隊伍尤為重要,必須按本企業(yè)所具備人才來組織。特別重要的是:開發(fā)初期必須選好標準框架,以及統(tǒng)一的開發(fā)指
導方針,保證在整個開發(fā)過程中,各角色能隨時互相溝通。一般來說,CBSD的人員素質決定了構件的重用率。
五、構造方法
傳統(tǒng)應用軟件的構造是用白盒子方法,應用系統(tǒng)的實現(xiàn)全在代碼中,應用邏輯和數(shù)據(jù)粘結在一起。而CBSD 的構造是用白盒子和黑盒子相結合的方法。 基于構件的框架是用兩個概念來支持演變:第一個概念是構件有很強的性能接口,使構件邏輯功能和構件模型的實現(xiàn)都隱藏起來。這樣,只要接口相同,構件就可以被替換。
第二個概念是隱式調用,即在基于構件的框
架中,從來不直接給構件的接口分配地址,只在識別構件用戶后才分配地址。因此,構件用戶只要了解接口要求和為構件接口提供的引用后的返回信息
(該引用可能是一個構件,也可能是一個構件代理。對構件用戶來說,構件代理就是構件,不用區(qū)分) 。
構件接口的信息并不存入構件內(nèi),而是存入構件倉庫或注冊處。這樣才能保證構件替換靈活,并很容易利用隱式調用去重新部署構件。由于構件的實現(xiàn)對用戶透明,
因此也使構件能適應各種不同的個性化要求。為此,構件提供自檢和規(guī)范化兩個機制。自檢保證在不了解構件的具體實現(xiàn)時,就能獲得構件接口信息。例
如,JavaBean提供的自檢機制是Reflection和BeanInfo, 通過Reflection
可直接獲得Bean構件的全部方法,通過BeanInfo可直接獲得構件的許多復雜信息。
規(guī)范化允許不訪問構件就可以修改它,如JavaBean提供的規(guī)范化是property sheet和customizer(定制器)。 通過property sheet提供一組簡單參數(shù),修改Bean的屬性。復雜的修改由用戶通過定制器設置參數(shù)完成。
解釋為什么基于構件的軟件開發(fā)提高了軟件開發(fā)的生產(chǎn)效率
摘要
基于構件的軟件復用和開發(fā)被認為是提高軟件開發(fā)效率和質量的有效途徑,并在分布式系統(tǒng)中得到了廣泛的應用.但是,目前的軟件構件技術主要還是著眼于構件實現(xiàn)模型和運行時互操作,缺乏一套系統(tǒng)的方法以指導整個開發(fā)過程.近年來,以構件為基本單元的軟件體系結構研究取得了較大的發(fā)展.它通過對軟件系統(tǒng)整體結構和特性的描述,為面向構件的軟件開發(fā)提供了一個自頂向下的途徑.介紹了一種以軟件體系結構為指導,面向構件的軟件開發(fā)方法,試圖為基于構件的軟件復用提供一種有效的解決方案.這種方法主要是將軟件體系結構引入到軟件開發(fā)的各個階段,作為系統(tǒng)開發(fā)的藍圖,利用工具支持的自動轉換機制縮小從高層設計到實現(xiàn)的距離,而后在構件平臺的運行支持下實現(xiàn)自動的系統(tǒng)組裝生成.
基于構件應用開發(fā)的優(yōu)點有哪些?
構件的最大優(yōu)點是重用,軟件之所以那么難做,就是難以重用。這方面硬件要好得多,硬件容易重用,CPU、存儲器、硬盤、光驅、顯示器等等都可以重用,將它們裝配在一起就成了一臺新計算機。軟件就很難達到這樣的重用程度,構件的出現(xiàn)是一個進步
另外補充一下,通過一些特殊的處理,如dll動態(tài)鏈接庫的應用,提高了程序的執(zhí)行效率,即:當需要某部分功能時才載入某個dll庫,使程序具備了比較好的伸縮和可擴展性,當某個功能發(fā)生變動時,只需要更新相應的dll文件即可
基于構件的軟件開發(fā)前景分析的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關于基于構件的軟件開發(fā)前景分析論文、基于構件的軟件開發(fā)前景分析的信息別忘了在本站進行查找喔。