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

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

类图(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. HDU4622:Reincarnation(后缀数组,求区间内不同子串的个数)

    Problem Description Now you are back,and have a task to do: Given you a string s consist of lower-ca ...

  2. less05 作用域

    less @clolor:#ffffff; .bgcolor{ width: 50px; a{ color: @clolor; } @clolor:#ff0000; //覆盖,作用域跟js一样,现在局 ...

  3. HDU4825:Xor Sum 解题报告(0/1 Trie树)

    Problem Description Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含了N个正整数. 随后 Prometheus 将向 Ze ...

  4. C#篇(一)——字段与属性

    字段和属性有什么区别? class Student { private int age; public int Age { get { return age; } set { age = value; ...

  5. Maven(一)之Maven入门

    一.Maven简介 Maven可以翻译为“知识的积累”.“专家”.“内行”.作为Apache组织中的一个颇为成功的开源项目,Maven主要服务于基于Java平台的项目构建.依赖管理.和项目信息管理.M ...

  6. LINUX 上源代码安装与配置samba服务,支持从windows上读写LINUX文件。

    ###动机###在windows编写代码文件比较方便,因为有source insight.但是需要在LINUX上编译.一种办法就是使用samba文件共享. [1] 下载samba代码.按照config ...

  7. 初入AngularJS

    AngularJS是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心的是:MVVM.模块化.自动化双向数据绑定.语义化标签.依赖注入等等. Ang ...

  8. Ubuntu18.06 Mate桌面环境下VirtuslBox打开虚拟机“全局菜单”异常退出解决办法

    在安装完Ubuntu18.06 Mate桌面环境后在VirtuslBox里打开虚拟机会出现“全局菜单”异常退出问题. 产生上面问题的原因是你的虚拟机可能在 显示= >屏幕= >硬件加速里勾 ...

  9. NodeJS学习笔记 (20)错误处理-error

    文章地址 https://github.com/chyingp/nodejs-learning-guide

  10. echarts如何修改数据视图dataView中的样式

    原文链接:点我 做了一个现实折线图的图表,通过右上角icon可以自由切换成柱状图,表格.在表格中遇到的一点小问题,解决方案如下: 1.场景重现 这是一个显示两个折线图的图表,一切看起来都很顺利.但是点 ...