机房重构总结之步履蹒跚

一、惨淡的回忆

1、艰难的开始

记得我很早就开始机房重构了,好像是在六月份,当时正好赶上考试,它就自然搁浅了。当暑假开始后,搬到了五楼学英语,虽然每天晚上都能干自己的事情,但是心里总是对它有点抵触,所以一直迟迟不肯下手,只是小打小闹,学着画图,分析着功能,重新设计了一下数据库,而实际上却总想去看自考书或者三级网络的书,总之,能逃就逃。最后,实在是不能再拖了,硬着头皮上吧。时间再抓紧点,自己在用心一点,开始了前期的画图、设计等工作。

2、平淡的过程

整个过程只能用平淡来形容。由于是在不知道该怎么画图了,不过大概需要的用例图、类图、包图都出来了,数据库也建好了,实体也已经定义了,于是就开始了代码得编写。

第一个工作就是先敲出一条线,我是以查询余额为出发点,感觉它比较简单,就一个查询功能,不过毕竟是刚开始做,还是有难度的。由于三层的时候敲了那几条线,所以也就不惧它,通过查资料,请教同学,很快就把它解决了。通过这条线,清楚的将整个系统从U层——外观——B层——工厂——接口等串起来,接下来的工作也就水到渠成。如下图

之后就是单单的使用一些控件,实现一些功能。不过在这之中比较重要的一点就是使用设计模式,通过查阅其他同学的博客,加上了策略模式和模板方法模式,具体代码不再赘述。除此之外就是上下机的思维逻辑要理清,尤其是下机的时候需要计算时间和金额,时间的转化是比较麻烦的,需要我们注意。还有就是我们所用的实体中属性的类型要与数据库中一致性,而且在使用时一定要慎重,使用不当会导致数据类型不一致的错误。

总之,在经过了艰难的开始阶段后,一切就顺利多了。最后,将所有的代码敲完了,就开始调试,由于平时敲得时候不怎么调试,集中到最后测试是一个比较复杂的工程,而且很是影响心情,需要有顽强的毅力,决不能放弃。心情烦躁是肯定会的,不过一定要学会调节。我们不仅仅是在调试程序,更是在雕琢自己。

3、满含期待的结束

程序调好了,开始补充图以及文档,然后就是师傅验收。由于期间更换了一次导师,所以在验收的时候觉得师傅验的比较细,可能是战线托的太长了,心里着急结束,也可能是还不太适应与新导师的接触。不过师傅指出了自己的不足,自己就需要改正。

总之,经过师傅的指导,感觉收获还是蛮大的。系统的功能不太完善,不过大致的功能都能实现,至于UML图就想说一点,时序图中对象的交互到接口就结束了,根本没有D层。个人理解是因为时序图描述的是对象之间的交互,而D层是实现的接口层,就相当于D层是接口的子类,它们之间是实现的关系,不存在交互,所以时序图中的接口就代表了D层,如果没有使用接口的话,那必须要有D层。

最后说说文档。师傅验完文档后,第一个感觉就是文档得重写,不过后来师傅开恩,给我每个文档都做了批注,又给我讲了讲,我这才意识到文档中的内容也挺多的,最后让我借鉴别人写的好的,然后准备一份作为下次合作用的模版。这样做了以后,我才发现,文档很重要,需要我们花费更大的心血,同时也深深感觉到一个人做系统真的很吃力。

时间: 2024-10-12 20:06:51

机房重构总结之步履蹒跚的相关文章

[机房重构]UML图(包图、类图、用例图、时序图)

机房重构画图是一个非常重要的一个阶段,机房重构之前也画过UML的图,但是这一次与上一次不同,这一次有分层的思想在里面. 包图 之前三层的时候各层之间的传递很清晰,包图也很容易就画出来了,先来看之前三层的包图.通过实体将输入的信息从U层传入B层,同时通过实体将信息从D层传入B层,B层进行判断,通过实体将结果返回给U层. 之前的三层不能很好的实现低耦和的思想,并且我们学习了设计模式,要继续进行分层,进行七层的编写.之前不太理解,看大家的博客,知道在U层和B层之间加入了外观模式,降低U层和B层之间的耦

机房重构-完结篇

机房重构已经结束了,自从软考开始,光顾着准备软考和三级网络等级考试就没来得急总结.软考一开始,突然觉得时间好少,时间过得好快.这节奏,有点飕飕的. ---------------------技术总结: 熟悉了对Visual Studio这一开发环境的使用,深入了解了VB.net语言基础有了一定的认识并且学会使用.这一次使用三层架构,利用分分层的思想,深入理解了各层的职责.代码规范,这一次再敲代码的时候先学了一下代码规范,也把头文件注释设计好,让自己的代码漂亮一点. 最终的要思想还是面向对象,根据

