当前位置:文档之家› java学生宿舍管理系统论文

java学生宿舍管理系统论文

课程设计说明书课程名称:软件工程课程设计题目:学生宿舍管理系统院系:理学院专业班级:数学与应用数学11-1学号:_________学生姓名:存文指导教师:贤文2014年 1 月02日专业资料理工大学课程设计(论文)任务书理学院院系信计教研室. 资料年月日理工大学课程设计(论文)成绩评定表. 资料第1章课程设计目的与要求1.1设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。

通过课程设计,学生在下述各面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程《JAVA语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。

(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。

(3)利用所学知识,开发小型应用系统,掌握运用JAVA语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。

(4)对于给定的设计题目,如进行分析,理清思路,并给出相应的数学模型。

(5)掌握面向对象程序设计的法。

(6)熟练掌握JAVA语言的基本语法,灵活运用各种数据类型。

(7)进一步掌握在集成环境下如调试程序和修改程序。

1.2实验环境硬件要求能运行Windows 操作系统的微机系统。

JAVA语言应用程序开发软件使用:VJAVA 系统,或其他JAVA语言应用程序开发软件。

1.3设计要求1.仔细分析设计题目,画出程序流程图,编写程序源代码。

2.积极上机调试源程序,增强编程技巧与调程能力。

3.认真书写课程设计预习报告,课程设计说明书。

4.遵守课程设计要求和机房管理制度,服从指导教师的安排,确保课程设计的顺利完成课程设计容。

第2章课程设计容2.1 课题描述对于问题的要求,我们可以选择使用链表处理数据,由于处理的数据相对比较多,所以在函数的具体实现时,可以考虑使用函数模板,函数模板会把很多问题的处理变得很容易,例如:再查找学生信息时,使用姓名查找和学号或宿舍号查找式,其中的两个函数只有函数的参数的类型不一样,功能完全一样,使用模板处理该问题,只需编写一次模板函数,再模板中声明的类型参数“T”,可以代替处理其他变量和返回类型。

如果使用了模板函数的条件下,类的设计最好选用模板类,因为类模板的使用,可以使得类中的某些成员函数、某些数据成员和某些成员函数的返回值能取得任意类型。

但模板的使用有一定的能力要求,如果使用其他的法可以实现上述要求的功能时,模板可以作为一种前进的法,去为程序实现精艺求精。

这样最普遍,可以适时考虑的就是使用链表进行数据的处理,链表是一种比较好且很适宜的法;学生包含有很多信息,最基本的法是创建一个class,对学生信息实现整体的代换,这样不仅便数据处理,也为数据在程序中的录入、存储和显示提供很大的优越性。

各功能的实现可以通过设计一个学生类students,然后将功能函数作为类中的成员函数来处理,这样不仅便以后成员函数之间的调用,也为在编译和调试过程中出现问题和警告错误时便修改。

当整体设计案出炉后,具体的类中成员函数编译就是使用链表为载体来实现的。

首先要创建链表,并将原始数据装入制定的文本文档中,以输入出流的式将数据赋给各链表节点;数据读入程序后,各成员函数就可以根据链表的操作,对其实行查找,删除,添加,排序信息和交换信息等。

查找函数在操作时可运用顺序查找或折半查找,相对比. 资料较而言,在数据较多时使用顺序查找便些,而且便于源代码的编译;在查找函数中要考虑到是否要考虑函数返回值的类型,因为查找函数在以后交换函数中可能会调用查找函数,这样会使交换信息函数显得简明,而且容易在交换时控制变量。

排序和查找函数,因为要使用不同排序或查找法,所以在主函数的实现上,会考虑到使用一个子菜单来指导使用,在按照不同参考变量进行排序或查找时,这时最主要要实现以第一个式的函数的算法思想和代码的编写,这样在编写其他式函数代码时可以参考第一种式,达到简化步骤,节省时间,空间的目的。

2.2 系统设计根据上述要求和思想算法的分析,需要设计一个类students。

由于学生信息包含有学号、姓名、宿舍号、系别等数据,所以设计一个student类来概括学生相关信息。

学生的各相关信息通过使用链表的式将其联系在一起,这样不仅便信息的录入和显示,也便在数据的处理上。

各功能的实现均可在类student中定义各相关的成员函数。

程序运行时,首先提示用户是否进行操作,选择“Y/y”后,进入操作界面,出现功能选择菜单。

首先要进行数据的录入,选择“1.信息录入”选项,这时数据直接通过磁盘文件录入程序中;录入结束后可按菜单中功能选项进行选择操作,如选择“信息排序”功能之后会出现子菜单,提示用户选择排序式“按学号排序”“按宿舍号排序”,这时可以选择一式进行操作,再通过输出与储存函数进行显示或储存。

学生宿舍管理系统的开发主要包括前台用户界面的开发和后台数据库的开发,对于后台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的数据库。

而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单便等特点。

本系统采用java作为前台用户界面的开发语言,而后台的数据库采用MySql2.2.1 功能分析设计一个实用的小型学生宿舍管理程序,能够对学生宿舍进行管理。

学生的原始信息由磁盘文件进行储存。

在程序的运行中要求能进行增加、删除学生记录、显示记录、查询/检索(依不同关键字,如学号、宿舍号、姓名等)、删除/修改记录等功能,并能运用链表进行动态处理。

具体要求:1.对学生信息的录入、增加和删除;2.能显示宿舍的相应信息,即根据宿舍号显示宿舍位置,宿舍学生信息等;3.能根据学生信息查询相应的宿舍信息;4.对宿舍管理可以从多面对系统数据进行操作,如:依据系别、学生姓名、班级等;并且能按各种条件进行组合查询和数据统计,并能按指定顺序进行格式化输出。

2.2.2 面向对象设计各模块之间的调用关系:. 资料本系统分为四个模块:查找子菜单、信息录入、信息显示、查找功能子菜单。

该程序的由多种函数实现,每个函数具有不同的功能,主要有主菜单函数,插入功能子菜单函数,查找功能子菜单函数,学生信息录入函数,显示函数,排序函数,插入函数以及查找函数。

在每个区域中会调用不同的函数来实现主要的功能。

比如,在学生显示这个功能里调用显示函数;在插入功能里调用子菜单函数;在显示信息时调用排序函数先对需要输出的信心进行排序,然后再输出;在查找功能里会调用查找函数来进行查找,包括按照性别,学号,姓名,房间号等查询。

2.2.2类成员描述3.1.2根据数据库的有关知识将E-R图转化成对应的关系表读者(读者编号,读者姓名,读者借书量)其中主键是读者编号。

图书(图书编号,图书名称,图书出版社,图书作者,图书数量)主键是图书编号。

读者表3-1. 资料图书表3-23.1.3类设计首先设计一个基本类,student类,创建类的具体代码如下:创建student类package sushe;import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;public class Student {String stuNo;String name;String classNo;int dorNo;public Student(){}public Student(String stuNo,String name,String classNo, int dorNo){ this.stuNo = stuNo; = name;this.classNo = classNo;this.dorNo = dorNo;}public String getStuNo(){return stuNo;}public void setStuNo(String stuNo){this.stuNo = stuNo;}public String getName(){return name;}public void setName(String name){ = name;}public String getClassNo(){return classNo;}public void setClassNo(String classNo){this.classNo = classNo;}public int getDorNo(){return dorNo;}public void setDorNo(int dorNo){this.dorNo =dorNo;}public boolean insertStudent(){boolean b = true;try{Connection con = MySQLConnection.getCon();Statement statement = con.createStatement();String sql = "insert into student values('" + stuNo + "','" + name +"','" + classNo + "'," + classNo + ")";// sql = new String(sql.getBytes("gb2312"),"ISO8859_1");statement.executeUpdate(sql);con.close();System.out.println("输入成功") ;}. 资料catch(Exception e){b = false;System.out.println("插入数据库遇到异常!"+e.toString());}return b;} public boolean selectByStuNo(String stuNo)throws Exception{boolean b = true;Connection con = MySQLConnection.getCon();Statement statement = con.createStatement();String sql = "select * from student where stuNo =" + stuNo;ResultSet rs = statement.executeQuery(sql);if(rs != null && rs.next()){String no = rs.getString(1);this.setStuNo(no);String n = rs.getString(2);//n = new String(n.getBytes("ISO8859_1"),"gb2312");this.setName(n);String g = rs.getString(3);//g = new String (g.getBytes("ISO8859_1"),"gb2312");this.setClassNo(g);this.setDorNo(rs.getInt(4));b = true;}rs.close();statement.close();con.close();return b;}}下面进行数据库连接package sushe;import java.sql.Connection;import java.sql.DriverManager;public class MySQLConnection {static Connection getCon(){Connection con = null;try{Class.forName(".mysql.jdbc.Driver");con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mytest","root",""); }catch(Exception e){System.out.println("建立数据库连接遇到异常!");}return con;}}2.3.2运行结果登陆界面显示:. 资料登陆信息显示:添加学生信息;修改学生信息; . 资料删除信息显示:学生寝室查询:. 资料第3章总结经过了一个多星期的努力,终于在规定的时间完成率这份课程设计。

相关主题