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