【机房重构】—上机&订餐

前几天通过UML图中的时序图,让我对于机房重构中的每一条线理解的更加清晰,以前觉得上机特别的乱,在一次偶遇中,得知了原来它可以转化成我们平时订餐,下面就听我说一说上机&订餐的故事吧! 又是发生在一个风和日丽的早上(廊坊师范学院时间:11:30),其实对于大多数人来说应该是中午了吧,睁开朦胧的睡眼,拿起手机看了看Time,到了吃饭的时间了,由于昨天晚上一直整理自己的机房收费系统上机部分,到很晚才睡,朦胧记得我最后"搞"成功了!为了庆祝我昨天的战果于是果断在美图团网上订了一份排骨盖

机房重构 之 SqlHelper

机房收费开始一段时间了,刚开始也是敲了一段时间,发现D层访问数据库出现了大量的重复代码,每个D层类都要 单独访问数据库.发现问题,咱们就解决问题,查阅前人的博客,发现了一个SqlHelper类,运用一下,果然好用,省 去了大量时间去写重复的代码. 小面对SQL中的一些类方法进行简单的介绍. 1.SQLHelper.ExecuteNonQuery    作用:用于执行语句 2. SQLHelper.ExecuteScalar       作用:用于获取单字段值语句 3. SQLHelper.Exe

机房重构(3)——存储过程

在敲机房收费过程中我们都会遇到这样的问题:很多功能实现都需要涉及到多张表的操作,比如充值.退卡.结账等功能的实现.这就需要我们多次对数据库进行操作,不仅代码量大大增加,而且执行效率也会大打折扣.为了提高效率,于是,存储过程就华丽登场了. 1.简介 存储过程是一组为了完成特定功能的语句集,经过编译后存储在数据库中,用户通过制定存储过程的名称并给出参数来执行它.存储过程在运算时生成执行方式并存储在数据库当中,当其再次运行时速度比单个的SQL语句要快.    2.优缺点 1)优点 a.复用性强.存储过

机房重构——视图

视图.存储过程.触发器等等早就听说过,却没有真正接触过,一直处在一个以后再说的状态中,逃是逃不掉了. 机房重构,重构出了什么?留着这个疑问.重构完以后再做总结. 视图:在SQL中,外模式一级数据结构的基本单位是视图,就是从若干个基本表和(或)其他视图构造出来的表.其实就是一张虚表. 注意:在使用视图的时候,应当提前设置好关联表的主外键. 在机房收费系统里功能之一,学生查看余额时,用到了两张表的内容,Card表里的状态和余额,其他信息都来自学生表. 视图的创建和删除: 方法一:使用SQL语句创建视

机房重构包图(从三层+实体到三层+实体+外观+工厂+接口+SQLHelper)

刚刚开始接触三层的时候,我只做了两个登录小窗体的例子.画了简单的包图,可以说,为后面机房重构留下了大量的工作(因为三层理解没有深度,也没有理解出自己的东西).不过,欠下的总要还的.在做机房重构的时候,问题出现了.如果只用三层+实体,我能做出来,但是,要求重构不能只用三层+实体,那么,就要好好分析一下了. 首先说说三层+实体:就是表现层(U层)直接调用业务逻辑层(B层)的逻辑,业务逻辑层在直接访问数据层(D层),在把数据返回到B层后返回到U层.首先,只用三层+实体做程序时,灵活性不够高.如果想换数

机房重构---MDI窗体+单例模式

在VB6.0版本的机房收费系统中就用到了MDI技术(多文档界面),其中有的窗体用了MDI,而有的则没有用到,回头想想这些个关于增删改查的功能都该是MDI这个容器中的子窗体,于是这次我将他们都放到了MDI窗体中. 一.关于MDI窗体 MDI窗体设置步骤: (1)在frmMain中打开属性窗格,"IsMdiContainer"属性设置为"True". (2)把工具箱中MenuStrip控件拖到frmMain中,创建菜单如图 由于最近敲的是"修改密码"

机房重构时利用状态模式实现消费时间的计算

在做机房重构时,我们会在学生上下机计算学生上机时间时,会出现消费时间随着基本数据设定表中的数据变化而变化,这里不仅仅是数据的变化,还包括不同时间段内消费时间具体确定问题.主要分为三个时间段的计算 1.准备时间:即在此时间段内,消费金额为0 2.至少上机时间:如果上机时间超过了准备时间,但是少于至少上机时间,那么此时消费时间为至少上机时间 3.按正常消费时间来算:此时,消费时间大于至少上机时间后,则按照正常时间来算 通过对业务的分析,我们发现在不同时间段,最终的消费时间的计算方式是不一样的.如果我