宿舍管理系统的设计与实现.docx
- 文档编号:8480907
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:13
- 大小:315.21KB
宿舍管理系统的设计与实现.docx
《宿舍管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《宿舍管理系统的设计与实现.docx(13页珍藏版)》请在冰豆网上搜索。
宿舍管理系统的设计与实现
一、系统功能简介
本次课程设计完成一个基于java的图书管理系统,它的基本功能是对库存图书的查询,删除修改添加。
不同级别的用户权限不同。
(根据自己的系统详细展开叙述)
系统主要完成一下几个功能:
1.宿舍楼基本信息查询与修改;
2.学生基本信息查询与更新以及插入;
3.每一幢宿舍楼中宿舍信息的查询与信息更新;
(1)宿舍信息管理系统实现对学生,管理员信息的全部读取;实现对某个学生或管理员特定信息的读取;
(2)实现对某个人员信息的删除;
(5)将某个学生增加到某个人数空缺的寝室。
(6)学生退房。
(7)建立插入类触发器,当在宿舍楼表,当在寝室,寝室成员,学生插入时检查插入信息,确保相应信息受约束。
4.宿舍楼物品出入审批及记录;
二、系统功能模块图
图2-1系统功能模块图
我和刘楠一组,共同开发此系统,我负责系统中管理员模块的增删改查四项。
如模块图所示。
普通用户和登录部分由刘楠负责。
三、数据库设计
1.采用access数据库,建立5个表
1.1建立宿舍楼基本信息表*/
createtableDormitory(
DorNointnotnullunique,
DorPhNochar(12),
DorAdministchar(10),
DorSexchar
(2)notnull,
primarykey(DorNo),check(DorNo>1andDorNo<100)
图3-1宿舍楼基本信息表
);
1.2建立楼栋管理员基本信息表*/
createtableWorker(
WorNochar(8)notnullunique,
WorNamechar(8)notnull,
WorTypechar(8)null,
WorWageint,
WorSexchar
(2)notnull,
WorPhNochar(12)null,
WorTimechar(30)null,
DorNoint,
primarykey(WorNo),
foreignkey(DorNo)referencesDormitory(DorNo),check(WorSexin('男','女'))
);
图3-2楼栋管理员基本信息表
1.3建立宿舍基本信息表*/
createtableRoom(
RNochar(6)notnullunique,
RHeaderchar(8)notnull,
ROnechar(8),
RTwochar(8),
RThreechar(8),
RDepartchar(20),
RProfesschar(20),
DorNointnotnull,
primarykey(RNo),
foreignkey(DorNo)referencesDormitory(DorNo)
);
图3-3宿舍基本信息表
1.4建立宿舍学生信息表*/
createtableStudent(
StuNochar(8)notnullunique,
StuDepchar(20)notnull,
StuNamechar(8)notnull,
StuSexchar
(2)notnull,
StuHomechar(10)notnull,
StuBorthdatetimenotnull,
StuETimedatetimenotnull,
StuProfesschar(20)notnull,
StuClasschar(8)notnull,
RNochar(6)notnull,
DorNointnotnull,
primarykey(StuNo),
foreignkey(RNo)referencesRoom(RNo),
foreignkey(DorNo)referencesDormitory(DorNo)
);
图3-4宿舍学生信息表
2.关系图(E-R图)
图3-5E-R图
3.建立jdbcodbc桥
系统采用jdbcodbc桥进行数据库连接管理,创建数据源的过程如下:
图3-6创建数据源
图3-7.建立jdbcodbc桥
4.算法
4.1查找宿舍楼信息算法
importjava.awt.*;
importjava.awt.event.*;
importjava.sql.*;
importjava.util.Vector;
importjavax.swing.*;
publicclassDBconnect1{
Connectioncon;
PreparedStatementsql1,sql2,sql3,sql4,sql5,sql6,sql7,sql8,sql9,sql10,sql11,sql12,sql13;
ResultSetrs;
publicDBconnect1(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:
odbc:
sun","","");
}catch(Exceptione){}
}
/*查找宿舍楼信息*/
Vectorselect_Dor(intDorNo){
Vectorvc=newVector();
try{
Statementst=this.con.createStatement();
ResultSetrs=st.executeQuery("select*fromDormitorywhereDorNo="+DorNo);
while(rs.next()){
Strings1=rs.getString("DorNo");
vc.add(s1);
Strings2=rs.getString("DorPhNo");
vc.add(s2);
Strings3=rs.getString("DorAdminist");
vc.add(s3);
Strings4=rs.getString("DorSex");
vc.add(s4);
}
}catch(SQLExceptione){
System.out.print(e);
}
returnvc;
}
/*@@@@@@@@@@@@@@@查找全部宿舍楼信息*/
Vectorselect_all_Dor(){
Vectorvc=newVector();
try{
Statementst=this.con.createStatement();
ResultSetrs=st.executeQuery("select*fromDormitory");
while(rs.next()){
Strings1=rs.getString("DorNo");
vc.add(s1);
Strings2=rs.getString("DorPhNo");
vc.add(s2);
Strings3=rs.getString("DorAdminist");
vc.add(s3);
Strings4=rs.getString("DorSex");
vc.add(s4);
}
}catch(SQLExceptione){
System.out.print(e);
}
returnvc;
}
4.2插入楼栋管理员基本信息
importjava.awt.*;
importjava.awt.event.*;
importjava.sql.*;
importjava.util.Vector;
importjavax.swing.*;
publicclassDBconnect1{
Connectioncon;
PreparedStatementsql1,sql2,sql3,sql4,sql5,sql6,sql7,sql8,sql9,sql10,sql11,sql12,sql13;
ResultSetrs;
publicDBconnect1(){
Vectorinsert_Worker(Stringworno,Stringworname,Stringwortype,Stringworwage,Stringworsex,Stringworphno,Stringwortime,Stringdorno)
{
Vectorvc=newVector();
try{
sql7=con.prepareStatement("insertintoWorkervalues(?
?
?
?
?
?
?
?
)");
sql7.setString(1,worno);
sql7.setString(2,worname);
sql7.setString(3,wortype);
sql7.setString(4,worwage);
sql7.setString(5,worsex);
sql7.setString(6,worphno);
sql7.setString(7,wortime);
sql7.setString(8,dorno);
sql7.executeUpdate();
}catch(SQLExceptione){System.out.print(e);}
returnvc;
}
4.3插入学生基本信息
importjava.awt.*;
importjava.awt.event.*;
importjava.sql.*;
importjava.util.Vector;
importjavax.swing.*;
publicclassDBconnect1{
Connectioncon;
PreparedStatementsql1,sql2,sql3,sql4,sql5,sql6,sql7,sql8,sql9,sql10,sql11,sql12,sql13;
ResultSetrs;
publicDBconnect1(){
Vectorinsert_Student(Stringstuno,Stringstudep,Stringstuname,Stringstusex,Stringstuhome,Stringstuborth,Stringstuetime,Stringstuprofess,Stringstuclass,Stringrno,Stringdorno)
{
Vectorvc=newVector();
try{
sql8=con.prepareStatement("insertintoStudentvalues(?
?
?
?
?
?
?
?
?
?
?
)");
sql8.setString(1,stuno);
sql8.setString(2,studep);
sql8.setString(3,stuname);
sql8.setString(4,stusex);
sql8.setString(5,stuhome);
sql8.setString(6,stuborth);
sql8.setString(7,stuetime);
sql8.setString(8,stuprofess);
sql8.setString(9,stuclass);
sql8.setString(10,rno);
sql8.setString(11,dorno);
sql8.executeUpdate();
}catch(SQLExceptione){System.out.print(e);}
四、系统设计
经过对系统的分析,分析出以下几个类
1.宿舍楼类,使用这个系统的对象,属性有:
宿舍楼编号,宿舍楼管处电话,宿舍楼性别分类,宿舍楼楼管员信息,权限。
权限的取值不同分为普通用户和管理员,他们分别具有不同的操作。
2.楼栋管理员类:
楼管编号,楼管姓名,工作类型,楼管工资,楼管性别,楼管联系方式,楼管工作时间,宿舍楼编号
3.宿舍类:
宿舍编号,舍长信息,宿舍学生信息,宿舍学生所在学院,宿舍学生所学专业,学生所在班级编号,宿舍楼编号
4.学生类:
学生编号,学生所在学院,学生姓名,学生性别,学生来自省份,学生出生时间,学生入学时间,学生所在专业,学生所在班级编号,宿舍楼编号
5.宿舍楼物品类:
要求物品出入学生,出入物品信息,出入物品审查人,出入物品日期,物品出入序号,宿舍楼编号
五、系统实现
(主要代码和运行截图,根据自己的想法介绍你设计的主要模块)
登录模块
数据库连接主要代码如下:
try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);}
catch(ClassNotFoundExceptione){System.out.println(“wrongwithconnection”);}
try{
Connectioncon=DriverManager.getConnection(“jdbc:
odbc:
bookmanger”);
Statementst=con.createStatment();
Stringsql=”select*fromuser”;
ResultSetrs=st.executQuery(sql);
……………………………….//根据情况添加代码,以下几个小节类似。
}
1.登陆界面截图
图5-1登陆界面截图
2.查询宿舍楼基本信息截图
图5-2查询宿舍楼基本信息
3.增加新楼管截图
图5-3增加新楼管截图
4.查询单个学生信息
图5-4查询单个学生信息
六、总结
在这将近一个星期的面向对象课程设计过程中,我深深感受到自己所掌握知识还不足,而且掌握也不牢固。
将近一个星期的课程设计,使我渐渐地熟悉了eclipse的基本使用,虽然这次设计只是一个小小的程序,但是这期间我还是学到了不少的东西。
在这次课程设计的过程,我得到了老师以及同学的帮助和鼓励,致使最后基本圆满完成预期任务。
在设计过程中,我也遇到了一些棘手的问题。
比如:
用户登录权限算法的实现,还有与数据库连接的实现等问题。
但是,我通过询问同学,以及查询资料最终获得了解决,有次我深刻的体会到,只有在实际编程中我们认识到自己的不足,才能进而进行弥补来使自己的编程水平提高。
我加深了java与面向对象程序设计这门课和数据库系统概论的认识,java课程可以实现图形界面,并与数据库进行连接,将结果反映到图形界面上。
不仅如此,我还认识到编程不是一个人的工作,而是一个团体相互合作和相互学习的过程,一个人再厉害,也有走入误区的时候,古人有云:
“三人行,必有我师焉。
”通过本次课程,我的思维能力、综合应用能力、专业素质和团体意识得到了很大的提高。
参考文献
[1]黄晓东等.课程设计案例精编[M].北京.高等教育出版社.2007
[2]丁亚涛等.C语言程序设计[M].北京.高等教育出版社.2009
[3]严蔚敏等.数据结构[M].北京.清华大学出版社.2007
[4]张素琴等.编译原理[M].北京.清华大学出版社.2007
[5]乔林.C语言上机指导[M].北京.清华大学出版社.2007
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 宿舍 管理 系统 设计 实现