《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 设计应用 > 基于结构化方法和螺旋模型实施Web工程的探究
基于结构化方法和螺旋模型实施Web工程的探究
董寒松1,李 铮2,尤 枫3,赵恒永3
1.南阳市电视台 信息网络部,河南 南阳473056;2.北京博彦科技发展有限责任公司 运营二部,北
摘要: 介绍了Web工程及其与传统软件工程的显著区别,讨论了一种具体的、切实可行的实施Web工程的方法。该方法借鉴了传统软件工程的某些思想,对基于Web的应用系统采用结构化的方法进行分析和设计,在整个开发过程中应用螺旋模型,同时融入Web应用的开发特性,最后给出了一个开发示例。
Abstract:
Key words :

摘   要: 介紹了Web工程及其與傳統(tǒng)軟件工程的顯著區(qū)別,討論了一種具體的、切實(shí)可行的實(shí)施Web工程的方法。該方法借鑒了傳統(tǒng)軟件工程的某些思想,對(duì)基于Web的應(yīng)用系統(tǒng)采用結(jié)構(gòu)化的方法進(jìn)行分析和設(shè)計(jì),在整個(gè)開發(fā)過程中應(yīng)用螺旋模型,同時(shí)融入Web應(yīng)用的開發(fā)特性,最后給出了一個(gè)開發(fā)示例。
關(guān)鍵詞: Web工程  軟件工程  結(jié)構(gòu)化方法  螺旋模型  Web應(yīng)用

  隨著網(wǎng)絡(luò)技術(shù)和網(wǎng)絡(luò)編程技術(shù)的不斷發(fā)展,基于Web方式、以電子商務(wù)為典型代表的應(yīng)用系統(tǒng)越來越普及。尤其在現(xiàn)代企業(yè)應(yīng)用中,各種信息系統(tǒng)在原來的基礎(chǔ)上,由基于C/S方式向基于B/S方式轉(zhuǎn)換,逐漸過渡為基于Web的MIS、ERP、EIP乃至CIM的企業(yè)業(yè)務(wù)IT系統(tǒng),從而使企業(yè)管理不再局限于企業(yè)內(nèi)部,而是通過Internet擴(kuò)展到遍布全球的客戶、供應(yīng)商、合作伙伴等各個(gè)環(huán)節(jié)。
  從近些年來的企業(yè)IT進(jìn)程可以明顯看到,投入實(shí)際使用的Web應(yīng)用系統(tǒng)不僅在數(shù)量上不斷增加,系統(tǒng)規(guī)模和復(fù)雜程度也在不斷提高,使得基于Web的應(yīng)用越來越顯得難以開發(fā)、管理和維護(hù)。因此,軟件開發(fā)人員迫切需要一套適用于Web應(yīng)用系統(tǒng)的方法論來對(duì)相應(yīng)的開發(fā)、發(fā)布和評(píng)估進(jìn)行指導(dǎo),研究這一方法論就成為目前備受關(guān)注的一個(gè)課題。本文將就這一問題展開討論,提出一種結(jié)合傳統(tǒng)軟件開發(fā)方法和模型,同時(shí)針對(duì)基于Web的特性加以補(bǔ)充完善的新的Web應(yīng)用系統(tǒng)開發(fā)方法,并以一個(gè)實(shí)際的示例加以驗(yàn)證說明。
