UML类图:显示了系统的静态结构,而系统的静态结构构成了系统的概念基础。类图用于对系统中的各种概念进行建模,并描绘他们之间的关系。在类图中,一共包含了一下集中模型元素,分别是:类、接口、依赖关系、关联关系、泛化关系以及实现关系。类图的目的在于描述系统的构成方式,而不是系统如何协作运行的。

类图的作用:类图常用来描述业务或软件系统的组成、结构和关系,我们通常通过下面三种方式使用类图:

1、位系统词汇建模型

位系统的词汇建模型实际上是从词汇表中发现类,发现他的责任

2、模型化简单的协作

协作是指一些类、接口和其他的元素一起工作,提供一些合作的行为,这些行为不是简单地将元素加在一起就能实现的。例如:当我们为一个分布式的系统中的事务处理过程建模型时,我们不可能只通过一个类来表明事物是怎样执行的,事实上这个过程的执行涉及到乙烯类的类的协同工作,使用类图来可视化这些类和他们的关系。

3、模型化一个逻辑数据库模式

我们常用类图设计数据库的蓝图。在很多领域,我们想把持久型数据保存到关系数据库或面向对象数据库中。我们可以用类图为这些数据库建立模型。

类图建立步骤(个人意见):

1、研究分析问题领域,确定系统需求

2、确定类,明确类的含义和职责,确定属性和操作

3、确定类之间的关系

4、调整和细化类及类之间的关系

5、绘制类图并增加相应的说明

类图中的类的种类:

1、抽象类:在进行类设计时,如果一些具体类具有相同的方法或属性,我们可以把这些相同的方法或属性从这些具体类中抽取出来,把他们封装到一个抽象类中,然后,通过扩展抽象类,重新定义这些具体类。

抽象类是一种不能直接实例化的类,也就是说不能用抽象类创建对象。在UML中,抽象类和抽象方法的表示是将起名字用斜体表示。

2、接口:是一种类似于抽象类的机制,接口中的方法都是抽象方法。

3、关联类:在应用当中,我们发现两个类之间具有多对多的关系,并且有些属性不属于关联两端的任何一个类。例如:在某个系统中的两个类:person和institute,显然,person可以属于多个institute,而每个institute肯定会吸纳多个person。incident他们之间很显然就是多对多的关系。

4、模板类:在注入C++这样的语言中,提供了一种叫做参数化类的机制,或叫做模板。例如,我们需要一些能够处理整型、浮点型、字符串的数组,普通的做法是为他们个创造一个类,这三个类除了数据类型不同之外,其他的都是相同,但是仍然要定义三次。模板就是用来解决这个问题,可以根据占位符或者参数来定义类,而不用说明属性、方法返回值和方法参数的实际类型。通过实际值代替占位符即可创建新类。

5、主动类:从运行的角度来看,还有一种特殊的类—主动类。主动类的实例称为主动对象,一个主动对象拥有一个控制线程并且能够控制线程的活动,具有独特的控制权。

6、嵌套类:在诸如Java语言中,允许你讲一个类定义放在另一个类定义的内部,这就是钱塔雷,在java中也称为内层类。嵌套类是生命在它的外层类中的,因此只能够通过外层类或外层类的对象对它进行访问。

类图的介绍就这么多,把我的机房收费类图放在下面,欢迎指错!

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

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

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

  2. 【UML】如何记忆UML类图的画法

    前言 UML类图形象反映系统类之间的关系,大家非常常用.小弟不才,偶尔使用,往往每次使用都得查询各种关系的表示方式.终于,这次认真看了几遍,打算记起来. 注意 记忆方法只是本人联想,用于加强记忆.与该 ...

  3. UML类图介绍

    一.概述 UML类图用来定义系统中的类,包括描述类的结构和类之间的关系.类图的主要作用于描述系统的静态结构. 类图的基本模型元素如下:

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

    在对一个软件系统进行设计和建模的时候,一般是从构造系统的基本词汇開始,包含构造这些词汇的基本属性和行为. 系统分析师假设要对所设计的系统清晰认识.还有考虑这些基本词汇之间的关系.而假设把这些行为可视化 ...

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. 【LuoguP3038/[USACO11DEC]牧草种植Grass Planting】树链剖分+树状数组【树状数组的区间修改与区间查询】

    模拟题,可以用树链剖分+线段树维护. 但是学了一个厉害的..树状数组的区间修改与区间查询.. 分割线里面的是转载的: ----------------------------------------- ...

  2. 【BZOJ】2060: [Usaco2010 Nov]Visiting Cows 拜访奶牛

    [算法]树形DP [题解]没有上司的舞会?233 f[x][0]=∑max(f[v][0],f[v][1]) f[x][1]=(∑f[v][0])+1 #include<cstdio> # ...

  3. pillow模块的学习

    https://github.com/wangbinyq/pillow_example http://pillow.readthedocs.org/en/latest/handbook/tutoria ...

  4. OC 07 类的扩展

    1.NSDate的使用 NSDate是Cocoa中⽤于处理⽇期和时间的基础类,封装了某⼀给定的时刻(含日期,时间,时区) 注意NSLog(@“%@”,nowDate);⽆论你是哪个时区的时间,打印时总 ...

  5. 网站服务器压力Web性能测试(3):http_load:测试web服务器的吞吐量与负载

    1.http_load是国外一个博主写的一个基于Linux的性能测工具,小巧轻便,解压缩后不到100k,下载安装方法: wget https://acme.com/software/http_load ...

  6. Vim配置Node.js开发工具

    ubuntu安装vim编辑器.默认情况下,vim在运行的时候会加载-/.vimrc文件里的配置文件,如果在-目录下不存在这个配置文件可以手动创建. 在-/.vim目录下是vim的插件加载的位置,可以在 ...

  7. mysql 安装和配置

    mysql 安装: 在命令行输入 sudo apt-get install mysql-server  安装过程中会跳出来一个窗口,输入数据库root用户的密码(必须输入密码) 安装完成后 通过 my ...

  8. CF868F Yet Another Minimization Problem

    题目描述: 给定一个序列,要把它分成k个子序列.每个子序列的费用是其中相同元素的对数.求所有子序列的费用之和的最小值. 输入格式:第一行输入n(序列长度)和k(需分子序列段数).下一行有n个数,序列的 ...

  9. JavaScript自定义事件,动态添加属性

    根据事件的不同,可用的自定义方法也不同. document.createEvent('Event'); 实现主要有4个步骤: 1.创建事件. 2.初始化事件(三个参数:事件名,是否起泡,是否取消默认触 ...

  10. 【DUBBO】dubbo的Router接口

    Router服务路由, 根据路由规则从多个Invoker中选出一个子集AbstractDirectory是所有目录服务实现的上层抽象, 它在list列举出所有invokers后,会在通过Router服 ...