逻辑问题。
因为和第一次做机房收费系统不同,这次做的时候无论退卡还是学生注销,删除系统用户都没有直接将表中的数据删除,而是设置的状态标志位,就像结账的标志位一样,在建立表结构的时候加上默认值,或是在建立实体类的时候直接赋初始值。这样管理员可以查看已经注销的用户的工作记录,和退卡学生的上机历史记录。
卡号是否可以重复使用问题。因为在退卡的时候没有直接删除卡号而是设置的状态标志位。开始简单的认为,卡号可以重复使用也挺好的,就这样做的,到后来发现如果卡号可以重复使用会出现一系列问题,例如学生的上机记录中查询问题,会出现数据冗余吧,太繁琐了。
系统健壮性问题。
细节问题。
注册的各个文本框,规定填写的类型,判断输入的长度。是否可以获得焦点。
很多窗体上都要设置窗体的控件的的text值为空,是否可以遍历窗体的控件然后赋为空值。试了试,没有成功,但是在其他的语言环境下是可以的。
给出用户的一些输入错误提示,界面层的是直接用msgbox 给出提示内容,其他层的向界面抛出错误,每层的每个过程都要用try catch 来保险,以免用户登录的时候会出现系统崩溃的现象。
变量的命名上,存在很大的问题,最后感觉一塌糊涂了,对变量命名提前分类。
易扩展问题。
建表的时候想到系统是否可以增加角色,给用户角色建立一个表。学生信息表和学生注册的卡表分开,如果是教务系统的子系统呢。那次头脑风暴中提到了,是否可以动态的增加删除显示控件。
在三层的理解上。
开始懂点点三层了,界面层是从用户界面传递数据到业务逻辑层,业务逻辑层是接收界面传来的数据,对dal层操作,bll中的类是根据界面抽象出来的,也就是根据需求抽象出来的,dal层是对底层数据库的操作,执行增删改查,是对数据的基本操作。
包图,就是简单的三个包。
用例图。(以操作员为例)
时序图。
用户登录的时序图为例。
常用的快捷键:(部分常用记录于此,以后的博客中我会专门来说说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类。
对应各个表表的字段就是类的属性。
重构要加上的。
加上设计模式的应用,使用存储过程,各层之间传递的参数应该都是对象,这次有的是传递的字符串,重构的时候加上。