1  Web工程簡(jiǎn)介
  Web工程是用系統(tǒng)的、嚴(yán)密的、可以測(cè)量的方法來開發(fā)、實(shí)施和維護(hù)基于Web的應(yīng)用或基于Web的軟件的工程應(yīng)用[1]。毫無疑問,Web工程包含了程序設(shè)計(jì)和軟件開發(fā),這樣就不可避免地會(huì)采用某些軟件工程的思想和方法,因此,Web工程和軟件工程是緊密聯(lián)系的。但是,Web應(yīng)用系統(tǒng)又具有基于Web的固有特性,這些特性是傳統(tǒng)應(yīng)用軟件所不具備的。所以基于Web的系統(tǒng)開發(fā)與傳統(tǒng)軟件開發(fā)不同,需要符合適應(yīng)于開發(fā)要求的另一套獨(dú)立體系下的規(guī)范。因此,Web工程又是不同于軟件工程的。
  要準(zhǔn)確理解Web工程概念,必須弄清楚兩個(gè)問題。
  (1)基于Web的應(yīng)用系統(tǒng)的開發(fā)與傳統(tǒng)軟件開發(fā)有著顯著不同的特征。比較直觀的一些包括:
  ①由于Web應(yīng)用必定是基于瀏覽器的“瘦客戶”解決方案,客戶端更多的是負(fù)責(zé)信息的展示和布局,應(yīng)用邏輯和數(shù)據(jù)都放在服務(wù)器端,所以必須是特定的多層體系結(jié)構(gòu)。
 ?、赪eb應(yīng)用的開發(fā)需要更多的協(xié)調(diào)工作。原因是:開發(fā)團(tuán)隊(duì)的成員構(gòu)成更加復(fù)雜;由于頁面外觀的滯后性及Web方式下對(duì)某些功能實(shí)現(xiàn)的局限,使得客戶的需求具有更大的不確定性;大部分基于Web的應(yīng)用系統(tǒng)都必須在相對(duì)更短的時(shí)間內(nèi)完成等等。
 ?、踂eb應(yīng)用具有不確定的多樣用戶形式。這里的用戶形式不僅指經(jīng)由Intranet、Internet連接起來的、具有不同技術(shù)和能力的多樣用戶群體,也指在不同的客戶終端上因分辨率、瀏覽器等的不同而造成的情況各異的多樣瀏覽平臺(tái)。
 ?、躓eb應(yīng)用的開發(fā)要求工程、科學(xué)和藝術(shù)在更廣泛的范圍內(nèi)結(jié)合?;赪eb的系統(tǒng)更加關(guān)注用戶的視覺感受。實(shí)踐表明,具有美感的頁面設(shè)計(jì)是用戶衡量整個(gè)Web應(yīng)用系統(tǒng)的一個(gè)重要指標(biāo),要比傳統(tǒng)軟件的UI設(shè)計(jì)在整個(gè)系統(tǒng)中占有更重要的地位。因此,Web應(yīng)用更強(qiáng)調(diào)色彩搭配、運(yùn)用Flash、Midi等多媒體手段豐富用戶界面。
  (2)必須認(rèn)識(shí)到基于Web的應(yīng)用系統(tǒng)和Web站點(diǎn)之間的區(qū)別[2]。因?yàn)閃eb工程是用來指導(dǎo)開發(fā)和管理Web應(yīng)用的,而絕非Web站點(diǎn)。Web站點(diǎn)主要為來訪的用戶提供所需的信息和資料,它的信息流基本是單向的,即從站點(diǎn)到用戶;用戶根據(jù)查找信息的需要來瀏覽Web頁面,頁面的訪問順序是不確定的;Web頁面大多是靜態(tài)的HTML文檔,且附有大量豐富的圖片和動(dòng)畫。而基于Web的應(yīng)用系統(tǒng)則更側(cè)重于完成某項(xiàng)功能,不以提供信息為惟一目標(biāo);由于后臺(tái)數(shù)據(jù)庫與動(dòng)態(tài)頁面相結(jié)合提供了用戶信息的采集能力,從而使得信息流成為雙向的,且頁面訪問順序確定。當(dāng)然,為了達(dá)到豐富應(yīng)用系統(tǒng)人機(jī)界面和信息量的目的,在某些實(shí)際應(yīng)用中,Web站點(diǎn)往往會(huì)充當(dāng)Web應(yīng)用的門戶。因此,根據(jù)具體需求,也可以在廣義上將相關(guān)Web站點(diǎn)作為整個(gè)應(yīng)用系統(tǒng)的一部分來理解。
