转自http://www.cnblogs.com/wangkangluo1/archive/2013/02/21/2920606.html

四、UML建模工具

比较流行的有Rational Rose ,Microsoft Visio、Enterprise Architect 、Visual UML等。我现在使用的UML建模工具是Enterprise Architect 8.0,推荐使用这款,比较好用。

五、UML的图(重点)

1、用例图(use case diagram)

用例图(Use Case Diagram)是被称为参与者(Actor)的外部用户所能观察到的系统功能的模型图

列出系统中的用例和参与者

显示哪个参与者参与了哪个用例的执行

核心概念

用例:系统中的一个功能单元,可以被描述为参与者与系统之间的一次交互作用

参与者、参与者泛化

用例与参与者之间的关系:关联

用例之间关系:扩展、包括、泛化

推荐使用场合

业务建模、需求获取、定义


某图书馆管理系统:

是一个基于Web的计算机应用系统;

读者可以查询图书信息以及借阅信息;

读者可以通过系统预约所需的图书;

图书馆工作人员利用该系统完成读者的借书、还书业务;

图书馆工作人员可以对图书信息、读者信息等进行维护;

对于到期的图书,系统会自动向读者发送催还信息;

管理员会定期进行系统维护;

……

UC01:“借书”用例文档

用例名称:借书

用例标识:UC01

涉及的参与者:工作人员

涉及的用例:无

描述:工作人员利用该用例为读者完成借书过程

前置条件:工作人员必须登录到当前系统

涉众利益:

读者:能够方便的找到并借出所需的图书

工作人员:能够快速并准确的完成借书工作

基本事件流:工作人员帮助读者借阅图书

1.用例起始于读者带着所要借的图书来到借阅前台;

2.工作人员录入读者信息;

3.工作人员逐一录入所有的图书信息:

* 3.1 工作人员录入一本图书信息;

* 3.2 系统确认该读者可以借阅当前图书;

4.工作人员确认本次借阅信息;

5.系统记录本次借阅情况。

后置条件:系统将读者借阅信息正确地记录到数据库中

备选事件流

2a. 读者身份不合法

2b. 读者存在欠费信息,不允许借书

3.2a. 该读者不允许借阅当前图书

字段列表:

5. 借阅信息主要包括:读者图书证号、图书编号、借阅日期(默认为当天日期)、借阅天数以及归还日期。

业务规则

3.2 系统根据当前读者的借阅规则来判断是否可以借阅图书;而借阅规则取决于读者的类型(如本科生、研究生、老师等)和图书的类型(如科技类、文学类、新书等),并可动态配置

非功能需求:无

设计约束:无

部署约束:无

未解决的问题

2b. 读者存在多少欠费记录时,才不允许借书?

3.2 借阅规则的具体配置情况需和用户进一步讨论?

2、活动图(activity diagram)

活动图(Activity Diagram)

通过动作来组织,主要用于描述某一方法、机制或用例的内部行为

核心概念

状态、活动、组合活动、对象

转移、分支

并发、同步

泳道

推荐使用场合

业务建模、需求、类设计

3、静态结构图

类图(Class Diagram)

是软件的蓝图,详细描述了系统内各个对象的相关的类,以及这些类之间的静态关系。

核心概念:类、接口、依赖、关联、泛化、实现

类图展示实体类的静态关系:

对象图(Object Diagram)

表示在某一时刻类的对象静态结构和行为。

核心概念:对象、链接、多重性

对象图展示我当前借书情况:

包图(Package Diagram)

展现有模型本身分解而成的组织单元(包)以及它们的依赖关系。

核心概念:包(、框架、层、子系统) 、依赖

包图展示系统分层结构:

组合结构图(Composite Structure Diagram)

描述系统中某一部分(组合结构)的内部结构,包括该部分与系统其它部分的交互点。

核心概念:组合结构、部件、端口、协议

组合结构图展示借书内部结构:

4、顺序图(Sequence Diagram)

顺序图(Sequence Diagram)

用于显示对象间的交互活动

关注对象之间消息传送的时间顺序

核心概念

对象、生命线、激活、交互、消息

交互帧(Interaction Frame)

推荐使用场合

用例分析、用例设计

“借书”用例实现的顺序图

5、交互纵览图(Interaction Overview Diagram)

交互纵览图(Interaction Overview Diagram)

活动图和顺序图的混合物

直观地表达一组相关顺序图之间的流转逻辑

核心概念

交互帧

分支、转移

推荐使用场合

用例分析、用例设计

交互纵览图组织多个顺序图

6、通信图(Communication Diagram)

通信图(Communication Diagram)

UML 1.x中称为协作图(Collaboration Diagram)

表示一组对象间关系以及交互活动

核心概念

对象、协作角色

协作、交互、消息

推荐使用场合

用例分析、用例设计

“借书”用例实现的通信图 

7、时间图(Timing Diagram)

时间图(Timing Diagram)

一种交互图,展现消息跨越不同对象或角色的实际时间信息;

具体描述单个或多个对象状态变化的时间点以及维持特定状态的时间段;

顺序图是表示交互的主要手段,可以在顺序图中增加时间约束来表明对象状态变化的时间点以及维持特定状态的时间段。

核心概念

