軟件過程模型

????????軟件生命周期模型規(guī)定了把生命周期劃分成那些階段臣淤,以及各個階段的執(zhí)行順序橄霉,也稱為“軟件過程模型”。

瀑布模型:

瀑布模型

瀑布模型的特點:

1邑蒋,階段間具有順序性和依賴性:必須等前一個階段的工作完成后姓蜂,才能開始下一個階段的工作;前一階段的輸出文檔是下一個階段的輸入文檔医吊。

2钱慢,推遲實現(xiàn)的觀點:清楚地區(qū)分邏輯設(shè)計和物理設(shè)計,盡可能推遲程序的物理實現(xiàn)卿堂。

3束莫,質(zhì)量保證觀點:每個階段都必須完成規(guī)定的文檔,沒有交出合格的文檔就是沒有完成該階段的任務(wù)草描;每個階段結(jié)束前都要對所完成的文檔進行評審览绿,以便盡早發(fā)現(xiàn)問題,改正錯誤陶珠。

瀑布模型是一種文檔驅(qū)動模型:

優(yōu)點:

1挟裂,可以保證整個軟件產(chǎn)品較高的質(zhì)量,保證缺陷能夠提前的被發(fā)現(xiàn)和解決;

2揍诽,保證系統(tǒng)在整體上的充分把握,使系統(tǒng)具備良好的擴展性和可維護性.

缺點:

1诀蓉,缺乏靈活性栗竖,當(dāng)客戶對軟件需求不明確,或者需求經(jīng)常變化的情況下渠啤,可能導(dǎo)致最終開發(fā)出來的軟件不能真正滿足客戶需要狐肢。

2,對于中小型的項目沥曹,需求設(shè)計和開發(fā)人員往往在項目開始后就會全部投入到項目中份名,而不是分階段投入,因此采用瀑布模型會導(dǎo)致項目人力資源過多的閑置的情況妓美,這也是必須要考慮的問題僵腺。


快速原型模型:

????????當(dāng)你的用戶沒有信息系統(tǒng)的使用經(jīng)驗,你的系統(tǒng)分析員也沒有過多的需求分析和挖掘經(jīng)驗的時候壶栋,需求分析和調(diào)研過程則更需要是一個啟發(fā)式的過程辰如。而原型則是這種很好的啟發(fā)式方法,可以快速的挖掘用戶需求并達成需求理解上的一致贵试。否則即使雙方都簽字認可的需求往往仍然不是客戶真正想要的東西琉兜。

????????快速原型模型需要快速建立一個能反映用戶主要需求的原型系統(tǒng),讓用戶在計算機上試用它毙玻,通過實踐來了解目標(biāo)系統(tǒng)的概貌豌蟋,用戶試用之后會提出修改建議,開發(fā)人員按照用戶的意見快速的修改原型桑滩,再請用戶試用梧疲,提出修改意見,如此反復(fù)施符,直到獲取用戶的真正需求往声,一旦需求確定了,開發(fā)人員便可以根據(jù)原型寫出規(guī)格說明文檔戳吝。


增量模型:

????????把軟件產(chǎn)品作為一系列的增量構(gòu)件來設(shè)計浩销,編碼,集成和測試听哭。每次把新的構(gòu)建集成到現(xiàn)有軟件中時慢洋,所得到的軟件必須是可測試的。

增量模型

優(yōu)點是:

1陆盘,能在較短時間內(nèi)向用戶提交一個可以滿足一些需求的軟件普筹;

2,逐步增加產(chǎn)品功能可以使用戶有較充裕的時間學(xué)習(xí)和適應(yīng)新產(chǎn)品隘马,從而減少一個全新軟件可能帶給客戶的沖擊太防。

????????瀑布模型和快速原型模型都是一次把一個滿足所有需求的產(chǎn)品提交給客戶。增量模型是分批逐步向用戶提交產(chǎn)品酸员,每次提交一個滿足用戶需求子集的可運行的產(chǎn)品蜒车。這就要求軟件體系結(jié)構(gòu)必須是開放的讳嘱,新的增量構(gòu)件集成到原有系統(tǒng)時,不會破壞已經(jīng)開發(fā)出來的產(chǎn)品酿愧。

