前言


通过看视频,对于UML也有了一些初步的了解。前面也介绍了UML的三个基本块规则和机制,只是这些东西就像是一个个机器的零部件。要组合起来才干发挥作用。

所以,实例才是验证自己学习好坏标准,以下我结合机房收费系统画了UML的九个实例图,如有认为不合适的地方,请大家多多不吝赐教:

类图(Class Diagram)


类图是描写叙述系统中的类,以及各个类之间的关系的静态视图。可以让我们在正确编写代码曾经对系统有一个全面的认识,在系统的整个生命周期都是有效的。

实比例如以下:

对象图(Object Diagram)


对象图所使用的表示符号与类图差点儿全然同样,它是类图的实例,它们的不同点在于对象图仅仅是显示类的对象实例,而不是实际的类。一个对象是类图的一个实例,因为对象存在生命周期,因此对象图仅仅能在系统某一时间段存在。对象图是类图的一种实例化图,描写叙述系统在某个时刻可能包括的对象和相互关系。实比例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


用例图(Use CaseDiagram)


它从用户角度描写叙述系统的功能。

说明的是谁要使用这个系统,以及他们使用该系统能够做些什么。用例图描写叙述了一系列的角色和使用案例及它们之间的关系。

一个用例图包括了多个模型元素,如系统、參与者和用例,而且显示了这些元素之间的各种关系,如泛化、关联和依赖。实比例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


活动图(ActivityDiagram)


描写叙述为满足用例要求所要进行的活动以及活动间的约束关系有利于识别并行活动。

可以演示出系统中哪些地方存在功能。以及这些功能和系统中其它组件的功能怎样共同满足前面使用用例图建模的商务需求。

活动图是使用例图所描写叙述的行为详细化。

实比例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


状态图(State Diagram)


描写叙述一类的对象的全部可能的状态以及事件发生时状态的转移条件。通常状态图是对类图的补充,实际上并不须要为全部的类绘制状态图,而仅仅须要为那些有多个状态、而且其行为受外界环境的影响而会发生改变的类绘制状态图。能够捕捉对象、子系统和系统的生命周期。

他们能够告知一个对象能够拥有的状态,而且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。一个状态图应该连接到全部具有清晰的可标识状态和复杂行为的类;该图能够确定类的行为,以及该行为怎样依据当前的状态变化,也能够展示哪些事件将会改变类的对象的状态。实比例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


序列图(SequenceDiagram)


用于显示对象间的动态合作关系。它强调对象之间消息发送的顺序,同一时候也显示对象之间是怎样交互的(交互过程),它强调的是时间和顺序。

实比例如以下:


协作图(CollaborationDiagram)


和序列图相似。它也显示对象间的动态合作关系,只是,除了显示信息交换外,协作图还显示对象以及它们之间的关系,它强调的是通信关系(怎样通信的)。能够看成是类图和顺序图的交集。

实比例如以下:

构件图(ComponentDiagram)


描写叙述用来建模的软件构件(如:代码部件,jar文件、EJB文件等)的物理结构以及各部件之间的依赖关系。一个部件可能是一个资源码部件、产品、文件、一个二进制部件或一个可运行部件。

构件图有助于分析和理解部件之间的相互影响程度。这些图由构件标记符和构件之间的关系构成。实比例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


部署图(Deployment Diagram)


描写叙述一个系统的拓扑结构,定义系统中软硬件的物理体系结构。它能够显示实际的计算机和设备(用节点表示)以及它们之间的连接关系。也可显示连接的类型及部件之间的依赖性。

在节点内部。放置可运行部件和对象,以显示节点跟可运行软件单元之间的相应关系。

比如计算机和设备,以及它们之间是怎样连接的。部署图的使用是开发者、系统集成人员和測试人员。

实比例如以下:


总结:

这九种图在软件开发中负担着各自的作用。开发的不同阶段,可能会用到不同的UML图。这就须要对它有足够的熟悉。才干够非常好的去完毕一个系统的完整的UML图。所以。我仅仅是每一个图画了一个小样例。认知有限,希望大家多多指导。

