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. NightMare2(SCU4527+dijkstra+二分)

    题目链接:http://acm.scu.edu.cn/soj/problem.action?id=4527 题目: 题意:最短路的每条边除了边权之外还会有一个限制(财富,身上带的财富大于这个值则不能通 ...

  2. bzoj 2440 dfs序

    首先我们可以做一遍dfs,用一个队列记录每个点进出的顺序,当每个点访问的时候que[tot++]=x,记为in[x],当结束dfs的时候que[tot++]=x,记为out[x],这样处理出来的队列, ...

  3. docker 环境

    1.docker 升级 步骤: docker -v service docker stop yum -y update docker.io

  4. perl中设置POST登录时的重定向

    默认地, perl提交post登录时是不会重定向的 要让它重定向, 可以用如下方法: my $cookie = HTTP::Cookies->new(); push @{$ua->requ ...

  5. 任务调度框架kunka

    kunka kunka是一个任务调度框架.用户只需要在Task接口中实现自己要执行的功能,并且选择合适的执行器,放入TaskManager中,就可以了完成整个任务了. 实现细节 整个任务信息存放在内存 ...

  6. monkey测试===如何获取android app的Activity

    方法一(推荐): 手机连接adb,手机界面在需要取得activity的界面. 推荐使用该命令: adb shell dumpsys activity top | findstr ACTIVITY 获取 ...

  7. Linux(Unix)密码策略问题导致root密码不能修改

    Linux(Unix)密码策略问题导致root密码不能修改 发布时间:  2016-01-19 浏览次数:  1034 下载次数:  5 用户修改了密码配置文件,导致root账户修改密码时报如下错误: ...

  8. pycaffe使用.solverstate文件继续训练

    import caffe solver_file = "solver.prototxt" solverstate = "xx.solverstate" caff ...

  9. JavaScript里的小妖精

    JavaScript里的小妖精———this!! 关于this指向这个问题,活生生折磨了我一个下午,回来静下心捋顺一下,总结出来一下规律. 当然,this这个复杂的问题不是一句两句可以说清楚,作为菜鸟 ...

  10. IoT之车联网

    一. 背景 这是一个笔者在实习公司策划的关于车联网的小项目,也是笔者参加某竞赛的作品<基于云平台的车内滞留儿童状况监测与处理>,本项目旨在为因各种原因导致儿童滞留车内热死.闷死的社会性事件 ...