宿舍管理系统设计

上传人:无*** 文档编号:74530975 上传时间:2022-04-14 格式:DOC 页数:36 大小:561.58KB
收藏 版权申诉 举报 下载
宿舍管理系统设计_第1页
第1页 / 共36页
宿舍管理系统设计_第2页
第2页 / 共36页
宿舍管理系统设计_第3页
第3页 / 共36页
资源描述:

《宿舍管理系统设计》由会员分享,可在线阅读,更多相关《宿舍管理系统设计(36页珍藏版)》请在装配图网上搜索。

1、摘 要随着计算机技术的不断提高,数据信息处理技术有了空前的发展,人工管理方式逐渐向计算机管理方式转变。高校是科研的阵地,宿舍管理也应该变得更加信息化、时代化,节省人力物力,从而提高工作效率。本学生宿舍信息管理系统具有一定的社会和经济效益,对提高巢湖学院的宿舍管理水平具有重要意义。本系统主要用Microsoft公司的经典开发工具VC6.0,它能够很好的开发出具有友好性和交互性的界面,并使用Microsoft Access2003作为后台数据库。在数据库结构的设计过程中,先后对巢湖学院宿舍管理系统进行需求分析、功能模块划分、数据库模式分析。在设计过程中对系统进行需求迭代,最终形成可行性系统。本系统

2、包括宿舍管理人员的信息管理、学生信息管理、宿舍信息管理、外来人员信息管理、奖罚信息管理、申请报修信息管理、高级查询等。关键词:宿舍管理系统;奖罚信息管理;申请报修信息管理目 录 第1章 绪论11.1 论文背景及课题来源11.2 本课题在国内外的发展状况11.3 应解决的问题及系统开发意义1第2章 开发工具及相关技术介绍32.1 C+语言的特点32.2 Microsoft Access 2003的特点32.3 MFC技术介绍3第3章 系统需求分析43.1系统可行性分析43.2 系统任务描述53.3系统功能分析53.3.1 系统的功能需求53.3.2 系统数据流图73.3.3 系统数据分析8第4章

3、 系统设计134.1 系统总体结构设计134.2 系统数据库设计154.3系统部分功能模块设计194.3.1超级管理员登录模块194.3.2添加学生模块20第5章 功能实现215.1 系统主要模块代码215.1.1超级管理员登陆界面及其主功能界面215.1.2宿舍管理员登陆界面及其主功能界面265.2 系统测试295.2.1 系统测试的特点295.2.2系统测试的步骤29第6章 结论32参考文献33致 谢34第1章 绪论1.1 论文背景及课题来源随着时代的发展,计算机技术逐渐深入各行各业,为广大的用户提供了更为人性和便捷的服务。目前各行各业广泛使用专用系统,其内容跨越了教育科研、文化事业、金融

4、、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,设计开发好一个专用的系统对一个机构(或部门)的发展十分重要。近年来,随着用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术的广泛应用,为用户提供的服务将越来越丰富,越来越人性化1。随着巢湖学院教学质量的不断提高,吸引越来越多的学子来这里学习,于是巢湖学院的规模不断扩大,然而目前巢湖学院宿舍管理人员仍然采用手工记录数据的方式完成一些工作,比如学生出入宿舍记录、宿舍人员信息、宿舍奖罚信息等,尤其是宿舍财产安全,只靠人工记录已经不能快速处理外来人员以及被访问学生的信息,不能有效的遏制盗窃事件的发生。为了提高巢湖学院宿舍管理部门的

5、工作效率,充分利用资源,减少不必要的人力物力和财力的支出,借此为巢湖学院宿舍管理部门开发一个系统来进行管理学生宿舍信息,使学生宿舍信息实现标准化是十分必要的。1.2 本课题在国内外的发展状况宿舍管理系统是高校管理宿舍不可缺少的部分,开发出这样的系统对于高校的宿舍管理人员和学校管理人员来说都至关重要,因此宿舍管理系统应该能够为宿舍管理人员提供充足的信息和快捷的查询手段。但长时间以来,人们使用传统人工的方式管理文件信息,这种方式存在着许多的缺点,例如:效率低、保密性差、时间长,这将会产生大量的文件和数据,不便于用户的查找、更新和维护。目前国内外都认识到教育的重要性,在高校建设方面都投入了大量的人力

6、物力,很多知名的高校也都开发出适合自己的宿舍管理系统,而巢湖学院也一直在迎头赶上,为此开发出适合巢湖学院的宿舍管理系统也是十分迫切的。1.3 应解决的问题及系统开发意义对于学校而言,学生宿舍管理是必不可少的组成部分。目前有许多学校的宿舍管理部门仍停留在手工记录数据的阶段,对于规模小的学校来说勉强可以接受,但对于比较庞大的学生信息量,需要记录存档的数据比较多的高校来说,手工记录是相当麻烦的,而且当查找某条记录时,由于数据量的庞大,只靠人员一条一条地查找,不仅麻烦而且浪费时间,且工作效率较低。为了提高学校宿舍管理部门的工作效率,充分利用资源,减少不必要的人力、物力和财力的支出;方便宿舍管理部门的工

