軟件過(guò)程模型-Chapter2-PartI

一 軟件過(guò)程

  • 軟件過(guò)程定義以下內(nèi)容
    • 人員與分工
    • 所執(zhí)行的活動(dòng)
    • 活動(dòng)的細(xì)節(jié)與步驟
  • 軟件過(guò)程通過(guò)一下方式組織和管理軟件生命周期
    • 定義軟件生產(chǎn)過(guò)程中的活動(dòng)
    • 定義這些活動(dòng)的順序及其關(guān)系
  • 軟件過(guò)程的目的
    • 標(biāo)準(zhǔn)化(可模仿)、可預(yù)見(jiàn)性(降低風(fēng)險(xiǎn))、提高開(kāi)發(fā)頻率、得到高質(zhì)量產(chǎn)品
    • 提升制定時(shí)間和預(yù)算計(jì)劃的能力

黑盒過(guò)程和白盒過(guò)程

黑盒過(guò)程
  • 存在的問(wèn)題
    • 要求開(kāi)發(fā)之前需求被充分理解
    • 與客戶的交互只在開(kāi)始(需求)和最后(發(fā)布)--類(lèi)似于產(chǎn)品制造過(guò)程
    • 而實(shí)際情況與這完全不同
白盒過(guò)程
  • 優(yōu)點(diǎn)
    • 可通過(guò)改進(jìn)可見(jiàn)性來(lái)減少風(fēng)險(xiǎn)
    • 在開(kāi)發(fā)過(guò)程中,通過(guò)不斷地獲得顧客的回饋允許變更--類(lèi)似于服務(wù)過(guò)程

二 典型的軟件過(guò)程模型

  • 瀑布模型
  • 增量過(guò)程模型
    • 增量模型
    • 快速應(yīng)用程序開(kāi)發(fā)
  • 演化過(guò)程模型
    • 螺旋模型
    • 原型模型
  • 其他過(guò)程模型
    • 形式化過(guò)程
    • 基于復(fù)用的軟件過(guò)程
    • 敏捷過(guò)程模型
瀑布模型
瀑布模型
  • 優(yōu)點(diǎn) -- 追求效率
  • 缺點(diǎn) -- 過(guò)于理想化

增量過(guò)程模型

  • 增量模型
增量模型

** 軟件被作為一系列的增量來(lái)設(shè)計(jì)、實(shí)現(xiàn)、集成和測(cè)試,每一個(gè)增量是由多種相互作用的模塊所形成的提供功能的代碼片段構(gòu)成 **
本質(zhì): 「以迭代的方式運(yùn)用瀑布模型」

  • RAD模型
    • 快速應(yīng)用開(kāi)發(fā)RAD(Rapid Application Development)
      • 側(cè)重于短開(kāi)發(fā)周期(一般為60-90天)的增量過(guò)程模型
      • 多個(gè)團(tuán)隊(duì)并行進(jìn)行開(kāi)發(fā)
    • 缺點(diǎn)
      • 需要大量的人力資源
      • 如果沒(méi)有在短時(shí)間內(nèi)急速完成整個(gè)系統(tǒng)做好準(zhǔn)備,RAD項(xiàng)目將會(huì)失敗
      • 如果系統(tǒng)不能被合理的模塊化,RAD將會(huì)帶來(lái)很多問(wèn)題
      • 技術(shù)風(fēng)險(xiǎn)很高的情況下,不宜采用RAD
演化過(guò)程模型
  • 快速原型法
快速原型法
「原型的類(lèi)型」
  • Throwaway prototyping(拋棄式原型)
    • 最初的原型在完成并得到認(rèn)可后,將不會(huì)作為交付給用戶的最終系統(tǒng)的一部分,而是被拋棄,其目的只是為了收集與驗(yàn)證需求
    • 該原型可能是不可執(zhí)行的
  • Evolutionary prototyping(演化式原型)
  • 最初構(gòu)造的原型將具備較高的質(zhì)量,包含了系統(tǒng)的核心功能,然后通過(guò)收集需求對(duì)其不斷進(jìn)行改善和精華
  • 該類(lèi)原型是可執(zhí)行的,將成為最終系統(tǒng)的一部分
