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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論