• 前言
  • 机房收费系统类图
    • 类图分析

      • 学生类
      • 一般用户类
      • 操作员类
      • 管理员类
      • 附加类
    • 关系总图
  • 总结

前言

上回说到一个软件系统的用例图在开发过程中起到的作用,并且通过机房收费系统对用例图进行了阐述,这次继续看看类图在软件开发中的一些作用和特点。
在以前的认识中,一直觉得学生可以当作一般用户,但是再后来的学习中,才发现如果将学生归为一般类,那么在接下来的类图中,一般用户的行为将无法再划分,即老师和学生的行为会出现冲突,导致该类的执行错误。所以,将学生进行单个归类之后,就可以将一般用户级别的类进行具体的行为细化。

机房收费系统类图

类图分析

学生类

属性行为一览图:

一般用户类

属性行为一览图:

操作员类

属性行为一览图:

管理员类

属性行为一览图:

附加类

此外,对于机房收费系统中最关键的一个类别就是“上机卡”了,有了上机卡的卡号,我们才可以正常使用机房收费系统,下面是“卡”这个类的类图
属性行为一览图:

关系总图

下面就是我对机房收费系统的一个初步的理解整理而成的类图。对于管理员,操作员,一般用户之间的关系,我开始觉得用泛化比较贴切,因为一般用户的权限管理员和操作员可以有,操作员的权限管理员可以有。所以,一般用户的操作权限是从操作员继承而来,同理,操作员继承了管理员。但是,后来想了想,操作员和一般用户之间在代码上并没有明确的对管理员进行继承,反而是两个单独的类,只是权限共享范围不同而已,所以做了一下小的修改形成了这张图。

总结

总之,一个软件的类图是用例的一个具体的体现,好的类图才能让接口写起来更加清楚,让开发的分工更加明确。
通过对类图的描绘,总算是对这个机房收费系统有了更深一步的理解,也通过画类图,对我在逻辑方面的想法有了一次小锻炼。

UML学习:机房收费系统-类图相关推荐

  1. UML学习(一)类图和对象图

    对象是一个概念,一种抽象或者事物.对象能够是具有现实意义的事物,也能够是抽象的一个概念.比方,一家公司或者一个进程. 类是一组对象的集合或者抽象的概念.类具有同样的属性和方法. 介绍完基本对象和类的基 ...

  2. vb.net机房收费系统——类的理解(sqlhelper)

    类,什么是类?让我们看看维基百科的定义 在现实世界中,经常有属于同一个类的对象.例如,某辆自行车只是世界上很多自行车中的一辆.在面向对象软件中,也有很多共享相同特征的不同的对象:矩形.雇用记录.视频剪 ...

  3. 软件工程 选课系统的uml类图_UML建模学生选课系统(类图+对象图+用例图+部署图)...

    UML建模学生选课系统(类图+对象图+用例图+部署图) UML建模学生选课系统(类图+对象图+组件图+部署图) 录 1.项目简介 3 1.1. 学生选课系统 3 1.2. 项目主题 3 1.3. 设计 ...

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

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

  5. UML—机房收费系统

    背景 学习了软件工程.软件文档.UML图,总算有了对软件开发有了"专业"这个名词的理解.当然用敲过的机房收费系统练手UML九种图,成为提高自己理解的升华部分. UML图软件开发中的 ...

  6. 机房收费系统个人重构版:软工文档中那些图

    [前言]    图,提到这个字的时候脑海中就会出现许许多多的图像,它的重要性相信大家都明白,相比于文字来说它更生动形象正好符合人类大脑的记忆规律:很多人也知道动画片制作原理也是用一张张图片只不过转换的 ...

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

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

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

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

  9. 机房收费系统.Net个人版总结

    机房收费系统.Net版到前两天为止才算是彻底完工了.从寒假开始的初步文档+图设计,以及之后的代码实现,到三月中旬开始的文档规范.图规范.代码规范.这个生命周期真是一个长啊.给自己总结了一下:本次机房收 ...

最新文章

  1. php数据库html文本,关于php,mysql,html的数字分页和文本_php
  2. VC++ 6.0的小花招
  3. tensorflow生产环境部署
  4. 德鲁克的17条思想精髓,读懂管理的本质
  5. python实现字符串切片
  6. Adobe Reader栈溢出漏洞(CVE-2010-2883)分析
  7. Visual Studio 2015安装教程(附激活码)
  8. python编程模式_Python编程中的反模式
  9. 【lucene】Lucene 自定义 Parser
  10. WireMock.NET如何帮助进行.NET Core应用程序的集成测试
  11. 【观点讨论与支撑】读书到底有没有用?
  12. tcpdump高级过滤
  13. 翻译: swift5 iOS中的自动布局教程:Auto Layout入门
  14. 适用于window平台的java虚拟机_雪豹系统安装说明
  15. Win300英雄服务器不显示,win7系统玩不了300英雄的解决方法
  16. idea中webapp无法添加到mian文件夹中
  17. prisma 风格设置_Prisma中的身份验证-第1部分:设置
  18. cf1111d(退背包)
  19. Signature on Pocket PC
  20. 计算机管理任务类别103,win7系统如何查看电脑的历史开关机时间|win7系统怎么查询电脑开机后运行多长时间...

热门文章

  1. WIZnet以太网芯片选型指南
  2. 给你讲讲硬件协议栈的那些事儿—WIZnet 员工Christina培训笔记(一)
  3. 幼儿园带括号算式口诀_41组“数学顺口溜”+大九九乘法口诀表!给孩子疯狂收藏!...
  4. Postman RSA+Bate64签名
  5. android九宫格菜单,Android实现九宫格 主界面应用列表效果
  6. 修理电脑的一些故障资料
  7. python爬虫爬取京东店铺商品价格数据(更新版)
  8. 夜光带你走走进全栈式web开发(12)擅长领域
  9. Coupang、Joom、Etsy、Newegg、Temu 和Ozon等电商平台如何快速增长销量(测评补单)
  10. C#模拟PrtScn实现截屏