UML學習筆記—基本概念和初始階段
chpater1
1、什麼是分析和設計
分析:對問題和需求的調查研究
設計:滿足需求的概念上的解決方案
做正確的事(分析)和正確地做事(設計)
2、什麼是Object-Oriented-Analysis (面向對象分析)
在問題領域發現和描述對象(或概念)**從問題發現需求然後從需求中抽象出對象* *
finding and describing the** concepts in (not software object or class) **the problem domain
3、什麼是Object-oriented-Design(面向對象設計)
定義軟體對象以及他們如何協助以實現需求
defining how the software objects collaborate to fulfill the requirements
4、什麼是UML(統一建模語言)
統一建模語言 是描述、構造和文檔化系統製品的可視化語言
a visual language for specifying, constructing and documenting the artifacts of systems
5、為什麼需要UML
-
Use graphic notation to communicate more clearly than nature language (imprecise) and code (too detailed)
使用圖形符號比自然語言和程式碼能更清晰地交流
-
Help acquire an overall views of a system
幫助獲取系統的整體視圖
-
UML is not dependent on any one language or technology
UML不依賴任何語言和技術
-
UML move us from fragmentation to standardization
UML使我們從零碎到標準化
chpater2
1、什麼是UP(統一過程)
軟體開發過程描述了構造、部署和維護軟體的方式
UP is an Iterative and Evolutionary Development,Sample structure to apply OOA/D and UML
RUP(Rational Unified Process):對UP的精化
2、為什麼使用UP
- UP is an iterative process.
- UP practices provide an example structure for how to do and thus how to explain OOA/D
- UP is flexible, and can be applied in a lightweight and agile approach
3、什麼不是UP
waterfall lifecycle 試圖在編程前定義大部分或全部的需求,是一種linear方法
4、What is Iterative and Evolutionary Development(迭代和進化式開發)?
迭代: development is organized into a series of short, fixed-length (for example, three-week) mini-projects 開發被組織成一系列短的、定長的小項目,相當於每次只實現系統的一部分
迭代的優點(P17)
- less project failure, better productivity, and lower defect rates
- early rather than late mitigation of high risks
- early visible progress
- early feedback, user engagement, and adaptation leading to a refined system that more closely meets the real needs of the stakeholders
- managed complexity
- the learning within an iteration can be methodically used to improve the development process itself, iteration by iteration
Inception初始階段
chapter4
1、什麼是Inception
預測項目的範圍、設想和業務案例(Envision the product scope, vision, and business case)初始階段不是需求分析而是可行性分析
解決的主要問題:涉眾是否對項目設想達成基本一致,項目是否值得投入認真的調查
Do the stakeholders have basic agreement on the vision of the project, and is it worth investing in serious investigation
2、初始階段會創建的製品(Artifacts)
- Vision and Business case 設想和商業用例
- Use-case Model 用例模型——按功能需求,在初始階段確定大部分用例名並詳細描述10%的用例
- Supplementary Specification 補充性規格說明——考慮對架構會產生主要影響的非功能性需求
- Glossary 辭彙表——描述領域術語和數據字典
- Risk list and Risk Management Plan 風險列表和風險管理計劃
- Prototypes and proof-of-concepts 原型和概念證明
- Iterations Plan 迭代計劃
- Phase Plan and Software Development Plan 階段計劃和軟體開發計劃
- Development Case 開發用例
chapter6
1、什麼是用例
用例是文本形式的情節描述,說明某參與者使用系統實現某些目標
用例圖:P68
2、用例的組成
用例組成 | 注釋 |
---|---|
用例名稱 | 動詞開始 |
範圍Scope | 歸屬的系統 |
級別 | 用戶目標或子功能 |
主要參與者Actor | |
涉眾及關注點Stakeholder and Interests | 用例涉及到哪些用戶以及他們的利益,例如管理員希望能快速、準確添加數據並且沒有錯誤發生 |
前置條件 Preconditions | 用例開始前必須為真的條件,例如用戶必須已登錄 |
後置條件 Postconditions | 用例完成必須滿足的條件,例如庫存資訊被更新 |
主成功場景 Main Success Secnrio | 用例主事件流 |
拓展 Extensions | 對主事件流的拓展,例如密碼錯誤時會發生的事件流 |
特殊需求 | 用例相關的非功能性需求,例如介面支援中英文、響應時間小於多少秒 |
參考文獻
(美)Carig Larman著. UML模式和應用(原書第三版)[M]. 李洋等譯. 機械工業出版社, 2006-05