一、 实现的功能
1、 系统管理员
Ø 用户管理模块:
用户管理模块主要是对用户的属性和权限进行管理,是系统的基础模块,功能由图3可见。由管理员添加的用户默认密码和用户名相同,修改密码只能由本人或者在数据库中修改完成。
Ø 课程管理模块:
管理员可以对课程进行增,删,查,改等操作。
Ø 教室管理模块:
管理员可以对教室信息进行增,删,查,改等操作。
2、 用户
Ø 用户管理模块:
学生可以查询自己的个人信息以及对自己的密码进行修改,丢失密码后可以找系统管理员获取密码。
Ø 课程管理模块:
学生可以查询任意一门课程的详细信息,包括:课程号、课程名称、讲授门课的老师。
Ø 教师管理模块:
学生可以查询任意一名老师的信息,包括:姓名、性别、职称、开课信息。
Ø 教室管理模块:
教室信息查询:学生可以查询某一教学楼某一教室的信息以及该教室在每一天任意时段的使用情况(有课、有讲座、有活动等等)。
借用教室:学生可以借教室,即获得教室在某段时间的使用权,办讲座,开办社团活动等,如果申请的教室有冲突,请给出提示。
我要上自习:学生可以查询当天某一时段或者多个时段的空闲教室,然后去上自习
二、 难点以及解决
1、 借教室功能实现,后利用存储过程解决
2、 学生账户和学生信息表同步,后利用触发器解决
三、 仍旧存在的问题以及解决方案
1、 教室表的字段以及借用教室情况表的字段有待改进,可以真对数据表的范式级别进行改进,以减少数据冗余,但是同时要考虑过多连接查询带来的效率降低问题。
2、 系统管理员界面的教室信息管理功能模块未做,因为与学生管理类似,以后可以直接添加模块。
3、 学生管理,教师管理,课程管理三个模块中代码冗余过多,可以通过代码重构来提高代码的复用率,减少代码的冗余。
四、 数据库课程设计心得
1、 数据库课程设计,不能急于开始编码。
我在本次的数据库课程设计中,一开始并没有认真进行需求分析以及数据库的设计,而是急于去编码实现界面等前台的东西。结果编到第二个界面的时候,发现数据库设计不合理,只好重新回去修改。我的解决方法是:详细进行需求分析,争取做到对整个系统了然于胸;详细进行系统功能划分,分到最小模块为止,然后再一个一个模块添加代码即可,当然,要考虑模块与模块之间的耦合程度以及模块与模块之间的信息共享。
2、 在遇到困难的时候怎么办?
在本次数据库课程设计中遇到不少困难,例如:在编写学生借用教室的模块的时候,由于原来没有用过存储过程,在后台编写以及前台调用的时候都没有头绪;在编写教室信息管理模块时,GridView的更新总也实现不了等等诸如此类的困难很多。在这时,我一般采取以下措施:上网查资料;在网上论坛上提问题;和同学讨论;在图书馆查找相关图书资料。总之,这些是我比较常用的方法。最重要的一点是,遇到困难时的心态要平和,冷静地去查找问题并解决问题。
3、 注意知识的总结和积累
最近,其实不止是本次数据库课程设计带给我的收获,就是作为一个合格的程序员,要注意对知识的积累和知识体系的梳理,每隔一段时间就应该对自己近期的工作有个小结和反思,只有这样,才能不断进步,因此,我在CSDN开通了自己的博客,关于本次数据库课程设计中写的知识点总结在里面都有。
网址是:http://blog.csdn.net/duqi_2009,趁此机会宣传一下吧。