前言


通过看视频,对于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. H1B工作签证·绿卡:美国留学的两个关键步骤

    月20日在留美学生家长群聚会上的发言稿一.H1B签证系美国最主要的工作签证类别,发放给美国公司雇佣的外国籍有专业技能的员工,属于非移民签证的一种.持有H1B签证者可以在美国工作三年,然后可以再延长三年 ...

  2. HDU_3792_(素数筛+树状数组)

    Twin Prime Conjecture Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  3. 【java_设计模式】建造者模式

    应用场景对生成对象进行链式配置好处:按需配置对象,灵活修改默认配置,比构造方法创建对象更直观. public static void init() {if (okHttpClient == null) ...

  4. Ubuntu-11.10中 vim和Gedit打开html文件中文乱码问题

    解决vim中文乱码方法:     打开/etc/vim/vimrc     添加代码:     set fileencodings=utf-8,gb2312,gbk,gb18030     set t ...

  5. 富文本编辑器复制Wod字体问题

    目前常用的富文本编辑器:百度版UEditor,wangEditor,ckeditor,kindeditor,TinyMCE.当Word复制文本粘贴到编辑器时,几乎都无法保证字体大小完全一致的问题. 想 ...

  6. Java随机数使用

    JAVA取随机数的三种方式: Math.random() System.currentTimeMillis() random.nextInt() 废话不多说,看代码: /** *取单个随机数 *Mat ...

  7. Json Web Token(JWT)详解

    什么是Json Web Token Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的 ...

  8. BZOJ1001 狼抓兔子 平面图转对偶图 最小割

    现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形: 左上角点为 ...

  9. nginx配置错误页面

    有时候页面会遇到404页面找不到错误,或者是500.502这种服务端错误,这时候我们可能希望自己定制返回页面,不希望看到默认的或者是内部的错误页面,可以通过nginx配置来实现. 1 50x错误对于5 ...

  10. PHP:验证手机号码合法性

    文章来源:http://www.cnblogs.com/hello-tl/p/7592333.html /** * [verifyPhone description] 效验手机号码合法性 * @par ...