机房收费系统小结(只用三层做的)

 

逻辑问题。

因为和第一次做机房收费系统不同,这次做的时候无论退卡还是学生注销,删除系统用户都没有直接将表中的数据删除,而是设置的状态标志位,就像结账的标志位一样,在建立表结构的时候加上默认值,或是在建立实体类的时候直接赋初始值。这样管理员可以查看已经注销的用户的工作记录,和退卡学生的上机历史记录。

卡号是否可以重复使用问题。因为在退卡的时候没有直接删除卡号而是设置的状态标志位。开始简单的认为,卡号可以重复使用也挺好的,就这样做的,到后来发现如果卡号可以重复使用会出现一系列问题,例如学生的上机记录中查询问题,会出现数据冗余吧,太繁琐了。

 

系统健壮性问题。

细节问题。

 注册的各个文本框,规定填写的类型,判断输入的长度。是否可以获得焦点。

很多窗体上都要设置窗体的控件的的text值为空,是否可以遍历窗体的控件然后赋为空值。试了试,没有成功,但是在其他的语言环境下是可以的。

给出用户的一些输入错误提示,界面层的是直接用msgbox 给出提示内容,其他层的向界面抛出错误,每层的每个过程都要用try catch 来保险,以免用户登录的时候会出现系统崩溃的现象。

变量的命名上,存在很大的问题,最后感觉一塌糊涂了,对变量命名提前分类。

易扩展问题。

建表的时候想到系统是否可以增加角色,给用户角色建立一个表。学生信息表和学生注册的卡表分开,如果是教务系统的子系统呢。那次头脑风暴中提到了,是否可以动态的增加删除显示控件。

 

在三层的理解上。

开始懂点点三层了,界面层是从用户界面传递数据到业务逻辑层,业务逻辑层是接收界面传来的数据,对dal层操作,bll中的类是根据界面抽象出来的,也就是根据需求抽象出来的,dal层是对底层数据库的操作,执行增删改查,是对数据的基本操作。

           包图,就是简单的三个包。

           用例图。(以操作员为例)

           机房收费系统小结(只用三层做的)_第1张图片

            时序图。

           用户登录的时序图为例。

           机房收费系统小结(只用三层做的)_第2张图片

          

常用的快捷键:(部分常用记录于此,以后的博客中我会专门来说说vs中的快捷键的,请您届时浏览。)

 写代码:

Ctrl+shift +左/右/上下 选中文字。

Shift +左/右/ 上/下一个字符一个字符的选中。

开始使Home 、end 、pageup 、pagedown 了。

加注释:ctrl+k,crtl+c 二级快捷键。

 窗口显示:

同一窗口的分割。垂直分割和水平分割。

Ctrl+tab 切换窗口和选项卡。

不同窗口显示。

属性窗口:f4

 调试:

调试f5、重新调试:ctrl+Shif+f5 、 停止调试:shift+f5

全部保存:ctrl+shif+f5

逐语句调试:f11,逐过程调试:f10,跳出:shift+f11

  

机房收费系统分为几大块:

从界面上。

datagridview使用。

Combox使用。

Report 使用。

textbox和lable,listbox,button使用。

BLL业务逻辑上。

从界面上好抽象出来的,开始一个界面一个bll业务逻辑类,到后来发现应该把执行功能相同的放到一起。(重构时会增加外观模式)

DAL

表的增删改查,一个表对应的一个DAL类。

Entity类。

对应各个表表的字段就是类的属性。

 

重构要加上的。

加上设计模式的应用,使用存储过程,各层之间传递的参数应该都是对象,这次有的是传递的字符串,重构的时候加上。

 

 

 

你可能感兴趣的:(设计模式,数据库,report,扩展,button,textbox)