学生管理系统实验报告学期:2018-2019课程名称:《Java程序设计实验》一、实验目的1.掌握JDK的安装与环境变量的配置,熟练使用Eclipse、WindowBulider插件、navicat和MySql。2.熟练掌握Java基础语法与程序结构,了解面向对象的编程思想,掌握封装、构造方法和访问权限。3.理解继承的概念和意义,掌握继承关系。4.理解接口的概念和意义,掌握实现接口的方法。5.掌握异常处理的方法。6.掌握JavaSwing,学会创建GUI界面,熟练使用MVC结构,掌握事件处理。7.掌握MySql基础语句,操作MySql数据库。二、实验内容a.管理系统功能1.实现登录界面与相应功能。用户填写正确账号与密码并选择用户身份后即可实现登陆并跳转至主界面。2.实现主界面与相应功能。此界面功能包括学生管理、成绩管理、教师管理、系统设置和帮助。其中系统设置包括修改密码,退出账号和关闭系统。帮助包括关于作者、版本信息和意见反馈。3.实现管理学生界面与相应功能。可对学生信息进行添加、查询、修改和删除的操作。4.实现管理成绩界面与相应功能。可查询到学生并对其成绩信息进行编辑。5.实现管理教师界面与相应功能。可对教师信息进行添加、查询、修改和删除的操作。6.实现修改密码界面与相应功能。7.实现用户权限功能。管理员权限为最高,可操作本系统所有功能。学生可查看、修改自己的信息,查看自己的成绩,但不得添加、查询、删除他人信息与成绩。教师可查看、修改自己的信息,查询、编辑学生的成绩信息,但不得添加、修改、删除学生信息,不得添加、查询、修改、删除其他教师信息。8.实现退出账号、关闭系统、关于作者、版本信息、意见反馈和显示当前用户信息功能。b.设计思路1.利用WindowBuilder插件可视化编写GUI界面。2.利用MySql数据库保存学生、教师和管理员的信息,并用navicat管理数据库。使用MVC框架,有以下几个包:model包(模型)、view包(视图)、images包(图像)、util包(自己定义的工具)、dao包(面向对象的数据库接口)。3.对于用户身份,将使用枚举类实现,通过传递身份类型对象和用户账号对象实现各自功能操作。4.信息管理界面的信息将以表格形式直观体现,通过连接数据库完成信息的添加、查询、修改和删除等功能。5.根据不同的用户身份选择性的隐藏部分菜单、按钮,实现用户权限功能。6.详细列表:学生管理系统序号包名类名实例变量实例变量类型方法名方法的行为备注1modelAdminidprivateStringsetId建立序号getId获得序号nameprivateStringsetName建立用户名getName获得用户名ageprivateIntsetAge建立年龄getAge获得年龄passwordprivateStringsetPassword建立密码getPassword获得密码TeacheridprivateStringsetId建立教工号getId获得教工号nameprivateStringsetName建立用户名getName获得用户名passwordprivateStringsetPassword建立密码getPassword获得密码sexprivateStringsetSex建立性别getSex获得性别ageprivateStringsetAge建立年龄getAge获得年龄StudentidprivateStringsetId建立学号getId获得学号nameprivateStringsetName建立用户名getName获得用户名passwordprivateStringsetPassword建立密码getPassword获得密码sexprivateStringsetSex建立性别getSex获得性别majorprivateStringsetMajor建立专业getMajor获得专业courseNameprivateStringsetCourseName建立课程名getCourseName获得课程名creditprivateStringsetCredit建立学分getCredit获得学分markprivateintsetMark建立分数getMark获得分数IdentitynameprivateStringsetName建立名称此类为枚举类getName获得名称indexprivateintsetIndex建立索引getIndex获得索引2viewLoginFramecontentPaneprivateJPanelloginAction点击登录按钮所产生行为实现登陆功能idTextFieldprivateJTextFieldpasswordFieldprivateJPasswordFieldresetValue清空已经输入的内容identityComboBoxprivateJComboBoxMainFramecontentPaneprivateJPaneleditPassword打开修改密码界面实现主界面各功能currentUser当前用户标签,显示当前用户信息desktopPaneprivateJDesktopPaneidentityComboBoxpublicstaticIdentitymanageGrade显示管理成绩界面manageStudent打开管理学生界面userObjectpublicstaticObjectmanageTeacher打开管理教师界面feedback用户反馈gradeMenuprivateJMenuversionInformation版本信息shutdownSystem关闭系统teacherMenuprivateJMenuexitAccount用于系统设置中退出账号studentMenuprivateJMenuaboutAuthor点击关于作者后的弹窗userLabelprivateJLabelsetAuthority用户权限ManageStudentFrameidTextFieldprivateJTextFieldinquireStudent查询学生信息实现管理学生界面各功能nameTextFieldprivateJTextFieldAddStudent添加学生majorTextFieldprivateJTextFieldsetTable显示列表内容studentTableprivateJTabledeleteStudent删除学生信息passwordFieldprivateJPasswordFieldselectTableRow鼠标点击得到信息maleRadioButtonprivateJRadioButtoneditStudent修改学生信息femaleRadioButtonprivateJRadioButtonsexButtonGroupprivateButtonGroupsetAuthority用户权限addButtonprivateJButtoninquireButtonprivateJButtondeleteButtonprivateJButtonManageGradeFrameidTextFieldprivateJTextFieldselectTableRow鼠标点击得到信息实现管理成绩界面各功能courseNameTextFieldprivateJTextFieldeditGrade保存学生成绩creditTextFieldprivateJTextFieldinquireGrade查询markTextFieldprivateJTextFieldsetTable显示列表内容gradeTableprivateJTableManageTeacherFrameidTextFieldprivateJTextFielddeleteTeacher删除教师信息实现管理教师界面各功能nameTextFieldprivateJTextFieldselectTableRow鼠标点击得到信息ageTextFieldprivateJTextFieldpasswordFieldprivateJPasswordFieldeditTeacher修改教师信息teacherTableprivateJTableinquireTeacher查询教师信息maleRadioButtonprivateJRadioButtonaddTeacher添加教师femaleRadioButtonprivateJRadioButtonsexButtonGroupprivateButtonGroupsetTable显示列表内容addButtonprivateJButtonsetAuthority用户权限inquireButtonprivateJButtondeleteButtonprivateJButtonEditPasswordFrameoldPasswordFieldprivateJPasswordFieldconfirmPassword确认修改密码实现修改密码界面各功能newPasswordFieldprivateJPasswordFieldclearText清空文本框信息confirmPasswordFieldprivateJPasswordField3utilStringUtilisEmpty判断字符串等是否为空DatabaseUtilgetCon获取数据库连接此工具用于连接数据库closeCon关闭数据库连接4daoBaseDaoBaseDao创建对数据库连接对象父类AdminDaoadminLogin用于管理员登录均为BaseDao子类editPassword修改密码TeacherDaoteacherLogin用于教师登录addTeacher添加教师getTeacherList显示所有信息或查询的信息updateTeacher修改deleteTeacher删除editPassword修改密码StudentDaostudentLogin用于学生登录addStudent添加学生getStudentList显示所有信息或查询的信息updateStudent学生信息三、实验程序//Admin.javapackagemodel;publicclassAdmin{privateStringid;//账号privateStringname;//姓名privateintage;//年龄privateStringpassword;//密码publicStringgetId(){returnid;}publicvoidsetId(Stringid){this.id=id;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}}//Teacher.javapackagemodel;publicclassTeacher{privateStringid;//账号privateStringname;//姓名privateStringpassword;//密码privateStringsex;//性别privateStringage;//年龄publicStringgetId(){returnid;修改updateGrade学生成绩修改deleteStudent删除editPassword修改密码5images此包内为本系统所用图标的图像}publicvoidsetId(Stringid){this.id=id;}publicStringgetName(){return