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

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

类图(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. vijos--P1211--生日日数(纯模拟)

    P1211生日日数 未递交 标签:[显示标签] 描述 CCC老师的生日是YY年MM月DD日,他想知道自己出生后第一万天纪念日的日期(出生日算第0天). 格式 输入格式 从文件的第一行分别读入YY,MM ...

  2. Anaconda升级

    Anaconda是可以进行升级的, 这样就省的重装一遍python全家桶了, 比如:   conda update conda conda install anaconda=2018.12   就可以 ...

  3. Bayes++ Library入门学习之熟悉class-Importance_resampler

    接下来,需要介绍的是重要性重采样类Bayesian_filter::Improtance_resampler.该类实现了两种重采样方法[1][2],和其子类的继承关系图如下: 其中Standard_r ...

  4. 逻辑学总结x

    逻辑学是研究事实联系: 肯定.否定: 条件 结论: 联系  规则: 的学问.

  5. Debian9.5下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数

    密钥登录步骤(免密码登录)ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,出于安全方面的考虑,介绍密钥认证方式登录到linux/unix的方 ...

  6. NodeJS学习笔记 进阶 (6)本地调试远程服务器上的Node代码(ok)

    https://github.com/chyingp/nodejs-learning-guide

  7. Log4j2打印一行日志时返回本行日志的字符串

    import org.apache.logging.log4j.Level; import org.apache.logging.log4j.core.impl.Log4jLogEvent; impo ...

  8. 大数据时代的新BI系统架构发展趋势

    商业智能(BI,Business Intelligence).它是一套完整的解决方式,用来将企业中现有的数据进行有效的整合,高速准确的提供报表并提出决策根据.帮助企业做出明智的业务经营决策.     ...

  9. linux中的硬连接和软连接

    linux中的硬连接和软连接 linux中的硬连接和软连接 背景 连接 硬连接 软连接 example reference 背景 linux中的文件主要分3块, - 真正的数据 - 索引节点号(ino ...

  10. 6个技巧加速你的gradle编译

    近期我们都在讨论build系统,我们看了一些技巧能够让你的Maven build更快. 结论和反映都势不可挡.由于我们提供的技巧,很多其它的人都非常高兴能加快他们完毕自己的项目.如今,让我们看一下怎么 ...