时间约束、持续时间约束、生命线

状态、条件、事件

“打电话”顺序图的时间约束 

利用时间图描述时间约束 

8、状态机图(State Machine Diagram)

状态机图(State Machine Diagram)

UML1.x为状态图(Statechart Diagram)

利用状态和事件描述对象本身的行为

主要概念

状态、初态、终态、复合状态

事件、转移、动作

并发

推荐使用场合

类设计

“图书”类的状态机图 

9、构件图(Component Diagram)

构件图(Component Diagram)

封装类为构件

描述在系统实现环境中的软件构件和之间的关系

主要概念

构件、工件、接口(所供接口、所需接口)

依赖、实现

推荐使用场合

系统设计、实现、部署

构件图描述类的实现环境 

10、部署图(Deployment Diagram)

部署图(Deployment Diagram)

描述系统所需的硬件构件的物理部署

主要概念

节点、构件、位置

连接、依赖

推荐使用场合

系统设计、实施、部署

部署图描述系统部署情况 
分类:  uml

uml各类图--完整全面实例相关推荐

  1. UML活动图分析及用例生成实例

    1 背景 UML活动图(Activity Diagram)用于描述系统.软件工作流程,能够表达并发.循环.分支等结构,是一种常见的设计输出. 相比基于自然语言的设计文档,活动图具有更好的结构化程度.这 ...

  2. 使用实例解释UML类图

    使用实例解释UML类图   在我们的平常工作中,完成某个项目或者功能不可能直接打开项目讲解思路,更多的是使用某种图表来表达我们的思想,其中UML类图就是一种非常便利的手段. UML类图基础知识   类 ...

  3. uml类图设计系统详解实例

    UML 类图 2009-11-21 14:03        by         闫妍,         1098         阅读,         ...         评论,       ...

  4. 火车购票系统服务器端uml活动图,火车购票完整系统UML类图时序图状态图协作图活动图对象图用例图.doc...

    火车购票完整系统UML类图时序图状态图协作图活动图对象图用例图 <UML面向对象分析>课程 实践项目报告 项目名称: 网上订购火车票系统 项目组成员: 学 号: 班 级: 指导 教师: 2 ...

  5. UML类图实例 (动物)

    首先是复习一下UML中九种图的理解:http://xhf123456789plain.blog.163.com/blog/static/172880482201192222144421/ 画用例图:h ...

  6. 实例介绍UML顺序图使用

    UML顺序图你是否熟悉,本文向大家简单介绍一下,顺序图表示了随时间安排的一系列消息.每个分类角色显示为一条生命线,代表整个交互期间上的角色. UML顺序图和协作图均显示了交互,但它们强调了不同的方面. ...

  7. java uml类图举例,uml类图(uml类图实例作业)

    原发布者:dzq21cn 第4章UML类图[学习目标]·定义类图·为什么要建模类图·类图的主要标记符号·如何建模类图4.1UML基本类图面向对象设计的基础就是使用类.. UML是统一建模语言,一般用来 ...

  8. 基础(UML类图,设计原则)

    序言: 面向对象是PHP5之后增加的功能,是PHP走向现代语言的一个标志. 在过程式设计时代,PHP以学习成本低.入门快的特点赢得很多WEB开发者的青睐,但同时也限制了PHP的发展. 借鉴Java和C ...

  9. UML各种图总结-精华

    UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明.可视化.和编制文档的一种标准语言.下面将对UML的九种图+包图的基本概念进行介绍以及各 ...

最新文章

  1. python爬虫完整实例-python爬虫实例项目大全
  2. 矩阵方阵matlab,求助!!错误使用 inv 矩阵必须为方阵。
  3. 美团技术四面经历,作者已拿到Offer!
  4. 等式与不等式约束的序列二次规划(SQP)
  5. JavaWeb EL表达式, JSTL标签及过滤器综合学习
  6. vs连接Oracle 客户端库时引发 BadImageFormatException
  7. 基于linux在线预览
  8. Spark性能优化指南——高级篇【2】
  9. LINUX下,用脚本处理一个目录所有文件的代码
  10. java课设——租房管理系统
  11. elementUI Tree组件实现双击事件
  12. Windows下的U盘监控
  13. 酒店系统主服务器是什么意思,酒店主服务器硬件配置
  14. Hibernate第三讲:Hibernate主键策略和Hibernate的查询方案
  15. 用jQuery--实现todolist待办事项清单
  16. React获取到用户当前位置
  17. 实战:第十三章:工作中熬夜加班学到的
  18. keil当中报错FCARM - Output Name not specified, please check ‘Options for Target - Utilities‘
  19. PR,ROC,AUC计算方法
  20. 一篇文章让你从JAVA零基础入门`OOP`编程12.20

热门文章

  1. git 撤回 (git版本回退处理)
  2. 理清互联网金融的脉络(二)
  3. nodejs十六进制转字符串
  4. 超声在肝脏扫描15cm深度时的PRF应该用多大的值?
  5. 搜索引擎关键词优化可以怎么做?
  6. [转载] linux程序后台挂起demo——nohup
  7. 数字孪生技术海上风电场解决方案
  8. 茅台与小米搞饥饿营销?
  9. .npy文件的打开方式
  10. 我的无影云电脑初体验