「快速原型法的優(yōu)缺點(diǎn)」
  • 優(yōu)點(diǎn):提高和改善客戶/用戶的參與程度,最大程度響應(yīng)用戶的變化。

  • 缺點(diǎn):為了盡快完成原型,開(kāi)發(fā)者沒(méi)有考慮整體軟件的質(zhì)量和長(zhǎng)期的可維護(hù)性,系統(tǒng)結(jié)構(gòu)通常較差;可能混淆原型系統(tǒng)與最終系統(tǒng);額外的開(kāi)發(fā)費(fèi)用。

  • 螺旋式過(guò)程模型

螺旋式過(guò)程模型
  • 螺旋模型沿著螺線旋轉(zhuǎn),在四個(gè)象限內(nèi)表達(dá)四個(gè)方面的活動(dòng)
    • 制定計(jì)劃:確定軟件目標(biāo),選定實(shí)施方案,弄清項(xiàng)目開(kāi)發(fā)的限制
    • 風(fēng)險(xiǎn)分析:分析所選方案,考慮如何識(shí)別和消除風(fēng)險(xiǎn)
    • 實(shí)施工程:實(shí)施軟件開(kāi)發(fā)
    • 客戶評(píng)估:評(píng)價(jià)開(kāi)發(fā)工作,提出修正建議
「螺旋式過(guò)程模型的優(yōu)缺點(diǎn)」
  • 出發(fā)點(diǎn):開(kāi)發(fā)過(guò)程中及時(shí)識(shí)別和分析風(fēng)險(xiǎn),并采取適當(dāng)措施以消除或減少風(fēng)險(xiǎn)來(lái)的危害。
  • 優(yōu)點(diǎn):結(jié)合了原型的迭代性質(zhì)與瀑布模型的系統(tǒng)性和可控性,是一種風(fēng)險(xiǎn)驅(qū)動(dòng)型的過(guò)程模型。
  • 缺點(diǎn):適用于大規(guī)模軟件項(xiàng)目,特別是內(nèi)部項(xiàng)目,周期長(zhǎng)、成本高。

三 總結(jié)

「軟件過(guò)程」存在黑盒過(guò)程、白盒過(guò)程。其中黑盒過(guò)程與客戶交流不夠,客戶只在開(kāi)始和結(jié)束才能接觸到產(chǎn)品開(kāi)發(fā);白盒過(guò)程則可以在產(chǎn)品過(guò)程開(kāi)發(fā)中獲得客戶的反饋,從而不斷的改進(jìn)開(kāi)發(fā)。
?? 「軟件過(guò)程模型」主要有「瀑布模型」、「增量過(guò)程模型」、「演化過(guò)程模型」?!钙俨寄P汀购茈y回溯,一般適用成熟的技術(shù)開(kāi)發(fā)。「增量過(guò)程模型」中有「增量模型」和「RAD模型」,從本質(zhì)上來(lái)講,「增量模型」是一種迭代方式運(yùn)用瀑布模型,「RAD模型」是一種并行的增量模型?!缚焖僭汀故菢?gòu)建一個(gè)原型,然后客戶據(jù)此原型提出進(jìn)一步的需求。「螺旋式過(guò)程模型」結(jié)合了原型的迭代性質(zhì)和瀑布模型的系統(tǒng)性和可控性,但周期長(zhǎng)、成本高。
??綜合各個(gè)模型,只有確定項(xiàng)目開(kāi)發(fā)的性質(zhì),才能合理選擇適合的軟件過(guò)程模型,使得軟件開(kāi)發(fā)正常的進(jìn)行。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容