7、作人员全面地掌握学生住宿情况;提高学生对宿舍管理的互动性等目的,为学校开发设计专用的系统-学生宿舍管理系统来管理学生的宿舍信息,使学生宿舍信息实现管理的标准化和制度的规范化是十分必要的。此系统将针对巢湖学院宿舍管理的具体情况进行设计与实现。本系统针对目前宿舍管理人员在工作时存在的各种问题,提供一个较为方便的解决方案,使管理人员在日常管理工作过程中,提高工作效率,并使得学校宿舍资源得以有效配置,从而提高我们学校高效的日常管理水平,也让学校更好的为学生提供便利的服务。第2章 开发工具及相关技术介绍2.1 C+语言的特点本系统采用了程序设计语言C+,它是一种优秀的面向对象程序设计语言,是在C语言的基

8、础上发展而来的,但它比C语言更易被人们学习和掌握。C+以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用2。面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃,C+完美地体现了面向对象的各种特性。C+的设计原则是:C+可设计成静态类型机制,有着与C语言同样高效且可移植的多用途程序设计语言,C+可设计成有着直接和广泛的支持多种程序设计风格(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计),C+尽可能的设计成与C语言兼容,从而提供一个从C语言到C+的平滑过渡4。2.2 Microsoft Office Access 2003的特点Microsoft Office

9、Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统,MS ACCESS用它自己的格式将数据存储在基于Access Jet的数据库引擎里,它还可以直接导入或者链接数据(这些数据存储在其他应用程序和数据库),Access有强大的数据处理、统计分析能力,利用Access的查询功能,可以方便地进行各类汇总、平均等统计1,并可灵活设置统计的条件。Access用来开发软件,比如生产管理、销售管理、库存管理等各类企业管理软件,其最大的优点是:易学6。2.3 MFC技术介绍MFC(Microsoft Foundation Classes),是一个微软公司提供的类库(cla

10、ss libraries),是以C+类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量9。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。MFC的主要优点是可以用面向对象的方法来调用Windows API,且便于应用程序的开发。MFC将很多应用程序开发中常用的功能自动化,并且提供了文档框架视图结构和像活动文档这样的便于自定义的应用程序框架5。同时,在Visual C+内部也内建了很多对MFC的例如类向导这样的支持以减少软件开发的时间,使用类向导可以生成从hello world这样的简单程序到活动文档服务器这样

11、的复杂程序。MFC的消息映射机制也避免了使用性能较低的庞大虚函数表7。第3章 系统需求分析软件需求分析包括对需求进行推敲和润色以保证所有的涉众人都能够理解需求,以及自习检查并找出其中的错误、漏洞以及其他缺陷。分析包括将高层的需求分解成具体细节、创建开发原型,以及评估可行性和协商需求优先级。其目的是开发高质量、内容详细的需求,让管理者能够对项目做出实绩的评估,使技术人员能够继续进行设计、开发和测试8。3.1系统可行性分析系统的可行性分析是建立在用户的要求和系统调研的基础上进行的,可行性分析的主要工作包括:(1) 组织管理可行性本宿舍管理系统是由学校的宿舍管理部门提出的,在计算机与信息工程学院老师

12、的带领下,开发人员及学院学生利用自己的时间而设计实现的。在开发过程中,学院学生大都拥有自己的电脑,而且学院也能够提供计算机用于开发系统项目。因此,从组织形式及管理层面上来说,设计实现巢湖学院宿舍管理系统是可行的。(2) 技术可行性分析本系统开发主要包括前端应用程序的开发和后台数据库的建立与维护。为了达到具体管理体制的要求,满足管理人员的需求,系统在多方面提供方便的查询,解决了大量的手工计算,在添加楼栋以及学生信息时都可以智能的提供参考信息,界面具有很高的友好性和交互性,操作简单方便,即使没有相关计算机专业知识的宿舍管理人员也可以迅速的掌握使用方法。随着数据库管理系统的普及以及可视化编程软件的出

13、现,数据库管理信息系统的开发变得更为简单。对于上一节提到的各种技术,包括MFC技术,C+语言,ADO数据库技术,如今也都发展到了成熟的阶段,对于开发人员来说,这些常见的技术资料也比较容易收集,因此开发宿舍管理系统是完全可行的。(3) 经济可行性分析经济可行性分析主要是开发新系统所投入的资金与系统投入使用后所带来的经济效益进行比较。本系统主要的经济投入是在软件的维护上,而使用的硬件环境要求很低,因此在硬件环境上所需投入很低。但在软件方面,C+运行环境以及Microsoft Office Access 2003数据库,在市面上的成本也是相当低廉,操作系统为Windows 98/Windows 20

