收藏 分销(赏)

学生标准管理系统实训报告java语言样本(共22页).docx

上传人:二*** 文档编号:4484243 上传时间:2024-09-24 格式:DOCX 页数:24 大小:424.83KB 下载积分:5 金币
下载 相关 举报
学生标准管理系统实训报告java语言样本(共22页).docx_第1页
第1页 / 共24页
本文档共24页,全文阅读请下载到手机保存,查看更方便
资源描述
学生标准管理系统实训报告java语{//普通学生登陆 String sql二"select * from user_stu where stu_id=,"+name+"' and pwd=' "+pwd+"' 〃; rs=(sql); if(0) ( new StuClient (name) ;//创建 学生客户短窗口();//关闭登陆窗口并释放资源 else {//弹出错误提示窗口(this,”用户名或密 码错误",〃错误〃,);} ();//关闭连接,语句及结果集} else(//教师登陆 String sql="select coll_id from user_teacher where uid= +name+ and pwd= +pwd+ ;rs=(sql); if(0)( String coll_id=(l): new TeacherClient(coll_id);// 创建教师客户端窗口();//关闭登陆窗口并释放资源 }else {//弹出错误提示窗口(this, 〃用户名或密 码错误”,”错误〃,);("〃); } 0; 〃关闭连接,语句及结果集 }} catch(SQLException ea)0; } else if (()=)//按下重置按钮,清空输入 信息( (〃〃); (〃〃); } else if(() =jtf)//当输入用户名并回车 ((true);} else if (() =jpwf) //当输入密码并回车时 {(true);)} //自定义的初始化数据库连接的方法 public void initialconnection(){ try {//加载驱动,创建Connection及Statement conn=("jdbc:mysql://localhost: 3306/test”, "root”, "root");stmt=(); }catch(SQLException e) ( (this,”连接失败,请检查主机地址是否 正确〃,〃错误〃,);0; }catch(ClassNotFoundException e) 0;) 〃初始化的关闭数据库连接的方法 public void closeConn()( try { if (rs!=null) {() ;}if (stmt !=null) {() ;} if (conn!=null) {();)} catch(SQLException e)( 0;} }public static void main(String argsE]) { Login login=new Login() ;//创建登 陆窗体对象}} 3、效果图 Login创建的窗口效果如图1所示。 学生管理系统共有三个窗体:登录窗体、教师客户端窗体、学生客户端窗体。 主要操作如下: (1)如果用户名或密码错误,则会弹窗错误提示对话框,如图2所示。 囱 O 拄 (2)当用户为教师时,登录成功后的窗体会自动全屏显示,展开左边的树状列表,如图3所示,然后通过单击不同节点进行相应的业务操作。 (3) 通过单击“退出”节点时,系统会弹出对话框确认,如图4所示,根据用户选择进行相应操作。 a操作迭项 1^1 c HH a系统迭项O退出 D密码修改 a学生信息管理D新生报到 ? □学生信息查询 D基本信息查询 D成绩查询 □3深程管理D开深迭项设置 D课程成绩录入 一 D添加深程 a班级设置D增加班级 (4)当有新生报到时,用户可以单击“新生报到”节点,进入如图5所示的添加学生窗体界面。 操作选项3系统迭项 二退出 2)密码修改 3学生信息管理 □基本信息查询 D成绩查询 性别 ▼ 姓 名 D就生报到 ? 3学生信息查询出生日蚓 出生日蚓 19叫* ” |小 |i |^|h 2)开课送项设置2)课程成绩录入 2)添加课程 □班级设置D憎加驻级 石家庄科技信息职业学院通信技术 二跳入学时间 入学时间 2011 重者 提交 (5)当教师需要查询某个学生的基本信息时,可以单击“基本信息查询”节点二I操作迭项 a系统迭项 n退出 2)密码修改 □学生信息管理 □新生报到 ? D学生信息查闾 2)基本信息查徇 2)成续查询 a课程管理 3开课迭项设蚩 3课程成绩录入 2)添加课程 a班级设置 D增加班级 二I操作迭项 a系统迭项 n退出 2)密码修改 □学生信息管理 □新生报到 ? D学生信息查闾 2)基本信息查徇 2)成续查询 a课程管理 3开课迭项设蚩 3课程成绩录入 2)添加课程 a班级设置 D增加班级 请输入要查间学生的学号200909010101 200909010101 谷占飞 出生曰期 1989 年 11 河北省沧湖市 石家庄科技信息聪业学院 软件技术 直间 入学时间 2009 年 9 月15 输入学号进行查询,界面如图6所示。 (6) 每学期开始,各学院都应该为学生安排可选课程,这时可以通过“开课选 项设置”进入选课设置界面进行操作,如图7所示。教师进行课程设置后效果如图8 所示方肝客户茂】 ? 口系统迭项 D退出 □密码修改3学生信息管理 D新生报到 ? 3字生信息直调D星本信息查询 D成续查询3课程管理_ D开深迭项设置 D课程成绩荥入 D添加课程深程号 深程名 字分[属专业 010101 讦算机文化基础 2 5|通信技术 010102 计算机导论 云信技术 010201 近编语言 3.5|通信技术 010202 数字电路 ^5多媒体技术 010301 模拟电路 3.5[多媒体技术 010302 自动化原理 3^术 深程号 深程名 字分[属专业 010101 讦算机文化基础 2 5|通信技术 010102 计算机导论 云信技术 010201 近编语言 3.5|通信技术 010202 数字电路 ^5多媒体技术 010301 模拟电路 3.5[多媒体技术 010302 自动化原理 3^术 现有课程列表: 已安排课程列表: 请输入您要安排的课程的课程号: 上课时间:星期1 ▼讲次1 提交该课程 3班级设置 D增加班级 请输入您要移除的课程的课程号: 星期k卜|讲次h卜| 移除该课程 允许送课 允许送课 停It送深 n操作迭项 ? 口系统迭项 D退出 □密码修改 ? 3学生信息管理 D就生报到 ? E学生信息查询 D基本信息查洵 D成绩查询 ? u课程管理 D开课迭项设置 D崖程成绩录入 D添加课程 9 口班级设置 D增加班级 n操作迭项 ? 口系统迭项 D退出 □密码修改 ? 3学生信息管理 D就生报到 ? E学生信息查询 D基本信息查洵 D成绩查询 ? u课程管理 D开课迭项设置 D崖程成绩录入 D添加课程 9 口班级设置 D增加班级 深程号 课程名 学分 所属麦* 010101 计算机文化基础 2.5 通信技术 010102 计算机导论 2.0 通信技术 010201 汇编语言 3 5 通信技术 010202 数字电路 2.5 多媒体技术 010301 模拟电路 3.5 多媒体技术 010302 自动化原理 3.5 软件技术 现有课程列表: 课程号 课程名 星期 讲次 任课老师 010101 计算机文化基础 1 1 檀运娟 010102 计算机兼 1 3 赵东洁 010201 汇编语M 2 3 侯丽直 010201 汇编语言 2 4 侯丽if 010301 模拟电路 3 4 刘平 010301 模似电路 3 1 刘平 010302 自动化原理 4 2 李阳 已安排课程列表: 请输八您要安排的课程的课程号: 老师 上课时间:星期1 ▼讲次1 ▼ 提交该课程 请输八您要移褓的课程的课程号: 星期k IT讲次h IT 移除该课程 允祢迭课 允祢迭课 停止迭课 rm rm -rT、in 语溯您要阉成部自觥o ▼ 公布该晒单 Z3操作送项 ? 3系统迭项 □退出 D密码修改 ? 3学生信息管理 D新生报到 ? 3学生信息查询 D基本信息查询 D成绩查询 课程号 课程名 学 分 威属专业 重盖 添力0 在每个学期期末,需要对学生的成绩进行录入,用户通过“课程成绩录 入”模块进行录入操作,如图9所示。 心聘噩D碰愁 D蝉gD救麴 (7) 教师还可以通过点击“添加课程”、“添加班级”节点,进行添加课程和班级操作,如图10和图11所示。 ? 3课程管理D开课迭项设置 D深程成绩录入D添加深程 ? 3班级设置D增加班级 口操作选项 ? □系统选项 D退出 D密码修改 ? 口学生信息管理 D新生报到 ? 3学生信息查询 D基本信息查询 D成绩查询 ? 3课程管理 D开课选项设置 D课程成绩录入 。添加课程 ? □班级设置 D增加班级 软件技术 提交 重置 确认 重置 Ixzl 1 1抽二 4irt (8) 教师可以点击“修改密码”来修改自己的登录密码,如图12所示。 (9) 如果用户是学生,登录后的窗体也会自动全屏显示,展开树状列表后的界面如图13所示。 口操作选项3系统迭项 D退出D密码修改 3学生信息管理 D新生报到 ? 3学生信息查询D基本信息查询 D成绩查询 3课程管理 卜D开课选项设置 D课程成绩录入D添加课程 3既级设置D增加既级 《Java实训》设计报告 学生管理系统 一、项目需求 通过与科信学院教务人员的详细交流,目标系统具备以下功能。 i.教师客户端功能 *可以添加学生,并要求填写学生基本信息; *可以根据学号查询学生基本信息及其成绩; *有权限控制,每个管理员只能管理其所在学院的信息; *可以添加新课程、新班级; *可以控制选课的课程范围,并可以控制选课的时间,即:可以控制选课开始 和结束时间; *可以录入成绩,缓存成绩,检查无误后公布成绩。 2.学生客户端功能 *学生可以查看自己的基本信息; *学生可以查看自己的成绩,已修学分和不及格成绩信息; *学生端可以进行远程选课,并且可以查看课表。 根据以上相关功能,现规划数据流图和数据字典如下: 二、项目设计 在设计学生管理系统时,编写20个Java源文件:、、、、、、、、、、、、、、、、、、、,还 需要 Java 系统提供的一些重要类,如 JButton, JTextField, JTextArea, LinkedList 等。 下面是20个Java源文件的功能: (1)(主类) Login类负责创建学生管理系统登陆界面的主窗口,该类含有main方法,学生 管理系统从该类开始执行oLogin类是继承Jframe类,有一个ActionListener接口, 并且加载了 Mysql数据库连接。该类中有两种身份类型:学生、管理员,在登录窗 口中选择相应的身份类型,输入信息正确后就会进入相应的客户端。 (2) 1^1 1 n AP (10) 当学生需要选课时,可以通过单击“选课”节点进入如图14所示的选课 界面进行选课。 (11) 在学生选课过程中,随时可以点击“课表显示”节点查看课表,如图15 所示。 (12) 学生点击“已修课程成绩”节点时,便可进入已修课程查看界面,查看成绩和学分,如图16所示。 僦颤 9 8砌 D趾 D倒眦 D似星皿 ? 白学生迭涅 D牌 Dm?. ? □成做 D咐程踞 D不贿明弱 西送择依洋程列敖1下: 部M 旋网的制号 l^l 1 it 44/4-匚田 图16 已修课得 三、项目总结 学生管理系统的完成,对学校的管理带来了方便,也对教师是一个很好的帮助, 方便管理,提高了工作的效率。在本系统开发过程中,由于本人是初次开发软件, 在知识、经验方面存在不足。另外在整个开发过程中,时间也比较仓促,因此,该 系统必然存在一些缺陷和不足。因为对学生的管理整个流程不够熟悉,在需求分析 时未能做到完全满足用户的需求。另外,由于自身对网络的不熟悉,本应做到C/S 客户端/服务器的软件,结果不能达到预期效果,实为遗憾。 虽然该系统存在诸多的不足,但其功能均已经实现,易于日后程序的更新、数 据库管理容易、界面友好、操作方便、安全性好。相信本学生管理系统是一套学校 在日常管理中必不可少的管理软件。 四、心得体会 通过开发这个软件,我掌握了项目的开发过程,了解了基本知识,巩固了我对 Java编程语言和软件工程思想的学习,掌握了简单的数据库操作。尤其掌握了树状 列表作为导航的重要性,并且能够运用。同时编写这个程序让我更好的理解了数组、 类的运用及事件的监听和获取等功能。我相信我会再在java方面下苦工的,相信自 己一定能更好的运用java编程语言的。 该类是学生客户端修改密码的类,在该类中,用户提供原始密码(登陆成功的 密码)后并且输入新密码和确认新密码后点击“确认”按钮就可以修改密码。 (3) 该类是教师客户端修改密码的类,在该类中,用户提供原始密码(登陆成功的 密码)后并且输入新密码和确认新密码后点击“确认”按钮就可以修改密码。 (4) 该类主要是控制学生选课,学生根据教师安排的课程信息,由学生输入已经安 排好的“课程号”就可以选课。 (5) 该类主要控制学生的课程安排,就是以课表显示学生的选课信息。 (6) 该类主要是有教师操作,教师通过输入正确的班级号、班级名、专业信息后就 可以添加新的班级。 (7) 该类作为教师客户端的一个主要模块,该模块是教师添加新学生。教师通过输 入学生的基本信息,包括:姓名、出生年月、学号、籍贯、入学年份、专业等等 这样就可以添加新学生。 (8) 该类是基于Login类的,这是学生客户端的界面类,该类控制了学生客户端要 显示什么内容,由什么功能等等。包括:修改密码、查看自己基本信息和成绩、选 课等功能界面的显示。 (9) 该类是教师客户端界面的类,该类和StuClient类的功能基本相似,主要包括 修改密码、添加新学生、查看学生基本信息和成绩信息、进行课程安排、添加新课 程和班级等功能的显示。 (10)(11) O即新生报到功能的实现。 (12) 该类最为简单,。 (13) 该类是教师管理课程,教师可以对课程安排,包括:周次、任课教师、学分等 信息,为学生选课做准备。 (14) 该类是提供学生的成绩各科成绩,包括及格成绩和不及格成绩,以及学分。 (15) 根据学号获得学生相应基本信息的方法。教师在输入学生学号后点击“查询” 按钮查看相应学生的基本信息。 (16) 该类的功能是公布学生某一科的成绩,教师通过点击“公布该科成绩单”就会 公布该科的成绩,学生就会在学生自己客户端查看自己的成绩信息。 (17) 该类主要是有教师操作,教师通过输入正确的课程号、课程名、学分信息后就 可以添加新的课程,。 (18) 该类功能是显示学生的不及格成绩。学生在查看成绩时候,点击“不及格成绩” 时显示的界面。 (19) 该类功能是显示学生的已修课程成绩。学生在查看成绩时候,点击“已修课程 成绩”时显示的界面。 (20) 该类是教师通过输入学生的“学号”进行查询学生的成绩信息。 1、Login类(主类)(1)数据和方法 ,并实现了 ActionListener接口。类中有关数据和方法的详细说明。 1)成员变量 该类中的变量大部分都是私有的,这样有利于信息的封装。其中包括: private Connection conn;//连接数据库用到private Statement stmt; 〃执行数据库语句 private ResultSet rs; 〃结果集private JPanel jp=new JPanel();〃仓U建用来存放空间的容器private JLabel jll=new JLabel(H用户名"); private JLabel j!2=new JLabel(H密码"); 〃创建用户名和密码输入框 private JTextField jtf=new JTextFieldQ; private JPasswordField jpwf=new JPasswordField(); private JRadioButton[] jrbArray={new JRadioButton("普通学生”,true), new JRadioButton("管理人员”)};〃创建单选按钮数组private ButtonGroup bg=new ButtonGroupO;〃创建组 〃创建操作按钮private JButton jbl=new JButton(H登陆”); private JButton jb2=new JButton。'重置”); 2)方法main(String args[]);方法是学生管理系统程序运行的入口方法。 Login();是构造方法,负责完成窗口的初始化。 addListener();添加事件监听器方法。 initialFrame();初始化窗体 actionPerformed(ActionEvent e);实现接 口方法 initialConnection();自定义的初始化数据库连接的方法 closeConnO;关闭数据库 2、代码import import •*; import • *; import • *; import • *; import • *; import • *; import • *; import • *; import ・ *; public class Login extends JFrame implements ActionListener( private String host; 〃声明Connection引用、Statement对象引 用与结果集引用private Connection conn: private Statement stmt;private ResultSet rs; private JPanel jp=new JPanel () ;//创建用 来存放空间的容器private JLabel jll=new JLabel C用户名"); private JLabel jl2=new JLabel (,z密码”); private JLabel jl3=new JLabel ("");//正在 登陆提示标签//创建用户名和密码输入框 private JTextField jtf=new JTextFieldO ; private JPasswordField jpwf=new JPas swordFi e 1 d (); private JRadioButton[] jrbArrays{new JRadioButton(/z 普通学生",true), new JRadioButton(z,管理人员”)}; 〃创建单选按钮数 组bg=new bg=new privateButtonGroupButtonGroup ();//创建组 //创建操作按钮 private JButton jbl=new JButton ("登陆”); private JButton jb2=new JButton ("重置”); public Login()(0 ; initialFrame () ; // 初始化界 面}public void addListener() ((this);//为登陆按钮注册监听器 in (this);//为重置按钮注册监听器 (this);//为用户名文本框注册监听器 (this);//为用户名密码框注册监听器public void initialFrame() { (null) : //设为空布局(jll); (jtf); (jl2); (jpwf); (jll); (jtf); (jl2); (jpwf); //将控件添加到容器相应位置(30, 100, 110, 25); (120,100,130, 25);(30, 140,110, 25); (120, 140,130, 25);('*'); (jrbArray[0j);(jrbArray[l]); jrbArray[0]. setBounds(40, 180,100,25); (jrbArray[0D ; jrbArray[1]. setBounds(145, 180, 100, 25); (jrbArray[1]);(jbl); (jb2); (jl3); (jbl); (jb2); (jl3); (35,210,100, 30);(150, 210,100, 30); (40, 250,150, 25);(jp); 〃设置窗口的标题、大小、位置以及可见性("登陆〃); (false);DimensionscreenSize= ().getScreenSizeO ;int int int int int int int int centerX=;centerY=; w=300;//本窗体宽度h=320;〃本窗体高度 (centerX-w/2, centerY-h/2-100, w, h);// 设置窗体出现在屏幕中(true); public void actionPerformed(ActionEvente) {if (0 =jbl){//按下登陆按钮 String name= (). trim();if (("〃)) ( (this,"请输入 用户名”,〃错误〃,);(""); return; )String pwd=new String (()). trim(): if ((""))(this, 〃请输 入密码”,〃错误〃,);(""); return; int type=[O]. isSelectedO?0:1;// 获 取登陆类型try {//初始化连接 0;if(type==O)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服