宿舍管理系统设计报告1.docx
《宿舍管理系统设计报告1.docx》由会员分享,可在线阅读,更多相关《宿舍管理系统设计报告1.docx(17页珍藏版)》请在冰豆网上搜索。
![宿舍管理系统设计报告1.docx](https://file1.bdocx.com/fileroot1/2023-2/7/6bf9c935-2e36-45e2-95a0-da6cbae42a43/6bf9c935-2e36-45e2-95a0-da6cbae42a431.gif)
宿舍管理系统设计报告1
实训论文
题目:
宿舍管理系统
学院:
软件学院
姓名:
胡信
学号:
20081573
专业:
软件工程
年级:
软件084
指导教师:
徐亦露
二0一0年九月
宿舍管理系统
第一章绪论
1.1引言
该系统是由管理员通过系统管理学生信息,能根据学生学号、院系、寝室号等来查询学生的其他相关信息,新生入住能录入新生的住宿信息,能查询房间的信息如入住人数、人员、费用等。
学生遇毕业退学等原因能删除其住宿信息,同时,备忘一些信息,记录非寝室住宿人员的出入登记,并能进行查询相关登记记录。
系统采用C#语言编写,利用功能强大的MicrosoftVisualstudio2008作为开发工具,用SQLServer2008作为数据库存储数据。
1.2系统模块
用户登录模块
学生信息查询模块
学生信息添加模块
房间查询信息模块
新信息的增加模块
删除信息模块
登记外来访问人员
对有关信息进行备忘
报修登记(尚未设计该模块)
1.3设计思想
根据初步对宿舍相关信息的了解的进行设计
1.4系统框架
采用.netframework3开发类库中windowsForm窗体应用程序,作为系统框架,在vs2008开发环境中,利用各个控件,进行相关模块的设计,在系统中进行对数据的一些基本操作。
可行性研究和需求分析
2.1可行性分析
本系统作为单机运行,需要相关的配置,操作系统为windowsXP系统或更高的版本,利用sqlserver2000或更高的版本作为数据存储和数据操作的数据库,配置Microsoft.NETFramework3.0或3.5版本其重要组成部分有ASP.NET(支持可Web访问的应用程序的开发)ADO.NET(允许应用程序访问相关的其他类型数据)WindowsForms(支持建立Windows应用程序的图形用户界面(GUI)),从技术上来讲是可行的
2.2经济可行性
无
2.3系统需求分析
2.3.1任务概述
对于目前还是利用人工进行宿舍的信息管理,改进在电脑上进行操作,提供一个良好的,快捷的,易操作的的平台。
用户不需要任何技术背景,无须具备网络方面的知识,只要能按要求输入关键字。
2.3.2用户对系统的要求
宿舍楼管理员能查询宿舍楼的有相关信息,包括某一学号的学生在宿舍楼中住宿的详细信息,报修的相关信息,外来人员的登记的情况。
以利于对整个宿舍楼的全面管理。
当学生基本信息发生变化时,宿舍楼管理员能对其进行修改。
比如,某些同学搬走或已毕业,则他在本宿舍楼中相应的记录就应该删去;或者学生转换专业,他们记录中院系的信息也要作相应的修改等等。
当宿舍楼的电话号码发生变更时,宿舍楼管理员能根据有关证明做出修改等等
2.3.3需求规定
由于本系统尚未设计组册模块,系统只有普通用户,没有权限限制
2.4系统设计
2.4.1系统流程图
2.4.2数据字典
数据项
数据项名
含义说明
别名
数据类型
长度
name
用户登陆名
用户名
nvchar()
20
Password
登录密码
密码
nvchar()
20
stuNun
学生学号
学号
nchar()
15
stuName
学生姓名
姓名
nvchar()
10
Sex
学生性别
性别
nvchar
1
roomNum
学生所在寝室
寝室号
nvchar()
10
depart
学生所在院系
院系
nvchar()
20
class
学生所在班级
班级
nvchar()
20
tel
联系方式
联系
char
15
addr
家庭籍贯
籍贯
nvchar()
30
maxNum
一个寝室所能住的最大人数
最大住人数
smallint
roomTel
寝室公共电话
电话
nvchar
15
price
寝室住宿费用
住宿费
float
cradeNum
证件号
证件号
nvchar()
20
comeName
来访人员名字
姓名
nvchar()
15
toName
所访人员名字
所访人员
ncharv
15
time
访问时间
时间
datatime
7
2.4.3数据流图
2.4.4概念结构设计
系统E-R图为
学生——寝室
学生——寝室——访人
第三章总体设计
3.1数据库设计
实体关系表示设计
数据库sqlserver库名Dormitory
管理员信息表(name_Table)
字段名
数据类型
是否主键
说明
User
Char
是
表的主键,自动增长,管理员登录名
Password
Char
否
管理员登录密码
房间信息表(Room_Table)
字段名
数据类型
是否主键
说明
RoomNum
Integer
是
房间号
Amount
Integer
否
房间所能容纳的最多人数
Phonenum
Char
否
房间公共电话
Price
Float
否
房间的年住宿费
学生信息表(Student_Table)
字段名
数据类型
是否主键
说明
StuNo
Integer
是
学生学号,唯一主键
StuName
Char
否
学生姓名
Sex
Char
否
学生性别
Roomnum
Char
否
学生所住的房间
StuDepart
Char
否
学生所属院系
StuClass
Char
否
学生所属班级
StuTel
Char
否
学生联系方式号码
StuAddr
Char
否
籍贯
StuRemark
Char
否
学生其他信息备注
外来人员信息Com_Table
字段名
数据类型
是否主键
说明
CredeNum
Char
是
人员证件号码
Name
Char
否
姓名
Toname
Char
否
所寻找人的姓名
Toroomnum
Char
否
所寻找人的房间号
Time
Time
否
寻找时间
3.2系统概要设计
3.2.1需求规定
●输入输出要求
界面风格:
要求整体界面美观,有清晰的层次感,布局简洁、合理。
●时间要求
时间需求:
在软件方面,响应时间,更新处理时间都比较快且迅速,系统响应时间不能超过10秒。
●灵活性要求
灵活性:
当用户需求,如操作方式,运行环境,结果精度,数据结构等其他软件接口等发生变化时,设计的软件能做出适当调整,灵活性非常大
3.2.2基本设计概念神处理流程
3.2.3系统出错处理
出错情况
系统输出信息
含义
处理方法
用户名密码为空
“用户名或密码为空,请重新输入”
用户名或密码为输入
输入,不能为空
用户名密码错误
“用户名或密码错误”
输入的登录数据与数据库不匹配
重置后重新输入
查询出错
“请确认输入信息无误”
未能找到有关信息或查询的关键字输入错误
清空后重新输入
添加出错
“数据有冲突”
添加数据时违反了数据库中的主键,添加了重复的数据
3.3系统主要模块的界面设计
界面主要含有两个部分,登录界面和主页面,登录界面用于用户登录到主页面去,登录到主页面后,进行各项操作
3.3.1登录界面
3.3.2登录后主页面
3.3.3操作界面
3.4主要功能编码实现
3.4.1登录实现
用户登录界面中用户名选项和密码为数据库中已经存在的用户名和密码,所以用户只需选择相应的用户名和相应的密码即可,
stringsql="server=jjaqq-pc;database=Dormitory;uid=sa;pwd=123456";
SqlConnectionconn=newSqlConnection(sql);//实例sqlconnection变量conn
conn.Open();//打开连接
SqlCommandcmd=newSqlCommand();//sqlcommand用于向sqlserver发送sql语句,位于SqlCommandcmd=newSqlCommand命名空间
cmd.Connection=conn;
cmd.CommandText="select*fromnamewherename='"+this.login.Text.Trim()+"'andpassword='"+this.pwd.Text.Trim()+"'";
cmd.CommandType=CommandType.Text;
SqlDataReaderreader=cmd.ExecuteReader();
if(reader.Read())
{
this.Hide();//用户名和密码匹配成功则隐藏登录界面
f2.Show();//显示主页面
}
else
{
MessageBox.Show("用户名或密码错误!
","提示");
}
conn.Close();//关闭数据库连接
3.4.2系统主界面
系统的主界面是系统的所有功能的入口,主要由菜单栏、功能模块树形等组成
如:
来访登记代码实现如下
stringsql="server=jjaqq-pc;database=Dormitory;uid=sa;pwd=123456";
SqlConnectionconn=newSqlConnection(sql);
conn.Open();
try
{
stringnum="select*fromStudent_Tablewhere所住寝室='"this.room_Box.Text.Trim()+"'and姓名='"+this.name2_Box.Text.Trim()+"'";
SqlCommandcd=newSqlCommand(num,conn);
cd.CommandType=CommandType.Text;
SqlDataReaderdr=cd.ExecuteReader();
//strings=Convert.ToString(cd.ExecuteReader());
dr.Read();
if(!
dr.HasRows)//此处验证所找人的姓名是否所在填写的寝室内
{
MessageBox.Show("请确定所访人员和寝室号是否有误");
}
else
{
conn.Close();//先将上面用DataReader打开的数据库关闭
stringinsertSql="insertintoCom_Tablevalues('"+this.num_Box.Text+"','"+this.name1_Box.Text+"','"+this.name2_Box.Text+"','"+this.room_Box.Text+"','"+this.time_Box.Text+"');";
SqlCommandcmd=newSqlCommand(insertSql,conn);
cmd.CommandType=CommandType.Text;//sqlcommand用于向sqlserver发送sql语
conn.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("登记完成");
}
修改用户信息如下
stringsql="server=jjaqq-pc;database=Dormitory;uid=sa;pwd=123456";
SqlConnectionconn=newSqlConnection(sql);
conn.Open();
try
{
if(user_Box.Text.Trim()=="")
{
MessageBox.Show("用户名不能为空");
}
else
{
if(newPwd_Box.Text!
=secondPwd_Box.Text)//验证两次输入书否相同
{
label5.Text="两次输入密码不一致!
";
}
stringnum="select*from[name]wherename='"+this.user_Box.Text+"'andpassword='"+this.pwd_Box.Text+"'";
SqlCommandcd=newSqlCommand(num,conn);
cd.CommandType=CommandType.Text;
SqlDataReaderdr=cd.ExecuteReader();
dr.Read();//先验证输入密码是否有误
if(!
dr.HasRows)
{
label7.Text="密码错误!
";
}
else
{
conn.Close();
SqlCommandcmd=newSqlCommand();
cmd.Connection=conn;
cmd.CommandText="update[name]setpassword='"+this.newPwd_Box.Text.Trim()+"'wherename='"+this.user_Box.Text.Trim()+"'";
cmd.CommandType=CommandType.Text;//让语句以SQL语句执行
conn.Open();
cmd.ExecuteNonQuery();
label7.Hide();
label5.Hide();
MessageBox.Show("修改成功!
");
}
第四章安装与使用说明
4.1用途
4.1.1功能
4.1.2性能
(1)精度
要按照严格的数据格式输入,否则系统不给予响应进行处理。
(2)时间特性要求
等待服务器连接的时间不超过20秒。
(3)灵活性
用户通过单击页面上的相关按扭或输入关键字就可以完成各项操作。
4.2运行环境
4.2.1硬件设备
无特殊要求,一般计算机即可
4.2.2服务器
该系统软件是属于本地运行,无需架设服务器
4.2.3软件需求
操作系统:
Windows操作系统(XP或win7)
数据库系统:
SQLserver2008以上版本
已安装.NETfranework3.0以上版本的环境
4.3安装步骤
在已装好sqlserver2008的电脑上,打开sqlserver在数据库中导入
Dormitory数据库在打开vs2008打开解决方案资源管理器,添加数据库连接测试,再在文件中找到“宿舍管理系统.exe”可执行文件,运行即可
第五章系统测试
无
第六章总结
参考文献:
《软件工程导论》第四版清华大学出版
《C#开发实战宝典》王小科编著清华大学出版社
《C#开发大全》刘丽霞编著清华大学出版
XX知道
C#与.net开发网