14、00/Windows XP/Windows7等,均可正常运行。3.2 系统任务描述巢湖学院管理系统要处理的是每栋楼内的学生信息,是利用信息化进行集中管理而开发的系统。旨在使宿舍管理人员更加方便,全面,快捷的管理宿舍。根据系统功能的要求,可以将其分为两个业务模块,分别是超级管理员和宿舍管理员。再根据不同的业务模块将系统分解成为几个功能模块来分别设计。根据系统功能分析,有超级管理员流程页面和宿舍管理人员流程页面,共同实现系统的功能。首先分析超级管理员流程页面,由欢迎页面到登录页面后,如果登录成功,则进入相应的对话框,菜单项依次为宿舍管理人员信息管理,楼栋信息管理,院系以及专业信息管理,关于作者,退

15、出系统;对于宿舍管理人员流程界面,由欢迎页面到登陆界面后,如果登陆成功,菜单项会有8个菜单项,依次为学生信息管理,宿舍信息管理,外来人员信息管理,奖罚信息管理,申请报修信息管理,高级查询,关于作者,退出系统。3.3系统功能分析3.3.1 系统的功能需求在系统可行性分析和任务描述的基础上,更加了解本系统需要的功能,此后设计了本宿舍管理系统,本系统主要考虑到宿舍管理人员管理的普遍要求,本系统的功能主要包括:(1)宿舍管理人员信息管理本模块是在超级管理员登陆超级管理员界面后可以选择进入本模块下提供了对宿舍管理人员的管理功能,包括添加新的宿舍管理人员,删除不在职的宿舍管理人员,修改宿舍管理员的密码,以

16、及查询所有的宿舍管理人员信息。(2)宿舍楼信息管理模块本模块是在超级管理员登陆超级管理员界面后可以选择进入本模块下提供了对楼栋信息的管理功能,包括添加新投入使用的楼栋信息(确定该楼栋居住学生的性别以及宿舍的类型,以及楼栋的名称等),删除不再使用的楼栋,修改楼栋信息(在宿舍楼栋整合时可以使用),查询楼栋的信息(楼栋名,管理人员名,空余房数等)(3)院系以及专业信息管理 本模块是在超级管理员登陆超级管理员界面后可以选择进入本模块下提供了对院系以及专业信息管理,又分为两个子模块,分别是院系名称的添加,修改和删除;专业名称的添加,修改和删除。本模块主要为了满足在宿舍管理人员录入学生信息时可以方便的选择

17、而不是输入,也方便学校在整合院系和专业时及时更改学生的相关信息,而不用一个个修改学生信息,提高宿舍管理的效率。(4)关于作者本模块是在超级管理员登陆超级管理员界面后可以选择进入本模块查看本系统的作者以及版本信息,方便软件需要维护和更新时联系作者。(5)退出系统本模块是在超级管理员登陆超级管理员界面后可以选择进入本模块后可以点击此退出当前对话框。(6)学生信息管理本模块是在宿舍管理员登陆宿舍管理员界面后可以选择进入本模块后对学生的信息进行管理,包括学生的入住(录入学基本信息和为学生分配宿舍),学生的搬迁(在学生换宿舍时比较方便),学生离校,学生基本信息的修改,以及查询学生信息。(7)宿舍信息管理

18、本模块是在宿舍管理员登陆宿舍管理员界面后可以选择进入本模块后对宿舍进行管理,包括添加宿舍长信息,修改宿舍长信息,查询宿舍长信息,查询某个宿舍的学生信息。(8)外来人员信息管理本模块是在宿舍管理员登陆宿舍管理员界面后可以选择进入本模块后对日常外来人员进出楼栋进行管理,包括添加外来人员信息(时间由提交时定,宿舍管理人员无权修改),删除外来人员信息(可以方便一段时间集中处理无用的信息),查询外来人员信息。(9)奖罚信息管理本模块是在宿舍管理员登陆宿舍管理员界面后可以选择进入本模块后对楼栋中的良好行为和不良行为进行奖罚的信息管理,便于营造一个崇良弃恶的生活氛围,主要包括录入奖罚信息(奖罚的对象可以选择

19、学生或者宿舍),删除奖罚信息,查询奖罚信息。(10)申请报修信息管理本模块是在宿舍管理员登陆宿舍管理员界面后可以选择进入本模块后对学生要求报修的事物信息进行管理,主要包括学生报修事物信息的录入,维修人员填写维修结果,删除已经维修好的报修信息, 查询报修信息。(11)高级查询本模块是在宿舍管理员登陆宿舍管理员界面后可以选择进入本模块后选择多种方式查询学生信息和宿舍信息,主要包括按楼层查询学生信息,按系别查询学生信息,以及查询未满宿舍的信息。(12)关于作者本模块是在宿舍管理员登陆宿舍管理员界面后可以选择进入本模块查看本系统的作者以及版本信息,方便软件需要维护和更新时联系作者。(13)退出系统本模

