日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

快速原型方法與軟件開發(fā)中的風(fēng)險(xiǎn)管理...

 快樂學(xué)習(xí) 2007-01-27
快速原型方法與軟件開發(fā)中的風(fēng)險(xiǎn)管理
   軟件系統(tǒng)往往體現(xiàn)一定的功能,這些功能要符合一定的使用目的?,F(xiàn)實(shí)世界是在不斷變化的,而且變化的速度是越來越快,唯一不變的就是“變化”的主題。這一現(xiàn)實(shí)也就直接影響到了實(shí)現(xiàn)實(shí)際功能的軟件系統(tǒng),體現(xiàn)在需求、技術(shù)實(shí)現(xiàn)手段、應(yīng)用環(huán)境等多個(gè)方面,這些都直接影響到了軟件系統(tǒng)自身的穩(wěn)定性。同時(shí),由于快速變化這一事實(shí),人們對于以后的預(yù)測能力也越來越有限,有時(shí)根本難以明確未來的需求,只能是根據(jù)環(huán)境的變化而隨時(shí)調(diào)整,因此直接導(dǎo)致了軟件生命周期越來越短這一現(xiàn)實(shí),特別是應(yīng)用軟件,直接與這種變化緊密相連。

   但是,軟件開發(fā)往往需要一定的時(shí)間,一個(gè)軟件系統(tǒng)從需求、設(shè)計(jì)、開發(fā)到投入使用,這一周期都不會很短,即從需求產(chǎn)生到實(shí)際能夠投入使用這段時(shí)間,其本身就已經(jīng)成為應(yīng)用軟件自身的風(fēng)險(xiǎn),很可能當(dāng)一個(gè)軟件開發(fā)完成的時(shí)候,市場需求已經(jīng)發(fā)生了變化,開發(fā)出來的軟件已經(jīng)不適用了。軟件生命周期已經(jīng)縮短,特別是應(yīng)用軟件,隨著新業(yè)務(wù)的市場窗口變窄的趨勢,其自身的壽命周期也在縮短??焖偻斗攀袌鲆呀?jīng)成為軟件系統(tǒng)的首要因素。另一方面,由于快速變化的外部環(huán)境給軟件產(chǎn)品帶來的風(fēng)險(xiǎn),成本控制也成為軟件工程管理的一個(gè)重要方面,通過對需求變化的風(fēng)險(xiǎn)的評估來重新認(rèn)識軟件壽命周期,以合理的成本完成軟件開發(fā),也已經(jīng)成為對軟件產(chǎn)品管理者的一個(gè)挑戰(zhàn)。

   在傳統(tǒng)的軟件工程方法中,主要使用瀑布式順序開發(fā)方法,包括需求分析和定義、系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)和單元測試、系統(tǒng)集成測試、運(yùn)行維護(hù)等多個(gè)階段,這一方法的優(yōu)點(diǎn)是全面、嚴(yán)謹(jǐn),但最大的缺陷,就是過程一旦啟動就難以適應(yīng)變化。這一方法是基于一個(gè)重要的假設(shè)前提——能夠提出明確的需求。當(dāng)面對快速變化、甚至是根本不明確的需求時(shí),這種假設(shè)根本上就不成立,因此這種傳統(tǒng)的開發(fā)方法的缺點(diǎn)就越來越突出,特別是應(yīng)用軟件的開發(fā),由于它與市場的聯(lián)系更加緊密,使用這種傳統(tǒng)的開發(fā)方法,已經(jīng)難以為繼。我們需要尋找一種更加快速、成本合理的軟件開發(fā)方法。

   快速原型方法就是這樣一種開發(fā)更加迅速、更加成本合理的開發(fā)方法。在軟件開發(fā)過程中,最關(guān)鍵的步驟就是確切定義出需求,明確軟件要實(shí)現(xiàn)的功能是什么,而這恰恰也是最困難的過程,因?yàn)楝F(xiàn)在許多用戶在初期只有一個(gè)隱約的、大致的考慮,根本不可能提出具體明確的需求。這種情況下,使用快速原型進(jìn)行反復(fù)交流、細(xì)化需求,就成為一種更加有效的方法。一個(gè)軟件的原型,主要是模擬重要的功能和界面,但是一般不考慮運(yùn)行效率,也不考慮系統(tǒng)的健壯性,出錯(cuò)處理也考慮不多,它的目的只是為了實(shí)際描述概念中的結(jié)構(gòu),使用戶能夠檢測與其概念的一致性和概念的可用性。

   目前主要有兩種快速原型方法:

   · 丟棄原型(Throw-away prototyping)。其目標(biāo)只是為了明確需求,使用最簡單的開發(fā)方法,以最低的成本實(shí)現(xiàn)一個(gè)可工作的系統(tǒng),該系統(tǒng)只關(guān)注功能,不考慮開發(fā)工具、性能、容錯(cuò)、未來實(shí)際運(yùn)行環(huán)境等。通過反復(fù)與客戶交流和修改原型,使原型的功能能夠充分體現(xiàn)客戶需求。在明確了需求之后,原型就會被丟棄。以后軟件的開發(fā)將根據(jù)明確了的需求按照傳統(tǒng)的工程化方法來開發(fā)。

   · 進(jìn)化原型(Evolutionary prototyping)。其目標(biāo)就是與客戶一起工作,從一個(gè)原始的需求的輪廓開始,逐步改進(jìn),最終發(fā)展成為符合實(shí)際需要的系統(tǒng)。采用這種方法,就需要考慮到軟件未來的運(yùn)行環(huán)境等有關(guān)要求,這就要求從一開始就要對需求有一個(gè)比較清晰的認(rèn)識,不能有方向性的錯(cuò)誤。

   快速原型方法存在的主要問題是:文檔容易被忽略,建立原型過程中的許多工作會被浪費(fèi),項(xiàng)目難以計(jì)劃和管理。但是這種方法的好處更大:能夠適應(yīng)不明確的需求,比傳統(tǒng)的瀑布式方法要快得多,用戶的介入更多,能夠及早發(fā)現(xiàn)問題從而降低風(fēng)險(xiǎn)。 在軟件開發(fā)過程中,面對快速變化的市場需求和新技術(shù)發(fā)展,最大的風(fēng)險(xiǎn)往往來自對需求的分析和技術(shù)實(shí)現(xiàn)手段的選擇,通過原型化方法,首先以合理的成本細(xì)化需求、試驗(yàn)技術(shù)手段,把最主要的風(fēng)險(xiǎn)降到最低,從而在總體上降低軟件開發(fā)的風(fēng)險(xiǎn),加快軟件產(chǎn)品的形成,降低軟件開發(fā)的成本。

   快速原型方法的過程,特別是進(jìn)化的原型方法,與軟件的版本升級有些類似。隨著市場需求的變化,軟件版本不斷升級,每升級一次,就會增加新的功能,或者引入符合發(fā)展新趨勢的技術(shù)手段。但是每一個(gè)版本都是產(chǎn)品化的,在產(chǎn)品質(zhì)量方面都達(dá)到了相當(dāng)?shù)囊螅@與軟件原型是不同的,快速原型是一個(gè)由粗到細(xì)的過程,在最終形成產(chǎn)品之前,不論原型被修改了多少個(gè)版本,都還不能達(dá)到產(chǎn)品化的要求,不能對外發(fā)布。

   使用快速原型方法的最大困難就是工程管理的問題,許多具有較強(qiáng)管理能力的企業(yè)對快速原型方法也感到畏懼,根本原因就是其不確定性所帶來的風(fēng)險(xiǎn)。但是應(yīng)該知道,快速原型的方法,正是為了針對主要風(fēng)險(xiǎn),分解風(fēng)險(xiǎn),盡早地、低成本地降低風(fēng)險(xiǎn)。否則,如果一味地強(qiáng)調(diào)軟件開發(fā)必須以明確的需求為前提,采用傳統(tǒng)的瀑布式開發(fā)方法,則會面臨更大的市場風(fēng)險(xiǎn),如果以不明確的需求采用傳統(tǒng)的開發(fā)方法,軟件開發(fā)本身也必然面臨著災(zāi)難性的風(fēng)險(xiǎn)。因此,快速原型方法應(yīng)該成為我們軟件開發(fā)過程中降低風(fēng)險(xiǎn)的一種有效的方法。

   許多企業(yè)在新的軟件開發(fā)需求提出時(shí),實(shí)際已經(jīng)建立了自己的信息系統(tǒng)的基礎(chǔ)架構(gòu),也已經(jīng)開發(fā)了類似的軟件系統(tǒng),因此在新產(chǎn)品開發(fā)中應(yīng)采用的技術(shù)手段方面,已經(jīng)不存在問題,這時(shí)的風(fēng)險(xiǎn)主要存在于不明確的需求上,此時(shí)采用進(jìn)化的原型方法,比丟棄的原型方法會更有效。為了加強(qiáng)對原型化方法的開發(fā)過程的管理,可以在整個(gè)原型化過程中把每一次對需求的細(xì)化看作是一次版本升級,在每一次升級過程中,細(xì)化了的需求是明確的(雖然還不一定是最終的),這就可以采用瀑布式開發(fā)管理方法,只是這一過程的周期會非常短,而且只要不是最終版本,成本就必須控制在最低。從另一個(gè)角度來說,如果企業(yè)的規(guī)劃能力比較強(qiáng),對整個(gè)產(chǎn)品發(fā)展、信息系統(tǒng)建設(shè)都有比較明確的思路,這對于降低單個(gè)軟件產(chǎn)品的風(fēng)險(xiǎn)非常有利,限制了產(chǎn)品的風(fēng)險(xiǎn),為單個(gè)軟件產(chǎn)品的設(shè)計(jì)開發(fā),提供了很好的基礎(chǔ)。因此,使用快速原型方法,需要充分考慮到與企業(yè)原有的規(guī)劃和基礎(chǔ)設(shè)施的關(guān)系,并注意對它們的影響。下圖是一種典型的快速原型方法的工作流程。

 


