軟體方法與過程 知識點總結

2021-10-28 11:05:13 字數 5243 閱讀 9220

高階軟體開發過程

第1章緒論

1.計算機軟體發展的三個階段:

程式設計階段(軟體工作:程式設計,軟體質量:程式設計=資料結構+演算法,強調程式設計技巧);

軟體工程階段(總結軟體危機的教訓,軟體工作:**編寫+需求分析、測試、維護等等,軟體質量:程式的可讀性、可理解性、可測試性和易修改性等工程化的原則);

軟體過程階段(軟體工作:軟體開發過程+軟體管理過程,更強調軟體開發的效率、軟體質量以及與軟體開發相關的管理工作)。

2.現代軟體產業的總體情況:

很多軟體專案最終不能交付,或者最終交付的軟體專案發生延期、成本超出預算、而且執行經常不可靠。

原因:不完整、不現實的專案需求描述、對需求變更束手無策、脆弱的框架、採用不成熟的技術、測試的不充分性、拙劣的進度計畫和評估、缺乏資源、不具備專案管理的方法、缺少管理層的支援。

3. 軟體週期模型:

定義:軟體生命週期模型是軟體過程中全部活動的生命週期結構框架的一種形式化描述,也成為軟體生存期模型。

種類:瀑布模型、演化(原型)模型、螺旋模型、噴泉模型。

總體侷限性:軟體過程不僅包括組成過程的各種活動,而且包括各種活動的相關項,如活動的執行者、活動執行時採用的各種方法和工具、活動執行的結果等等,軟體生命週期模型用於指導軟體開發實踐時,表現出較差的可操作性。

4. 軟體過程模式:

定義:軟體工程模式從成功或失敗的軟體開發實踐中總結而成,是軟體過程中生命週期、人員、方法、產品四大要素相互關聯的有機整體。

典型的過程模式:rational統一過程、敏捷過程、微軟過程。

其他過程模式:個體/小組軟體過程(psp/tsp)。

5.軟體過程模式與軟體生命週期模型的關係:軟體生命週期模型包含與軟體過程模式中。

6.軟體過程能力評估標準和改進方案:

cmm(能力成熟度模型):初始級、可重複級、已定義級、已定量管理級、優化級。iso9000;6σ。

第2章 rational 統一過程

1.什麼是rup:

rational統一過程(rational unified process)是一種典型的軟體過程模式,對軟體過程模式的四大要素——生命週期、人員、方法和產品均進行了詳盡的論述;是一種軟體過程產品——rational公司開發並維護,與rational一系列其他軟體開發工具整合。

*2.rup術語:

使用者代表與所開發的系統進行互動的某個人或某個系統(所開發系統之外的另乙個系統)。用例是能夠向使用者提供有價值結果的系統中的一種功能。

所有的用例合在一起構成用例模型。

特點:①確定系統需求的工具,傳統的系統功能說明:系統應該做什麼?用例模型 :增加三個詞for each user。

②驅動軟體開發過程,rup三大特點中第一大特點為「用例驅動」。構架是系統在其所處環境中最高層次的概念。軟體系統的構架是指通過接**互的重要構件的組織和結構,這些構件又由一些更小的構件和介面組成。

rup三大特點中第二大特點為「以構架為中心」。工作流程是在業務中執行的活動序列,它對於業務主角個體生成乙個可見值結果。迭代是指帶有已建立基線的計畫和評估準則的獨特活動序列,迭代生成內部或外部的發布版本。

增量是指在後續迭代結束後,兩個發布版本之間存在的差異或差值。

rup三大特點中第三大特點為「迭代和增量的過程」。在軟體過程組織的環境中,個人或協同工作的小組的行為和職責定義為角色,角色代表專案中個人承擔的作用,並確定了如何完成工作。

活動是要求角色執行的工作單元。

工件是指一條資訊,該資訊:由過程生成、修改或使用;定義了職責範圍;受到版本控制。

里程碑是迭代正式結束的時間點,該時間點與發布時間點相對應。

階段是指專案相鄰兩個主要里程碑之間的時間段,在此期間要實現一組既定的目標、完成工件並決定是否進入下一階段。

3.rup二維結構生命週期:

橫軸通過時間組織,體現開發過程的動態結構。術語主要包括階段、里程碑、迭代和增量。

縱軸將內容組織為邏輯活動,體現開發過程的靜態結構,術語主要包括工作流程、活動、角色、工件。

