第一部分 调查用户需求
本系统的最终用户为宿舍楼管理员,本宿舍楼的学生。根据我们日常生活中的经验,结合对自己学校宿舍楼管理老师的咨询和对同宿舍楼同学的调查,得出用户的下列实际要求:
- 宿舍楼的基本情况
学生住在宿舍楼中,每栋宿舍楼都会有若干名老师负责本宿舍楼的日常管理。
- 学生的基本信息:
入校时,每位同学都有唯一的学号,并被分配到指定的宿舍楼和指定的宿舍,也会有一个宿舍号,其入校时间就是他的入住时间。另外,为了管理上的方便,同一院系的学生的宿舍一般在一起,相应地会有其所在的院系名称。
- 宿舍的基本信息:
- 每间宿舍都有唯一的宿舍号,入校时,宿舍会装公用电话机,相应地就有宿舍电话号码。
- 用户对系统的要求
一、宿舍楼管理员:
a.信息要求:
宿舍楼管理员能查询上面提到的宿舍楼的所有相关信息,包括某一学号的学生在宿舍楼中住宿的详细信息,以利于对整个宿舍楼的全面管理。
b.处理要求:
当学生基本信息发生变化时,宿舍楼管理员能对其进行修改。比如,某些同学搬到其他的宿舍中去,他们在本宿舍楼中相应的记录就应该删去;或者学生转换专业,他们记录中院系的信息也要作相应的修改等等。
当宿舍楼的电话号码发生变更时,宿舍楼管理员能根据有关证明做出修改。
二、本宿舍楼的学生:
a.信息要求:
本宿舍楼的学生能查询其所在的宿舍的所有信息,能查询本楼的指定宿舍的电话号码以利于同楼宿舍间的通信。
第二部分 系统功能的设计
1、罗列学生信息
通过鼠标或者键盘选择宿舍类型、楼号或者房间号等树项,右边的列表视图就会罗列出相应宿舍类型、楼或者房间中的所有学生的简要信息。对这些罗列出来的学生可以对它们进行删除或者查看详细信息的操作。
2、查看学生详细信息
选择左边树视图中的房间号,或者双击右边列表视图中的某一学生,右边的视图就会显示该用户的详细信息。
3、添加学生
单击工具条的【添加学生】按钮,或者选择菜单【系统维护】->【添加学生】,弹出“添加学生”对话框,见“添加学生”界面。在该对话框中填写完相应的信息,单击【确定】按钮完成添加。其中“学生姓名”和“宿舍地址”是必须填写完整的,如果不完整单击【确定】按钮后系统会提示用户。
4、删除学生
当程序的输入焦点在左边的树视图时,选择要删除的项,单击工具条的【删除学生】按钮,或者选择菜单【系统维护】->【删除学生】,弹出询问用户确认删除操作的对话框,见“删除学生”界面。如果删除的是宿舍类型,则该宿舍类型中的所有学生都被删除;如果删除是楼号,则该楼中的所有学生被删除,如果删除的是房间号,则该房间中的所有学生都被删除;如果删除的是学生,则该学生信息被删除。
当主窗口的右边是学生的列表视图时,并且输入焦点在其中,选择其中要删除的学生(可以选择多个),单击工具条的【删除学生】按钮,或者选择菜单【系统维护】->【删除学生】,弹出询问用户确认删除操作的对话框,单击【是】按钮删除选择的学生信息。
5、学生查询
单击工具条中的【学生查询】按钮,或者选择菜单【系统维护】->【学生查询】,弹出“查询学生”对话框,见“学生查询”界面。在该对话框中填写完查询条件,单击【确定】按钮。如果有符合条件的学生,在右边的学生列表中就会全部罗列出来,可以对这些学生进行删除或者查看详细信息的操作。
第三部分 设计图
树视图中罗列学生信息的程序流程: 查询和罗列的程序流程:
增加学生的程序流程:
第四部分 数据字典
1.数据项
住宿学生数据字典:
属性名 | 存储代码 | 类型 | 长度 | 备注 |
学号 | Sno | char | 20 | 住宿学生学号 |
姓名 | Sname | char | 20 | 住宿学生姓名 |
性别 | Ssex | char | 4 | |
专业 | Sdept | char | 40 | 学生专业 |
宿舍号 | Dno | char | 6 | 住宿学生宿舍号 |
入住时间 | Scheckin | date | 8 | 新生搬入时间 |
宿舍数据字典:
属性名 | 存储代码 | 类型 | 长度 | 备注 |
宿舍号 | Dno | char | 6 | |
宿舍电话 | Dphone | char | 15 |
2.数据结构
数据结构名 | 组成 |
用户信息 | 用户ID,用户密码,用户类型(普通用户,管理员) |
住宿学生信息 | 学号,姓名,性别,专业,宿舍号,入住时间 |
宿舍信息 | 宿舍号,宿舍电话 |
软件调试分析
本软件是基于Windows的编程开发,所以,软件调试必须在Windows环境下进行。调试前须做好以下准备工作:
(1)需要文件 MFC42.DLL、MSVCRT.DLL,如果没有,则安装Visual C++6.0环境;
(2)需要安装Access 2000的OLE DB驱动,如果没有,可以安装Access2000以上版本;
(3)需要将StuDormMS.mdb数据库文件与可执行文件StuDormMS.exe放在同一目录下,才能运行成功。
配置好之后,在Visual C++6.0环境下进行软件的调试。调试分析如下:
(1)首先进行数据库的导入,加入ATL产生的模板类,生成包含数据库的House.H[见附]头文件,该头文件是与数据库的接口,经过测试,数据库链接成功;
(2)实现界面框架,使用类CSplitterWnd切分视图和动态切换视图的类型,通过包含该类的单文件调试发现无错误后,整体系统运行能成功切换试图。
(3)系统框架的左侧为树视图,采用CLeftTreeView类来实现;右侧学生信息罗列采用类CUsersListView来实现,成功调试后能正常显示信息。
(4)“增加学生”模块,单模块调试通过后,需要在整理系统编写完后,再进行操作测试,添加一条记录后,发现在数据库中有保存该记录,如果错误输入,观察是否能正常提示信息。否则修改程序再进行调试。
(5)“查询学生”模块,该模块可以实现单项查询和组合查询,单项查询调试通过后,编写组合查询的代码,再进行调试,看是否能满足要求,并且能正常提示非法查询请求。
(6)“删除学生”模块,可以进行不同层次的删除操作,例如删除宿舍将会删除该宿舍的所有成员,如果只删除某一学生,不会影响到其他成员。本模块测试通过。
经过调试,以上各部分运行正常,能实现预期的功能。
结语
结论与讨论
结论:本文介绍的宿舍管理系统具有界面友好、操作简单、实用性强等特点,并已开发完毕,使用效果良好,初步取得了以下效果: (1) 操作简单,实用性强,能够快速地提供住宿学生的各种基本信息供管理者参考和使用,大大提高了工作效率; (2) 浏览、查询、添加实现数据库管理,纸质文件的流转被电子邮件代替,节约了办公经费; (3) 实现了对数据的智能处理,为领导决策起到了一定的辅助作用; (4) 使宿舍管理工作更加科学化和规范化。
讨论:本文介绍的实现方法适合与小型的数据管理,而且功能比较简单,在一定程度上能解决实际中宿舍管理中的问题。但也存在一些不完善的地方,如需要保存更多的信息,实现更多的功能,需要采用较大型的数据库管理系统,而且未来的管理以网络化为趋势,开发一套可以联网管理的软件系统能给宿舍管理工作带来更大的方便。
参考文献
- 求是科技. Visual C++ 6.0 数据库开发技术与工程实践.北京:人民邮电出版社,2004
- 郑莉,董渊,张瑞丰.C++语言程序设计.北京:清华大学出版社,2003
- (美)Paul J.Fortier等著.数据库技术大全.林瑶等译.北京:电子工业出版社,1999