2  利用結(jié)構(gòu)化方法和螺旋模型實(shí)施Web工程
2.1 使用結(jié)構(gòu)化分析和設(shè)計(jì)方法
  Web工程的實(shí)施不適合使用面向?qū)ο蟮能浖_發(fā)方法進(jìn)行系統(tǒng)分析和設(shè)計(jì)。正如前文所提到的,一個(gè)Web應(yīng)用系統(tǒng)的開發(fā)會(huì)遇到許多不可避免的不確定因素,這就很難從客戶真實(shí)系統(tǒng)中導(dǎo)出對(duì)象體系。如果強(qiáng)行按照面向?qū)ο蟮姆椒▽?duì)系統(tǒng)進(jìn)行分析設(shè)計(jì),勢(shì)必要考慮更多內(nèi)容,而與實(shí)際需求不一致時(shí)便會(huì)導(dǎo)致過度設(shè)計(jì)甚至重新設(shè)計(jì)[3],并且,一旦在實(shí)施中發(fā)現(xiàn)不合理設(shè)計(jì),修正的代價(jià)就可能極大。同時(shí),由于占有相當(dāng)比重Web頁面開發(fā)的Web應(yīng)用包含大量基于文件的Web資源,缺乏抽象概念,缺乏繼承和組裝這樣的重用機(jī)制,這使得面向?qū)ο蟮拈_發(fā)方法顯得力不從心。
  另一方面,Web應(yīng)用強(qiáng)調(diào)結(jié)構(gòu)清晰簡(jiǎn)潔、符合用戶思維的功能導(dǎo)航,這與具有“自頂向下、逐步求精”分解方法的結(jié)構(gòu)化分析設(shè)計(jì)思想相吻合。作為軟件工程中技術(shù)最為成熟、應(yīng)用最廣且非常有效的一種軟件開發(fā)方法,結(jié)構(gòu)化方法的理論概念和實(shí)踐方法已廣為人知,并取得廣泛的成功。因而使用結(jié)構(gòu)化的方法分析和設(shè)計(jì)Web應(yīng)用系統(tǒng),可以更多地借鑒傳統(tǒng)軟件系統(tǒng)的成功開發(fā)經(jīng)驗(yàn),這更利于構(gòu)成復(fù)雜的開發(fā)團(tuán)隊(duì)中成員之間的溝通,可以更方便地實(shí)現(xiàn)下文中將要提到的螺旋模型,從而成功實(shí)施Web工程。
  結(jié)構(gòu)化方法是將一個(gè)復(fù)雜的大型系統(tǒng)自頂向下地分解成一個(gè)個(gè)簡(jiǎn)單的系統(tǒng),用系統(tǒng)工程的思想和工程化的模式對(duì)系統(tǒng)進(jìn)行功能分解和結(jié)構(gòu)設(shè)計(jì),從內(nèi)部功能上模擬客觀世界[4]。結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析(SA)方法、結(jié)構(gòu)化設(shè)計(jì)(SD)方法、結(jié)構(gòu)化編程(SP)方法。根據(jù)分析方法的不同,又可分為面向數(shù)據(jù)流的和面向數(shù)據(jù)結(jié)構(gòu)的兩大類,包括Jackson方法、Warnier方法等多種軟件開發(fā)方法。本文所探討的是開發(fā)步驟明確、適用范圍更廣的面向數(shù)據(jù)流的結(jié)構(gòu)化軟件開發(fā)方法。
  面向數(shù)據(jù)流的結(jié)構(gòu)化軟件開發(fā)方法使用由簡(jiǎn)單易讀的圖形符號(hào)構(gòu)成的數(shù)據(jù)流圖表達(dá),根據(jù)系統(tǒng)內(nèi)部的數(shù)據(jù)傳遞和變換關(guān)系,自頂向下逐層分解,描繪出滿足功能要求的系統(tǒng)邏輯模型。設(shè)計(jì)階段依據(jù)模塊獨(dú)立性準(zhǔn)則、軟件結(jié)構(gòu)準(zhǔn)則(軟件結(jié)構(gòu)包括變換型和事務(wù)型兩種典型類型),將數(shù)據(jù)流圖轉(zhuǎn)換為應(yīng)用系統(tǒng)的體系結(jié)構(gòu),進(jìn)而建立系統(tǒng)的物理模型,實(shí)現(xiàn)系統(tǒng)的概要設(shè)計(jì)。
  這種結(jié)構(gòu)化方法采用先全局后局部、先整體后細(xì)節(jié)、先抽象后具體逐步求精的設(shè)計(jì)開發(fā)過程,使得整個(gè)系統(tǒng)具有清晰的層次結(jié)構(gòu),符合人類解決復(fù)雜問題的普遍規(guī)律,而且所需要的時(shí)間相對(duì)較少,可以顯著提高開發(fā)效率。
  當(dāng)然,使用結(jié)構(gòu)化方法絕非是要全部摒棄面向?qū)ο蟮乃枷牒头椒?。事?shí)上,這里一直強(qiáng)調(diào)的是使用結(jié)構(gòu)化方法中的結(jié)構(gòu)化分析和結(jié)構(gòu)化設(shè)計(jì),而在編碼實(shí)現(xiàn)階段,完全可以借助面向?qū)ο蟮目梢暬幊坦ぞ?如.NET),根據(jù)實(shí)際需要準(zhǔn)確地抽取底層級(jí)別的對(duì)象并設(shè)計(jì)基類,從而利用繼承、重載等機(jī)制高質(zhì)量地重用代碼,簡(jiǎn)化結(jié)構(gòu),降低維護(hù)難度。這一點(diǎn)在應(yīng)用螺旋模型的系統(tǒng)開發(fā)過程中,不斷循環(huán)調(diào)整結(jié)構(gòu)、優(yōu)化代碼以實(shí)現(xiàn)收斂逼近最優(yōu)結(jié)果時(shí)顯得尤為重要。
