1需求分析
1.1问题描述
目前,国内使用的中小型关系数据库管理系统中,SQL Server系统占据了重要的地位,其应用范围广,普及程度高,而且是学习和应用关系型数据库管理系统较为理想的对象。 经过对学生宿舍管理信息进行调查,发现了随着近几年的高校招生人数的不断扩大,学生宿舍管理工作也越来越繁重和琐碎,如住宿安排、收费、统计、打印(包括水费、电费、热水费)、查询等种种问题,手工管理已不能满足当前的需要,因此要对学生宿舍管理信息系统进行改善。
1.2问题分析
为了方便管理,可以分为学生登录和管理员登录。学生登录时,可以查看我的室友,宿舍报修 和申请离宿等公能。宿管登录时 ,可以查看学生的各种信息,提出报修的项目,对各种事件做出回应 用数据库对信息进行存储,包括各种学生信息,学生登录的账号密码,宿管登录的账号密码 ,用户信息采用Xml来记录,界面使用了CSkin进行美化,使用了WebService获取地理位置信息与天气信息。
1.3功能要求
1.发布公告
2.地理信息与天气信息的弹窗
3.学生宿舍信息的增删改查
4.学生对宿舍物品的报修与核实
5.学生提交请假与销假
6.管理员对保修的审批
7.管理员对请假的审批
2总体设计
2.1总体描述
为了方便管理,可以分为学生登录和管理员登录。学生登录时,可以查看我的室友,宿舍报修 和申请离宿等公能。宿管登录时 ,可以查看学生的各种信息,提出报修的项目,对各种事件做出回应 用数据库对信息进行存储,包括各种学生信息,学生登录的账号密码,宿管登录的账号密码 ,用户信息采用Xml来记录,界面使用了CSkin进行美化,使用了WebService获取地理位置信息与天气信息
2.2总体程序框图
该系统为宿舍信息管理系统,分为学生登录和宿管登录,宿管和学生实现的功能有相同有不同,宿管窗口可以实现学生的增删改查、宿舍管理、发布通知、离宿功能、报修功能;学生窗口可以分为接收通知、离宿功能、报修功能、查看宿舍功能;同时还有弹窗告诉学生或宿管功能是否实现,系统总体框架图如图2-2所示
图2-2系统总体框架图
2.3总体设计流程图
系统总体设计流程图如图2-3所示
图2-3系统总体设计流程图
2.4登录窗口控件说明
登录窗口控件如表2-4所示
表2-4登录窗口控件说明
控件类型 | Name | 属性 | 控件类型 | 说明 |
Lable | LBLName | 用户名 | TextBox | 用户名 |
Lable | LBLPwd | 密码 | TextBox | 密码 |
Button | BtnLogin | ----- | Button | 进入系统 |
radioButton | RdoStudent | 选择学生 | radioButton | 学生 |
radioButton | RdoMag | 选择管理员 | radioButton | 管理员 |
2.5学员宿舍管理程序主窗体控件说明
学员宿舍管理程序主窗体控件说明如表2-5所示
表2-5学员宿舍管理程序主窗体控件说明
控件类型 | 属性 | Name | 控件类型 | 说明 |
Lable | 学号 | txtNo | TextBox | 学号 |
Lable | 姓名 | txtNme | TextBox | 姓名 |
radioButton | RdoStudent | 选择学生 | radioButton | 学生 |
Button | ------- | btnShow | TextBox | 显示 |
2.6管理员管理程序主窗体控件说明
管理员管理程序主窗体控件说明如表2-6所示
表2-6管理员管理程序主窗体控件说明
控件类型 | 属性 | 控件类型 | Name | 说明 |
Lable1 | 学号 | TextBox | txtSno | 学号 |
Lable2 | 姓名 | TextBox | txtSname | 姓名 |
BtnAdd | 增加 | TextBox | btnShow | 显示 |
btnUpdate | 修改 | TextBox | btnDelete | 删除 |
btnQuery | 查询 | menuStrip1 | menuStrip1 | 菜单 |
3详细设计
3.1登录功能
登录功能分为学生登录和管理员登录,需要验证账号和密码,如果账号或者密码不正确,以及光利用和学生身份与账号密码不相匹配,也是登录不成功的,登录不超过将弹出登录失败的窗口,无法登录进去,登录流程图如图3-1所示
图3-1登录模块流程图
3.2学生界面功能
要进入学生功能界面,首先需要以学生身份登录,当账号和密码正确,则可以登录进学生系统主界面,账号或密码不正确则提示登录失败,重新返回登录界面。成功进入主界面后,可以实现修改密码、查看我的室友、宿舍报修、申请离校、修改密码、退出和注销功能。如图3-2所示
图3-2学生功能界面流程图
3.3管理员界面功能
选择管理员登录跟学生登录一样,要输入正确的账号和密码,成功后,进入管理员登录主界面,在管理员界面,可以进行修改密码、信息管理、通知管理、宿舍报修、离宿请假、宿舍管理、退出等功能,对学生宿舍安排进行增删改查等操作。如图3-3所示
图3-3宿管界面功能流程图
3.4修改密码功能
在学生界面和管理员界面都能进行修改密码的操作,在修改密码时,需要输入新、旧密码,以及新密码的确认,如果有一个对不上,修改密码就会失败,会返回学生或管理员主界面。如图3-4所示修改密码流程图
图3-4修改密码流程图
3.5退出或注销功能
在管理员界面和学生界面都有退出和注销功能,点击退出会直接退出运行,点击注销会返回登录界面。如图3-5所示
图3-5退出和注销流程图
3.6学生信息的增加、修改、删除功能
在进入管理员界面后,双击学生信息,进入学生详细信息,点击增加,自动获取没有人住的床,如过有多个空余的床,就可以进行选择。点击确定,可以存储进数据库。点击修改,会获取要修改的人的所有信息,学号不能修改,存入数据库。点击删除,删除学生信息,数据库中的信息也进行删除。如图3-6所示
图3-6学生信息的增加修改删除流程图
4数据库表及视图设计
4.1数据库关系图
图4-1学生数据库
4.2 E-R图
图4-2 E-R图
4.3数据库登陆表
数据库登录信息设计表(user)如表4-3所示
表4-3登录数据设计表
列名 | 数据类型 | 允许空 | 长度 | 备注 |
sno | int | 否 | 4 | 用户账号(外键) |
psw | nchar(10) | 否 | 10 | 用户密码 |
rule | nchar(10) | 是 | 10 | 用户(管理员) |
sname | int | 是 | 4 | 用户姓名(学生或管理员) |
4.3.1数据库登陆表
数据库登陆表如图4-3-1所示
表4-3-1数据库登陆表
4.4数据库学生设计信息表
数据库学生设计信息表(StudentInfo)如表4-4所示
表4-4学生数据库设计表
列名 | 数据类型 | 允许空 | 长度 | 备注 |
dormitoryno | int | 否 | 4 | 宿舍号 |
sno | int | 否 | 4 | 学员账号 |
sgender | nvarchar(20) | 否 | 20 | 性别 |
bednum | int | 否 | 4 | 床号 |
checktime | nvarchar(30) | 是 | 30 | 入宿时间 |
sname | nvarchar(50) | 否 | 50 | 学生姓名 |
4.4.1学生数据库表
学生数据库表如表4-4-1所示
表4-4-1学生数据库表
4.5管理员数据库
管理员管理设计信息(DormSum)如表4-5所示
表4-5管理员管理设计表
列名 | 数据类型 | 允许空 | 长度 | 备注 |
floor | int | 否 | 4 | 楼层 |
dormitoryno | int | 否 | 4 | 宿舍号 |
sgender | nvarchar(20) | 否 | 20 | 性别 |
checknum | int | 否 | 4 | 宿舍已经入住人数 |
isfix | nvarchar(50) | 是 | 50 | 提交修改 |
fixItem | nvarchar(50) | 是 | 50 | 宿舍报修 |
things | nvarchar(MAX) | 是 | MAX | 说明事件 |
4.5.1管理员数据库表
管理员数据库如表4-5-1所示
表4-5-1管理员数据库表
4.6用SQL语句创建
管理员表:
CREATE TABLE [dbo].[DormSum](
[floor] [int] NOT NULL,
[dormitoryno] [int] NOT NULL,
[gender] [nvarchar](20) NOT NULL,
[checknum] [int] NOT NULL,
[isfix] [nvarchar](50) NULL,
[fixItem] [nvarchar](50) NULL,
[things] [nvarchar](max) NULL,
学生信息表:
CREATE TABLE [dbo].[StudentInfo](
[dormitoryno] [int] NOT NULL,
[sno] [int] NOT NULL,
[sname] [nvarchar](50) NOT NULL,
[sgender] [nvarchar](20) NOT NULL,
[bednum] [int] NOT NULL,
[checktime] [datetime] NULL,