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. 51nod1245 Binomial Coefficients Revenge

    题目来源: HackerRank 基准时间限制:2 秒 空间限制:131072 KB 分值: 640  C(M,N) = M! / N! / (M - N)! (组合数).给出M和质数p,求C(M,0 ...

  2. 【51NOD】1201 整数划分

    [题意]将n划分成不同正整数的和的方案数. [算法]动态规划 [题解] 暴力:f[i][j]:只用前1..i的数字,总和为j的方案数 本质上是01背包,前i个物体,总质量为j的方案数 f[i][j]= ...

  3. ADO POST时出现“无法为更新定位行,一些值可能已在最后一次读取后已更改”问题的解决方法

    原因有这样几种: 1.在数据库设计时,为某些字段设置了默认值,在修改进行提交以后,数据库会自动修改对应字段的所有行的默认值,从而导致了数据库与数据集中数据的不一致,使ADOQuery无法对数据集进行定 ...

  4. C# 使用HttpWebRequest Post提交数据,携带Cookie和相关参数示例

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. 图论-最近公共祖先-离线Tarjan算法

    有关概念: 最近公共祖先(LCA,Lowest Common Ancestors):对于有根树T的两个结点u.v,最近公共祖先表示u和v的深度最大的共同祖先. Tarjan是求LCA的离线算法(先存储 ...

  6. MyEclipse/Eclipse安装插件的几种方式

    众所周知MyEclipse是一个很强大的Java IDE,而且它有许多开源免费又好用的插件,这些插件给我们开发过程中带来了许多方便.插件具有针对性,例如,你如果做安卓开发,可能需要一个ADT(Andr ...

  7. 【软件设计】UML类图怎么看

    前言 无论使用哪种语言,都离不开面向过程与面向对象两个流派,而类图是面向对象程序设计中至关重要的一种软件表达形式,如何看懂类图,并设计好的软件架构,是我们作为软件工程师必不可少的技能之一. 今天小黑把 ...

  8. C# 网络编程小计 20150202

    在学习网络Socket编程之前必须得学会多线程编程,这个是经常会用的到 可参考:http://www.cnblogs.com/GIS_zhou/articles/1839248.html System ...

  9. 9:django 表单

    django自带表单系统,这个表单系统不仅可以定义属性名,还可以自己定义验证,更有自己自带的错误提示系统 这节我们仅仅粗略的来看一下django表单系统的入门运用(具体的实在太多东西,主要是我觉得有很 ...

  10. 【C++】C++11的auto和decltype关键字

    转自: http://www.linuxidc.com/Linux/2015-02/113568.htm 今天要介绍C++11中两个重要的关键字,即auto和decltype.实际上在C++98中,已 ...