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

下載本文檔

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

文檔簡介

論基于構(gòu)件的軟件開發(fā)【摘要】20H年3月,我有幸參加了沈鐵設(shè)計(jì)院綜合管理信息平臺(tái)(簡稱:信息平臺(tái))項(xiàng)目的開發(fā)工作,并擔(dān)任系統(tǒng)架構(gòu)師一職,負(fù)責(zé)系統(tǒng)的架構(gòu)設(shè)計(jì)及核心構(gòu)件的開發(fā)工作。該系統(tǒng)是沈陽鐵道勘察設(shè)計(jì)院有限公司委托開發(fā)的,項(xiàng)目于2011年底驗(yàn)收,滿足客戶方提出設(shè)計(jì)、生產(chǎn)、經(jīng)營、管理的需求。本文以信息平臺(tái)為例,討論基于構(gòu)件的軟件開發(fā),簡單說明為什么要用構(gòu)件開發(fā)及獲取構(gòu)件的方式,接著詳細(xì)介紹了通過一次登錄后可以任意跳轉(zhuǎn)到其它各子系統(tǒng)的單點(diǎn)登錄構(gòu)件、數(shù)據(jù)庫訪問構(gòu)件、展現(xiàn)信息的層次結(jié)構(gòu)的目錄樹構(gòu)件、方便設(shè)置文檔格式的活動(dòng)表單構(gòu)件等系統(tǒng)主要的構(gòu)件以及開發(fā)過程,開發(fā)策略,加強(qiáng)構(gòu)件復(fù)用程度.提高軟件的開發(fā)效率,縮短軟件的開發(fā)時(shí)間。文童杲后簡略說明幾種構(gòu)件技術(shù)的發(fā)展趨勢(shì)?!菊摹?0H年3月,我有幸參加了沈鐵設(shè)計(jì)院綜合管理信息平臺(tái)(簡稱:信息平臺(tái))項(xiàng)目的開發(fā)工作,并擔(dān)任系統(tǒng)架構(gòu)師一職,負(fù)責(zé)系統(tǒng)的架構(gòu)設(shè)計(jì)及核心構(gòu)件的開發(fā)工作。該系統(tǒng)是沈陽鐵道勘察設(shè)計(jì)院有限公司委托開發(fā)的,項(xiàng)目于2011年底驗(yàn)收,滿足客戶方提出設(shè)計(jì)、生產(chǎn)、經(jīng)營、管理的需求。信息平臺(tái)包含有企業(yè)門戶、綜合辦公、設(shè)計(jì)生產(chǎn)、經(jīng)營計(jì)劃、技術(shù)質(zhì)量、人力資源、檔案管理、信息中心、公司決策、后臺(tái)管理等十個(gè)子系統(tǒng)。為利用好以前各種硬件平臺(tái)的投資,選擇信息平臺(tái)運(yùn)行于windows+sqlserver2005平臺(tái)上,采用.net開發(fā)技術(shù)。采用四層B/S架構(gòu),這四層分別為界面層、外觀層、業(yè)務(wù)邏輯層及數(shù)據(jù)訪問層,信息平臺(tái)的各種功能基本具有這四層架構(gòu)。系統(tǒng)的主要功能有:通過一次登錄后可以任意跳轉(zhuǎn)到其它各子系統(tǒng)的單點(diǎn)登錄;采用目錄樹構(gòu)件來展現(xiàn)數(shù)據(jù)的層次結(jié)構(gòu);活動(dòng)表單構(gòu)件方便用戶編輯格式化的文檔數(shù)據(jù)等服務(wù)。這些功能都以Webservice接口的方式公開給各應(yīng)用系統(tǒng)調(diào)用,有了這些基礎(chǔ)功能,應(yīng)用系統(tǒng)就可以省去單點(diǎn)登錄,用戶格式化的信息編輯,信息的層次展現(xiàn)等功能的開發(fā)和維護(hù),縮短開發(fā)周期和隆低開發(fā)成本。信息平臺(tái)采用了基于構(gòu)件的開發(fā)方式,基于構(gòu)件的軟件開發(fā)是一種自底向上的,基于包裝好的構(gòu)件來構(gòu)造應(yīng)用系統(tǒng)的方法,它主要包含構(gòu)件的檢索與獲取,理解與評(píng)價(jià)構(gòu)件,修改構(gòu)件,組裝構(gòu)件,應(yīng)用與布署等工作°基于構(gòu)件的開發(fā)涉及到構(gòu)件的獲取問題,目前構(gòu)件的獲取主要有三種方式:公司產(chǎn)品庫,第三方構(gòu)件和自主開發(fā),因?yàn)榭紤]到需求變化時(shí)構(gòu)件的修改問題,我們只采用了從產(chǎn)品庫獲取和自主全新開發(fā)兩種方式。鑒于我們公司具有多年的項(xiàng)目積累,我們從公司的產(chǎn)品庫中選擇合適的構(gòu)件,對(duì)于與需求類似的構(gòu)件,進(jìn)行修改后,做好構(gòu)件的版本記錄。經(jīng)過我們的分析、篩選和比對(duì),發(fā)現(xiàn)以往項(xiàng)目中經(jīng)常用到的單點(diǎn)登錄模塊,只需要改進(jìn)一下驗(yàn)證方式就可以復(fù)用到新系統(tǒng)中;接著從共用的底層模塊中,發(fā)現(xiàn)了數(shù)據(jù)庫訪問模塊,只要在靈活性和可替換性方面加強(qiáng)一下,也達(dá)到我們復(fù)用的標(biāo)準(zhǔn);最后發(fā)現(xiàn)目錄樹和活動(dòng)表單這兩個(gè)模塊,幾乎是最成熟的,除了界面外其它不用修改,可以直接復(fù)用。接下來詳述一下組成系統(tǒng)的主要構(gòu)件:1?首先介紹一下,單點(diǎn)登錄構(gòu)件(SSO),SSO可以讓用戶登錄信息平臺(tái)后,可以跳轉(zhuǎn)到任意其它應(yīng)用系統(tǒng),進(jìn)入其它系統(tǒng)時(shí)無需再次登錄,免除用戶每使用一個(gè)應(yīng)用系統(tǒng)就得再次登錄的重復(fù)操作,需要接入的應(yīng)用系統(tǒng)只要到信息平臺(tái)注冊(cè),按照規(guī)范配置即可實(shí)現(xiàn)這一功能。當(dāng)用戶進(jìn)行頁面請(qǐng)求時(shí),就會(huì)被SSO捕獲(采用.net的httpmodule機(jī)制),SSO首先判斷是當(dāng)前客戶端是否存在在該用戶的Cooke.如果不存在則跳轉(zhuǎn)到信息平臺(tái)的登錄頁面,要求通過后會(huì)跳轉(zhuǎn)到用戶所請(qǐng)求的頁面.完成一次SSO過程。驗(yàn)證用戶的合法性,有幾種情況:第一種是對(duì)用戶的密碼進(jìn)行MD5加密后與數(shù)據(jù)庫進(jìn)行比對(duì),同時(shí)還要對(duì)用戶登錄的計(jì)算機(jī)與數(shù)據(jù)庫進(jìn)行比對(duì);第二種是判斷用戶是否插入登錄鑰匙盤。只要有一種驗(yàn)證通過即視為驗(yàn)證成功,不再進(jìn)行下一步驗(yàn)證,對(duì)于這種需求,由于項(xiàng)目初期還不知以后會(huì)有多少種驗(yàn)證方式,所以從構(gòu)件庫獲取之后,在設(shè)計(jì)上增加職責(zé)鏈的設(shè)計(jì)模式,以適應(yīng)增加新的驗(yàn)證方式提高擴(kuò)展性。2?數(shù)據(jù)庫訪問構(gòu)件,從構(gòu)件庫獲取后,抽象出一套規(guī)范的數(shù)據(jù)訪問接口,以后構(gòu)件的修改不會(huì)影響到其它調(diào)用的程序。為了解決以后還可以替換成其它類型的數(shù)據(jù)庫平臺(tái),采用了“倚賴注入"的理念,即抽象工廠模式,通過配置文件配置數(shù)據(jù)庫操作的具體實(shí)現(xiàn)構(gòu)件(類),來生成實(shí)例,這樣就可以實(shí)現(xiàn)以下場景:比如數(shù)據(jù)庫從sqlserver2005替換成oracle,只要使用oracle數(shù)據(jù)庫訪問構(gòu)件,然后配置在配置文件中,即可以完成不同數(shù)據(jù)庫平臺(tái)的切換,其他程序無須改動(dòng),做到平滑過渡,提高系統(tǒng)穩(wěn)定性。3?活動(dòng)表單構(gòu)件,這個(gè)構(gòu)件是直接從產(chǎn)品構(gòu)件庫提取岀來的,只做了界面調(diào)整,為信息平臺(tái)的企業(yè)門戶內(nèi)的通知公告、院內(nèi)新聞、重要精神等等欄目使用,用戶在創(chuàng)建發(fā)布的信息時(shí),可以對(duì)發(fā)布的內(nèi)容在活動(dòng)表單編輯器內(nèi)設(shè)置宇體、格式、段落等排版信息。同時(shí)支持附件上傳功能。4?目錄樹構(gòu)件,這個(gè)構(gòu)件也是直接從產(chǎn)品構(gòu)件庫提取岀來,為信息平臺(tái)的設(shè)計(jì)生產(chǎn)的單項(xiàng)設(shè)計(jì)項(xiàng)目的信息進(jìn)行構(gòu)件復(fù)用,項(xiàng)目樹結(jié)構(gòu)由六級(jí)節(jié)點(diǎn)組成。Root根節(jié)點(diǎn)為零級(jí)節(jié)點(diǎn)由項(xiàng)目名稱表示,—級(jí)節(jié)點(diǎn)由設(shè)計(jì)階段表示,二級(jí)節(jié)點(diǎn)由單項(xiàng)工程名稱表示,三級(jí)節(jié)點(diǎn)由專業(yè)表示,四級(jí)節(jié)點(diǎn)由功能區(qū)(工作區(qū)、輸入?yún)^(qū)、提資區(qū)、收資區(qū)、成品區(qū)等)表示,五級(jí)節(jié)點(diǎn)即葉節(jié)點(diǎn)由功能屬性名(圖紙、文字、圖片、其他等)表示;還有人力資源子系統(tǒng)的組織機(jī)構(gòu)樹等。5?在界面層的設(shè)計(jì)中,因?yàn)闃?gòu)件庫中沒有相應(yīng)的控件,只好采取自主全新開發(fā),如時(shí)間段選擇控件,文本框智能提示控件,基于flash的多文件上傳控件,以及用戶/部門選擇控件。這些控件還提供了日常的數(shù)據(jù)驗(yàn)證功能,開發(fā)時(shí)跟ret服務(wù)器控件一樣,拖拉到開發(fā)頁面即可,讓開發(fā)人員把精力集中在系統(tǒng)的業(yè)務(wù)功能實(shí)現(xiàn)上,而非技術(shù)細(xì)節(jié),縮短了界面層的開發(fā)周期,也為后續(xù)項(xiàng)目積累了基礎(chǔ)控件。該系統(tǒng)采用基于構(gòu)件的開發(fā)方法,從構(gòu)件庫中獲取構(gòu)件,并采用了"依賴注入”,抽象工廠,后期綁定等技術(shù),提高擴(kuò)展性、靈活性和穩(wěn)定性。對(duì)于構(gòu)件庫沒有的進(jìn)行了自主全新開發(fā),開發(fā)完成后加構(gòu)件庫,為后續(xù)項(xiàng)目開發(fā)提供構(gòu)件。這種開發(fā)方法保證了系統(tǒng)質(zhì)量并按期通過驗(yàn)收。雖然從產(chǎn)品構(gòu)件庫中獲取到大部分的構(gòu)件,但構(gòu)件本身的修改不是件容易的事情,如上述所提的單點(diǎn)登錄(SSO)構(gòu)件,數(shù)據(jù)訪問構(gòu)件都需要資深的開發(fā)人員采用一些如■?依賴注入”,抽象工廠,后期綁定等技術(shù),提高擴(kuò)展性、靈活性和穩(wěn)定性;而構(gòu)件庫沒有用自主全新開發(fā)的,比如flash批量上傳文件控件還涉及flash,Ajax等技術(shù),用戶/部門選擇控件對(duì)javascript技術(shù)的要求也特別高,這就要求構(gòu)件開發(fā)人員的選拔和培訓(xùn)成了一件緊迫的工作,在以后的項(xiàng)目中會(huì)更加重視這一工作,培養(yǎng)合格的構(gòu)件開發(fā)人員,讓更多合格的構(gòu)件加入到產(chǎn)品構(gòu)件庫,提高公司的整體開發(fā)效率。目前主流的構(gòu)件技術(shù)標(biāo)準(zhǔn)有三種:Corba,EJB和COM/Dcom/Com+,Corba是OMG組織制定的一種標(biāo)準(zhǔn),這種標(biāo)準(zhǔn)易于擴(kuò)充和修改,具有較高的通用性和適應(yīng)性;EJB是JAVA體系的,憑借JAVA跨平臺(tái)的優(yōu)勢(shì),用曰B技術(shù)部署的分布式系統(tǒng)可以不限于特定的平臺(tái)Com/Dcom/Com+是微軟

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論