您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Java课程设计报告学生管理系统
JAVA程序设计课程设计报告课题:学生信息管理系统姓名:赵咏荔学号:同组姓名:肖雅婷刘玲专业班级:信管12101指导教师:刘国清设计时间:—评阅意见:评定成绩:指导老师签名:年月日目录1.系统描述.....................................31.1需要实现的功能............................31.2设计的目的...............................32.分析与设计...................................42.1功能模块划分............................42.2数据库结构描述..........................42.3系统详细设计文档........................52.4各个模块实现方法描述....................92.5测试数据及期望结果......................93.系统测试.....................................124.总结或心得体会...............................185.参考文献.....................................196.附录.........................................191.系统描述1.1需要实现的功能(1)录入学生基本信息的功能学生基本信息主要包括:学号、姓名、性别、年龄、出生地、专业、班级、总学分,在插入时,如果数据库则已经存在该学号,则不能再插入该学号。(2)修改学生基本信息的功能在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。(3)查询学生基本信息的功能可使用“姓名”对已存有的学生资料进行查询。(4)删除学生基本信息的功能在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。(5)用户登陆用不同的登录权限可以进入不同的后台界面,从而实现权限操作。(6)用户登陆信息设置可以修改用户登陆密码1.2设计的目的本程序用于用户对少量学生信息进行简单的管理,本程序针对于对安全系数要求不高,操作不是很复杂的小型客户开发。本程序的管理员可以实现对学生信息的录入、查询、修改、删除等操作,同时支持查看所有学生信息,学生只能查询自己的信息。程序功能完善,界面简洁美观,布局合理,操作简便,简单易用,任何人可轻松操作。同时,本程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低。本程序数据库采用office2007版本的access数据库(.accdb)进行数据存储,该数据库可实现关系较为简单的数据管理。2.分析与设计:2.1功能模块划分图1功能模块图2.2数据库结构描述(1)数据库E-R模型图2学生局部E-R图图3登陆用户局部E-R图(2)数据库关系模型——二维表1学生表(student)学生信息管理系统浏览学生信息查询学生信息添加学生信息修改学生信息删除学生信息普通学生(用户)模块班委(管理员)模块浏览学生信息查询学生信息学生管理登陆管理修改登陆密码显示登陆用户字段数据类型说明stuIdnvarchar(30)学号stuNamenvarchar(30)姓名stuSexnvarchar(30)性别stuAgeint年龄stuJgnvarchar(30)籍贯stuZynvarchar(30)专业classIdnvarchar(30)班号stuSoursenumeric(5,2)总学分表2登陆权限表(login)字段数据类型说明userIdnvarchar(30)用户名(账号),即登陆Idpasswordnvarchar(30)登陆密码positionnvarchar(30)职位,如班委,普通学生(3)数据流图图4数据流图2.3系统详细设计文档表3包以及包所包含的类包名(package)所包含的类说明com.sqlConnectionSqlConn.java用于连接数据库com.ToolsMyFont.java用于设置窗体各组件的字体com.ViewIndex.java使用进度条与线程结合实现闪屏,初始化进度条(闪屏)用户登陆登陆验证falsetrue班委(管理员)界面普通学生界面查询添加修改删除查询显示班委(管理员员)普通学生(用户)退出退出系统结束结束退出系统truefalsefalsetrue修改用户登陆密码显示登陆用户信息进入登陆界面Login.java登陆界面,管理员与用户登陆ManageView.java管理员界面,可进行所有操作StuMainView.java普通学生(用户)界面,只能进行部分操作StuQuery.java学生信息查询模块AddStu.java添加学生信息模块UpdateStu.java更新学生信息模块TableModel.java表数据更新模型,学于更新并通过表来显示信息LoginModel.java用户登陆验证模型PurViewModel.java用户权限设置界面UpdateLogin.java用户账户修改界面表4SqlConn类类名类的成员属性与方法说明SqlConn.javaConnectionct得到与数据库的连接PreparedStatementps实现发送SQL语句给数据库ResultSetrs获得数据库返回的记录集publicResultSetsqlQuery(Stringsql)实现查询功能的方法publicvoidsqlUpdate(Stringsql)实现添加,修改功能的方法publicvoidsqlDelete(Stringsql)实现删除学生记录的方法publicvoidcloseSqlConn()实现关闭数据库连接的功能表5Index类类名类的成员属性与方法说明Index.javaJProgressBarjpb定义进度条JLabeljl1用于在窗体的北部放一张图片,南部是进度条intwidth,height用于获取显示屏分辨率大小,以便设置窗口的默认位置publicIndex()初始化窗口的相关组件publicvoidrun()进度条线程的run方法,用于设置线程的属性int[]progressValue定义一个数组,存放进度条显示时需要的数据表6Login类类名类的成员属性与方法说明Login.javaJLabeljl1,jl2,jl3定义三个标签组件JTextFieldjtf1定义一个用户输入账号的文本框JPasswordFieldjpf1密码输入框JButtonjb1,jb2提交和清除按钮intwidth,height用于设置窗口初始位置的变量,即获取显示器的大小ResultSetrs用于接收从数据库返回来的记录集LoginModelloginModel自定义一个模型,把值到登陆验证模型publicLogin()构造方法,用于初始化登陆窗口的相关组件classBackImageextendsJPanel创建一个内部类,并继承JPanle,用于画背景图片2.4各个模块实现方法描述sqlConnection是连接数据库。可实现发送SQL语句给数据库,获得数据库返回的记录集,实现查询、添加、修改、删除学生记录,关闭数据库连接等功能。Myfont是设置窗体各组件的字体。Index是使用进度条与线程结合实现闪屏,初始化进入登陆界面。Login是登陆界面,管理员与用户登陆,可以分别登入管理员和用户,管理员与用户的登录进去后可分别按自己的权限操作。2.5测试数据及期望结果在登入窗口可以分别登入管理员和用户的账号及密码,会进入权限不同的页面,管理员可以实现查询、添加、修改、删除学生记录,还可以查询,修改、删除管理员表格。而学生只能查询学生记录。例如:图1登入管理员图2查询全部信息图3查询个人信息图4添加学生信息图5修改学生信息图6修改学生信息图7查询肖林卫婕的成绩3.系统测试图8系统启动界面图9用户登陆界面图10班委(管理员)界面,即具有完全权限的用户后台界面图11班委(管理员)界面子菜单项显示图12普通用户(学生)界面子菜单项显示图13学生信息查询结果显示图14添加学生信息界面图15修改学生信息界面图16显示所有学生信息图17当没有选中一行的时候,不能修改和删除,并弹出提示警告框图18删除文件时的确认对话框(当点击确认时才会删除,点击取消,则返回主界面)图19显示所有登陆用户信息图20修改用户登陆密码,选中某个用户进行修改图21关闭用户记录,即不显示所有用户信息图22关闭学生记录图23退出系统确认对话框,只有确认时才会退出系统,否则返加主界面图24普通学生登陆后的界面(即不能对学生信息进行添加,修改和删除以及用户密码修改,对应的这几项灰色显示,不可点击)四、总结或心得体会1)在写代码之前,在大脑里一定要把思路理清楚,不能模模糊糊,一定要把功能图和流程图画出来,然后根据它去实现每一个功能块,要多分析,培养一种良好的逻辑思维能力。2)在写代码的过程中,一定要采取就近原则,同一个功能,或者对同一个组件的设置一般要写在一块,这样写的程序比较清晰,不容易出错,也便于查找。3)要养成良好的注释习惯,一是有利于别人阅读你的程序,同时也有利于自己以后再看,就能很快的读懂程序,提高效率。4)把功能模块化,即把实现相同功能的代码段封装成一到一个类或者一个方法中,实现的时候调用即可,这样能提高代码的可读性5)养成创建包来存放不同功能的类,使系统的结构更加模块化和规范化。6)在编写代码的时候,一定要边写边调试,要适时的设置断点,或者把某些变量的值输出到控制台,通过观察和分析变量的值,便于判断问题所在,同时,需要捕获异常的一定要把异常信息打印出来,便于分析问题。在老师悉心的指导下,我顺利地完成了本次课程设计,并取得了很大的收获,对以后的软件开发奠定了一定的基础!五、参考文献(1)赵海廷.Java语言程序设计教程.北京:清华大学出版社.2012(2)孙印杰,刘斌,孙玉强.Java编程案例精解.北京:电子工业出版社.2005(3)何梅.java编程实例系列丛书.北京:清华大学出版社,2002(4)杨昭.编著二级Java语言程序设计教程.北京:中国水利水电出版社,2006(5)赵文靖编著.Java程序设计基础与上机指导.北京:清华大学出版社,2006六、附录(1)功能:连接数据库packagecom.SqlConnection;importjava.sql.*;import;publicclassSqlConn{Connectionct=null;PreparedStatementps=null;ResultSetrs=null;Stringdriver=;Stringdburl=jdbc:odbc:stuSystem;StringuserName=;Stringpassword=;//实现查询功能的方法publicResultSetsqlQuery(Stringsql){try{//加载驱动Class.forName(driver);ct=DriverManager.getConnection(dburl,userName,password);ps=ct.prepareStatement(sql);rs=ps.executeQuery();}catch(Exceptione){e.printStackTrace();//TODO:handleexception}returnrs;}//实现添加,修改功能的方法publicvoidsqlUpdate(Stringsql){try{//加载驱动Class.forName(driver);ct=DriverManager.getConnection(dburl,userName,password);ps=ct.prepareStatement(sql);//执行添加,更新操作inti=ps.executeUpdate();//返回一个值,如果为1则表示添加成功。if(i==1){Syst
本文标题:Java课程设计报告学生管理系统
链接地址:https://www.777doc.com/doc-1650765 .html