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

下载本文档

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

文档简介

数学与计算机学院课程设计说明书课 程 名 称: 软件工程与数据库-课程设计课 程 代 码: 6014419 题 目: 学生住宿管理系统 年级/专业/班: 2011级软件设计2班 学 生 姓 名: 朱中阳 学 号: 312011080611531 开 始 时 间: 2013 年 06 月 7 日完 成 时 间: 2013 年 06 月 21 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5) 说明书(计算书、图纸、分析报告)撰写质量(45)总 分(100)指导教师签名: 年 月 日摘 要 随着计算机的普及,各行各业都离不开信息处理,然而,现今有许多高校仍然用手工对宿舍进行管理。而随着办学规模的不断扩大,学生人数越来越多,数据信息处理的工作量也日益增大,这种手工管理存在的弊端就会显现出来,如易出错,出错后不易修改;易丢失数据,而且不易查找等等。为了提高高校的整体管理水平,同时基于计算机在高校宿舍管理的应用也日趋普及,这使得建立学生住宿管理系统成为必然的选择。针对这种现象设计了一套学生住宿管理系统,学生住宿管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。分析了住宿管理系统的各项要求,利用软件画出了数据库的关系模型,在SQL server 2008中创建了数据库,用NetBeans IDE 6.9编程实现了学生住宿管理系统,该系统具有人员信息的添加、查找、修改和显示等功能。关键词:SQL Server 2008 ;Java ;宿舍管理系统0宿舍住宿管理系统目 录 引 言 11需求分析 21.1系统分析 21.2用户需求 22 概要设计 32.1系统流程图32.2系统功能模块设计 42.3系统总体设计53 数据库设计 63.1.概念模型设计632.逻辑结构设计73.3 物理结构设计74程序模块设计104.1 开发环境及数据库连接104.2 模块1设计104.3 模块2设计 124.4 模块3设计 155系统测试185.1测试环境185.2 测试用例及结果18结 论 29参考文献 30 学生住宿管理系统引 言 数据库是数据管理的最新技术,是计算机科学是重要分支。今天,信息资源已成为各个部门重要的财富和资源。建立一个满足各级部门信息处理要求的行之有效的信息系统也已成为一个企业或组织生存和发展的重要条件。因此,越来越多的应用领域采用数据库技术来存储和处理信息资源。对于一个国家来说,数据库的建设规模,数据库信息量的大小和使用频度已成为衡量这个国家信息化程度的标志。随着计算机网络的飞速发展,Internet技术越来越广泛的应用,网络覆盖的区域不断扩大,给现代宿舍管理应用带来了蓬勃发展的机遇,在现代学生宿舍管理中,网上修改学生信息成为了不可或缺的现代工具。本课程设计主要完成一个学生住宿管理系统。 本系统选用NetBeansIDE 6.9作为开发工具,DBMS选用Microsoft SQL Server。只要在所用系统的计算机上装上NetBeansIDE 6.9和Microsoft SQL Server2008就可以使用。 此次课程设计的目的在于让学生了解并掌握可视化程序的设计方法,具备初步的独立分析和设计能力;熟练软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。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) 查询功能 失败是否查询成功 返回界面 查询成功,输出信息 图2.3系统功能模块查询功能(3)修改功能 输入修改信息是否修改成功 失败 修改成功 返回界面 图2.4系统功能模块修改功能(3) 打印功能 输入需打印信息 打印成功 返回界面 图2.5系统功能模块打印功能2.3系统总体设计学生住宿管理系统是为了方便管理员和相关工作人员对学生住宿信息进行管理和录入的系统。该系统要向用户提供友好的菜单界面,和各种使用的接口。操作要求简单。同时系统对数据的管理要求要做到保证数据的安全性和准确性。3 数据库设计 3.1概念模型设计3.1.1 设计原理本系统的概念结构设计采用自顶向下方法。即首先定义全局概念结构的框架,然后逐步细化3.1.2 概念模型经过对物质管理所涉及的数据进行分析,得到如下的实体:(1) 宿舍:属性包括宿舍号、已住人数、管理员。(2) 学生:属性包括学号,姓名,性别,学院,省份和班级。(3) 管理员:属性包括姓名,职工号等,可对学生宿舍信息进行简单的管理。(4) 相关工作人员:属性包括姓名,职工号等,可对学生宿舍信息进行所有的合法操作。联系有:(1) 管理:反应了管理员、学生和宿舍三者之间的联系。(2) 住宿:反映了学生与宿舍的联系。所设计的概念模型(E-R图)如下:m1管理宿舍1管理员n住宿学生1 图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语句如下:Create Table 学生( 学号Char(10) Primary Key, 姓名 Char(10), 性别 Char(2), 班级 Char(10), 学院 Char(20), 省份 Char(10);2. 宿舍表 表3.2 宿舍表字段名字段描述字段类型备注宿舍号对寝室管理更方便int主键管理员不同栋宿舍楼有不同的管理员Char(10)已住人数方便安排新生入住int创建宿舍表的SQL语句如下:Create Table 宿舍( 宿舍号 Int Primary Key, 管理员 Char(10), 已住人数 Int);3. 宿舍管理表 图3.3宿舍管理表字段名字段描述字段类型备注宿舍号对寝室管理更方便int主键学号Char(10)主键创建宿舍管理表的SQL语句如下:Create Table 宿舍管理( 宿舍号 Int , 学号 Char(10), Primary key(学号,宿舍号), Foreign key(学号) references 学生(学号), Foreign key(宿舍号) references 宿舍(宿舍号);3.3.2 视图设计1、创建学生表的视图 Create View view学生 As Select * From 学生2、创建宿舍表的视图 Create View view宿舍 As Select * From 宿舍3、创建宿舍管理表的视图 Create View view宿舍管理 As Select * From 宿舍管理3.3.3 索引设计1、为学生表建立索引Create Unique Index 学生No On 学生(学号);2、为宿舍表建立索引Create Unique Index 宿舍No On 宿舍(宿舍号);4 程序模块设计4.1 开发环境及数据库连接 开发环境:WIN xp 系统,neatbeans IDE 6.9,SQL sever 2008链接服务器名称:PDZGC2NB4UEQTE7 链接数据库字符串: Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver 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);String a;a=jt.getText();ps=con.prepareStatement(select 学号,宿舍号 from 住宿管理,学生 where 班级=? and 学生.学号=宿舍.学号);ps.setString(1, a);rs= ps.executeQuery();String str1;int str2;str1=;JDialog jd=new JDialog();jd.setTitle(查询结果); jd.setSize(500,100); jd.setLocation(500,300);String STR=(班级为+a+的学生住宿情况为: +n+学号+ +宿舍号+n);while(rs.next() str1=rs.getString(学号);str2=rs.getInt(宿舍号);STR+=(str1+ +str2);JTextArea jj=new JTextArea(STR);if(pareTo()=0) JDialog jd1=new JDialog();jd1.setTitle(消息);JButton jj1=new JButton(查询失败!);jd1.add(jj1); jd1.setSize(100,100); jd1.setLocation(500,300); jd1.setVisible(true); elsejd.add(jj);jd.setVisible(true); catch(Exception ee) System.out.println(ee.getMessage();finally tryif(rs!=null)rs.close();if(con!=null)con.close();if(ps!=null)ps.close() catch(Exception eee)System.out.println(eee.getMessage(); 4.3 查询功能设计运行菜单界面后,点击查询功能中的任意一个查询功能,然后用监视器监听该控件,一旦点击了该控件,就弹出录入相关信息的窗口,然后用户就可以按照提示输入查询的的提示信息,输入完毕后再点击确定建来查询数据库达到查询的效果。查询成功或者失败都显示相应信息。最后关闭提示窗口返回主菜单界面进行下一步操作。部分代码如下;查询某班级学生宿舍分配:try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);con=DriverManager.getConnection(jdbc:sqlserver:/:1433;databaseName=学生住宿管理,sa,zzy);String a;a=jt.getText();ps=con.prepareStatement(select 学号,宿舍号 from 住宿管理,学生 where 省份=? and 学生.学号=宿舍.学号);ps.setString(1, a);rs= ps.executeQuery();String str1;int str2;str1=;JDialog jd=new JDialog();jd.setTitle(查询结果); jd.setSize(500,100); jd.setLocation(500,300);String STR=(省份为+a+的学生住宿情况为: +n+学号+ +宿舍号+n)while(rs.next() str1=rs.getString(学号);str2=rs.getInt(宿舍号);STR+=(str1+ +str2);JTextArea jj=new JTextArea(STR);if(pareTo()=0) JDialog jd1=new JDialog();jd1.setTitle(消息);JButton jj1=new JButton(查询失败!);jd1.add(jj1); jd1.setSize(100,100); jd1.setLocation(500,300); jd1.setVisible(true);Elsejd.add(jj);jd.setVisible(true); catch(Exception ee)System.out.println(ee.getMessage();finallytrytry Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver)con=DriverManager.getConnection(jdbc:sqlserver:/:1433;databaseName=学生住宿管理,sa,zzy); String a,c;a=jt1.getText();if (jr1.isSelected()c=男;else c=女;if( c.equals(男)ps=con.prepareStatement(select top 1 宿舍号,已入住人数 from 宿舍 where 已入住人数!=4 and 宿舍号20000 );rs= ps.executeQuery();int str=0;int num=0;while(rs.next() str=rs.getInt(宿舍号);num=rs.getInt(已入住人数); ps=con.prepareStatement(insert into 宿舍管理 values(?,?);ps.setInt(1,str);ps.setString(2, a); int mm= ps.executeUpdate();ps=con.prepareStatement(update 宿舍 set 已入住人数 = ? where 宿舍号= ? );ps.setInt(1, num+1);ps.setInt(2, str); int tt= ps.executeUpdate();if(rs!=null)rs.close();if(con!=null)con.close();if(ps!=null)ps.close(); catch(Exception eee) System.out.println(eee.getMessage(); 其他查询类似,详见程序。4.4 修改功能设计运行菜单界面后,点击修改功能中的任意一个调整某个学生宿舍,然后用监视器监听该控件,一旦点击了该控件,就弹出修改相关信息的窗口,然后用户就可以按照提示输入修改的的学生学号信息,输入完毕后再点击确定建来更新数据库达到修改的效果。修改成功或者失败都显示相应信息。最后关闭提示窗口返回主菜单界面进行下一步操作。部分代码如下;try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); con=DriverManager.getConnection(jdbc:sqlserver:/:1433;databaseName=学生住宿管理,sa,zzy);String str;int a; a=Integer.parseInt(jt2.getText(); str=jt1.getText();ps=con.prepareStatement(update 住宿管理 set 宿舍号 = ? where 学号= ? );ps.setInt(1, a);ps.setString(2, str);int ps.executeUpdate();if(i=1)JDialog jd=new JDialog();jd.setTitle(消息);JButton jj=new JButton(调整成功!);jd.add(jj); jd.setSize(100,100);jd.setLocation(500,300); jd.setVisible(true);elseJDialog jd=new JDialog();jd.setTitle(消息);JButton jj=new JButton(调整失败!);jd.add(jj);jd.setSize(200,200); jd.setLocation(500,300);jd.setVisible(true);catch(Exception ee) System.out.println(ee.getMessage();finallytryif(rs!=null)rs.close();if(con!=null)on.close();if(ps!=null)ps.close(); catch(Exception eee) System.out.println(eee.getMessage(); 4.5 打印功能设计运行菜单界面后,点击打印功能中的打印某班级学生住宿情况生宿舍,然后用监视器监听该控件,一旦点击了该控件,就弹出相关信息的窗口,然后用户就可以按照提示输入打印的的班级信息,输入完修改毕后再点击确定建来查询数据库达到打印的效果。查询成功或者失败都显示相应信息。查询成功后再弹出一个窗口包含一个文本域控件,其中的内容就是查询的结果。最后关闭提示窗口返回主菜单界面进行下一步操作。部分代码如下;try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); con=DriverManager.getConnection(jdbc:sqlserver:/:1433;databaseName=学生住宿管理,sa,zzy);String str1;int str2=0;str1=; ps=con.prepareStatement(select * from 宿舍管理 );rs= ps.executeQuery();JDialog jd=new JDialog();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);JTextArea jj=new JTextArea(STR);jd.add(jj);jd.setVisible(true); catch(Exception ee) System.out.println(ee.getMessage(); finallytryif(rs!=null)rs.close();if(con!=null)con.close();if(ps!=null)ps.close(); catch(Exception eee) System.out.println(eee.getMessage();5 系统测试5.1测试环境系统测试的时候主要是黑盒测试,进行功能的验证。工具:Windows XP 、netbeans IDE 6.9、SQL Sever 20085.2 测试用例及结果5.2.1 界面测试测试界面是否整洁美观,检查所有的页面是否能够正确的显示,每个页面的风格是否一致,界面是否有错别字,页面每一个链接是否有对应的界面,页面控件和操作按钮的位置是否合理,界面中的下拉列表的值是否正确,是否有重复的值。界面测试结果,界面整洁美观,界面风格一致,无错别字,控件按钮位置合适易于操作,输入框、下拉列表等显示正确。5.2.2功能测试1、 添加功能测试 表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 添加测试52. 查询功能测试 表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 图

温馨提示

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

评论

0/150

提交评论