UML综述
来源:互联网 发布:虚拟机网络电缆被拔出 编辑:程序博客网 时间:2024/06/05 19:39
UML(Unified Modeling Language)
What
是一种(设计软件蓝图的)可视化的面向对象的建模语言。
从不同角度对系统建模,并形成系统的不同视图。
在软件开发的各个阶段,使用不同的UML图对系统进行描述。
UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。
Why
使软件设计过程更标准,更规范。
标准统一就是为了交流。
降低维护成本、可复用。
How
采用面向对象技术设计软件系统时,
- 使用用例图来描述用户需求
- 使用类图、对象图、包图、构件图、部署图五种静态图来描述系统的静态结构
- 使用顺序图、合作图、活动图、状态图四种图描述系统动态行为
各阶段中,
- 需求:用例图
- 分析:
- 类图(静态结构)
- 顺序图、协作图、活动图、状态图(动态行为)
- 设计:类图、包图,对类的接口进行设计
- 实现:将类用某面向对象语言实现
- 集成与交付:构件、包、部署图
- 测试:单元测试:类图和类的规格说明书
- 集成测试:类图、包、构件图、合作图
- 系统测试:用例图测试系统功能
Details
基本结构块
1、事物(Things):构成模型图的一些基本图式符号,他们表示面向对象的基本概念。
结构事物:
类(Class)
接口(Interface)
协作(Collaboration)
用例(Use Case)
主动类(Active Class)
构件(Components)
节点(Nodes)
行为事物:
交互(Interaction)
状态机(State machine)
分组事物:
包(Package)包是把元素组织成组的机制,UML中唯一的组织机制。 一个包形成一个命名空间。
注记事物:注解(note)UML模型的解释部分
2.关系(Relationships):表示基本图式符号之间的关系
UML中4种关系
关联(Association):类之间的结构性关系
依赖(Dependency):使用关系(using)
泛化(Generalization):特殊/一般关系,继承关系,父子关系(is-akind-of)
实现(Realization):类元之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。
关系的扩展
1)扩展关系
扩展关系可以放置在所有的关系上,大多数扩展构造型都放置在依赖关系和关联关系上
2)包含关系
是一种构造型关系,它将一个基用例连接到一个包含用例
3、图(Diagrams):九种图从特定的视角对系统所作的抽象描述
Others
RUP(RationalUnified Process)统一软件过程
将一个周期的开发过程分为四个阶段
Inception(起始阶段)
为项目建立一个业务案例
Elaboration(细化阶段)
建立工程计划和合理的体系结构
Construction(构建阶段)
建造系统
Transition(提交阶段)
把系统提供给最终用户
基本特征:
迭代式增量开发(一个迭代是一个完整的开发循环)
用例驱动
以软件体系结构为中心
RUP对UML有效地补充
对软件开发过程的管理是为了更好地支持和促进软件开发;
软件开发成功与否的标志,不只是开发实现了用户需求的产品,
Link还包含了时间、成本、对维护与扩充的支持等重要因素,因此需要开发过程的有效支持。
UML是面向对象程序设计有力的建模工具,设计模式是面向对象中关键的技术,它们之间是一种相辅相成的关系。
- UML综述
- UML综述
- UML(一) 综述
- 第1章 UML综述
- 标准建模语言UML综述
- 综述
- UML
- UML
- UML
- uml
- UML
- UML
- UML
- UML
- uml
- UML
- UML
- UML
- 从博客园转来,第一篇不废话。。。
- oc特点总结
- SQL 更新
- 关于信息管理系统需求调研的几点建议
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- UML综述
- Android隐藏应用程序的图标
- 如何打造一份超级简历
- NSDate简单用法
- 使用Google code + SVN进行多人开发
- header导出Excel你做过吗?
- sql 查询
- java代码中获取classpath路径
- windows下体验Redis