图5.2用户管理界面
设计思想:
当宿舍管理系统需要加入新管理员时,具有使用该功能权限的超级用户授予新管理员以登录该系统的用户名称、用户密码和用户权限。像我们的后勤服务总公司中的管理人员就应该具有系统管理员的权限,宿舍楼房管理人员就应该具有一般用户的权限。一般用户的权限是系统管理员授予的。当然如果某管理人员离职,那么他将不能再登录该系统,因此管理员有权收回授予其的管理权限。
详细设计:
(1) 在实现该功能时,需要用到权限表LoginIn,因此需要添加一个TADOQuery控件实现窗体与数据库之间的相关联。
(2) 在新增用户时,考虑到在登录该系统时,用户名及其用户密码是必须输入不能为空的,因此我们在实现具体添加新用户时,不能允许用户名及其密码为空。还有重要一点就是用户权限也是必须选择的,因为这关系到用户在使用宿舍管理系统时所具有权限问题。
(3) 在删除用户时,还需要通过编码判断一下系统管理人员所要删除的用户到底存不存在。如果没有该用户那么也许是因为管理人员的输入错误,造成所删用户不存在,可以重新输入,实现删除功能。
29
5.1.2 密码修改
图5.3 密码修改界面
设计思想:
为了防止密码被恶意盗用可以经常性的修改你的密码以增强系统的安全性,密码修改对于所有具有访问该系统的用户来说都可以使用。
详细设计:
(1) 首先通过TADOQuery控件实现该功能模块与数据库的关联。
(2) 其次为了确保该功能的完整性,在点击确认之后,需要判断一下所有的编辑框中的输入都不能为空。
(3) 最后在确认时,还需要编程实现的是判断原始用户名和密码是否一致,只有一致才有权限修改你的密码。同是为了确保新密码的正确性,还添加了一个确认密码框,新密码和确认密码两者所输内容是要求完全一样,方能修改密码成功。
5.2 公寓管理模块详细设计
30
5.2.1 楼房管理
图5.4楼房管理界面
设计思想:
楼房管理是对每栋宿舍楼的基本信息进行录入,在学校建设完新的宿舍楼时可以通过此窗体把该楼房的信息添加到数据库中去。
(1) 由于需要和数据库表(楼房表House)相关联,所以也添加了一个TADOQuery控件实现两者之间的关联。
(2) 在具体实现时需要设置像楼房号这样的具有唯一确定性的字段是不能为空的。其他字段在输入时没有太大限制,录入人员在录入时需根据自身情况再进行添加。
(3) 我们还设置了一个‘备注’字段,是为了方便学校登记该楼房的其他相关情况。
5.2.2 宿舍管理
图5.5宿舍管理界面
31
设计思想:
宿舍管理是对每栋楼房所有宿舍的一个详细情况登记,每个宿舍在数据库里面的信息都是就静态的只有里面的实住人数是动态增加的,当某个宿舍增加或减少一个学生实住人数会自动加1或减1,实现动态增减。
详细设计:
(1) 首先通过TADOQuery实现数据库和窗体的相关联,再通过TDatasouse控件实现TDBGrid和宿舍表(Dorm)的相关联,那么Dorm表中的数据就会在TDBGrid中显示了,可以随时看到表中数据的动态变化。
(2) 在具体设计时,首先将实住人数编辑框属性设为ReadOnly型,因为该字段是动态添加,每当为一个学生分配一个宿舍,那么该宿舍的实住人数会自动加一,无需手工录入。住宿费是必须输入的,因为这和学生注册管理是相关联的。学生在学期注册时,需要根据该生所住的宿舍号来查看其应交的住宿费用。居住性别也要输入,当为某学生分配宿舍时,需要根据该生性别查一下,还能入住男生或女生的宿舍有哪些,根据所查情况再为他们分配宿舍。以免盲目分配,出现错住造成管理混乱。
5.2.3 员工管理
图5.6员工管理界面
设计思想:
员工管理是对楼房管理人员、清洁工、保卫人员进行的登记管理。该模块是有系统管理员来完成的,普通用户没有使用该项功能的权限。当某栋楼房调来新员工系统管理员可以通过此功能来添加员工基本信息。
32
详细设计:
(1) 首先通过TADOQuery实现数据库和功能模块的相关联,再通过TDatasouse控件实现TDBGrid表格和员工信息表(Employee)的相关联,那么员工信息表中的数据就会在TDBgrid中显示了,可以随时看到表中数据添加、删除、修改等的动态变化。
(2) 在该功能中需编程将‘楼房号’所对应得下拉列表框中的属性值动态的从楼房信息表(House)中获得的。通过动态添加可以实现当楼房表中每增加一栋楼,在员工窗体的‘楼房号’的下拉列表框中的会自动添加一栋,实现两个表之间的动态关联。
5.3 信息查询模块详细设计
按学号进行查询、按姓名进行查询、按班级查询、按寝室号查询这四个功能模块在具体编程实现上基本上是一样的,因为都是针对学生信息的查询。因此我们仅以’按学号进行查询’为例来说明一下这四个功能模块的详细实现过程。其余三个模块仅介绍其实现思想。
Y
显示查询结果 判断条件? 输入学号(姓名、班级、宿舍、) 开始 N
结束 33