2.2 應(yīng)用螺旋模型
  長期以來,隨著大量傳統(tǒng)軟件系統(tǒng)的開發(fā)實(shí)踐和經(jīng)驗(yàn)積累,多種軟件工程方法被總結(jié)出來,專家和工程人員也已經(jīng)從不同的角度、用不同的方法對(duì)它們進(jìn)行了模型化,從而將相關(guān)方法從實(shí)踐上升到理論。而基于Web的應(yīng)用系統(tǒng),同樣作為一種軟件系統(tǒng),也可以借鑒應(yīng)用這些模型,從中吸取有益的經(jīng)驗(yàn),以便更有效、更便捷地實(shí)施Web工程。螺旋模型正是這樣一種同時(shí)適用于Web工程的軟件開發(fā)模式。
  由于軟件不同于一般的工業(yè)產(chǎn)品,軟件開發(fā)人員和用戶在專業(yè)知識(shí)和應(yīng)用領(lǐng)域理解上不可避免地存在差距,用戶在開發(fā)早期很難清楚地提供系統(tǒng)的完整需求,開發(fā)人員也很難在系統(tǒng)開發(fā)的需求分析階段完全正確地領(lǐng)會(huì)和定義用戶所提出的各項(xiàng)需求。提出開發(fā)要求的用戶通常只能大概描述軟件的目標(biāo)和功能,開發(fā)者根據(jù)自己對(duì)用戶需求的理解做出的軟件往往與用戶心目中的要求相去甚遠(yuǎn)。抑或是只有當(dāng)軟件成品擺放在用戶面前時(shí),用戶才能更加確認(rèn)需求,進(jìn)而激發(fā)新的需求甚至更改需求。這樣的問題在更加注重感官感受的Web工程中出現(xiàn)的可能性更大。這就很容易造成需要付出高昂代價(jià)的后期需求變動(dòng),甚至導(dǎo)致項(xiàng)目失敗。
  應(yīng)用螺旋模型這一基于原型化開發(fā)的進(jìn)化模型則可以很有效地解決這種問題。顧名思義,這種開發(fā)模型是自內(nèi)向外以螺旋狀的形式進(jìn)化發(fā)展,每一個(gè)周期都要經(jīng)過計(jì)劃、分析、設(shè)計(jì)實(shí)現(xiàn)、用戶反饋等環(huán)節(jié),每一次循環(huán)的結(jié)果都生成一個(gè)增強(qiáng)的軟件版本[5],如圖1所示。

  從圖中可以看到,這種模型不是等一個(gè)開發(fā)階段的工作完成以后才開始下一個(gè)階段的工作,而是把傳統(tǒng)的分階段的軟件開發(fā)方法融入到每一次螺旋循環(huán)當(dāng)中,生成用于驗(yàn)證預(yù)定用戶需求和可能的設(shè)計(jì)方案的中間系統(tǒng)原型,并通過用戶對(duì)原型的意見反饋探索和揭示新的需求。一旦獲得新的信息,就對(duì)原型進(jìn)行調(diào)整,除了進(jìn)一步求精外,還追加實(shí)現(xiàn)某些新的、已明確的用戶需求,從而進(jìn)入新一輪的螺旋循環(huán),逐步逼近最優(yōu)結(jié)果。需要注意的是,這種循環(huán)分析設(shè)計(jì)活動(dòng)不僅針對(duì)整個(gè)應(yīng)用系統(tǒng)的開發(fā),而且可以同時(shí)在不同的模塊開發(fā)中并行進(jìn)行。
  應(yīng)用螺旋模型的開發(fā)方法通過與用戶共同對(duì)系統(tǒng)原型的反復(fù)交互改進(jìn),在逐步的精確和完善過程中最終完成對(duì)系統(tǒng)的開發(fā)。其優(yōu)越性在于不要求應(yīng)用系統(tǒng)的需求定義必須在系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)之前完成,而是把這種定義貫穿在整個(gè)開發(fā)過程中,通過不斷交互修改逐步完成對(duì)需求的精確定義。這一點(diǎn)也符合了人類“實(shí)踐-認(rèn)識(shí)-再實(shí)踐-再認(rèn)識(shí)”的一般認(rèn)識(shí)規(guī)律。需要強(qiáng)調(diào)的一點(diǎn)是,雖然螺旋模型認(rèn)為需求分析是個(gè)動(dòng)態(tài)的定義過程,但對(duì)初始的需求分析仍然需要非常重視。只有做好了初始的需求分析,才能構(gòu)造好初始的原型,也才能以此為基礎(chǔ)啟發(fā)各方人員對(duì)需求進(jìn)行動(dòng)態(tài)的、更精確定義,為開發(fā)成功打好基礎(chǔ)。
  應(yīng)用螺旋模型這種用戶驅(qū)動(dòng)的開發(fā)模式,滿足了Web工程對(duì)以用戶為中心的開發(fā)要求,使用戶最大程度地參與到軟件的開發(fā)過程中并起主導(dǎo)作用,可以在中間系統(tǒng)原型的基礎(chǔ)上進(jìn)一步清楚地闡述自己的微觀需求,這樣也使開發(fā)者可以真正了解用戶的需求,并能對(duì)用戶的動(dòng)態(tài)需求做出及時(shí)有效的處理,使開發(fā)出來的系統(tǒng)更易于被用戶接受,有利于縮短開發(fā)周期,降低開發(fā)風(fēng)險(xiǎn)。
  考慮到Web工程更強(qiáng)調(diào)系統(tǒng)工程性和設(shè)計(jì)藝術(shù)性的結(jié)合與平衡,在進(jìn)行系統(tǒng)開發(fā)時(shí),除了橫向上應(yīng)用螺旋模型并行開發(fā)各功能模塊之外,還應(yīng)該在縱向上并行開發(fā)網(wǎng)頁設(shè)計(jì)和功能實(shí)現(xiàn)的工作。