UML图与机房收费系统实例的更多相关文章

  1. UML实战总结——机房收费系统UML第一版部分图展

    距离机房收费系统已经过去了近2个月之久,如今的UML图才出来,从软件开发设计的逻辑上来讲这是顺序有问题的,不过,对于我们而言,而且是初次用面向对象的思想去设计和建模,就当是UML的一个实战练手的项目吧 ...

  2. 机房收费系统——UML类图

    在对一个软件系统进行设计和建模的时候,一般是从构造系统的基本词汇開始,包含构造这些词汇的基本属性和行为. 系统分析师假设要对所设计的系统清晰认识.还有考虑这些基本词汇之间的关系.而假设把这些行为可视化 ...

  3. 机房收费系统——UML用例图

    用例图(Use Case Diagram)是由软件需求分析到终于实现的第一步,说明的是谁要使用系统,以及他们使用该系统能够做些什么,是九种图里面最为基础且很重要的一张图.     用例图包含3方面内容 ...

  4. 机房收费系统之处理流程图与DFD图

    一直想把自己画的图拿出来与大家分享,不过说来惭愧,一是图还没画完,二是图画的确实不咋地, 对于机房收费系统还是感到混乱,图画的不好大家多多指正. 系统处理流程图: DFD图

  5. VB.NET 机房收费系统项目总结

    VB.NET机房收费系统项目总结 从2013年5月3日——2013年8月20日历时三个多月的.NET机房收费系统终于完成了.项目做完了,真有一种如释重负的感觉. 下面我将从文档.UML图,代码这三个方 ...

  6. VB.NET机房收费系统总结

    总感觉这次机房收费系统非常有份量,一直没有下手总结,从2014-7-27至2014-9-29.这中间有太多故事和成长.首先说一下两次机房收费系统的不同,它是我们从面向过程向面向对象的一个转变.在.NE ...

  7. VB.NET版机房收费系统---七仙女之系统登录

    VB.NET第一版机房收费系统,告一段落,验收的时候.问题也是大大的存在,没实用上设计模式,什么触发器.存储过程,都没实用上.看看其她小伙伴的,七层实现登录?那是什么东东,相比較我的三层而言,多了两倍 ...

  8. VB.NET<机房收费系统个人重构版>你都学会了什么(之五)

    接着上篇我们说的配置文件,今天我们来说一下接口. 1.UML图 2.三层架构 3.Sqlhelper 4.配置文件 5.接口 6.设计模式 什么是接口呢?我们可以将接口理解为用于沟通的中介的抽象化.可 ...

  9. .NET分层登陆——机房收费系统再总结

    去年的时候,我写过一篇机房收费系统登陆的总结文章,那是站在VB的基础上,直接查询数据库实现的登陆.是很初期的知识.如果想了解详情,请看VB查询数据库之登陆窗体--机房收费系统总结(一). 今天,我要换 ...

随机推荐

  1. Oracle11g 审计介绍

    审计是记录数据库上方方面面操作.事件等信息,是数据安全管理的重要手段. 开启审计,虽然不同级别的审计会有不同,但是对数据库的性能是有影响的,并且占用存储空间. --1.创建审计数据专用表空间 crea ...

  2. CAD参数绘制实心圆弧填充(网页版)

    js中实现代码说明: function DrawPathToHatch1() { //把路径的开始位置移动指定的点 //参数一为点的X坐标 ,参数二为点的Y坐标,参数三为该点处开始宽度,对Polyli ...

  3. vue之Render函数

    (1)什么是Render函数 先来看一个场景,在博客网中,一般有一级标题.二级标题.三级标题...,为了方便分享url,它们都做成了锚点,点击后,会将内容加载网址后面,以#分隔. 例如‘特性’是一个& ...

  4. IIS启用32位应用程序兼容

    针对服务器出现html和jsp页面都可以应用,但唯独asp页面打不开的一种情况 win7的IIS运行在32状态下,原因是ASP程序必须在32位下才能使用ACCESS 设置办法: 打开IIS管理器,点应 ...

  5. 【C++】使用find函数快速定位元素

    当有了STL,你还在用遍历的土方法定位元素吗? 今天就来介绍一下,如何使用algorithm库里的find函数快速定位数组或向量中的元素. 首先当然要包含头文件: #include <algor ...

  6. 牛客练习赛29 B 列队

    [题解] 把某一行或某一列有4个1的都统计出来,然后首尾接上尽量长的,注意首尾不能选上同一个矩阵,要维护前缀.后缀1最大值和次大值. 还要注意维护矩阵内连续1的长度,因为可能有 0 0 0 0 这种情 ...

  7. codeforces 407 div1 A题(Functions again)

    codeforces 407 div1 A题(Functions again) Something happened in Uzhlyandia again... There are riots on ...

  8. 集训第四周(高效算法设计)F题 (二分+贪心)

    Description   A set of n<tex2html_verbatim_mark> 1-dimensional items have to be packed in iden ...

  9. i2c精简总结

    基本的i2c的编程包括:读数据,写命令,写数据 有关i2c的时序需要的话查看这里http://blog.csdn.net/qqliyunpeng/article/details/41511347 1. ...

  10. git-svn 简易 操作指南

    git-svn 简易 操作指南 本文用以为使用svn的用户提供git操作指导,方便使用git管理用户自己的 本地修改 1:下载 库 下载全部历史记录 git svn clone svn://fhnws ...