系統(tǒng)分析師論文范文-論基于構(gòu)件的軟件開發(fā)2_第1頁
系統(tǒng)分析師論文范文-論基于構(gòu)件的軟件開發(fā)2_第2頁
系統(tǒng)分析師論文范文-論基于構(gòu)件的軟件開發(fā)2_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

論基于構(gòu)件的軟件開發(fā)【摘要】本文以我參與的ATEL2.0在線學(xué)習(xí)平臺(該平臺是ATEL1.0版本的升級,以下簡稱ATEL平臺)開發(fā)項目為例,討論了基于構(gòu)件的軟件開發(fā)技術(shù)。ATEL在線學(xué)習(xí)平臺是我們公司自主開發(fā),自主運營的平臺,該平臺是基于“云計算”中SAAS(軟件即服務(wù))模式的網(wǎng)絡(luò)學(xué)習(xí)平臺。通過互聯(lián)網(wǎng),為客戶提供完整的遠(yuǎn)程教育及網(wǎng)絡(luò)培訓(xùn)功能。本文首先介紹了基于構(gòu)件開發(fā)技術(shù)的基本思想和實施步驟,介紹了ATEL平臺選用構(gòu)件技術(shù)來開發(fā)的原因。然后具體介紹了ATEL平臺基于構(gòu)件開發(fā)過程中對構(gòu)件獲取、構(gòu)件的修改、構(gòu)件的組裝、獲取和修改過程中對構(gòu)件的評價,以及對構(gòu)件的管理等。我在項目中擔(dān)任了系統(tǒng)架構(gòu)設(shè)計師,自始至終參與了整個項目的建設(shè)。自2011年1月份項目啟動至2011年9月份新品發(fā)布?xì)v時9個月,取得了客戶和業(yè)界的好評。項目能夠確保質(zhì)量提前完成,節(jié)約了成本并保證質(zhì)量,很大程度得益于基于構(gòu)件的開發(fā)技術(shù)?!菊摹緼TEL在線學(xué)習(xí)平臺是我們公司自主開發(fā),自主運營的平臺,該平臺是基于“云計算”中SAAS(軟件即服務(wù))模式的網(wǎng)絡(luò)學(xué)習(xí)平臺。通過互聯(lián)網(wǎng),為客戶提供完整的遠(yuǎn)程教育及網(wǎng)絡(luò)培訓(xùn)功能。ATEL平臺可以廣泛應(yīng)用于大型企業(yè)、政府協(xié)會、教育機(jī)構(gòu)、高等院校等各類機(jī)構(gòu)的遠(yuǎn)程教育及網(wǎng)絡(luò)培訓(xùn)業(yè)務(wù)。ATEL2.0平臺于2011年1月開始建設(shè),我擔(dān)任了系統(tǒng)架構(gòu)設(shè)計師職務(wù)。ATEL平臺由多個業(yè)務(wù)子系統(tǒng)構(gòu)成,主要包括:學(xué)習(xí)管理系統(tǒng)(LMS),幫助學(xué)員安排學(xué)習(xí)進(jìn)程,測試和練習(xí);學(xué)習(xí)內(nèi)容管理系統(tǒng)(LCMS),為機(jī)構(gòu)高效的設(shè)計、創(chuàng)建和發(fā)布在線學(xué)習(xí)課程到LMS供學(xué)員學(xué)習(xí),并能測量該課程的學(xué)習(xí)效果;ATEL管理平臺(SAAS-Portal),針對各種機(jī)構(gòu)的業(yè)務(wù)特點,實現(xiàn)各種業(yè)務(wù)管理功能的集成;交易中心(CSHOP),實現(xiàn)了機(jī)構(gòu)與機(jī)構(gòu)之間的課件交易,學(xué)習(xí)者與機(jī)構(gòu)的課程的交易;ATEL課件中心(CWC),實現(xiàn)對課件的添加、發(fā)布,分發(fā)到各個課件存儲節(jié)點?,F(xiàn)在軟件行業(yè)競爭越來越激烈,除了要有好的商業(yè)模式外,軟件本身的推出周期的速度,經(jīng)常會影響公司發(fā)展,誰搶得了先機(jī),誰就有可能獲得更大的市場份額,經(jīng)常是一步慢,步步慢。所以如何提高軟件的開發(fā)速度,同時保證開發(fā)質(zhì)量,越來越受到行業(yè)的重視。我們公司基于SAAS模式的E-Learning在線學(xué)習(xí)平臺,采用SAAS模式做E-Learning,和傳統(tǒng)軟件最大的不同是:多租戶。為了快速推出我們的ATEL平臺,我們采用了構(gòu)件開發(fā)技術(shù)。采用構(gòu)件開發(fā)技術(shù),可以減少軟件開發(fā)中的重復(fù)性工作,降低開發(fā)成本,縮短周期,改善軟件質(zhì)量和靈活性。基于構(gòu)件開發(fā)過程中包括對構(gòu)件獲取、構(gòu)件的提取、構(gòu)件的評價、構(gòu)件的修改、構(gòu)件的組裝以及對構(gòu)件的管理等過程。大量可復(fù)用的構(gòu)件是有效地使用構(gòu)件開發(fā)技術(shù)的前提,獲取構(gòu)件的途徑有多種途徑,第一種在現(xiàn)有構(gòu)件庫中提取符合要求的構(gòu)件,或?qū)σ延袠?gòu)件做適當(dāng)修改,在ATEL1.0版本已經(jīng)積累了不少的構(gòu)件,并經(jīng)過時間的驗證是穩(wěn)定的和正確的,所以ATEL2.0平臺開發(fā)中大部分構(gòu)件從構(gòu)件庫里選擇的,這也是成本最低的。第二是采用第三方構(gòu)件,比如開源軟件,或市場上購買商業(yè)軟件,開發(fā)平臺和數(shù)據(jù)庫這些基礎(chǔ)平臺都是選用優(yōu)秀的平臺,我想做應(yīng)用軟件產(chǎn)品公司的很少有自己去開發(fā)這些基礎(chǔ)平臺的,還有一些是就是通用性很強(qiáng)的構(gòu)件,我們一般選用開源的很成熟的構(gòu)件,可以節(jié)省我們自己開發(fā)的成本。第三是自己開發(fā)符合需求的構(gòu)件,當(dāng)構(gòu)件庫和第三方的沒有能滿足需求的構(gòu)件的時候,必須開發(fā)新的構(gòu)件,以滿足系統(tǒng)需要。以下是ATEL平臺獲取構(gòu)件的具體過程:1)構(gòu)件庫中提取構(gòu)件或修改在ATEL1.0版本開發(fā)中,提取和抽象了一些公用模塊作為單獨的構(gòu)件。XJson是客戶端和服務(wù)器端數(shù)據(jù)交互構(gòu)件,程序員只用在一個基于XML格式的后綴名為Xjson文件里寫好要執(zhí)行的SQL和對應(yīng)參數(shù),用Jquery的AJAX方法請求就可以通過該文件獲取需要的數(shù)據(jù),不用寫執(zhí)行數(shù)據(jù)庫操作的對象和類,極大的簡化了系統(tǒng)的開發(fā)。CWS課件播放器構(gòu)件,是我們在ATEL1.0開發(fā)的一個支持IMS/Scrom國際標(biāo)準(zhǔn)的課件播放器,運行穩(wěn)定,但無法支持跨域交互數(shù)據(jù)。在ATEL2.0平臺里,為了把CWS與LMS/LCMS拆分,實現(xiàn)解耦,提升系統(tǒng)的擴(kuò)展性,這就涉及到跨域問題,需要修改該構(gòu)件。目前大部分瀏覽器無法支持跨域交互數(shù)據(jù),因此我們引入跨域技術(shù),原理就是采用腳本注入方式,我們開發(fā)了兩種跨域獲取數(shù)據(jù)的JS構(gòu)件。2)采用的第三方構(gòu)件ATEL平臺采用了B/S多層分布式架構(gòu),以.NET平臺作為我們的開發(fā)平臺。前端表示層采用HTML+jQuery+AJAX,功能層采用Asp.NET+Spring.NET+Xjson;數(shù)據(jù)層是SQLSERVER2005。以下是選擇這些第三方構(gòu)件的原因:HTML靜態(tài)頁加載速度快,AJAX是創(chuàng)建交互式網(wǎng)頁的技術(shù),jQuery是優(yōu)秀的JavaScirpt框架并兼容各種瀏覽器;.NET平臺具有開放性、分布性、平臺無關(guān)性的大型企業(yè)級開發(fā)平臺,SQLSERVER2005和.NET都是微軟公司的產(chǎn)品,相互無縫結(jié)合;開源Spring.NET是基于IoC(依賴注入)和AOP(面向方面編程)的架構(gòu),Spring.NET的IOC容器可以解決如何在企業(yè)應(yīng)用中將類、對象和服務(wù)以松散耦合組合成應(yīng)用程序的問題;運行環(huán)境中發(fā)生問題,需要日志系統(tǒng)日志記錄來快速診斷程序問題,log4net是開源的功能強(qiáng)大的日志記錄組件。3)新開發(fā)的構(gòu)件為了增加頁面內(nèi)容元素的復(fù)用,我們設(shè)計了頁面分區(qū)塊加載的JS構(gòu)件,在某個HTML頁面元素上加載指定URI網(wǎng)頁上的內(nèi)容。該構(gòu)件類似A的用戶控件,程序員開發(fā)的某個頁面功能,其他人可以直接加載到自己的頁面,提高了復(fù)用的粒度。我們還設(shè)計開發(fā)了一些實用的JS生成特定控件的方法,有支持翻頁的Table數(shù)據(jù)綁定控件、動態(tài)創(chuàng)建樹控件等。在開發(fā)過程中,我們抽取了不少構(gòu)件,比如單點登錄構(gòu)件、權(quán)限管理構(gòu)件等…,限于篇幅,不再詳述。構(gòu)件組裝過程中,我們采用了基于功能和面向?qū)ο蟮慕M裝技術(shù)相結(jié)合,根據(jù)系統(tǒng)需求,從構(gòu)建庫提取、第三方構(gòu)件、新開發(fā)構(gòu)件等多種途徑獲取構(gòu)件。把這些構(gòu)件相互連接,或和現(xiàn)有開發(fā)中的軟件元素相互連接,實現(xiàn)構(gòu)件的組裝。隨著構(gòu)件的增多,需要對大量構(gòu)件的進(jìn)行有效管理,我們公司有專門的Wiki系統(tǒng)對構(gòu)件進(jìn)行描述、分類與組織。方便開發(fā)人員對構(gòu)件進(jìn)行檢索與提取、理解評價、修改構(gòu)件。經(jīng)常發(fā)生有些程序員不知道構(gòu)件庫里已有某個構(gòu)件,造成重復(fù)開發(fā);還有就是對構(gòu)件不理解,無法很好的使用構(gòu)件庫里的構(gòu)件。這些都是程序員對現(xiàn)有構(gòu)建不夠了解,需要加強(qiáng)程序員對已有構(gòu)件的熟悉,可以做不定期的構(gòu)件培訓(xùn)講解,增加構(gòu)件的使用率?;仡櫿麄€項目實施過程,從通用性角度看,企業(yè)新開發(fā)的構(gòu)件不如第三方構(gòu)件通用和成熟,從行業(yè)角度來看,企業(yè)自己開發(fā)構(gòu)件能夠滿足業(yè)務(wù)領(lǐng)域的大部分開發(fā),這是第三方構(gòu)件無法達(dá)到的。從行業(yè)發(fā)展來看,會有越來越多的行業(yè)領(lǐng)域的服務(wù)構(gòu)件被開發(fā)出來,供更多的行業(yè)客戶使用,這給行業(yè)軟件服務(wù)提供商提供了更多的商業(yè)機(jī)會。ATEL平臺通過采用基于構(gòu)件開發(fā)技術(shù),提高了開發(fā)效率,

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論