網(wǎng)頁設(shè)計(jì)和功能實(shí)現(xiàn)的并行開發(fā)必須應(yīng)用在每一個(gè)功能模塊的每一次原型構(gòu)建中,這是因?yàn)樵诜答佋突蝌?yàn)收項(xiàng)目的初期,用戶會(huì)更加強(qiáng)調(diào)可用功能的表示。實(shí)踐證明,盡早地在功能實(shí)現(xiàn)基礎(chǔ)上結(jié)合藝術(shù)設(shè)計(jì)的成分并調(diào)以恰當(dāng)比例,能夠增加用戶對(duì)整個(gè)系統(tǒng)開發(fā)的信心,往往為爭(zhēng)取到用戶的合作達(dá)到事半功倍的效果。同時(shí),網(wǎng)頁設(shè)計(jì)師也可以更早地從用戶那里得到更多更明確的關(guān)于網(wǎng)頁結(jié)構(gòu)、色彩搭配的反饋意見,從而為藝術(shù)設(shè)計(jì)這一很難限定工期的工作爭(zhēng)取到更多有效時(shí)間。
3  一個(gè)實(shí)施Web工程的實(shí)例
  這里將以一個(gè)簡(jiǎn)化了的、筆者實(shí)際參與的B/S結(jié)構(gòu)車輛銷售管理系統(tǒng)開發(fā)流程為例,簡(jiǎn)要說明并驗(yàn)證本文所提出的Web工程實(shí)施方法。
