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

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

类图(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. 使用isolation forest进行dns网络流量异常检测

    代码如下,测试发现,是否对输入数据进行归一化/标准化对于结果没有影响: import numpy as np from sklearn.ensemble import IsolationForest ...

  2. 《剑指offer》二维数组中的查找

    一.题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 二.输入描述 ar ...

  3. coedforces #481Div(3)(ABCDEFG)

    A. Remove Duplicates Petya has an array aconsisting of nintegers. He wants to remove duplicate (equa ...

  4. caffe(13) 数据可视化(python接口)配置

    caffe程序是由c++语言写的,本身是不带数据可视化功能的.只能借助其它的库或接口,如opencv, python或matlab.大部分人使用python接口来进行可视化,因为python出了个比较 ...

  5. 【agc004f】Namori Grundy

    那个问一下有人可以解释以下这个做法嘛,看不太懂QwQ~ Description 有一个n个点n条边的有向图,点的编号为从1到n. 给出一个数组p,表明有(p1,1),(p2,2),…,(pn,n)这n ...

  6. ES6学习笔记(十七)Class 的基本语法

    1.简介 类的由来 JavaScript 语言中,生成实例对象的传统方法是通过构造函数.下面是一个例子. function Point(x, y) { this.x = x; this.y = y; ...

  7. bzoj1615 麻烦的干草打包机 BFS

    Description Farmer John新买的干草打包机的内部结构大概算世界上最混乱的了,它不象普通的机器一样有明确的内部传动装置,而是,N (2 <= N <= 1050)个齿轮互 ...

  8. CF546E Soldier and Traveling(网络流,最大流)

    CF546E Soldier and Traveling 题目描述 In the country there are \(n\) cities and \(m\) bidirectional road ...

  9. HDU 4937 Lucky Number 搜索

    题意: 给你一个数,求在多少种不同的进制下这个数每一位都是3.4.5.6中的一个. 思路: 搜索.枚举这个数在任意进制下的表示,判断是否合法.当数字只有3.4.5.6时,必定有无穷种. 因为数字太大, ...

  10. 05002_Linux的安装

    1.虚拟机VMware workstation的安装 (1)下载链接:VMware workstation下载 密码:52wt: (2)双击VMware-workstation-full-10.0.2 ...