学生住宿管理系统_第1页
学生住宿管理系统_第2页
学生住宿管理系统_第3页
学生住宿管理系统_第4页
学生住宿管理系统_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数学与计算机学院课程设计说明书课程名称:软件工程与数据库-课程设计课程代码:6014419题目:学生住宿管理系统年级/专业/班:2023级软件设计2班学生姓名:朱中阳学号:开始时间:2023年06月7日完成时间:2023年06月21日课程设计成绩:学习态度及平时成绩〔30〕技术水平与实际能力〔20〕创新〔5〕说明书〔计算书、图纸、分析报告〕撰写质量〔45〕总分〔100〕指导教师签名:年月日摘要随着计算机的普及,各行各业都离不开信息处理,然而,现今有许多高校仍然用手工对宿舍进行管理。而随着办学规模的不断扩大,学生人数越来越多,数据信息处理的工作量也日益增大,这种手工管理存在的弊端就会显现出来,如易出错,出错后不易修改;易丧失数据,而且不易查找等等。为了提高高校的整体管理水平,同时基于计算机在高校宿舍管理的应用也日趋普及,这使得建立学生住宿管理系统成为必然的选择。针对这种现象设计了一套学生住宿管理系统,学生住宿管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比拟稳定,适合较长时间的保存,也不容易丧失。这无疑是为信息存储量比拟大的学校提供了一个方便、快捷的操作方式。分析了住宿管理系统的各项要求,利用软件画出了数据库的关系模型,在SQLserver2023中创立了数据库,用NetBeansIDE6.9编程实现了学生住宿管理系统,该系统具有人员信息的添加、查找、修改和显示等功能。关键词:SQLServer2023;Java;宿舍管理系统目录TOC\o"1-2"\h\z\u引言11需求分析21.1系统分析21.2用户需求22概要设计32.1系统流程图32.2系统功能模块设计42.3系统总体设计53数据库设计63.1.概念模型设计63.2.逻辑结构设计73.3物理结构设计74程序模块设计104.1开发环境及数据库连接104.2模块1设计104.3模块2设计124.4模块3设计155系统测试185.1测试环境185.2测试用例及结果18结论29参考文献30引言数据库是数据管理的最新技术,是计算机科学是重要分支。今天,信息资源已成为各个部门重要的财富和资源。建立一个满足各级部门信息处理要求的行之有效的信息系统也已成为一个企业或组织生存和开展的重要条件。因此,越来越多的应用领域采用数据库技术来存储和处理信息资源。对于一个国家来说,数据库的建设规模,数据库信息量的大小和使用频度已成为衡量这个国家信息化程度的标志。随着计算机网络的飞速开展,Internet技术越来越广泛的应用,网络覆盖的区域不断扩大,给现代宿舍管理应用带来了蓬勃开展的机遇,在现代学生宿舍管理中,网上修改学生信息成为了不可或缺的现代工具。本课程设计主要完成一个学生住宿管理系统。本系统选用NetBeansIDE6.9作为开发工具,DBMS选用MicrosoftSQLServer。只要在所用系统的计算机上装上NetBeansIDE6.9和MicrosoftSQLServer2023就可以使用。此次课程设计的目的在于让学生了解并掌握可视化程序的设计方法,具备初步的独立分析和设计能力;熟练软件开发过程的问题分析、系统设计、程序编码、测试等根本方法和技能;用系统的观点和软件开发一般标准进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。1需求分析1.1系统分析一个高校有假设干栋宿舍,每栋宿舍有假设干房间,一个房间有床位4个。对学生按学院、班级、学生性别、同一省份的学生不能分在一起的原那么分宿舍.应实现以下功能:(1)查询功能:按班级查询本班学生分配到那些宿舍,按省份查询本省的学生住宿情况,按学院查询本学院的学生住宿情况(2)添加功能:对学生能进行宿舍的分配。(3)修改功能:对学生能进行宿舍调整(4).打印功能:打印班级的学生住宿情况1.2用户需求用户需求可分为两个方面:一方面是宿舍管理员听过学生住宿管理系统来查询某学生的宿舍情况以及各个省,各个学院的宿舍分配情况。方便来访客人的访问等;另一方面的学习宿舍管理的相关工作人员,通过学生住宿管理系统来对新生进行宿舍分配,对某些学生进行宿舍调整,也可以方便的对各个班级,各个学院,各个省的学生住宿情况进行查询。这两个方面形成了学生住宿管理系统的一个有机工作整体,采用计算机平台进行自动化信息处理,可更高效的维护和更新学生住宿管理系统,为用户提供更好的效劳,为工作人员更好的管理学生宿舍。系统要求实现对数据的存储和管理,采用方便用户操作的图形界面实现系统。界面要求美观和简单。通过对应的菜单进如相应的界面,对数据进行相应的操作,在录入时首先要求用户输入相应的数据,最后点确定,对数据进行保存,并提示用户保存是否成功。保存成功后刷新相应的界面。进入查询是首先选择查询方式:某省学生宿舍分配,某班级学生宿舍分配,某学院宿舍分配,某学生宿舍情况,进行相应的查询。将查询到的结果返回到相应的界面。进行修改时,输入要修改的学号,进对应的信息返回,允许管理员进行操作,最后点击确定,对数据进行保存,并提示是否保存成功。同时刷新相应的界面。2概要设计开始2.1系统流程图开始菜单界面菜单界面选择功能选择功能查询功能查询功能修改功能打印功能退出修改功能打印功能退出添加功能打印某班级宿舍分配情况对某学生宿舍调整查询某班宿舍分配查询某学院宿舍分配查询某学生宿舍分配查询某省学生宿舍分配打印某班级宿舍分配情况对某学生宿舍调整查询某班宿舍分配查询某学院宿舍分配查询某学生宿舍分配查询某省学生宿舍分配添加一个学生退出系统退出系统结束结束图2.1系统流程图2.2系统功能模块设计1、系统主要功能如下所示:(1)查询功能:按班级查询本班学生分配到那些宿舍,按省份查询本省的学生住宿情况,按学院查询本学院的学生住宿情况(2)添加功能:对学生能进行宿舍的分配。(3)修改功能:对学生能进行宿舍调整(4)打印功能:打印班级的学生住宿情况2、系统功能模块图如下:〔1〕添加功能输入添加信息输入添加信息是否添加成功是否添加成功失败失败添加成功返回界面图2.2系统功能模块添加功能按要求输入查询信息查询功能按要求输入查询信息失败是否查询成功失败是否查询成功返回界面返回界面查询成功,输出信息图2.3系统功能模块查询功能〔3〕修改功能输入修改信息输入修改信息是否修改成功是否修改成功失败失败修改修改成功返回界面图2.4系统功能模块修改功能打印功能输入需打印信息输入需打印信息打印打印成功返回界面图2.5系统功能模块打印功能2.3系统总体设计学生住宿管理系统是为了方便管理员和相关工作人员对学生住宿信息进行管理和录入的系统。该系统要向用户提供友好的菜单界面,和各种使用的接口。操作要求简单。同时系统对数据的管理要求要做到保证数据的平安性和准确性。3数据库设计3.1概念模型设计3.1.1设计原理本系统的概念结构设计采用自顶向下方法。即首先定义全局概念结构的框架,然后逐步细化3.1.2概念模型经过对物质管理所涉及的数据进行分析,得到如下的实体:宿舍:属性包括宿舍号、已住人数、管理员。学生:属性包括学号,姓名,性别,学院,省份和班级。管理员:属性包括姓名,职工号等,可对学生宿舍信息进行简单的管理。相关工作人员:属性包括姓名,职工号等,可对学生宿舍信息进行所有的合法操作。联系有:管理:反响了管理员、学生和宿舍三者之间的联系。住宿:反映了学生与宿舍的联系。所设计的概念模型〔E-R图〕如下:mm1管理宿舍1管理宿舍1管理员1管理员nn住宿住宿学生学生11图3.1系统ER模型图学生省份学号省份学号姓名班级姓名班级性别学院性别学院图3.2学生实体的局部ER模型图宿舍宿舍宿舍号管理员宿舍号管理员已住人数已住人数图3.3宿舍实体的局部ER模型图3.2逻辑结构设计3.2.1将实体转换为关系模式学生〔学号,姓名,性别,学院,班级,省份〕;宿舍〔宿舍号,管理员,已住人数〕。3.2.2将联系转换为关系模式住宿〔学号,宿舍号〕;管理〔员工编号,宿舍号,学号〕。3.3物理结构设计3.3.1根本表设计1、学生表表3.1学生表字段名字段描述字段类型备注学号方便管理学生Char(10)主键姓名Char(10)性别Char(2)班级Char(10)学院Char(20)省份Char(10)创立学生表的SQL语句如下:CreateTable学生(学号Char(10)PrimaryKey,姓名Char(10),性别Char(2),班级Char(10),学院Char(20),省份Char(10));宿舍表表3.2宿舍表字段名字段描述字段类型备注宿舍号对寝室管理更方便int主键管理员不同栋宿舍楼有不同的管理员Char(10)已住人数方便安排新生入住int创立宿舍表的SQL语句如下:CreateTable宿舍(宿舍号IntPrimaryKey,管理员Char(10),已住人数Int);宿舍管理表图3.3宿舍管理表字段名字段描述字段类型备注宿舍号对寝室管理更方便int主键学号Char(10)主键创立宿舍管理表的SQL语句如下:CreateTable宿舍管理(宿舍号Int,学号Char(10),Primarykey(学号,宿舍号),Foreignkey(学号)references学生(学号),Foreignkey(宿舍号)references宿舍(宿舍号));3.3.2视图设计1、创立学生表的视图CreateViewview学生AsSelect*From学生2、创立宿舍表的视图CreateViewview宿舍AsSelect*From宿舍3、创立宿舍管理表的视图CreateViewview宿舍管理AsSelect*From宿舍管理3.3.3索引设计1、为学生表建立索引CreateUniqueIndex学生NoOn学生(学号);2、为宿舍表建立索引CreateUniqueIndex宿舍NoOn宿舍(宿舍号);4程序模块设计4.1开发环境及数据库连接开发环境:WINxp系统,neatbeansIDE6.9,SQLsever2023链接效劳器名称:PDZGC2NB4UEQTE7链接数据库字符串: con=DriverManager.getConnection("jdbc:sqlserver://:1433;databaseName=学生住宿管理","sa","zzy");4.2添加功能设计4.2.1设计思路运行菜单界面后,点击添加功能中的添加一个学生,然后用监视器监听该控件,一旦点击了该控件,就弹出录入信息的窗口,然后用户就可以按照提示输入添加的信息,输入完毕后再点击确定建来更新数据库到达添加的效果。添加成功或者失败都显示相应信息。最后关闭提示窗口返回主菜单界面进行下一步操作。4.2.2实现方法局部代码如下:try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); con=DriverManager.getConnection("jdbc:sqlserver://:1433;databaseName=学生住宿管理","sa","zzy");Stringa;a=jt.getText();ps=con.prepareStatement("select学号,宿舍号from住宿管理,学生where班级=?and学生.学号=宿舍.学号");ps.setString(1,a);rs=ps.executeQuery();Stringstr1;intstr2;str1="";JDialogjd=newJDialog();jd.setTitle("查询结果"); jd.setSize(500,100); jd.setLocation(500,300); StringSTR=("班级为"+a+"的学生住宿情况为:"+"\n"+"学号"+""+"宿舍号"+"\n");while(rs.next()){ str1=rs.getString("学号");str2=rs.getInt("宿舍号");STR+=(str1+""+str2);}JTextAreajj=newJTextArea(STR);if(str1pareTo("")==0){JDialogjd1=newJDialog();jd1.setTitle("消息");JButtonjj1=newJButton("查询失败!!!");jd1.add(jj1); jd1.setSize(100,100); jd1.setLocation(500,300); jd1.setVisible(true);}else{jd.add(jj);jd.setVisible(true);}catch(Exceptionee){ System.out.println(ee.getMessage());}finally{try{if(rs!=null)rs.close();if(con!=null)con.close();if(ps!=null)ps.close()}catch(Exceptioneee){System.out.println(eee.getMessage());}}4.3查询功能设计运行菜单界面后,点击查询功能中的任意一个查询功能,然后用监视器监听该控件,一旦点击了该控件,就弹出录入相关信息的窗口,然后用户就可以按照提示输入查询的的提示信息,输入完毕后再点击确定建来查询数据库到达查询的效果。查询成功或者失败都显示相应信息。最后关闭提示窗口返回主菜单界面进行下一步操作。局部代码如下;查询某班级学生宿舍分配:try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");con=DriverManager.getConnection("jdbc:sqlserver://:1433;databaseName=学生住宿管理","sa","zzy");Stringa;a=jt.getText();ps=con.prepareStatement("select学号,宿舍号from住宿管理,学生where省份=?and学生.学号=宿舍.学号");ps.setString(1,a);rs=ps.executeQuery();Stringstr1;intstr2;str1="";JDialogjd=newJDialog();jd.setTitle("查询结果"); jd.setSize(500,100); jd.setLocation(500,300);StringSTR=("省份为"+a+"的学生住宿情况为:"+"\n"+"学号"+""+"宿舍号"+"\n")while(rs.next()){str1=rs.getString("学号");str2=rs.getInt("宿舍号");STR+=(str1+""+str2);}JTextAreajj=newJTextArea(STR);if(str1pareTo("")==0){JDialogjd1=newJDialog();jd1.setTitle("消息");JButtonjj1=newJButton("查询失败!!!");jd1.add(jj1); jd1.setSize(100,100); jd1.setLocation(500,300); jd1.setVisible(true);}Else{jd.add(jj);jd.setVisible(true);}}catch(Exceptionee){System.out.println(ee.getMessage());}finally{try{try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")con=DriverManager.getConnection("jdbc:sqlserver://:1433;databaseName=学生住宿管理","sa","zzy");Stringa,c;a=jt1.getText();if(jr1.isSelected())c="男";elsec="女";if(c.equals("男")){ps=con.prepareStatement("selecttop1宿舍号,已入住人数from宿舍where已入住人数!=4and宿舍号<20000");}elseps=con.prepareStatement("selecttop1宿舍号,已入住人数from宿舍where已入住人数!=4and宿舍号>20000");rs=ps.executeQuery();intstr=0;intnum=0;while(rs.next()){ str=rs.getInt("宿舍号");num=rs.getInt("已入住人数");}ps=con.prepareStatement("insertinto宿舍管理values(?,?)");ps.setInt(1,str);ps.setString(2,a);intmm=ps.executeUpdate();ps=con.prepareStatement("update宿舍set已入住人数=?where宿舍号=?");ps.setInt(1,num+1);ps.setInt(2,str);inttt=ps.executeUpdate();if(rs!=null)rs.close();if(con!=null)con.close();if(ps!=null)ps.close();}catch(Exceptioneee){ System.out.println(eee.getMessage());}}其他查询类似,详见程序。4.4修改功能设计运行菜单界面后,点击修改功能中的任意一个调整某个学生宿舍,然后用监视器监听该控件,一旦点击了该控件,就弹出修改相关信息的窗口,然后用户就可以按照提示输入修改的的学生学号信息,输入完毕后再点击确定建来更新数据库到达修改的效果。修改成功或者失败都显示相应信息。最后关闭提示窗口返回主菜单界面进行下一步操作。局部代码如下;try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); con=DriverManager.getConnection("jdbc:sqlserver://:1433;databaseName=学生住宿管理","sa","zzy");Stringstr;inta; a=Integer.parseInt(jt2.getText());str=jt1.getText();ps=con.prepareStatement("update住宿管理set宿舍号=?where学号=?");ps.setInt(1,a);ps.setString(2,str);intps.executeUpdate();if(i==1){JDialogjd=newJDialog();jd.setTitle("消息");JButtonjj=newJButton("调整成功!!!");jd.add(jj); jd.setSize(100,100);jd.setLocation(500,300); jd.setVisible(true);}else{JDialogjd=newJDialog();jd.setTitle("消息");JButtonjj=newJButton("调整失败!!!");jd.add(jj);jd.setSize(200,200); jd.setLocation(500,300);jd.setVisible(true);}}catch(Exceptionee){ System.out.println(ee.getMessage());}finally{try{if(rs!=null)rs.close();if(con!=null)on.close();if(ps!=null)ps.close();}catch(Exceptioneee){ System.out.println(eee.getMessage());}}4.5打印功能设计运行菜单界面后,点击打印功能中的打印某班级学生住宿情况生宿舍,然后用监视器监听该控件,一旦点击了该控件,就弹出相关信息的窗口,然后用户就可以按照提示输入打印的的班级信息,输入完修改毕后再点击确定建来查询数据库到达打印的效果。查询成功或者失败都显示相应信息。查询成功后再弹出一个窗口包含一个文本域控件,其中的内容就是查询的结果。最后关闭提示窗口返回主菜单界面进行下一步操作。局部代码如下;try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); con=DriverManager.getConnection("jdbc:sqlserver://:1433;databaseName=学生住宿管理","sa","zzy");Stringstr1;intstr2=0;str1=""; ps=con.prepareStatement("select*from宿舍管理");rs=ps.executeQuery();JDialogjd=newJDialog();jd.setTitle("学生住宿情况");jd.setSize(500,400); jd.setLocation(500,300);STR="学号宿舍号"+"\n";while(rs.next()){ str1=rs.getString("学号");str2=rs.getInt("宿舍号");STR+=(str1+""+str2+"\n");}JTextAreajj=newJTextArea(STR);jd.add(jj);jd.setVisible(true);}catch(Exceptionee){ System.out.println(ee.getMessage());}finally{try{if(rs!=null)rs.close();if(con!=null)con.close();if(ps!=null)ps.close();}catch(Exceptioneee){ System.out.println(eee.getMessage());}}5系统测试5.1测试环境系统测试的时候主要是黑盒测试,进行功能的验证。工具:WindowsXP、netbeansIDE6.9、SQLSever20235.2测试用例及结果5.2.1界面测试测试界面是否整洁美观,检查所有的页面是否能够正确的显示,每个页面的风格是否一致,界面是否有错别字,页面每一个链接是否有对应的界面,页面控件和操作按钮的位置是否合理,界面中的下拉列表的值是否正确,是否有重复的值。界面测试结果,界面整洁美观,界面风格一致,无错别字,控件按钮位置适宜易于操作,输入框、下拉列表等显示正确。5.2.2功能测试添加功能测试表5.1添加功能测试用例表用例编号学号姓名性别学院班级省份预期结果1S123张飞男数计学院软工1班四川省成功2S124刘备男数计学院软工2班四川省成功3S125关羽男数计学院软工2班湖南省成功4S126貂蝉女人文学院汉语1班四川省成功5S127孙尚香女人文学院汉语2班云南省成功6S128赵云男体育学院体育2班云南省成功7S129马超男数计学院软工2班河南省成功8S130黄忠男土木学院土木1班江西省成功9S131小乔女人文学院汉语2班江西省成功10S132大乔女人文学院汉语2班江西省成功11S133王昭君女土木学院工造1班四川省成功图5.1添加测试1图5.2添加测试2用例1的实际结果,如图5.3,5.4所示:图5.3添加测试3图5.4添加测试4测试用例2-10省略,和测试用例1相似。都成功,结果如图5.5所示图5.5添加测试5查询功能测试表5.2查询功能测试用例表用例编号测试工程测试数据预期结果1某班级软工2班成功2某班级汉语1班成功3某学院数计学院成功4某学院土木学院成功5某学生S126成功6某学生S100失败7某省份四川省成功8某省份河南省成功图5.6查询测试1图5.7查询测试2图5.8查询测试3图5.9查询测试4图5.10查询测试5图5.11查询测试6图5.12查询测试7图5.13查询测试8图5.14查询测试9图5.15查询测试10图5.16查询测试11图5.17查询测试12图5.18查询测试13图5.19查询测试14图5.20查询测试15图5.21查询测试16图5.22查询测试17图5.23查询测试18图5.24查询测试19图5.25查询测试205.3修改功能:表5.

温馨提示

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

评论

0/150

提交评论