20、块是在宿舍管理员登陆宿舍管理员界面后可以选择进入本模块后可以点击此退出当前对话框。3.3.2 系统数据流图在对功能需求深入的理解上,分析本系统,概括本系统的数据流、加工处理、数据存储、源点和终点,进而描绘形成系统流程图8。入学:学生持录入通知书到学校报到,将处理形成入学清单。维修:宿舍管理人员根据学生提出的维修申请并处理形成生成维修单。外来人员进出:宿舍管理人员通过外来人员进出添加删除外来人员的信息。奖罚处理:奖罚事件处理后形成奖罚信息由宿舍管理人员录入数据库,管理员增修改:由超级管理员根据在职管理员信息及申请对宿舍管理员做出增删改操作。具体如图1:在职信息与申请学生 在职信息与申请信息超级管

21、理员 通知书入学 申请报修信息 入学单 处理信息 管理宿管人 报修信息 申请信息 处理结果宿舍管理员维修与反馈报修 奖罚信息清单奖罚信息处理 反馈结果 报修清单 来访者清单 外来人员进出 奖罚信息 维修清单 来访者信息 奖罚事件外来人员维修人员图1 系统数据流图3.3.3 系统数据分析在详细分析巢湖学院宿舍管理系统数据流程的基础上,总结概况出该系统所是使用的实体以及实体间的关系得到ER图:(1)实体包括:学生,超级管理员,宿舍管理员,外来人员,楼栋信息,宿舍信息,奖罚信息,报修信息,院系,专业学生学号姓名性别院系名专业名手机家庭地址亲属电话图2 学生实体图超级管理员用户名密码图3 超级管理员实

22、体图宿舍管理员用户名密码管理楼栋号管理学生性别图4 宿舍管理员实体图外来人员进出楼栋号进出楼栋学生性别进出楼栋时间姓名身份证号进出事由图5 外来人员实体图宿舍楼楼栋号居住学生性别楼层房间数/层房间类型已用房间数图6 宿舍楼实体图院系院系名称图7 院系实体图 宿舍楼栋号居住学生性别宿舍号宿舍类型宿舍长学号已用房间数图8 宿舍实体图(宿舍/个人)奖罚信息楼栋号居住学生性别宿舍号时间事由处理结果奖励/惩罚图9 奖罚实体图专业院系名专业名图10 专业实体图报修事物报修楼栋号报修楼栋学生性别报修宿舍号报修时间报修物是否处理报修人电话图11 报修事物实体图(2)由上面的实体分析得到本系统的总体E-R图,如

23、图所示:宿舍存在楼栋申请报修信息发生奖罚信息居住学生就读专业属于院系进出外来人员管理宿管人员管理超级管理人员n1n1nm11mn1m1n1nnm图12 巢湖学院宿舍管理系统总体E-R图第4章 系统设计4.1 系统总体结构设计本系统会涉及到大量的学生信息,考虑到维护学生信息的安全,本系统在登陆时要求输入用户名和密码,如果是超级管理员不用选择管理的楼栋,而宿舍管理人员必须选择其工作的楼栋名,每个宿舍管理人员只能管理一栋楼。本系统的数据库采用Microsoft Office Access 2003,开发工具采用VC6.0,C+可以较好的实现与该数据库的建立与维护,且编程效率高,开发周期短,易于维护和

24、扩充。其中分为超级管理员模块和宿舍管理人员模块。超级管理员模块如下:(1)通过“宿舍管理员信息管理”/“添加宿舍管理员”模块,添加宿舍管理员。(2)通过“宿舍管理员信息管理”/“删除宿舍管理员”模块,删除宿舍管理员。(3)通过“宿舍管理员信息管理”/“修改宿舍管理员”模块,修改宿舍管理人员登录密码或者管理的楼栋。(4)通过“宿舍管理员信息管理”/“查询宿舍管理员”模块,查询宿舍管理人员的信息。(5)通过“宿舍楼信息管理”/“添加宿舍楼信息”模块,添加新投入使用的宿舍楼的信息。(6)通过“宿舍楼信息管理”/“删除宿舍楼信息”模块,删除不再使用的宿舍楼的信息。(7)通过“宿舍楼信息管理”/“修改宿