3.1 第一層螺旋開發(fā)
  由于某些客觀局限性,用戶并沒有豐富的管理系統(tǒng)軟件使用經(jīng)驗(yàn),對(duì)于未來將要使用的車輛銷售管理系統(tǒng)的輪廓十分模糊,只強(qiáng)調(diào)最終報(bào)表的生成與使用。在開發(fā)人員的幫助下,用戶的需求被較明晰地整理為圖2所示的結(jié)構(gòu)化的功能模塊。

  經(jīng)過多次討論,用戶對(duì)現(xiàn)有功能模塊的劃分最為認(rèn)可,認(rèn)為符合其業(yè)務(wù)內(nèi)容及管理,進(jìn)而明確了每一個(gè)功能模塊的業(yè)務(wù)規(guī)則和詳細(xì)內(nèi)容。
  在確定了需求并完成后臺(tái)數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)之后,就可以對(duì)整個(gè)系統(tǒng)按照螺旋模型進(jìn)行開發(fā)。考慮到客戶、車輛、銷售、維修四個(gè)信息管理模塊中有一些在功能實(shí)現(xiàn)上的相似,首先對(duì)車輛信息管理模塊及其相關(guān)報(bào)表生成進(jìn)行代表性的開發(fā),包括從設(shè)計(jì)到編碼到測(cè)試再到與網(wǎng)頁設(shè)計(jì)的整合,最終完成了整個(gè)系統(tǒng)的第一個(gè)原型。
  在數(shù)據(jù)庫中填充一些起輔助作用的測(cè)試數(shù)據(jù),第一個(gè)可以運(yùn)行的系統(tǒng)原型就交付用戶驗(yàn)收測(cè)試。由于第一層螺旋開發(fā)的原型只涉及有限功能模塊,而對(duì)相關(guān)具體業(yè)務(wù)規(guī)則的初始需求分析又較為充分,所以用戶對(duì)該部分功能的實(shí)現(xiàn)和生成的報(bào)表也較為滿意,僅僅對(duì)車輛信息的顯示和更新操作頁面提出了一些異議,包括頁面結(jié)構(gòu)和用戶操作上的一些問題。最終修正為如圖3所示的分頁顯示列表,使得所有信息錄入后,操作集中在同一個(gè)頁面內(nèi)完成。至此,隨著根據(jù)用戶的反饋意見對(duì)第一個(gè)原型的確定,第一層螺旋開發(fā)也就告一段落了。