????????架構(gòu)設(shè)計是軟件開發(fā)中一個重要的關(guān)注點沥潭。軟件開發(fā)要以架構(gòu)為核心。因此在架構(gòu)設(shè)計完成后系統(tǒng)會被分為相關(guān)的子系統(tǒng)和功能模塊嬉挡。每個功能模塊間的接口都可以定義清楚钝鸽。在這種情況下,當(dāng)模塊B的詳細設(shè)計做完成后往往就沒有必要等到其它模塊的詳細設(shè)計都要完全作完才開始編碼庞钢,因此在架構(gòu)設(shè)計完成后可以將系統(tǒng)分為多個模塊并行開發(fā)拔恰,每個模塊仍然遵循先設(shè)計和編碼測試的瀑布模型思路。

????????業(yè)界比較標(biāo)準(zhǔn)的增量模型往往要求在軟件需求規(guī)格說明書全部出來后后續(xù)的設(shè)計開發(fā)再進行增量基括。同時每個增量也可以是獨立發(fā)布的小版本仁连。由于系統(tǒng)的總體設(shè)計往往對一個系統(tǒng)的架構(gòu)和可擴展性有重大的影響,因此我們推薦的增量最好是在架構(gòu)設(shè)計完成后再開始進行增量阱穗,這樣可以更好的保證系統(tǒng)的健壯性和可擴展性。


迭代模型:

????????增量和迭代有區(qū)別但兩者又經(jīng)常一起使用使鹅。所以這里要先解釋下增量和迭代的概念揪阶。假設(shè)現(xiàn)在要開發(fā) A,B,C,D四個大的業(yè)務(wù)功能,每個功能都需要開發(fā)兩周的時間。則對于增量方法而言可以將四個功能分為兩次增量來完成患朱,第一個增量完成A,B功能鲁僚,第二次增量完成C,D功能;而對于迭代開發(fā)來將則是分兩次迭代來開發(fā)裁厅,第一次迭代完成A,B,C,D四個基本業(yè)務(wù)功能但不含復(fù)雜的業(yè)務(wù)邏輯冰沙,而第二個功能再逐漸細化補充完整相關(guān)的業(yè)務(wù)邏輯。在第一個月過去后采用增量開始時候A,B全部開發(fā)完成而C,D還一點都沒有動执虹;而采用迭代開發(fā)的時候A,B,C,D四個的基礎(chǔ)功能都已經(jīng)完成拓挥。

????????每次迭代都包含了需求,設(shè)計和開發(fā)袋励,測試等各個過程侥啤,而且每次迭代完成后都是一個可以交付的原型。迭代不是并行茬故,在每次迭代過程中仍然要遵循需求->設(shè)計->開發(fā)的瀑布過程盖灸。迭代周期的長度跟項目的周期和規(guī)模有很大的關(guān)系。小型項目可以一周一次迭代磺芭,而對于大型項目則可以2-4周一次迭代赁炎。如果項目沒有一個很好的架構(gòu)師,很難規(guī)劃出每次迭代的內(nèi)容和要到達的目標(biāo)钾腺,驗證相關(guān)的交付和產(chǎn)出徙垫。因此迭代模型雖然能夠很好的滿足與用戶的交付讥裤,需求的變化,但確是一個很難真正用好的模型松邪。

????????迭代模型更多的從總體方面系統(tǒng)的思考問題坞琴,從最早就可以給出相對完善的框架或原型,后期的每次迭代都是針對上次迭代的逐步精化逗抑。


螺旋模型:

????????螺旋模型的基本思想是剧辐,使用原型模型和其他方法來盡量降低項目的風(fēng)險,可以看成是每個階段之前都增加了風(fēng)險分析過程的快速原型模型邮府。適用于內(nèi)部開發(fā)的大規(guī)模軟件項目荧关。