25、舍楼信息”模块,修改宿舍楼居住学的性别或者改变宿舍的类型。(8)通过“宿舍楼信息管理”/“查询宿舍楼信息”模块,查询宿舍楼的信息。(9)通过“院系及专业管理”/“院系增删”/“添加院系名称”模块,添加学校新设的院系名称。(10)通过“院系及专业管理”/“院系增删”/“删除院系名称”模块,删除学校不再招生的院系名称。(11)通过“院系及专业管理”/“院系增删”/“修改院系名称”模块,修改学校改变的院系名称。(12)通过“院系及专业管理”/“专业增删”/“添加专业名称”模块,添加学校新增的专业名称。(13)通过“院系及专业管理”/“专业增删”/“添加专业名称”模块,删除学校不再招生的专业名称。(1

26、4)通过“院系及专业管理”/“专业增删”/“修改专业名称”模块,修改学校修改的专业名称。(15)通过“关于作者”模块,查看本系统作者以及软件版本信息。(16)通过“退出系统”模块,退出当前对话框。宿舍管理人员模块如下:(1) 通过“学生信息管理”/“学生入住”模块,添加学生信息。(2) 通过“学生信息管理”/“学生搬迁”模块,修改学生搬迁后的信息。(3) 通过“学生信息管理”/“学生离校”模块,删除离校学生的信息。(4) 通过“学生信息管理”/“学生基本信息修改” 模块,修改学的基本信息。(5) 通过“学生信息管理”/“学生信息查询”模块,查询学生信息。(6) 通过“宿舍信息管理”/“添加宿舍

27、长”模块,为宿舍添加宿舍长信息。(7) 通过“宿舍信息管理”/“修改宿舍长”模块,修改宿舍长信息。(8) 通过“宿舍信息管理”/“查询宿舍长信息”模块,查询宿舍长信息。(9) 通过“宿舍信息管理”/“查询宿舍学生信息”模块,查询宿舍学生信息。(10) 通过“外来人员管理”/“添加外来人员”模块,添加进出外来人员信息。(11) 通过“外来人员管理”/“删除外来人员”模块,删除进出外来人员信息。(12) 通过“外来人员管理”/“查询外来人员”模块,查询进出外来人员信息。(13) 通过“奖罚信息管理”/“录入奖罚信息”模块,添加奖罚信息。(14) 通过“奖罚信息管理”/“删除奖罚信息”模块,删除奖罚

28、信息。(15) 通过“奖罚信息管理”/“查询奖罚信息”模块,查询奖罚信息。(16) 通过“申请报修信息管理”/“学生报修损坏物”模块,添加学生申报损坏物的信息。(17) 通过“申请报修信息管理”/“维修人员填写维修信息”模块,修改维修结果信息。(18) 通过“申请报修信息管理”/“删除报修信息”模块,删除申报损坏物的信息。(19) 通过“申请报修信息管理”/“查询报修损坏物”模块,查询学生申报损坏物的信息。(20) 通过“高级查询”/“按楼层查学生”模块,按楼层来查询学生信息。(21) 通过“高级查询”/“按系别查学生”模块,按系别来查询学生信息。(22) 通过“高级查询”/“查询未满宿舍”模

29、块,查询未满信息。(23) 通过“关于作者”模块,查看本系统作者以及软件版本信息。(24) 通过“退出系统”模块,退出当前对话框。在上面系统总体结构设计的基础上,分析得出本系统的的主要功能模块框架图如下:巢湖学院宿舍管理系统超级管理员登陆宿舍管理员信息管理宿舍楼信息管理院系及专业信息管理退出系统宿舍管理员登陆学生信息管理宿舍信息管理外来人员信息管理奖罚信息管理申请报修信息管理高级查询图13 巢湖学院宿舍管理系统功能框架图4.2 系统数据库设计数据库开发在软件开发过程中至关重要,因为目前几乎没有系统不使用数据库单独存在,而数据库设计就是要在用户给定的应用环境中,通过一系列的逻辑设计和物理设计,构

30、造出恰当的数据库模式、子模式,建立数据库和设计应用程序结合开发,进而满足用户对信息的存储修改删除和查询等各种操作3。下面将列出本系统主要使用的数据库表:表1 本系统所用到的主要信息表及说明。表名说明dormManager宿舍管理员信息表student学生信息表building宿舍楼信息表dormitory宿舍信息表dorm_student宿舍学生信息表foreigner外来人员信息表damagedStuffReport损坏物报修表dormPunishmentAndReward奖罚(宿舍)信息表表2:管理员信息表,主要用来管理与管理员相关的数据。 主键:用户名(buildingNum,build

31、ingSex,name)。表2 宿舍管理员信息表名称数据类型说明作用是否为空大小namevarchar用户名否50passwordvarchar密码否20buildingNumvarchar楼号否20buildingSexvarchar居住学生性别否20表3:学生信息表,主要用来管理与学生相关的数据。 主键:学号(studentId)。表3 学生信息管理表名称数据类型说明作用是否为空大小studentIdvarchar学号否20deptNamevarchar院系名称否50majorNamevarchar专业名称否50studentNamevarchar学生姓名否50studentSexvarc