3.2 后續(xù)螺旋開發(fā)
  基于第一個(gè)系統(tǒng)原型,后續(xù)開發(fā)的目的性也就更為明確了。同時(shí),正如前文提到的,由于其余某些模塊與車輛信息管理模塊在功能實(shí)現(xiàn)方法上有相似之處,這就為后來的開發(fā)模式和代碼結(jié)構(gòu)都提供了可復(fù)用的樣本。
  一個(gè)具有代表性的例子就是實(shí)現(xiàn)通過條件查詢得到如圖3所示的信息顯示列表頁面的代碼復(fù)用。根據(jù)需求,客戶信息、車輛信息、銷售信息和維修信息都需要有分頁查詢和對(duì)某一條具體信息進(jìn)行更新等操作的功能要求,其頁面結(jié)構(gòu)和操作步驟基本相同。這樣,就可以借助.NET的編碼機(jī)制,由圖3所在頁面的后臺(tái)代碼為基礎(chǔ),設(shè)計(jì)并實(shí)現(xiàn)出這樣一個(gè)信息查詢頁面的基類。上述四種信息的查詢頁面的后臺(tái)代碼均由該頁面基類派生,而又不影響頁面顯示信息的調(diào)整,代碼量大大減少,從而開發(fā)速度和可維護(hù)性也就大大提高。
在第一個(gè)系統(tǒng)原型的幫助下,所有模塊功能的第二個(gè)系統(tǒng)原型得以迅速實(shí)現(xiàn)。此時(shí),用戶已經(jīng)可以較為完整地了解整個(gè)管理系統(tǒng)了。從宏觀的角度上,用戶對(duì)系統(tǒng)需求有了更明確的認(rèn)識(shí)和要求,從最初的只強(qiáng)調(diào)各類銷售報(bào)表,轉(zhuǎn)變?yōu)閭?cè)重于整個(gè)業(yè)務(wù)的進(jìn)銷存管理,例如提出將庫存信息從車輛信息中獨(dú)立出來,增加并無報(bào)表需求的進(jìn)價(jià)信息管理模塊等。
  對(duì)追加的需求與用戶反復(fù)協(xié)商討論并最終明確之后,在第二個(gè)系統(tǒng)原型基礎(chǔ)上改進(jìn)的風(fēng)險(xiǎn)分析表明:由于之前對(duì)系統(tǒng)很好地進(jìn)行了結(jié)構(gòu)化分析,并對(duì)數(shù)據(jù)庫進(jìn)行了滿足第三范式的設(shè)計(jì),使得已有的數(shù)據(jù)庫結(jié)構(gòu)無需做大的改變,僅僅添加一張基本表和若干視圖即可。它不會(huì)造成高代價(jià)的后期重構(gòu)。所以在新一輪的螺旋開發(fā)中仍然可以滿足用戶的需求,最后順利地在原定計(jì)劃期限內(nèi)高質(zhì)量地完成了整個(gè)項(xiàng)目,交付用戶使用并獲得認(rèn)可。
4  總  結(jié)
  本文針對(duì)目前Web工程的研究和發(fā)展現(xiàn)狀,提出了一種切實(shí)可行的實(shí)施方法。該方法結(jié)合了現(xiàn)有成熟的軟件開發(fā)方法和模型,并融入Web應(yīng)用的開發(fā)特點(diǎn),能夠在很大程度上減少基于Web的應(yīng)用系統(tǒng)的開發(fā)風(fēng)險(xiǎn),同時(shí)開發(fā)效率更高,系統(tǒng)的重用性、可維護(hù)性、可靠性也都大大提高。
參考文獻(xiàn)
1   Deshpande Y,Hansen S.Web Engineering:creating a discipline among disciplines.IEEE Software,2001;(2):82~87
2   張駿,王俊峰,張世永.Web應(yīng)用程序的設(shè)計(jì)與分析.計(jì)算機(jī)工程與應(yīng)用,2000;36(3)
3   Gamma E著,李英軍,馬曉星,蔡敏等譯.設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ).北京:機(jī)械工業(yè)出版社,2000
4   衛(wèi)宏春.三種主流軟件工程方法的比較.微電子學(xué)與計(jì)算機(jī),2002;19(3)
5   羅曉沛,侯炳輝.系統(tǒng)分析員教程.北京:清華大學(xué)出版社,2004

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容