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

  1. Use graphic notation to communicate more clearly than nature language (imprecise) and code (too detailed)

    使用圖形符號比自然語言和程式碼能更清晰地交流

  2. Help acquire an overall views of a system

    幫助獲取系統的整體視圖

  3. UML is not dependent on any one language or technology

    UML不依賴任何語言和技術

  4. 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

  1. UP is an iterative process.
  2. UP practices provide an example structure for how to do and thus how to explain OOA/D
  3. 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

Tags: