軟件再工程的深層研究與應(yīng)用_第1頁
軟件再工程的深層研究與應(yīng)用_第2頁
軟件再工程的深層研究與應(yīng)用_第3頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

軟件再工程的深層研究與應(yīng)用摘要:隨著計(jì)算機(jī)日異月新的發(fā)展,當(dāng)今的軟件并非如上那樣僅僅知足當(dāng)下的需求就能夠,現(xiàn)代的客戶對軟件的要求也越來越高,所以如今的軟件工程師在研發(fā)軟件時(shí)就必需考慮到軟件的回收問題,而軟件再工程則是對遺產(chǎn)系統(tǒng)的再利用,怎樣更好地利用遺產(chǎn)系統(tǒng)進(jìn)行開發(fā)新系統(tǒng),是軟件再工程如今主要的研究課題,件再工程恰是在這種情況具體表現(xiàn)出出了它無可替代的地位。軟件再工程面臨的遺留系統(tǒng)往往都是特別復(fù)雜的。想完全依靠程序員的手動(dòng)完成系統(tǒng)的重構(gòu)件時(shí)特別困難的。所以許多軟件組織就致力在怎樣研究出一些自動(dòng)化的工具。而且也獲得了一定的效果,所以對軟件再工程的研究在國內(nèi)也越來越看重,而且意義重大。本文關(guān)鍵詞語:軟件;再工程;深層研究1.軟件再工程的概念軟件工程是針對軟件危機(jī)而誕生的,它是一種工程即:把理論上的知識(shí)結(jié)合經(jīng)歷體驗(yàn)應(yīng)用到理論中得出結(jié)果以便于解決軟件研發(fā)中的各種矛盾。簡單點(diǎn)的來說,軟件工程就是一種工具的具體表現(xiàn)出,是用來解決軟件開發(fā)經(jīng)過中出現(xiàn)的實(shí)際問題,反而言之,假如再軟件研發(fā)中沒有任何問題的出現(xiàn),則軟件工程就是無用的,但是這樣的情況在概率上是幾乎為零,所以軟件工程則是不可缺少的。軟件工程不是一個(gè)固定的框架構(gòu)造,而是一個(gè)具有彈性的概念,所以,假如不是要去申請iso或者是cmm的認(rèn)證,萬群不需要按早兩者的規(guī)范去做。所謂的“由企業(yè)特色的軟件工程〞則完全能夠吸收現(xiàn)有的形式和規(guī)范去完善本身。所以軟件工程的意義在于對開發(fā)階段的劃分,以及分工和管理。在開發(fā)經(jīng)過中把一個(gè)大的項(xiàng)目劃分為若干個(gè)小的模塊,對這些模塊在接著劃分為更小的模塊以便于開發(fā)。假如每個(gè)小模塊又是功能獨(dú)立的,那么軟件工程則提升了他們的重用性。節(jié)省了部分時(shí)間和開發(fā)人員的精神,提升了開發(fā)的效率。2.軟件再工程的類型軟件再工程發(fā)生于軟件生命周期的軟件維護(hù)極端,因而軟件再工程重要能夠分為4類,即改正性再工程、適應(yīng)性維護(hù)的軟件再工程、完善性維護(hù)的軟件在工程和預(yù)防性維護(hù)的軟件再工程。其中改正性再工程:在任何大型軟件的壽命期間,軟件系統(tǒng)的使用方總會(huì)發(fā)現(xiàn)軟件的毛病的地方,而且他們把碰到的毛病告訴軟件的開發(fā)方,其確認(rèn)毛病和修改毛病的經(jīng)過稱為改正性再工程。這個(gè)方面的再工程占到整個(gè)再工程中的五分之一左右;適應(yīng)性軟件再工程的的特點(diǎn)為:a:由于硬件和操作系統(tǒng)的更新?lián)Q代而到時(shí)的軟件維護(hù);b:由于業(yè)務(wù)環(huán)境、業(yè)務(wù)流程變化導(dǎo)致的軟件維護(hù);c:由于系統(tǒng)軟件的欲行環(huán)境改變和以前帶來的修正;d:為了適應(yīng)軟件系統(tǒng)開發(fā)環(huán)境的變化而采用的軟件維護(hù);完善性維護(hù)的軟件再工程的特點(diǎn):這是為了擴(kuò)大功能和改善性能而進(jìn)行的再工程。重要是針對已有的系統(tǒng)在分析和設(shè)計(jì)階段增長一些新的功能以便于完善整個(gè)系統(tǒng)。這個(gè)方面占領(lǐng)了系統(tǒng)在工程的百分之五十左右,也是其中最大一部分,關(guān)系到軟件開發(fā)質(zhì)量決定性因素。當(dāng)然這個(gè)部分就相當(dāng)?shù)闹饕?,其各個(gè)步驟都顯得尤其的中要了例如其中的系統(tǒng)分析和構(gòu)造的完善。預(yù)防性維護(hù)的軟件再工程:這樣的再工程是為了以后的再工程打下了良好的基礎(chǔ),把此次的再工程的所有步驟做成具體的報(bào)表存檔,以便于以后碰到類似的問題或者軟件運(yùn)行中的各種類似情況的發(fā)生得到更為迅速與完美的解決。3.軟件再工程的目的軟件是應(yīng)用在計(jì)算機(jī)上,根據(jù)計(jì)算機(jī)能辨別的語言即機(jī)器語言的規(guī)則進(jìn)行組合而成,而又能夠完成用戶某些要求的計(jì)算機(jī)指令集合。一般對軟件的劃分有系統(tǒng)軟件和應(yīng)用軟件,前者是運(yùn)行在計(jì)算機(jī)的底層的,平常的用戶是很少對他進(jìn)行接觸,它是計(jì)算機(jī)正常工作的需要的東西。但是不能完成某些特定的功能。而后者即應(yīng)用軟件則正好和前者相反。它是在不同領(lǐng)域不同的人對某一個(gè)特定的領(lǐng)域內(nèi)的知識(shí)進(jìn)行某類操作的集合。例如一些數(shù)學(xué)公式軟件。編寫代碼軟件等。同時(shí)從哲學(xué)上說軟件也是客觀的一種反映,是知識(shí)的提煉和升華,客觀世界是在不斷的發(fā)展和變化,所以軟件也要跟著變化、升級。而本文所敘述的軟件再工程都是基于后者〔應(yīng)用軟件〕的基礎(chǔ)之上,對其進(jìn)行的重用。它的目的就是改善軟件的構(gòu)造性、加強(qiáng)軟件的進(jìn)化型。它所實(shí)行的對象是使用中的系統(tǒng)即前文所說的“遺留系統(tǒng)〞,這些系統(tǒng)缺少良好的編碼風(fēng)格和設(shè)計(jì)構(gòu)造,所以對它們的修改時(shí)會(huì)消耗損費(fèi)大量的人力和物力。而且有些軟件的使用單位對其的依靠性很也大,不肯意或者不能夠及時(shí)的跟換新的軟件,所以軟件再工程所面對的挑戰(zhàn)就是怎樣對這些遺留系統(tǒng)的研究分析,總結(jié)歸納,在遺留系統(tǒng)的基礎(chǔ)上從新構(gòu)造一個(gè)新軟件系統(tǒng)。一般來說,軟件再工程的詳細(xì)目的有如下幾個(gè)方面:〔1〕付出較低的開發(fā)成本。即在遺留系統(tǒng)的基礎(chǔ)做開發(fā)工作會(huì)減少一些基礎(chǔ)性的研發(fā),降低了大量的開發(fā)時(shí)間。進(jìn)而降低開發(fā)成本。〔2〕到達(dá)要求的軟件功能。當(dāng)然對客戶提出的新的要求,作為軟件開發(fā)者必需要知足這個(gè)最低的要求。〔3〕獲得較好的軟件性能。這點(diǎn)對于當(dāng)今的軟件開發(fā)者來說是很主要的,在當(dāng)下的競爭力極強(qiáng)的社會(huì),只要你的軟件在低成本,高效果的情況下能力有更好的效果,然而低成原來說對于各個(gè)開發(fā)商來說都差不多,原因在于大家所擁有的都是同一個(gè)遺留系統(tǒng)。所以只要自己的軟件有更好的性能已經(jīng)各個(gè)方面的效果能力帶來更高層次的效益?!?〕開發(fā)的軟件易于移植。對于不同的平臺(tái)來說如今許多的開發(fā)工具都支持平臺(tái)移植?!?〕需要較低的維護(hù)費(fèi)用。這點(diǎn)就充足利用到了軟件工程方面的知識(shí),軟件的維護(hù)對于使用方還是開發(fā)方來說都是一件非常麻煩而且浪費(fèi)時(shí)間的。所以在對遺留系統(tǒng)的沖構(gòu)培養(yǎng)要做更好的架構(gòu),更模塊化的開發(fā),以便于減少以后的軟件維護(hù)?!?〕能按時(shí)完成開發(fā)任務(wù),及時(shí)完成開發(fā)任務(wù),及時(shí)交付費(fèi)用。〔7〕開發(fā)的軟件可靠性高。這當(dāng)然要求開發(fā)出來的系統(tǒng)要有穩(wěn)定的能。有些軟件的使用方是某些金融業(yè)。假如出現(xiàn)毛病則會(huì)導(dǎo)致很嚴(yán)重的后果,而這對于開發(fā)者來說也是要負(fù)責(zé)任的。所以在開發(fā)的經(jīng)過中就必需保證軟件系統(tǒng)的可靠性。從上面的各個(gè)方面本人的作者做了如下的總結(jié)與歸納:在基于遺留系統(tǒng)和客戶提出修改要求或意見上對遺產(chǎn)系統(tǒng)進(jìn)行一定的功能或者體系構(gòu)造上的增長或者完善。4.遺留系統(tǒng)架構(gòu)遺留系統(tǒng)重要是由、JSP和JavaBean三種類型的文件組能。在系統(tǒng)的工作的經(jīng)過中,一般系統(tǒng)是根據(jù)用戶的鏈接懇求來翻開有關(guān)的JSP網(wǎng)頁,接到懇求過后把有關(guān)的處理結(jié)果再通過JSP的形式返回給用戶。使用人員在其權(quán)限范圍內(nèi)能夠查出所需要的信息,但全部通過JSP的來回調(diào)用,由于如今業(yè)務(wù)量的增長,各個(gè)方面的調(diào)用越來越多,導(dǎo)致JSP和數(shù)據(jù)庫的操作紊亂,對其進(jìn)行總結(jié)性的分析過后能夠發(fā)現(xiàn)原有的系統(tǒng)在運(yùn)行的時(shí)候會(huì)導(dǎo)致如下問題的發(fā)生:〔1〕JSP網(wǎng)頁的java代碼太多,導(dǎo)致刻度性非常差;〔2〕由于第一個(gè)的原意到時(shí)系統(tǒng)的可擴(kuò)大性能很低;〔3〕在構(gòu)造上沒有分層,導(dǎo)致在程序員的時(shí)候必需來回往返于JSP和javaBean指導(dǎo)調(diào)用;〔4〕當(dāng)太多的鏈接發(fā)出懇求時(shí),會(huì)影響到效勞器的履行效果,嚴(yán)重可能導(dǎo)致系統(tǒng)的瓦解。經(jīng)過對遺留系統(tǒng)的認(rèn)真分析和理解之后,我對原有系統(tǒng)的逆向工程的工作能夠說有一個(gè)大略的完善了。那么在接下來的步驟,就是怎樣的對遺留系統(tǒng)的再工程即從遺留系統(tǒng)到新系統(tǒng)的轉(zhuǎn)換,也是軟件再工程中的正向工程的步驟。經(jīng)過我們對遺留系統(tǒng)使用單位的認(rèn)真分析,考慮到能夠把其分為大致的幾個(gè)部門進(jìn)行管理〔在第五章將會(huì)詳盡介紹該單位的情況〕而J2EE規(guī)范定義了一下四層:應(yīng)用的客戶組件〔Applicationclientcomponents〕、網(wǎng)絡(luò)層〔WebTier〕、業(yè)務(wù)層〔BusinessTier〕和企業(yè)信息系統(tǒng)層〔EnterprisInformationSystemTier〕。各個(gè)條理之間的關(guān)系如以下圖所示:1.客戶層:由于J2EE的應(yīng)用層有基于Web和不基于Web開發(fā)的兩種情況,對于前者來說是有AWT或者Swing開發(fā)出來的用戶應(yīng)用界面運(yùn)行在客戶端,由用戶對Servelt進(jìn)行訪問,而對于后者是用戶從Web下載靜態(tài)的頁面,而動(dòng)態(tài)的跟新是由JSP或者Servlet生成。2.網(wǎng)絡(luò)層:web層能夠是JSP頁面可以以是Servlet。而后者是編程語言。他們是有區(qū)其余,JSP是基于文本而且一般的JSP頁面含有Java代碼段。有用戶在JSP頁面提出懇求然后傳遞到后臺(tái)效勞器完成操作在返回JSP頁面。3.業(yè)務(wù)層:在這個(gè)條理上重要是由EJB構(gòu)成。它重要完成用戶的業(yè)務(wù)邏輯處理。所以業(yè)務(wù)的工作量是非常龐大的。但是有EJBcontainer對EJB的管理來對其進(jìn)行分工工作到達(dá)知足客戶需求。進(jìn)而一般不會(huì)出現(xiàn)問題。4.企業(yè)信息系統(tǒng)層:這個(gè)條理重要是處理企業(yè)信息系統(tǒng)軟件。根據(jù)對遺留系統(tǒng)的代碼分析,系統(tǒng)中的JavaBean總體分為兩大類:其中只包括setter和getter函數(shù)的和包括了上述兩種函數(shù)過海后有其運(yùn)用的商業(yè)函數(shù)的兩類,前者稱之為valuebean后者為processbean。在遺留系統(tǒng)中是JavaBean和JSP頁面的組合來完成客戶的懇求,而在新系統(tǒng)里則是使用SessionBean來完成。把遺留系統(tǒng)中JavaBean中的程序放進(jìn)新系統(tǒng)中SessionBean的Bean類中。在移交的時(shí)候我們把ValueBean類中的代碼是全部的移交過去,對processbean中的代碼則是根據(jù)bean的性質(zhì)來決定能否移交。在移交的構(gòu)成中我們參加了兩個(gè)方法:是回調(diào)方法和標(biāo)準(zhǔn)模板〔包括了目的系統(tǒng)中SessionBean組件應(yīng)當(dāng)繼承接口〕。構(gòu)成方法如以下圖:在新系統(tǒng)中的所有EJB是根據(jù)Weblogic協(xié)議部署的。每一個(gè)在效勞器上部署完成后的應(yīng)用程序都會(huì)有一EAR〔EnterpriseApplicationArchivefile〕文件,他包括了JAR(JavaArchivefile)、WAR(WebApplicationA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論