軟體開發流程初探

2021-08-18 17:36:06 字數 2240 閱讀 5569

一、瀑布模型

優點

缺點

二、增量模型

優點

缺點

三、螺旋模型

優點

缺點

unified process(up)代表了一種軟體開發的主流方法,其三大特點是:

1.受控的迭代式增量開發:允許在開發之初的不完整和不完美,但隨著迭代的推進,產品工件逐步趨向穩定

2.軟體開發是由用例驅動的:用例就是使用者使用產品時做出的一系列動作的一種表示,體現了需求,開發過程以用例為指導

3.軟體開發是以構架設計為中心的:架構包括軟體功能模組以及系統和介面的設計,是軟體系統的藍圖和框架用例的構建和迭代工作就體現了使用者驅動,因為用例和後續的反饋評估能準確反映需求。而每次開發前和交付前的風險評估則體現了風險驅動的思想,估計風險發生的可能性,並制定風險管理措施規避這些風險。

up依照軟體生命週期在時間上將開發過程分解為四階段:inception(初始)、elaboration(精化)、construction(構建)、transition(移交)。

初始階段

為系統建立業務案例(business case)並確定專案的邊界。包括專案的驗收規範、風險評估、所需資源估計、階段計畫等。確定專案邊界需要識別所有與系統互動的外部實體,並在較高層次上定義外部實體與系統互動的特性,主要包括識別外部角色、識別所有用例並詳細描述一些重要的用例。

里程碑:生命週期目標(lifecycle objective) 里程碑,包括一些重要的文件,如:專案構想(vision)、原始用例模型、原始業務風險評估、乙個或者多個原型、原始業務案例等。需要對這些文件進行評審,以確定正確理解用例需求、專案風險評估合理、階段計畫可行等。

精化階段

分析問題領域,建立健全的體系結構基礎,編制專案計畫,完成專案中高風險需求部分的開發。

里程碑:生命週期體系結構(lifecycle architecture) 里程碑。包括風險分析文件、軟體體系結構基線、專案計畫、可執行的進化原型、初始版本的使用者手冊等。通過評審確定軟體體系結構已經穩定、高風險的業務需求和技術機制已經解決、修訂的專案計畫可行等。

構建階段

完成所有剩餘的技術構件和穩定業務需求功能的開發,並集成為產品,詳細測試所有功能。構建階段只是乙個製造過程,其重點放在管理資源及控制開發過程以優化成本、進度和質量。

里程碑:初始執行能力(initial operational capability) 里程碑。包括可以執行的軟體產品、使用者手冊等,它決定了產品是否可以在測試環境中進行部署。此刻,要確定軟體、環境、使用者是否可以開始系統的執行。

移交階段

確保軟體對終端使用者是可用的。產品化階段可以跨越幾次迭代,包括為發布做準備的產品測試,基於使用者反饋的少量調整。

里程碑:產品發布(product release) 里程碑。確定最終目標是否實現,是否應該開始產品下乙個版本的另乙個開發周期。在一些情況下這個里程碑可能與下乙個週期的初始階段的相重合。

1.根據up,需求的分析、設計、實現、迭代等流程都是由固定長度的,有較為明確的時間限制

2.通過迭代增量建模思想提高了風險控制能力,迭代計畫安排是風險驅動的,能保證階段性工作的順利實施。

it專案管理中主要有「工期、質量、範圍/內容」 三個元素。在合同固定條件下,工期是和使用者商定好的。而質量,包括產品質量和過程質量,都有相應的衡量的標準,前者根據使用者的需求可以明確,後者由專案團隊的開發經驗和自身可調配的資源決定。因此,在合同固定條件下,工期和質量都是不太有調整的彈性的。但範圍和內容,一段時期後交付什麼樣的成果,則是專案團隊評估和自己把握的。

嘗試使用tower作為專案管理的工具。我們是乙個七人小團隊,其中我是pm的角色,我們準備做乙個掃碼點餐支付系統,現在正處在inception階段。

專案按照up規範劃分成四個階段,後續階段暫時只給出核心的工作流,而第一階段細化成了七個小目標,按照之前大致的分工(產品調研或是技術研究)各自去認領任務

我們約定了下次開會的時間,並寫進tower的日曆中

本週末是第一階段的ddl,明確了需要產出的製品,這三份製品在開會後由團隊成員共同完成

軟體開發流程

課程的主講老師是msdn的特約講師邵志東先生。課程中間,邵志東老師介紹了軟體開發流程 程式設計師基本素質 關於質量控制和開發模板及專案組建設。邵老師首先介紹了軟體開發的流程,他把軟體開發分為了兩大類,即專案開發及產品開發。專案開發是公司根據某一客戶的需求單獨為某一客戶訂製的軟體 產品開發是公司針對某...

軟體開發流程

軟體開發流程 software development process 即軟體設計思路和方法的一般過程,包括設計軟體的功能和實現的演算法和方法 軟體的總體結構設計和模組設計 程式設計和除錯 程式聯調和測試以及編寫 提交程式。第一步 需求調研分析 1相關系統分析員向使用者初步了解需求,然後用word列...

軟體開發流程

軟體開發流程 software development process 即軟體設計思路和方法的一般過程,包括設計軟體的功能和實現的演算法和方法 軟體的總體結構設計和模組設計 程式設計和除錯 程式聯調和測試以及編寫 提交程式。目錄開發流程 軟體維護 軟體公升級 報廢處理 舉例解析 第一步 需求調研分析...