4.rup靜態結構:九個核心工作流程。

工作流程代表了所有角色、活動與工件的邏輯分組情況,即軟體過程模式中的三個要素。九個核心工作流程組成:核心過程工作流程:前6個,核心支援工作流程:後3個。

業務建模:產生的主要工件為業務模型;

② 需求:用例方法:對需要的功能和約束進行提取、組織、文件化,理解系統所解決問題的定義和範圍。產生的主要工件為用例模型,使用者介面模型;

③分析設計:以構架設計為中心:產品的適應性、可擴充套件性。產生的主要工件為乙個設計模型、乙個分析模型(可選)。

④實現:產生的主要工件為實施模型(模型元素包括實施子系統和構件)。

⑤測試:產生的主要工件為測試模型(模型元素包括測試用例、測試過程和測試構件)+測試結果。

⑥部署:產生的主要工件為產品的乙個版本+文件培訓資料。

⑦配置和變更管理:產生的主要工件為配置管理計畫、變更請求、專案儲存庫和工作區。

⑧專案管理:產生的主要工件為商業理由、迭代計畫、風險管理計畫、質量保證計畫及相應的評估文件。

⑨環境:產生的主要工件為工作流程指南、工具、工具指南。

5.rup動態結構:四個階段。

每個階段由一次或多次迭代完成,迭代過程是受控的。

先啟階段:目標:建立業務用例、確定專案的邊界,結束里程碑:生命週期目標里程碑。

②精化階段:目標:建立穩定的構架、編制專案計畫、淘汰專案中最高風險的元素,結束里程碑:生命週期構架里程碑。

③構建階段:目標:所有構件和應用程式功能被開發並集成為產品、所有的功能被詳盡的測試,結束里程碑:最初操作效能里程碑。

④產品化階段:目標:將軟體產品交付給使用者群體,結束里程碑:產品發布里程碑。

6. rup與螺旋模型異同點:

相同點:二維迭代特性。

重複一系列組成系統生命週期的迴圈;每次迴圈的結束是向使用者交付產品的乙個執行版本;每個迴圈由若干次迭代組成;每次迭代需要進行風險分析處理;每次迭代結束的標誌是交付乙個增量。螺旋模型:每次迭代歷經笛卡兒座標系中四個象限的四個方面活動,rup:

每次迭代歷經九個核心工作流程中的若干個。

不同點:螺旋模型未給出每次迭代過程結束交付的增量原型的具體要求;也未給出不同次迭代在歷經的笛卡兒座標系中四個象限的四個方面活動的內容與重點的不同。rup將整個生命週期劃分為四個階段,明確給出了每個階段內的若干次迭代過程完成後交付的增量的具體要求,即四個階段的主要里程碑——生命週期目標里程碑、生命週期構架里程碑、最初操作效能里程碑和產品發布里程碑;同時詳細闡述了不同階段中的不同迭代過程歷經的九大核心工作流程中活動內容的重點和強度的不同;提供了對每次迭代過程中不同核心工作流程活動的並行化支援。

rup的二維生命週期結構對「迭代」意義的體現比螺旋模型更深刻、具體、詳盡、全面,更具可操作性。

7. rup的優點:

相對瀑布類模型:將成本風險進一步降低為獲得一次增量所需費用;進一步降低了產品不能按計畫投放市場的風險;使專案開發更能適應專案需求的變化。

相對螺旋類模型:用於指導需求不明確、不穩定的專案開發時具有更強的可操作性。

8.rup人員——角色:分析員、開發人員、測試員、經理、其他角色。

角色的意義:

將角色與個體區分開。某種角色:乙個或多個相互協作的個體完成,乙個個體擔任一種或多種角色。

制定迭代計畫:確定每個階段、每個工作流程中需要的角色;

制定人員計畫:考慮人員的技能、能力經驗,將乙個或多個角色分配給乙個適合的人員完成。有效提高了專案中人力資源的利用率。

缺陷:論述不夠深入,忽略了角色的質量,未給出角色的組織管理方式、角色間的相互地位關係和互動方式。體現過程可操作性的乙個重要方面,rup未給出。

9.rup方法:

(1)用例及用例驅動。用例是能夠向使用者提供有價值結果的系統中的一種功能。所有的用例合在一起構成用例模型。

採用用例的兩個原因:①用例被證明是捕獲需求的一種有效方法。達到需求捕獲的第乙個目標:

發現多樣性的需求(傳統的系統功能說明:系統應該做什麼?用例模型 :

增加三個詞for each user),達到需求捕獲的第二個目標:以適用於使用者和開發人員的方式加以表示;②用例驅動整個過程。

(2) 以構架為中心。構架描述:5個檢視:

用例模型檢視、分析模型檢視、設計模型檢視、實施模型檢視、實現模型檢視。每個檢視是對應模型的精華與核心部分。意義:

①理解系統,②組織開發,③鼓勵重用和進化系統。

(3)在物件導向的分析設計中採用uml進行視覺化建模。

(4)物件導向的設計與構件實現。

10.rup產品——工件:

定義:專案期間生成的中間或最終產品。

工件型別:

根據rup的各工作流程:劃分為業務建模工件、需求工件、分析設計工件、實施工件、測試工件、部署工件、配置與變更管理工件、專案管理工件、環境工件;

根據物流方向:劃分為輸入工件、輸出工件和輔助工件;

根據存在形式:劃分為模型、模型元素、文件、源**、可執行檔案。

11.rup特點:

優點:作為一種軟體過程:rup具有二維迭代性,有利於降低風險、適應需求變化;rup是可配置的過程,具有通用性;

作為一種軟體過程模式:相對傳統的軟體生命週期模型具有較強的可操作性;

作為一種軟體過程產品:具有實用性、可操作性與可實現性。

缺陷:與軟體過程模式配置操作相關的因素

1 軟體過程模式中生命週期、人員、方法、產品四大要素之間的相互關係和相對優先順序;

2 各生命週期元素間的相互關係和相對優先順序;

3 人員間的協作關係與協作方式、人員的質量、各種人員的相對優先順序;

4 各種方法間的相互關係及相對優先順序;

5 各種產品的相對優先順序。

結論:rup是乙個具有突出優點的軟體過程模式;rup還很不完整,在實際應用中仍需進一步吸收其它優秀的軟體開發實踐經驗以對其進行補充和完善。

第3章敏捷過程

1.什麼是ap:

敏捷軟體開發宣言:軟體團隊具有快速工作、快速響應變化的能力,制訂了4條基本價值觀和12條原則。敏捷過程(agile process)是一種典型的軟體過程模式,對軟體過程模式中的四大要素(生命週期、人員、方法、產品)及相互關係均進行了論述。

2.ap流派:極限程式設計xp、scrum、動態系統開發方法dsdm、水晶系列方法、開放式原始碼、適配性軟體開發asd、適配性軟體開發asd。

3.ap的4條價值觀:

①個體和互動勝過過程和工具。

人是軟體專案獲得成功最為重要的因素,當然,不好的過程和工具也可以使最優秀的團隊成員失去效用、合作、溝通以及互動能力要比單純的軟體程式設計能力更為重要;合適的工具對於成功來說非常重要,工具的作用不可被過份地誇大,建議從使用小的工具開始。

結論:團隊的構建(包括個體、互動等)要比專案環境(包括過程、工具)的構建重要得多;應該首先致力於構建團隊,然後再讓團隊基於需要來配置環境。

②可以工作的軟體勝過面面俱到的文件。

專案評估理論與方法知識點總結

第一章 專案評估概述 1 專案評估 定義 專案評估是一門實用性很強的專業必修課程,它以投資專案為研究物件,著重從經濟 技術的可行性方面進行評估和分析,為專案決策提供依據。狹義專案評估 對於乙個專案的經濟性的評價和審定,即按照給定的專案目標權衡專案的經濟得失並給出相應結論的一種工作。廣義專案評估 一種...

軟體專案管理知識點總結

第一章概述 1專案是指在一定約束條件下具有特定目標的一項一次性任務。2.專案的特點 一次性 有確定的起點和終點 目標明確性 成果性目標,約束性目標 整體性 開展的活動密切相關 獨特性 每個專案都是唯一的 不可逆轉性 無論結果如何,專案結束,結果確定。3.專案的生命週期 專案啟動 專案計畫 專案實施 ...

軟體工程知識點

3 軟體工程原則 抽象 資訊隱蔽 模組化 區域性化 確定性 一致性 完備性和可驗證性。1 抽象 2 資訊隱蔽 3 模組化 4 區域性化 5 確定性 6 一致性 7 完備性 8 可驗證性 3.2 結構化分析方法 1 需求分析 需求分析方法有 1 結構化需求分析方法 2 物件導向的分析方法。2 結構化分...