32、har性别否20telephonevarchar手机号码是15relativePhonevarchar亲属电话是15addressvarchar家庭地址否50表4:宿舍楼信息表,主要用来管理与楼栋相关的数据。主键:(buildingNum,builingSex)。表4 宿舍楼信息表名称数据类型作用是否为空大小buildingNumvarchar楼号否20buildingSexvarchar住学生性别否20floorsvarchar楼层否20dormsvarchar每层楼房间数否20dormTypevarchar房间类型否20usedDormvarchar已用房间数否20表5:宿舍信息表,主要用

33、来处理与宿舍相关的数据。主键:(buildingNum,buildingSex,dormNum)。表5 宿舍信息表名称数据类型作用是否为空大小buildingNumvarchar楼号否20buildingSexvarchar住学生性别否20dormNumvarchar宿舍号否20dormTypevarchar宿舍类型否20dormLeaderIdvarchar宿舍长学号否20usedBedvarchar已用床铺否20表6:宿舍学生表,主要宿舍和学生相关的数据。主键(全部字段)。表6 宿舍学生管理表名称数据类型作用是否为空大小buildingNumvarchar楼号否20buildingSexv

34、archar住学生性别否20dormNumvarchar宿舍号否20studentIdvarchar学号否20表7:外来人员信息表,主要处理外来人员进出相关的数据。主键(buildingNum,buildingSex,name,personalId,time,reason)。表7外来人员信息表名称数据类型作用是否为空大小buildingNumvarchar楼号否20buildingSexvarchar住学生性别否20namevarchar姓名否50personalIdvarchar身份证号否20timevarchar时间否20reasonvarchar来访事由否50表8:损坏物报修表,主要处理

35、报修相关的数据。主键(buildingNum,buildingSex,dormNum,time)。表8损坏物报修表名称数据类型作用是否为空大小buildingNumvarchar楼号否20buildingSexvarchar住学生性别否20dormNumvarchar宿舍号否20timevarchar时间否20stuffvarchar报修事物否50isServicevarchar是否维修否20telephonevarchar报修人电话否15表9:奖罚(宿舍)信息表。主键(buildingNum,buildingSex,dormNum,time)。表9 公共设施管理表名称数据类型作用是否为空大小

36、buildingNumvarchar楼号否20buildingSexvarchar住学生性别否20dormNumvarchar宿舍号否20timevarchar时间否20reasonvarchar来访事由否50resultvarchar奖罚方式否50kindvarchar奖励还是处罚否20以下为本系统数据库中主要的五个表之间的关系图:图14 数据库关系图4.3系统部分功能模块设计4.3.1超级管理员登录模块下面对超级管理员程序流程图做简要叙述。首先,超级管理员在登录界面中输入用户名和密码,并登录。系统获取用户输入的信息后查询数据库相应的表,如果在该表中存有相同记录,则跳到超级管理员操作界面;如

37、果在数据库中没有相同的记录,则系统提示错误,并返回开始的登录界面并会清除之前输入的数据。如图15所示:开始输入用户名与密码访问数据库提示用户名或密码错误否是否有该条记录?是进入超级管理员操作界面图15 超级管理员登录模块流程图结束4.3.2 添加学生信息模块下面对添加学生模块做简要描述。当宿舍管理管理员成功登录到主功能界面后,可以进行添加学生信息,如果该学生已存在则提示管理员,如果没有则录入。开始 登录成功?提示错误否是添加学生否提示错误是否已存在?是录入结束图16 添加学生模块流程图第5章 功能实现5.1 系统主要模块界面5.1.1 用户登陆界面及其主功能界面输入超级管理员的用户名和相应的密

38、码。系统会根据用户名与密码判断本次登陆是否合法,即系统将自动从数据库中的相应信息表中判断是否存在该用户的记录。如果匹配则进入系统,如果不匹配,则提示管理员不存在或密码有误。超级管理员登陆界面如下:图17 用户登录界面如果是超级管理员,则成功登陆后的界面如下:图18 超级管理员管理界面管理员登陆模块主要代码如下:void CDmsDlg:OnLoad() if(m_password=|m_userName=)AfxMessageBox(用户名或密码不能为空!请正确输入!);else/标示用户名和密码是否一致bool isLoad=false;/登陆有两种情况,一种是宿舍管理员,另一种是超级管理员

