【机房重构】一步一步往上爬——又见UML与文档

简介: <pre><span style="font-family:KaiTi_GB2312; font-size:18px"><span style="white-space:pre"> </span>机房重构的代码编写完成后,下一阶段的任务就是画图和文档了。在师父细心的一番指导后,开始动工了。<span style="white-space:pre"> </span>在数据库设计的时候,自己
	机房重构的代码编写完成后,下一阶段的任务就是画图和文档了。在师父细心的一番指导后,开始动工了。
	在数据库设计的时候,自己也有根据自考学习的知识,画了张ER图。到现在系统完成后,回头看之前贴在博客上的那张ER图,也是错漏百出,自己都不知道误导了多少人了。。
	今天一开始把ER图给师父看,师父第一个问题就是问ER图是给谁看的?我顿时懵了。师父接着说ER图是给用户看的,你用英文写,用户看的懂吗?
	下面就从ER图说起:
	ER图,是需要在需求分析文档中出现的,那么就是需要给用户看到的,而不是程序员或者说是开发项目的人。所以说,ER图需要用中文标注,而其中的关系(1:1,M:N)之类的,也是不需要显现的。另外,1:N的关系是不会在ER图中出现的,如果出现的话,那就还需要对数据库的设计进一步优化。比如说,用户对卡包括四种操作:注册、充值、退卡和上下机。而其中的注册和退卡操作都是1:N的关系,所以就不需要再单独设计两个表(注册表和退卡表)。
	经过简单修改之后,ER图看着比之前的一张更加简单了些:


	第一次接触UML的时候,是用的Rose画的9种图,在画完图之后,很多人都推荐使用EA试试,说功能强大,也很方便。这一次,机房重构,就用EA画的图。
一.用例图
	需求分析文档中就要有用例图,让用户明白整个系统是干什么的,有些什么角色,有些什么功能。其中主要的就是包含和扩展两种关系。下面就贴一张操作员的用例图:


	在文档中,有一点很重要的就是要有一个详细地说明,光有图,用户是看不懂的。
二.类图
	在画类图之前,看了看之前在UML的学习中画的类图,自己都笑了。机房重构下来,系统共分为七层,才明白类图是需要分层画的。


	而各个层下面就是系统中自己包含的各个类,其中各类的参数、返回和备注都是不可缺少的组成部分。下面是BLL层的类图:


三.时序图
	在详细设计的文档中,时序图是很重要的一部分。因为编写代码的人就是根据时序图去实现功能的,而在这一过程中,每一步都是不可缺少的,必须做到有始有终。最开始必须写明点击什么按钮触发这一过程;这一事件的整个逻辑必须要是完整的,不能说因为简单或是麻烦就省略不画出来了;返回的值也需要有完整的判断,如果成功,接下去怎么做;如果失败又该怎么做;最后就是要有这一过程终止的标志。满足以上要求,才能说一张时序图算是勉勉强强表面上过关了,下面就以一张一般用户查看余额的功能看看修改后的时序图:


四.包图
	在第一次画UML的包图的时候,我就没有画,因为当时不理解什么是包,机房收费系统中哪来的包。而机房重构,终于看到了“包”的庐山真面目了,其实就是本篇博客中类图下的一个个叫做包,而在画包图的时候,只需要将这一个个包拖拽过去就行。整个系统的架构也就一目了然,想要具体查看哪一层,也只需要点击就行。而对于各个包中的属性或是方法,也都可设置成不可见,所以下面就是最新的一张包图了:


	此次也就谈谈这四种图了,可以说是比较重要的几种图,文档编写也需要将这九种图添加进去。
	说完了图,下面就说几个比较重要的文档:
一.需求分析文档
	其中需要包括ER图、用例图和模块图。模块图即是将整个系统的功能分模块画出来,这里也就是可分为管理员、操作员和一般用户三个模块。
二.数据库设计
	首当其冲的是数据库的命名规则,如表、视图、字段如何命名,必须有一个约定,这样大家才能沟通的起来。其次是一个“三步走”战略,即概念设计、逻辑设计和物理设计。
