Professional Documents
Culture Documents
B002軟體開發生命週期
B002軟體開發生命週期
B002軟體開發生命週期
軟體開發生命週期模型 定義
軟體開發生命週期模型(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流程導向的品質管理系統。
參考資料
李允中 博碩 軟體工程