毕业设计之感悟 —— UML 与 ER 图
今天毕业设计答辩,虽然我第一个上场,但是不是特别紧张,因为整个系统都是我写的。我以为自己天衣无缝,能应付所有老师的所有问题。事实上,我被老师教育了一番。
老师说我,毕业论文中没有一个类。我一开始比较懵,什么没有类?然后我和老师说我写了什么什么类。老师说,没有 UML 类图之类的东西。
其实我一开始是抗拒的。UML 类图,有什么用?不就是面向对象的类图嘛?直接画 E-R 图不行吗?老师和我说了面向对象的软件工程方法,首先需求分析,然后画 UML 图,UML 设计好了,再具体实现 E-R 图等等。
虽然被说得很懵,但是回去我整理了一下思路。我记得很多企业现在并不会把 UML 图放在设计里,大多数情况下都是架构师自己画一画,并不写在设计里。不过这不是主要的,我在想,为什么我们需要 UML 图,具体而言,E-R 图难道不够替代 UML 图吗?
其实,仔细想想,E-R 图的确不能替代 UML 图。起码 UML 图是面向对象的,E-R 图不能使纯粹的面向对象的,或者说,E-R 图并不能完全面向对象的思考。
就比如,我现在有个测试的实体,包括测试信息(题号,题名,内容等)和多组测试用例。一定要注意多组测试用例。假如我们用 E-R 图进行思考的话,最终很容易提前走向纠结:多组测试用例到底是一张表还是和测试信息合成一张表?如果是一张表,总觉得对应现实中的实体很变扭;如果合并成一张表,那么多组测试用例要么分开保存,要么合并保存:分开保存必定有冗余性的问题;合并保存,那每组测试用例以什么作为分隔符怎么保存呢?似乎也不好,测试用例可能有多组分隔符。E-R 图非纯面向对象(至少我是这么认为的),所以不应该以 E-R 图作为需求分析阶段的图,还没有到达这种细化的地步。
老师说的还是比较正确的,我也虚心接受批评。以后我要多认真学习一下软件工程了。
前路漫漫,唯码作伴。
毕业设计之感悟 —— UML 与 ER 图的更多相关文章
- UML与ER图
UML 统一建模语言(Unified Modeling Language, UML)是一种描述软件系统结构的图形化语言. 类图 类图用于描述类之间的关系,类图中主要的关系包括: 聚集 带空心菱形的实心 ...
- 《GO Home Trash!》UML类图,ER图以及数据库设计
<Go Home Trash!>UML类图 ER图以及数据库中数据表 分析: 这款软件经过我们前期的讨论以及需求分析,确定了用户,客服以及管理员三个实体.在设计UML类图时,对各个实体之间 ...
- 各种图(流程图,思维导图,UML,拓扑图,ER图)简介
来源于:http://www.cnblogs.com/jiqing9006/p/3344221.html 流程图 1.定义:流程图是对过程.算法.流程的一种图像表示,在技术设计.交流及商业简报等领域有 ...
- 关于ER图和UML图之间的对比
ER图与UML图 ER图:实体-联系图(Entity-Relation Diagram)用来建立数据模型,在数据库系统概论中属于概念设计阶段,ER图提供了表示实体(即数据对象).属性和联系的方法,用来 ...
- ER图与UML图
ER图:实体-联系图(Entity-Relation Diagram)用来建立数据模型,在数据库系统概论中属于概念设计阶段,ER图提供了表示实体(即数据对象).属性和联系的方法,用来描述现实世界的概念 ...
- 【转】各种图(流程图,思维导图,UML,拓扑图,ER图)简介
原文地址:各种图(流程图,思维导图,UML,拓扑图,ER图)简介 流程图 1.定义:流程图是对过程.算法.流程的一种图像表示,在技术设计.交流及商业简报等领域有广泛的应用. 2.案例 3.计算机语言只 ...
- powerdesign、navacat、ER图、uml、类图、时序图
关于建表和生成实体以及ER图的简便方法 a:用navacat客户端生成简单的ER图,并生成建表sql,执行生成表. b:用powerdesign连接数据库,反向生成带有注释的ER图. c:用ideal ...
- 软件工程 #02# Entity Relationship Diagram VS. 用 UML 中的类图表示 E-R 图
不同的老师叫我们画 E-R 图居然是不一样的,于是我仔细研究了一番.. 通常所说的 E-R 图(外文全称 Entity Relationship Diagram,简称 ERD)长这个样子: 而有时候它 ...
- uml类图和er图中主外键的表示区别
在er图也就是数据库中,无论是mysql/oracle都是从表引用主表的pk作为外键. 而在uml类图表示法中,他们的顺序则刚好相反,从主对象导向到子对象,如下: 主体是资金借款方,征信信息和资金借款 ...
随机推荐
- input常用输入框限制
input常用输入框限制 本篇 1.小写自动转换成大写: or 2.大写自动转换成小写 or 3.防止退后清空的TEXT文档 4.ENTER键可以让光标移到下一个输入框 5.只能为中文(有闪动) ...
- AE创建拓扑
转自原文 AE创建拓扑 /// <summary> /// 创建拓朴 /// </summary> /// <param name="featureWorksp ...
- warning C4996: 'fopen': This function or variable may be unsafe.(_CRT_SECURE_NO_WARNINGS)
在 windows 平台下的 visual studio IDE,使用 fopen 等 CRT 函数(C runtime library(part of the C standard library) ...
- 文件上传api——MultipartFile
MultipartFile 方法总结 byte[] getBytes() 返回文件的内容作为一个字节数组. String getContentType() 返回文件的内容类型. InputStr ...
- 批量解决 word/wps 中公式和文字不对齐的问题
完美解决Word或wps中中公式和文字对不齐的问题 在 word 的各个版本中,当公式和字符同时出现时,尤其是发生公式的拷贝粘贴时,公式往往会出现上飘或下移的情况,这里给出一个简单易行的解决方案: 全 ...
- 恩布900手机客服,安卓版本号Entboost Android 1.0 正式公布
恩布900手机客服,安卓版本号Entboost Android 1.0正式公布,支持一行代码在安卓手机实如今线客服的功能,支持文本.表情,图片,语音和离线消息等. ENTBOOST是跨平台.跨应用的实 ...
- 物联网学生科协第三届H-star现场编程比赛
问题 A: 剪纸片 时间限制: 1 Sec 内存限制: 128 MB 题目描写叙述 这是一道简单的题目,假如你身边有一张纸.一把剪刀.在H-star的比赛现场,你会这么做: 1. 将这张纸剪成两片(平 ...
- EL表达式JSON应用
由于之前在学校写的jsp页面都是夹杂着java代码的,所以之前写了个jsp,满满的<%%>和java代码,老师说那样太不美观了啊!!!要全部用EL表达式替代了.本人还是太笨了,弄了一上午才 ...
- 免费的 C/C++ 编译&解释 器列表
摘自<C++编程网>,详细介绍请参考http://www.cpp-prog.com/2009/0520/118.html MicrosoftVisual C++ 2008 Express ...
- zookeeper 分布式安装/配置/启动
版本3.4.10,已提前配置好jdk 三台主机:hadoop002,hadoop003.hadoop004 1.配置 将zookeeper-3.4.10.tar.gz解压后进入zookeeper-3. ...