zero163.com

   因此,通過提高項(xiàng)目管理能力,針對不同情況,在不同階段,正確運(yùn)用不同的工程方法,才能有效地控制風(fēng)險(xiǎn),使軟件開發(fā)保持強(qiáng)大的適應(yīng)變化的能力,也就保持了軟件開發(fā)者的生存能力??焖僭头槲覀兲峁┝艘粋€(gè)很好的解決辦法。

   最后還需要強(qiáng)調(diào)一點(diǎn)。為了是軟件工程管理能夠適應(yīng)這種快速變化的要求,使用相應(yīng)的軟件工程管理軟件是十分必要的。它主要有幾個(gè)方面的好處:
   1, 建模工具和自動代碼生成工具能夠大大提高開發(fā)的速度。
   2, 配置管理工具可以有效對對軟件的變更進(jìn)行管理。
   3, 強(qiáng)大的測試工具可以更加有效地覆蓋測試范圍,提高測試的效率。
   4, 強(qiáng)化對軟件開發(fā)過程中的流程管理,加強(qiáng)溝通協(xié)作,提高工作效率。
   5, 提高項(xiàng)目的績效管理水平。

   越是風(fēng)險(xiǎn)高的項(xiàng)目,就越需要引入強(qiáng)有力的管理工具,提高管理力度和管理水平。加強(qiáng)科學(xué)管理是提高風(fēng)險(xiǎn)管理水平的唯一出路。

 

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多