39、.if(m_dormManager=0)/用于获取从组合框的楼名中提取楼号和管理宿舍的学生性别,一定要注意汉字占两个字节,2个char 型。char strBuildingSex3,strBuildingNum2;/保存用户选取的楼名CString strBuildingName;/组合框函数,用于获取用户选择的内容strBuildingNum0=strBuildingName.GetAt(4);strBuildingNum1=0;/不加结束符,用CString强转类型时会出错!strBuildingSex0=strBuildingName.GetAt(0);strBuildingSex1=s

40、trBuildingName.GetAt(1);strBuildingSex2=0;/暂存从数据库中取得的数据CString strNum,strSex;while(!m_pRecordset1-rsEOF) if(strNum=(CString)strBuildingNum&strSex=(CString)strBuildingSex&strName=m_userName&strPassword=m_password)/登陆成功,跳转界面(既对话框)/宿舍管理员登陆后的主界面CDormManagerMainDialog m_dormManagerMainDialog;m_dormManage

41、rMainDialog.DoModal();isLoad=true;break;m_pRecordset1-MoveNext();elsewhile(!m_pRecordset-rsEOF)if(strName=m_userName&strPassword=m_password)/超级管理员登陆后的主界面CSuperManagerMainDialog m_superManagerMainDialog;m_superManagerMainDialog.DoModal();isLoad=true;break;m_pRecordset-MoveNext();if(!isLoad)/登陆失败AfxMe

