B002軟體開發生命週期

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 17

軟體開發生命週期

軟體開發生命週期模型 定義
 軟體開發生命週期模型(Software Development
Life Cycle Model,SDLC)
 一系列的步驟或階段,提供開發者可遵循之開
發流程。
軟體開發之各重要階段

1. 需求(Requirement)
2. 規格(Specification)
3. 設計(Design)
4. 實作(Implement)
5. 整合測試(Integrated Test)
6. 上線(On line)
7. 維護(Maintain)
軟體開發生命週期模型分類
 軟體開發生命週期模型:
1. 瀑布模型(Waterfall Model) [Roce , 1970]
2. 漸增模型(Incremental Model) [Mills , 1971]
3. 快速雛形法(Prototyping Model) [Bally , 1977]
4. 螺旋模型(Spiral Model) [Boehm , 1988]
5. Rational統一流程(Rational Unified Process,
RUP) [Gredy , 1988]
軟體開發生命週期模型說明
 瀑布模型(Waterfall Model):
瀑布模型(Waterfall Model,Royce(1970))也稱
為古典生命週期(classic life cycle)或線性序列模
型。通常劃分5~7階段不等,例如需求、分析、
設計、實作、整合及維護等階段。
 漸增模型(Incremental model):
漸增模型(Incremental model, Mill(1971)) ,重
複運用線性序列模型。每個線性序列產出一個
可交付的軟體釋出版本。
軟體開發生命週期模型說明
 快速雛形模型(Rapid prototyping model):
需求獲得的方法。客戶通常只大概說明軟體所要達成的目標,而
不會一開始就給定詳細的輸入、處理或輸出需求。開發者可能無
法完全確定演算法的效率,作業系統的適用性,或人機互動的形
式。進一步藉由雛型確認需求。
1. 快速設計:先完成可看到的介面,例如畫面或報表,可使用現
有模板 (Template)或報表及格式產生器(Report or Form
Generator)以加快速度。
2. 建置軟體雛形。
3. 評估需求:藉由使用者的實際操作以驗證需求。
4. 循環:上述程序週而復始進行,直到確認使用者
之需求,才進行後續之分析、設計、實作與整合測試。
軟體開發生命週期模型說明
 螺旋模型(Spiral Model) :
Boehm(1988)將瀑布模型的最後步驟導回開始,
成為一個循環(Cycle),具備回饋與檢驗機制。
軟體開發程序定義
 軟體開發程序(Software Develop Process)強調達
成某一特定目標的一系列活動。
 Humphery(1989):「軟體開發程序是一組工具、方
法及作法,用以製造軟體產品」。
 常見的SDP:
1. Rational 統一流程 (Rational Unified Process,
RUP)。
2. Extreme Programming, XP。
Rational Unified Process
 Rational統一流程(Rational Unified Process,簡
稱RUP)由Grady Booch等人提出
 三大特點:
1. 軟體開發是一個疊代(Iteration) 的過程。
2. 軟體開發由Use Case驅動。
3. 軟體開發以架構設計(Architectural Design)
為中心
 RUP 搭配 UML進行物件導向分析與設

RUP軟體開發四階段
1. 起始階段(Initial phase):分析可行性、 專案
範圍,評估專案所需的技術、時程與經費,以及
系統預期達到之效益,並且了解商業模型及需求。
2. 精細規劃階段(Elaboration phase):擬定專案
計畫書、設計系統架構、確認商業模型及需求。
3. 建構階段(Construction phase):建構軟體產
品並進行單元測試、整合測試。
4. 移轉階段(Transition phase):將軟體交付給客
戶進行驗收測試,並進行使用者訓練。

RUP過程採重覆往返且漸增(Iterative and
Incremental)方式進行,是螺旋型生命週期。
RUP 特點與動機
 『分析一點點、設計一點點、建置一點點、佈署一
點點』
 每一階段都可以重覆好幾次核心流程,階段與階
段之間也可以往返好幾次。而且每完成一個階段
便產出一個可執行的釋出版本。如此可維持短的
交付時間。
RUP有九個核心工作流程(Core
Workflows)
1. 商務塑模(Business Modeling):了解組織之作
業流程、角色和責任。
2. 需求(Requirements):描述系統應該做甚麼,並
對功能和限制,進行定義和規範。
3. 分析和設計(Analysis & Design):將需求轉化成系統的分析
模型與設計模型。
4. 建置(Implementation):實作元件(element)、單元測試(unit
test),並完成可執行之系統。
RUP有九個核心工作流程(Core
Workflows)
5. 測試(Test) :驗證所有元件的正確性,檢驗所有的需
求已被正確實作。RUP的(iterative and incremental
method)有機會盡早找出軟體缺陷並改正。

6. 部署(Deployment):將軟體產品交付給最終使用者。
工作包括:軟體包裝、軟體安裝、使用者操作手冊。
7. 組態和變更管理(Configuration & Change
Management):識別和管理組態項目。
8. 專案管理(Project Management)。
9. 環境(Environment)。
RUP的優點
1.結合許多成功的方法論,軟體開發流程完整 。
2.反覆式(Iterative)開發流程可降低開發風險 。
3. UML為分析與設計語言,軟體開發人員的溝通
與資訊交換有共同語言 。
4.使用案例(Use-Case)做為整個Rational
Unified Process的核心 。
5.工具支援:Rational Rose。
6.定義軟體開發各階段中所參與之角色之責任與
活動。
RUP的缺點

1.學習困難:因包涵太廣泛
2.時間成本大
3.支援工具僅限於Rational自己的產品 。
ISO 9000
 ISO9000是品質管理系統標準,幫助組織建立完
整且能持續改善的品質系統。

 ISO 9000-3的指導方針:可做為軟體產業Plan-
Do-Check-Action流程導向的品質管理系統。
參考資料

 李允中 博碩 軟體工程

You might also like