在对一个软件系统进行设计和建模的时候,一般是从构造系统的基本词汇開始,包含构造这些词汇的基本属性和行为。

系统分析师假设要对所设计的系统清晰认识。还有考虑这些基本词汇之间的关系。而假设把这些行为可视化为图,就是通常所说的类图。

类图(Class Diagram)是描写叙述类、接口、协作以及它们之间关系的图,用来显示系统中的各个类的静态结构。

类图包含3方面内容:

1.类(Class)。

2.接口。

3.关系;

类是对一组具有同样属性、操作、关系和语义的对象的描写叙述。

主要包含:类的名称(ClassName)、属性(Attribute)和操作(Operation。也能够称为方法)

名称(ClassName)

是每一个类所必有的构成,用于和其它类相区分。类名称是一个文本串,可分为简单名称和路径名称。当中用类所在的包的名称作为前缀的类名叫做路径名。如图:左边为简单名称,右边的为路径名称(Title 属于Business包,包和类名之间有两个冒号)。

属性(Attribute)

描写叙述了该类的一些特性,这些特性是这类对象所共同拥有的。

类属性的语法为:

[可见性] 属性名 [:类型][=初始值] [{属性字符串}]

[ ]中的部分是可选的,详细细节就不在赘述。

操作(又称方法)(Operation)

是对类的对象所能做的事务的抽象。一个类能够有不论什么数量的方法或者根本没有方法。

类方法的语法为:

[可见性] 方法名 [(參数表)][:返回类型]  [{属性字符串}]

属性和方法有例如以下两例:动物类和学生类

   

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFvdmlwMTIz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">

接口

接口是在没有给出对象的实现和状态的情况下对对象行为的描写叙述。接口包括操作但不包括属性,且它没有对外界可见的关联。

在UML中,接口用一个带有名称的小圆圈表示的,而且通过一条实线与它的模型元素相连接,例如以下图

有时候为了显示接口中的操作。接口被指定为一个使用普通类矩形符号的带有构造型<<interface>>的类,例如以下图

关系

关联关系。

依赖关系;

泛化关系;

实现关系。

写到这里,我突然意识到曾经发表的一篇博文,写的就是这四种关系,看来当时理解偏了(当时还以为UML中的关系所有都是那四种呢,文章名称改为《UML类图中的四种关系》就完美了)。所以此处对这四种关系就不再赘述,详情參见

盘点UML中的四种关系
来自<http://blog.csdn.net/haovip123/article/details/24735721>

最后附上一张机房收费系统的类图

对UML的各种图认识尚且浅显。假设哪里有错误,还望大牛指正!

机房收费系统——UML类图的更多相关文章

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

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

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

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

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

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

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

    UML类图:显示了系统的静态结构,而系统的静态结构构成了系统的概念基础.类图用于对系统中的各种概念进行建模,并描绘他们之间的关系.在类图中,一共包含了一下集中模型元素,分别是:类.接口.依赖关系.关联 ...

  5. UML图与机房收费系统实例

    前言 通过看视频,对于UML也有了一些初步的了解.前面也介绍了UML的三个基本块.规则和机制,只是这些东西就像是一个个机器的零部件.要组合起来才干发挥作用. 所以,实例才是验证自己学习好坏标准,以下我 ...

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

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

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

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

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

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

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

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

随机推荐

  1. less14 颜色函数2

    less div{ // hue()色相值 z-index: hue(hsl(90,100%,50%)); //90 ////saturation()饱和度 z-index: saturation(h ...

  2. [luoguP4302] [SCOI2003] 字符串折叠 解题报告(区间DP)

    题目链接:https://www.luogu.org/problemnew/show/P4302 题解: 我们考虑折叠一个区间里的字符串,怎么样才是最优的 1.把这个区间分成几部分分别折叠 2.把这个 ...

  3. XML与Plist文件转换

    由于工作需要,要解析xml,举一个简单的例子,例如地址,如果是plist的话我们会很好的解析,但是如果已知一个xml的话,当然用原生的xml解析也能解析的出来,但是解析xml的话会是根据标签的头来解析 ...

  4. php修改限制上传文件大小

    win下:     1.编辑 php.ini:修改在 php5 下文件大小的限制     找到:file_uploads=On  允许 HTTP 文件上传     找到:max_execution_t ...

  5. ES6学习笔记(十二)异步解决方案Promise

    1.Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大.它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了P ...

  6. 用树链剖分来写LCA

    当两个点在一条链上,它们的LCA就是深度较小的那个点. 于是这种树链剖分写LCA的思想就是把要求的两个点想办法靠到一条链上. 而且要靠到尽量更优的一条链上(重链). 做法: 预处理出每棵树上的重链(s ...

  7. LinkedList源码学习

    链表数据结构 当前节点会保存上一个.下一个节点. 参见 LinkedList的Node类 实现: 1. 内部链表的方式. 1.1 添加元素.追加的方式,创建一个新的节点[Node],用最后一个节点关联 ...

  8. centos同步网络北京时间

    sudo yum -y install ntpdate ntp sudo ntpdate time.windows.com sudo hwclock -w

  9. Unix网络编程之环境搭建

    环境搭建 在尝试UNP书上的样例时,会由于找不到"unp.h"等问题无法编译成功.因此在学习之前须要先搭建好编译环境. 步骤 <1>下载  UNIX网络编程源码unpv ...

  10. WITH common_table_expression (Transact-SQL)

    https://docs.microsoft.com/en-us/sql/t-sql/queries/with-common-table-expression-transact-sql Specifi ...