????????螺旋模型最大的價值在于整個開發(fā)過程是迭代和風(fēng)險驅(qū)動的。通過將瀑布模型的多個階段轉(zhuǎn)化到多個迭代過程中褂傀,以減少項目的風(fēng)險忍啤。螺旋模型實現(xiàn)了隨著項目成本投入不斷增加,風(fēng)險逐漸減小仙辟。以幫我我們加強項目的管理和跟蹤同波,在每次迭代結(jié)束后都需要對產(chǎn)出物進行評估和驗證,當(dāng)發(fā)現(xiàn)無法繼續(xù)進行下去時可以及早的終止項目叠国。螺旋模型復(fù)雜的地方在于盡責(zé),專心和知識淵博的管理未檩。因為對于每一次迭代我們要制定出清晰的目標(biāo),分析出相關(guān)的關(guān)鍵風(fēng)險和計劃中可以驗證和測試的交付物并不是一件容易的事情粟焊。

1.決定目標(biāo),替代方案和約束? 冤狡;

2.識別和解決項目的風(fēng)險 ;

?3.評估技術(shù)方案和替代解決方案项棠;

4.開發(fā)本次迭代的交付物和驗證迭代產(chǎn)出的正確性悲雳;

5.計劃下一次迭代;

6.提交下一次迭代的步驟和方案香追。


螺旋模型
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末合瓢,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子透典,更是在濱河造成了極大的恐慌歪玲,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掷匠,死亡現(xiàn)場離奇詭異滥崩,居然都是意外死亡,警方通過查閱死者的電腦和手機讹语,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門钙皮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事短条〉枷唬” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵茸时,是天一觀的道長贡定。 經(jīng)常有香客問我,道長可都,這世上最難降的妖魔是什么缓待? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮渠牲,結(jié)果婚禮上旋炒,老公的妹妹穿的比我還像新娘。我一直安慰自己签杈,他們只是感情好瘫镇,可當(dāng)我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著答姥,像睡著了一般铣除。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鹦付,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天通孽,我揣著相機與錄音,去河邊找鬼睁壁。 笑死,一個胖子當(dāng)著我的面吹牛互捌,可吹牛的內(nèi)容都是我干的潘明。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼秕噪,長吁一口氣:“原來是場噩夢啊……” “哼钳降!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起腌巾,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤遂填,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后澈蝙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吓坚,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年灯荧,在試婚紗的時候發(fā)現(xiàn)自己被綠了礁击。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖哆窿,靈堂內(nèi)的尸體忽然破棺而出链烈,到底是詐尸還是另有隱情,我是刑警寧澤挚躯,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布强衡,位于F島的核電站,受9級特大地震影響码荔,放射性物質(zhì)發(fā)生泄漏漩勤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一目胡、第九天 我趴在偏房一處隱蔽的房頂上張望锯七。 院中可真熱鬧,春花似錦誉己、人聲如沸眉尸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽噪猾。三九已至,卻和暖如春筑累,著一層夾襖步出監(jiān)牢的瞬間袱蜡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工慢宗, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留坪蚁,地道東北人。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓镜沽,卻偏偏與公主長得像敏晤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子缅茉,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 一 軟件過程 軟件過程定義以下內(nèi)容人員與分工所執(zhí)行的活動活動的細節(jié)與步驟 軟件過程通過一下方式組織和管理軟件生命周...
    崇本息末閱讀 1,374評論 0 0
  • 0. 軟件開發(fā)需要過程么嘴脾? 寫了再改,不挺好么蔬墩?不需要太多其他準(zhǔn)備或相關(guān)知識译打,無需文檔,無需規(guī)劃拇颅,無需質(zhì)量保障奏司,上...
    vachester閱讀 1,525評論 0 0
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,737評論 25 707
  • 2月3日中午结澄,一位年以八十的老人哥谷,拄著拐杖,氣喘噓噓的來到了來到了西大新區(qū)的公交三公司十路調(diào)度站麻献,送來了一封...
    一米陽光_c031閱讀 180評論 2 3
  • 生活是什么樣子的呢们妥?生活本該是什么樣子的呢?是畢業(yè)后西裝革履手端咖啡站在摩天大樓之上俯瞰整個城市的車水馬龍勉吻?是一心...
    默默_MMo閱讀 583評論 0 2