三.概要设计
	包图必须要有的,这样别人才清楚系统的一个框架;其次就是编程中添加的设计模式;最后是系统的类图,而图下面的解释说明也是不可少的。
四.详细设计
	包括时序图和IPO图,这一文档更加需要细致地去完成,不然系统是做不出来的。
五.用户手册
	需要将系统的各个窗体都截图下来,并且标注用户应当按照怎样的一个思路去操作该系统,而不是让用户看到系统后不知所措或者是瞎点。为了更加清楚些,每张界面截图的下面配有一些说明性的文字那就更完美了,就像我们吃药先要看药品里的说明书一样。
六.项目开发进度
	做每件事都要做好计划。一个项目的开发,更加不能缺少规划。所以根据制定的计划,就需要有一张甘特图呈现出来。
学习心得:
	实际上,画图和文档都是紧密联系的。在画完图后,经过师父又一番的细心指导,自己才真的是深刻体会到下面比较重要的几点:
1.明白每个文档是写给谁看的。
2.每个文档中应该有的各种图必须清楚。
3.把用户当成傻子,别指望他什么都是知道的。
4.约定是全局,正如米老师经常说的:不谋全局者不足谋一域。没有约定,后面的路是走不下去的。
5.图是画给别人看的,只是自己清楚远远不够,也要让其他人看的明白,做的下去。
目录
相关文章
|
测试技术 数据库 uml
【软件工程与UML】第2章 用例图、用例文档、活动图 -- 系统的功能需求建模
【软件工程与UML】第2章 用例图、用例文档、活动图 -- 系统的功能需求建模
654 0
【软件工程与UML】第2章 用例图、用例文档、活动图 -- 系统的功能需求建模
|
测试技术 uml
【机房重构】-UML用例图
以前对于UML中的用例图也进行过学习,最近在做机房重构系统,实践中有了更加深刻的认识,下面将我的理解和大家分享:
|
架构师 Java 测试技术
软件设计实践:如何使用UML完成一个设计文档?
软件设计实践:如何使用UML完成一个设计文档?UML 建模可以很复杂,也可以很简单,简单掌握类图、时序图、组件图、部署图、用例 图、状态图、活动图这 7 种模型图,根据场景的不同,灵活在需求分析、概要设计和详细设计阶段绘制对应的模型图,可以实实在在地做好软件建模,搞好系统设计,做一个掌控局面、引领技术团队的架构师。
329 1
软件设计实践:如何使用UML完成一个设计文档?
|
6月前
|
uml
UML之类图
UML之类图
93 1
|
6月前
|
数据可视化 Java uml
IDEA中一个被低估的功能,一键把项目代码绘制成UML类图
IDEA中一个被低估的功能,一键把项目代码绘制成UML类图
259 1
|
3月前
|
Java uml
使用工厂方法模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程序实
该博客文章通过UML类图和Java代码示例,展示了如何使用工厂方法模式设计一个支持加法、减法、乘法和除法运算的计算机程序,并严格按照类图设计实现程序。
|
3月前
|
Java uml
1、使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程
该博客文章展示了如何使用简单工厂模式设计一个程序,该程序能够根据用户输入的运算符(加、减、乘、除)对两个数进行计算,并提供了相应的UML类图和Java源码实现。
1、使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程
|
5月前
|
应用服务中间件 uml
【UML】软件工程中常用图:类图、部署图、时序图、状态图
【UML】软件工程中常用图:类图、部署图、时序图、状态图
486 1
|
3月前
|
数据可视化 Java uml
精通UML:从类图到序列图的实战指南
【8月更文第23天】统一建模语言(Unified Modeling Language, UML)是一种用于软件工程的标准图形化语言,它提供了一套工具来帮助开发团队可视化、构造和文档化软件系统。在UML中,类图和序列图是最常用也是最重要的两种图。类图用于描述系统的静态结构,而序列图则用于表示对象之间的交互和系统的动态行为。
132 5