42、ssageBox(用户名或密码不正确!);(1)宿舍管理员信息管理超级管理员登陆后再其管理界面上,选择宿舍管理员信息管理模块。进入该模块后,分为四个子板块:添加宿舍管理员,删除宿舍管理员,修改宿舍管理员,查询宿舍管理员。添加宿舍管理员的界面如下图:图19 添加宿舍管理员功能界面 添加宿舍管理员功能代码如下:void CAddDormManagerDialog:OnAddDormManager() UpdateData(true);if(m_dormManagerName=|m_buildingNum=-1|m_password=|m_passwordAgain=)MessageBox(所有信息

43、要全部输入!请正确输入!,警告 ,MB_ICONEXCLAMATION|MB_OK);else if(m_password!=m_passwordAgain)MessageBox(输入的两次密码不同!请核对后输入!,警告 ,MB_ICONEXCLAMATION|MB_OK);elseCString strName;/用于标记该宿舍管理员是否存在bool isDormManager=false;/打开数据库中的dormManager表m_pRecordset-Open(_bstr_t(SELECT * FROM dormManager),m_pConnection.GetInterfacePtr

44、(),adOpenDynamic,adLockOptimistic,adCmdText);while(!m_pRecordset-rsEOF)strName=(char *)(_bstr_t)(m_pRecordset-GetCollect(name);if(strName=m_dormManagerName)isDormManager=true;break;m_pRecordset-MoveNext(); if(isDormManager)MessageBox(该宿舍管理员已存在,请核实!,警告 ,MB_ICONEXCLAMATION|MB_OK);else/用于获取从组合框的楼名中提取楼号

45、和管理宿舍的学生性别,一定要注意汉字占两个字节,2个char 型。char strBuildingSex3,strBuildingNum2;/保存用户选取的楼名CString strBuildingName;/组合框函数,用于获取用户选择的内容(CComboBox*)GetDlgItem(IDC_BuildingNum)-GetLBText(m_buildingNum,strBuildingName);strBuildingNum0=strBuildingName.GetAt(4);strBuildingNum1=0;/不加结束符,用CString强转类型时会出错!strBuildingSex

46、0=strBuildingName.GetAt(0);strBuildingSex1=strBuildingName.GetAt(1);strBuildingSex2=0;/管理员数据不存在,可以向数据库中添加记录,注意使用AddNew()后要用Update()提交数据,两者需一起使用。m_pRecordset-AddNew();.m_pRecordset-Update();MessageBox(成功添加宿舍管理员!,提示 ,MB_ICONINFORMATION |MB_OK); ( 2 )楼栋信息管理超级管理员登陆后再其管理界面上,选择楼栋信息管理模块。进入该模块后又分为四个子模块,分别是添

47、加宿舍楼,删除宿舍楼,修改宿舍楼,和查询宿舍楼信息,其中添加宿舍楼信息功能如下图所示:图20 添加宿舍楼功能界面5.1.2 宿舍管理员登录界面及其主功能界面输入超级管理员的用户名和相应的密码。系统会根据用户名与密码判断本次登陆是否合法,即系统将自动从数据库中的相应信息表中判断是否存在该用户的记录。如果匹配则进入系统,如果不匹配,则提示管理员不存在或密码有误。宿舍管理员登陆界面如下:图21 宿舍管理员登录界面如果是宿舍管理员,则成功登陆后的界面如下:图22 宿舍管理员主界面( 1 )学生信息管理宿舍管理员成功进入主功能的界面后可选择学生信息管理模块对学生信息进行管理,而本模块又包含五个模块,分别

48、是学生入住,学生搬迁,学生离校,学生基本信息修改和学生,其中学生入住的界面如下图。图23 学生入住界面( 2 )奖罚信息管理宿舍管理员成功登陆后可以选择奖罚信息管理对本栋楼宿舍或者学生进行奖罚信息的录入,删除和查询。其中奖罚信息的录入功能图如下: 图24 录入奖罚信息功能界面( 3 )申请报修信息管理宿舍管理员成功登陆后可以选择申请报修信息管理对本栋楼报修信息的录入,反馈结果,删除和查询。其中申请报修信息的录入功能图如下:图25 录入报修信息功能界面5.2 系统测试软件系统测试是为了更好地完成项目功能,也是为了发现错误而执行程序的过程。从根本上说测试时为了查找错误,但还要分析错误产生的原因,通

49、过分析发现的软件缺陷来提高软件的生命力。同时,测试可以帮助开发人员认识设计结构、改善系统方法,提高测试效率10。本项目中,系统测试阶段需针对每一个模块设计测试数据,测试功能是否满足软件需求,测试采用黑盒测试和白盒测试,各模块测试直到没有出错时,在系统开发结束后再对整个系统集成测试,测试整个系统的功能是否符合要求。5.2.1 本系统测试的步骤(1) 每个功能模块完成后要编译运行,及时修改语法错误; (2) 语法错误修正后,进行黑盒测试,设计测试数据,测试功能模块能否实现预期的功能;(3) 各模块完成测试后,设计正对所有模块联合测试数据,测试系统整体是否协调,各功能运行时数据是否同步;(4)系统整

50、体测试后将软件移至其他不同型号的电脑,检测系统对环境的要求。5.2.2 本系统测试的部分内容(1)测试输入不同的登陆口令 不输入用户名或密码时,弹出的界面如下:图26 输入信息为空登陆时弹出的界面本部分测试代码如下:if(m_password=|m_userName=)AfxMessageBox(用户名或密码不能为空!请正确输入!);输入不正确用户名或密码时,弹出的界面如下: 图27 用户名或者密码不正确时弹出的界面(2) 测试信息重复添加时,弹出的界面如下: 图28 重复添加学生信息(3)测试不能完成(宿舍整体)搬迁时,弹出的界面如下:图29 目标宿舍容量不足时界面本部分测试代码如下:/容量

51、不够,不能搬迁if(isMove=false) CString strAvailableBed; strAvailableBed.Format(%d,atoi(strNewDormType)-atoi(strNewUsedBed); MessageBox(您要迁出的宿舍有 +strOldUsedBed+个学生+,但要迁入的宿舍只有 +strAvailableBed+ 个床位!,请重新选择要迁入的宿舍,提示,MB_ICONINFORMATION |MB_OK);(4) 测试输入的学号不在本次登陆的宿舍管理员的管理范围时,弹出的界面如下:图30 学生不在管理范围内时界面(5)测试添加奖罚信息的日期

52、错误时,弹出的提示界面如下:图31 日期超过本日时界面本部分测试代码如下:/获取用户选择CString occurTime,occurYear,occurMonth,occurDay,strKind;(CComboBox*)GetDlgItem(IDC_OccurYear)-GetLBText(m_occurYear,occurYear);(CComboBox*)GetDlgItem(IDC_OccurMonth)-GetLBText(m_occurMonth,occurMonth);(CComboBox*)GetDlgItem(IDC_OccurDay)-GetLBText(m_occurD

53、ay,occurDay);occurTime=occurYear+occurMonth+occurDay;if(atoi(occurTime)atoi(m_loadDate)MessageBox(终止日期不能在今日之后,选择错误,提示 ,MB_ICONINFORMATION |MB_OK);参考文献1 朱雪燕,周晓玉.Access 实用教程M.北京:人民邮电出版社,2004.2 Stanley B.Lippman.C+ PrimerM.北京:人民邮电出版社,2006.3 王珊,萨师煊.数据库系统概论(第四版)M.北京:高等教育出版社,2000.4 Bjarne Stroustrup .The C+ Programming LanguageM.北京:机械工业出版社,2002. 5 Jeffrey Richter.Windows核心编程M.北京:清华大学出版社,2008.6 梁灿,赵艳铎.Access 数据库应用基础教程M.北京:清华大学出版社,2005.7 侯俊杰.深入浅出MFCM.武汉:华中科技大学出版社,2001.8张海藩.软件工程导论M.北京:清华大学出版社,2008.9谭浩强.C程序设计M.北京:清华大学出版社,2005.10佟伟光.软件测试M.北京:人民邮电出版社,2008.31

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!