学生标准管理系统实训报告java语言_第1页
学生标准管理系统实训报告java语言_第2页
学生标准管理系统实训报告java语言_第3页
学生标准管理系统实训报告java语言_第4页
学生标准管理系统实训报告java语言_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

Word3......学生标准管理系统实训报告java语言Word3......Java实训设计报告学生管理系统一、工程需求通过与科信学院教务人员的详细交流,目标系统具备以下功能。1.教师客户端功能*可以更改密码;*可以添加学生,并要求填写学生根本信息;*可以根据学号查询学生根本信息及其成绩;*有权限控制,每个管理员只能管理其所在学院的信息;*可以添加新课程、新班级;*可以控制选课的课程范围,并可以控制选课的时间,即:可以控制选课开始和结束时间;*可以录入成绩,缓存成绩,检查无误后公布成绩。2.学生客户端功能*学生可以查看自己的根本信息;*学生可以查看自己的成绩,已修学分和不及格成绩信息;*学生端可以进行远程选课,并且可以查看课表。根据以上相关功能,现规划数据流图和数据字典如下:二、工程设计在设计学生管理系统时,编写20个Java源文件:、、、、、、、、、、、、、、、、、、、,还需要Java系统提供的一些重要类,如JButton,JTextField,JTextArea,LinkedList等。下面是20个Java源文件的功能:〔1〕〔主类〕Login类负责创立学生管理系统登陆界面的主窗口,该类含有main方法,学生管理系统从该类开始执行。Login类是继承Jframe类,有一个ActionListener接口,并且加载了Mysql数据库连接。该类中有两种身份类型:学生、管理员,在登录窗口中选择相应的身份类型,输入信息正确后就会进入相应的客户端。〔2〕该类是学生客户端修改密码的类,在该类中,用户提供原始密码〔登陆成功的密码〕后并且输入新密码和确认新密码后点击“确认〞按钮就可以修改密码。〔3〕该类是教师客户端修改密码的类,在该类中,用户提供原始密码〔登陆成功的密码〕后并且输入新密码和确认新密码后点击“确认〞按钮就可以修改密码。〔4〕该类主要是控制学生选课,学生根据教师安排的课程信息,由学生输入已经安排好的“课程号〞就可以选课。〔5〕该类主要控制学生的课程安排,就是以课表显示学生的选课信息。〔6〕该类主要是有教师操作,教师通过输入正确的班级号、班级名、专业信息后就可以添加新的班级。〔7〕该类作为教师客户端的一个主要模块,该模块是教师添加新学生。教师通过输入学生的根本信息,包括:姓名、出生年月、学号、籍贯、入学年份、专业等等。这样就可以添加新学生。〔8〕该类是基于Login类的,这是学生客户端的界面类,该类控制了学生客户端要显示什么内容,由什么功能等等。包括:修改密码、查看自己根本信息和成绩、选课等功能界面的显示。〔9〕该类是教师客户端界面的类,该类和StuClient类的功能根本相似,主要包括修改密码、添加新学生、查看学生根本信息和成绩信息、进行课程安排、添加新课程和班级等功能的显示。〔10〕。〔11〕。即新生报到功能的实现。〔12〕该类最为简单,。〔13〕该类是教师管理课程,教师可以对课程安排,包括:周次、任课教师、学分等信息,为学生选课做准备。〔14〕该类是提供学生的成绩各科成绩,包括及格成绩和不及格成绩,以及学分。〔15〕根据学号获得学生相应根本信息的方法。教师在输入学生学号后点击“查询〞按钮查看相应学生的根本信息。〔16〕该类的功能是公布学生某一科的成绩,教师通过点击“公布该科成绩单〞就会公布该科的成绩,学生就会在学生自己客户端查看自己的成绩信息。〔17〕该类主要是有教师操作,教师通过输入正确的课程号、课程名、学分信息后就可以添加新的课程,。〔18〕该类功能是显示学生的不及格成绩。学生在查看成绩时候,点击“不及格成绩〞时显示的界面。〔19〕该类功能是显示学生的已修课程成绩。学生在查看成绩时候,点击“已修课程成绩〞时显示的界面。〔20〕该类是教师通过输入学生的“学号〞进行查询学生的成绩信息。1、Login类〔主类〕〔1〕数据和方法,并实现了ActionListener接口。类中有关数据和方法的详细说明。1〕成员变量该类中的变量大局部都是私有的,这样有利于信息的封装。其中包括:privateConnectionconn;//连接数据库用到 privateStatementstmt;//执行数据库语句 privateResultSetrs;//结果集 privateJPaneljp=newJPanel();//创立用来存放空间的容器 privateJLabeljl1=newJLabel("用户名"); privateJLabeljl2=newJLabel("密码"); //创立用户名和密码输入框 privateJTextFieldjtf=newJTextField(); privateJPasswordFieldjpwf=newJPasswordField(); privateJRadioButton[]jrbArray={newJRadioButton("普通学生",true),newJRadioButton("管理人员")};//创立单项选择按钮数组 privateButtonGroupbg=newButtonGroup(); //创立组 //创立操作按钮 privateJButtonjb1=newJButton("登陆"); privateJButtonjb2=newJButton("重置");2〕方法main(Stringargs[]);方法是学生管理系统程序运行的入口方法。Login();是构造方法,负责完成窗口的初始化。addListener();添加事件监听器方法。initialFrame();初始化窗体actionPerformed(ActionEvente);实现接口方法initialConnection();自定义的初始化数据库连接的方法closeConn();关闭数据库2、代码import.*;import.*;import.*;import.*;import.*;import.*;import.*;import.*;import.*;publicclassLoginextendsJFrameimplementsActionListener{privateStringhost; //声明Connection引用、Statement对象引用与结果集引用 privateConnectionconn; privateStatementstmt; privateResultSetrs; privateJPaneljp=newJPanel();//创立用来存放空间的容器 privateJLabeljl1=newJLabel("用户名"); privateJLabeljl2=newJLabel("密码"); privateJLabeljl3=newJLabel("");//正在登陆提示标签 //创立用户名和密码输入框 privateJTextFieldjtf=newJTextField(); privateJPasswordFieldjpwf=newJPasswordField(); privateJRadioButton[]jrbArray={newJRadioButton("普通学生",true),newJRadioButton("管理人员")};//创立单项选择按钮数组 privateButtonGroupbg=newButtonGroup();//创立组 //创立操作按钮 privateJButtonjb1=newJButton("登陆"); privateJButtonjb2=newJButton("重置"); publicLogin() {();initialFrame();//初始化界面} publicvoidaddListener() {(this);//为登陆按钮注册监听器 (this);//为重置按钮注册监听器 (this);//为用户名文本框注册监听器 (this);//为用户名密码框注册监听器} publicvoidinitialFrame() {(null);//设为空布局 //将控件添加到容器相应位置 (30,100,110,25); (jl1); (120,100,130,25); (jtf); (30,140,110,25); (jl2); (120,140,130,25); (jpwf); ('*'); (jrbArray[0]); (jrbArray[1]); jrbArray[0].setBounds(40,180,100,25); (jrbArray[0]); jrbArray[1].setBounds(145,180,100,25); (jrbArray[1]); (35,210,100,30); (jb1); (150,210,100,30); (jb2); (40,250,150,25); (jl3); (jp); //设置窗口的标题、大小、位置以及可见性 ("登陆"); (false); DimensionscreenSize=().getScreenSize(); intcenterX=; intcenterY=; intw=300;//本窗体宽度 inth=320;//本窗体高度 (centerX-w/2,centerY-h/2-100,w,h);//设置窗体出现在屏幕中 (true); } publicvoidactionPerformed(ActionEvente) {if(()==jb1) {//按下登陆按钮 Stringname=().trim(); if(("")) {(this,"请输入用户名","错误",); ("");return; } Stringpwd=newString(()).trim(); if(("")) {(this,"请输入密码","错误",); ("");return; } inttype=[0].isSelected()0:1;//获取登陆类型 try {//初始化连接 (); if(type==0) {//普通学生登陆Stringsql="select*fromuser_stuwherestu_id='"+name+"'andpwd='"+pwd+"'"; rs=(sql); if(()) {newStuClient(name);//创立学生客户短窗口 ();//关闭登陆窗口并释放资源 } else {//弹出错误提示窗口(this,"用户名或密码错误","错误",); (""); } ();//关闭连接,语句及结果集 } else{//教师登陆Stringsql="selectcoll_idfromuser_teacherwhereuid='"+name+"'andpwd='"+pwd+"'"; rs=(sql); if(()) {Stringcoll_id=(1); newTeacherClient(coll_id);//创立教师客户端窗口 ();//关闭登陆窗口并释放资源 } else {//弹出错误提示窗口(this,"用户名或密码错误","错误",); (""); } (); //关闭连接,语句及结果集 } } catch(SQLExceptionea) {();} } elseif(()==)//按下重置按钮,清空输入信息 {("");("");} elseif(()==jtf)//当输入用户名并回车时 {(true);} elseif(()==jpwf)//当输入密码并回车时 {(true);} } //自定义的初始化数据库连接的方法 publicvoidinitialConnection() {try {//加载驱动,创立Connection及Statement(""); conn=("jdbc:mysql://localhost:3306/test","root","root"); stmt=(); } catch(SQLExceptione) { (this,"连接失败,请检查主机地址是否正确","错误",);(); } catch(ClassNotFoundExceptione) {();} } //初始化的关闭数据库连接的方法 publicvoidcloseConn() {try {if(rs!=null){();} if(stmt!=null){();} if(conn!=null){();} } catch(SQLExceptione) {();} } publicstaticvoidmain(Stringargs[]) {Loginlogin=newLogin();//创立登陆窗体对象}}3、效果图Login创立的窗口效果如图1所示。图1登录窗体图1登录窗体学生管理系统共有三个窗体:登录窗体、教师客户端窗体、学生客户端窗体。主要操作如下:〔1〕如果用户名或密码错误,那么会弹窗错误提示对话框,如图2所示。图2图2错误提示框图3教师客户端主窗体〔3〕通过单击“退出〞节点时,系统会弹出对话框确认,如图4所示,根据用户选择进行相应操作。图3教师客户端主窗体图4退出确认效果图图4退出确认效果图图5添加学生窗体〔4〕当有新生报到时,用户可以单击“新生报到〞节点,进入如图5所示的添加学生窗体界面。图5添加学生窗体〔5〕当教师需要查询某个学生的根本信息时,可以单击“根本信息查询〞节点输入学号进行查询,界面如图6所示。图6学生根本信息查询窗体图6学生根本信息查询窗体〔6〕每学期开始,各学院都应该为学生安排可选课程,这时可以通过“开课选项设置〞进入选课设置界面进行操作,如图7所示。教师进行课程设置后效果如图8所示图7开课选项设置窗体图7开课选项设置窗体图8开课选项设置效果图图8开课选项设置效果图图9成绩录入窗体〔7〕在每个学期期末,需要对学生的成绩进行录入,用户通过“课程成绩录入〞模块进行录入操作,如图9所示。图9成绩录入窗体〔8〕教师还可以通过点击“添加课程〞、“添加班级〞节点,进行添加课程和班级操作,如图10和图11所示。图10添加课程效果图图10添加课程效果图图11添加班级效果图图11添加班级效果图〔9〕教师可以点击“修改密码〞来修改自己的登录密码,如图12所示。〔10〕如果用户是学生,登录后的窗体也会自动全屏显示,展开树状列表后的界面如图13所示。图12

温馨提示

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

最新文档

评论

0/150

提交评论