版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向对象程序设计面向对象程序设计 课程设计报告课程设计报告 题目题目 : 学生学生教师信息管理系统教师信息管理系统 目录目录 第一章 课程设计项目简介 .1 第二章 需求分析 .1 2.1 系统设计与功能分析 .1 2.1.1 本系统实现的大致功能 .1 第三章 设计思路 .3 3.1 设计数据库 .3 3.2 以类图说明基本设计思路 .4 3.3 功能流程以及工作流程描述 .5 3.3.1 登录窗口 .5 3.3.2 选择操作对象窗口 .6 3.3.3 学生的操作窗口 .6 3.3.4 管理员的操作窗口 .6 3.3.5 教师的操作窗口 .7 第四章 系统实现 .7 4.1 登录界面模块 .
2、7 4.2 操作对象选择界面模块 .8 4.2.1 学生操作对象选择界面模块 .8 4.2.2 教师操作对象选择界面模块 .8 4.2.2 管理员操作对象选择界面模块 .9 4.3 学生基本信息管理模块 .10 4.3.1 管理员、教师对学生基本信息管理的模块 .10 4.3.2 学生对学生基本信息管理的模块 .14 4.4 学生成绩信息管理模块 .14 4.4.1 管理员、教师对学生成绩管理的模块 .14 4.4.2 学生对学生成绩查询的模块 .15 4.5 教师基本信息管理模块 .16 4.5.1 管理员对教师基本信息管理的模块 .16 4.5.2 教师对教师基本信息查询的模块 .17 第
3、五章 使用说明 .18 5.1 开发、运行环境要求 .18 5.2 程序运行 .18 第六章 设计总结 .19 第七章 参考文献 .19 第一章 课程设计项目简介 学生-教师信息管理系统是一个学校管理不可缺少的部分。一个功能齐全、简单易用 的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的 决策者和管理者来说都至关重要。所以学生-教师信息管理系统应该能够为用户提供相关 的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和 查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时 间一长,将产生大量的文件和数据,这对于查
4、找、更新和维护都带来了不少困难。随着科学 技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会 的各个领域并发挥着来越重要的作用。 作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理 所无法比拟的优点,例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密 性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单 位科学化、正规化管理,与世界接轨的重要条件。 本文介绍了学生教师信息管理系统的开发整个过程,阐述了系统分析、系统设计、 数据库设计和系统实施的全过程,具体模块实施采用了原型法和面向对象系统开发方法。 并采用
5、java 作为开发工具,mysql 作为后台数据库。本系统具有学生基本信息管理、学 生成绩信息管理、教师基本信息管理等功能。分成三大模块,每个模块都相互联系,但 不相互干扰,这符合了软件模块开发的思想。 本系统完成了学生信息的查询、修改、增 加、删除;教师信息的查询、修改、增加、删除以及学生成绩信息的查询、修改、增加、 删除等功能。 第二章 需求分析 2.1 系统设计与功能分析 学生教师信息管理系统,可用于学校等机构的学生、教师基本信息管理、学生成 绩信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用 java语言编写,用mysql数据库作为后台的数据库进行信息的存储,
6、用sql语句完成学生、 教师基本信息的查询,修改,添加,删除的操作以及成绩的查询修改,录入,删除等。 用odbc驱动实现前台java与后台mysql数据库的连接。java语言跨平台性强,可以在 windows,linux,ubuntu等系统下使用,方便简单,安全性好。mysql数据库高效安全,两 者结合可相互利用各自的优势。 2.1.1 本系统实现的大致功能本系统实现的大致功能 为保证本学生教师管理系统的安全性,分别对不同的用户可在系统中进行的操作 作出了一定的权限设置。 1.用户登陆界面:该界面可以选择使用者的身份, “管理员,教师,学生” ,不同的身 份有不同的操作界面和功能权限,用户名(
7、本系统采用的是 id 号)和密码输入正确即可登 录。登录的用户信息分别存储在 mysql 数据库的“stu(学生信息表)” , “man(管理员信息表)” , “tch(教师信息表)”中,如果用户信息不存在则三张表中,将会无权利登录本管理系统。 2.学生管理界面:提供了学生基本信息的查询,学生成绩信息的查询,学生所拥有的 操作权限如图 2-1; 图 2-1 学生管理模块用例图 3.教师管理界面:提供了对学生基本籍信息的查询、修改、添加、删除;学生成绩的 查询、修改、添加、删除等功能,教师所拥有的操作权限如图 2-2; 图 2-2 教师管理模块用例图 4.管理员管理界面:拥有最高的权限,允许对学
8、生、教师基本信息和学生成绩信息进 行查询、修改、添加、删除等功能,管理员所拥有的操作权限如图 2-3; 图 2-3 管理员管理模块用例图 第三章 设计思路 3.1 设计数据库 1.学生基本信息表: 字段名类型备注 stuidchar(6)学号 stunamevarchar(20)姓名 stupwdchar(6)密码 stusexchar(2)性别 stuageint(3)年龄 stujgvarchar(20)籍贯 studeptvarchar(20)所在系 2.教师基本信息表: 字段名类型备注 tchidchar(6)教师号 tchnamevarchar(20)姓名 tchpwdchar(6)
9、密码 tchsexchar(2)性别 tchageint(3)年龄 tchjgvarchar(20)籍贯 tchdeptvarchar(20)所在系 3.管理员基本信息表: 字段名类型备注 manidchar(6)教师号 mannamevarchar(20)姓名 manpwdchar(6)密码 4.学生成绩信息表: 字段名类型备注 tchidchar(6)学号 tchnamevarchar(20)姓名 mathint(4)数学成绩 yuwenint(4)语文成绩 englishint(4)英语成绩 wuliint(4)物理成绩 huaxueint(4)化学成绩 3.2 以类图说明基本设计思路
10、用户界面提供学生、教师、管理员等用户登录的操作;学生可以进行学生基本信息 查询、学生成绩查询的操作;管理员可以进行学生基本信息管理、教师基本信息管理、 学生成绩管理的操作;教师可以进行学生基本信息管理、教师基本信息查询、学生成绩 管理的操作,系统的类图如图 3-1; 图 3-1 系统类图 3.3 功能流程以及工作流程描述 3.3.13.3.1 登录窗口登录窗口 使用用户,如学生、教师、管理员进行登录时,输入正确的用户名及密码,并选择 所属类别(学生、教师、管理员) ,如果输入的用户名及密码与该类别在数据库 mysql 中 的用户名(用户 id)及密码一致,我们就认为输入的用户名及密码是正确的,
11、则可进行 该类型用户所能进行的所有操作。在设计所属类别选择时,使用了 buttongroup 组件,再 在 buttongroup 组件中加入了 3 个 jradiobutton 单选按钮,并分别为这 3 个 jradiobutton 单选按钮设置事件监听,即选择相应类别时,在用户名或密码正确的情况下,就可进入 进行下一步操作。在登录页面还加入了两个 jbutton 组件,即“登录” 、 “退出” ,并为它 们设置了事件监听,在之前的操作:选择用户类别,用户名、密码输入正确的情况下, 点击“登录” ,就可进入相应的窗口进行操作,如果用户名或密码输入错误,则出现错误 信息对话框:“用户名或者密码
12、错误” ;点击“退出”则退出系统。在此基础上使用了 getrootpane().setdefaultbutton()的方法设定回车所对应的按钮。 3.3.23.3.2 选择操作对象窗口选择操作对象窗口 登录成功后,出现的窗口是选择操作对象的窗口,即选择对学生这一对象的操作、 对老师这一对象的操作或者对学生成绩的操作等。系统针对不同的用户类别,设置的选 择对象的响应操作是不同的,这样就有效地管理了系统的权限问题:如学生只能对学生 基本信息及学生成绩信息进行查询操作;教师能对学生基本信息、学生成绩信息进行查 询、修改、添加、删除等各项操作以及对教师基本信息进行查询的操作;而管理员拥有 最高权限,即
13、能进行各项的查询、修改、添加、删除等操作。 3.3.33.3.3 学生的操作窗口学生的操作窗口 因为学生只能对学生基本信息及学生成绩信息进行查询操作,所以学生在选择操作 对象后,得到相应的学生基本信息查询窗口或学生成绩查询窗口只能进行查询或关闭窗 口的操作。在学生基本信息查询和学生成绩查询这两个窗口中,加入了 jtable 组件,用 来显示相应的信息,同时运用了 jscrollpane(jt,jscrollpane.vertical_scrollbar_always, jscrollpane.horizontal_scrollbar_as_needed)的方法使得显示信息时,能够有 一个滚动条
14、;加入了两个 jbutton 组件,即“查询” 、 “关闭” ,在“查询”按钮前加入了 一个 jtextfield 组件,学生进行查询操作时,在 jtextfield 中填写所要查询的名字,然后 点击“查询” ,或者回车(此处设定回车所对应的按钮为“查询” )调用可 sql 语句,就可 以得到所要查找的人的相应信息了;在点击“关闭”时,所对应的事件监听用了 dispose() 的方法,对窗口进行关闭操作。 3.3.43.3.4 管理员的操作窗口管理员的操作窗口 管理员拥有最高权限,即能进行各项的查询、修改、添加、删除等操作,所以管理员 在选择操作对象后,得到相应的学生基本信息窗口、学生成绩窗口
15、或教师基本信息窗口 能进行查询、修改、添加、删除等各项操作操作。在相应的窗口中加入了五个 jbutton 组 件,即“查询” 、 “添加” 、 “修改” 、 “删除” 、 “关闭” 。 对“查询” 、 “关闭”的点击事件与学生的操作窗口所用的方法相同。 点击“添加”按钮,弹出相应的添加窗口,在添加窗口中包含有输入加入相应信息 的几个 jtextfield 组件及三个 jbutton 组件,即“添加” 、 “重置” 、 “取消”按钮,点击 “添加”按钮,响应“添加”的点击事件,可将添加的内容加入到数据库中,并在相应 jtable 组件中显示;点击“重置”按钮,响应“重置”的点击事件,可将之前输入
16、但没有 点击“添加”的内容清空,然后用户就可以重新输入内容了;点击“取消”按钮响应 “取消”的点击事件,运用 dispose()的方法,退出添加窗口。 选择某一记录,点击“修改”按钮,弹出相应的修改窗口,在修改窗口中包含有输 入要修改的相应信息的几个 jtextfield 组件及三个 jbutton 组件,即“修改” 、 “重置” 、 “取消”按钮,点击“修改”按钮,响应“修改”的点击事件,可将修改后的内容加入 到数据库中,并在相应 jtable 组件中显示,如果只点击“修改”按钮,而未选择某一记 录,则出现错误信息对话框:“请选择一行” ;点击“重置”及“取消”按钮的事件监听 方法和上述添加
17、窗口中“重置”及“取消”按钮的事件监听方法相同。 选择某一记录,点击“删除”按钮,可将选中的记录从数据库中删除,并在相应 jtable 组件中显示的记录信息删除,如果只点击“删除”按钮,而未选择某一记录,则出 现错误信息对话框:“请选择一行” 。 3.3.53.3.5 教师的操作窗口教师的操作窗口 教师进行学生基本信息及学生成绩的查询、修改、添加、删除等操作,同时也能进 行教师基本信息的查询操作,所以教师在选择操作对象后,得到相应的学生基本信息窗 口、学生成绩窗口或教师基本信息窗口,在学生基本信息窗口、学生成绩窗口中使用的 方法与管理员的操作方法相同,所以是调用的是同一程序,在教师基本信息窗口
18、中使用 的方法与学生操作中的方法相同。 第四章 系统实现 该系统由 5 个模块构成,包括登录界面模块、操作对象选择界面模块、学生基本信息 管理模块、学生成绩信息管理模块、教师基本信息管理模块,以下分别加以叙述: 4.1 登录界面模块 登录界面模块包括 management.java 文件。management 类继承了 jframe 类,实现了 事件监听接口,它有一个不带参数的构造函数 management(),用来生成 management 实例, management 类将所有的功能集中到面板中,生成按钮,通过按钮的响应函数调用其他模 块的函数来实现学生教师管理系统的各个功能,以下是主界面
19、的运行程序如图 4-1,当 用户名或密码输入错误时,则出现错误信息对话框:“用户名或者密码错误” ,如图 4- 2; 图 4-1-1 登录界面 图 4-1-2 错误信息对话框 4.2 操作对象选择界面模块 4.2.14.2.1 学生操作对象选择界面模块学生操作对象选择界面模块 两个单选按钮: jradiobutton stu1 = new jradiobutton(学生); jradiobutton corse = new jradiobutton(学生成绩); 对两个按钮的事件监听: public void actionperformed(actionevent el) if(el.gets
20、ource()=stu1) student ta = new student(); else if(el.getsource()=corse) studentcorse ta = new studentcorse(); else if(el.getsource()=close) k.dispose(); 运行界面如图 4-2-1: 图 4-2-1 学生操作对象选择界面 4.2.24.2.2 教师操作对象选择界面模块教师操作对象选择界面模块 三个单选按钮: jradiobutton stu1 = new jradiobutton(学生); jradiobutton tch1 = new jrad
21、iobutton(老师); jradiobutton corse = new jradiobutton(学生成绩); 对三个按钮的事件监听: public void actionperformed(actionevent el) if(el.getsource()=stu1) studentmanagement ta = new studentmanagement(); else if(el.getsource()=tch1) teacher ss1= new teacher(); else if(el.getsource()=corse) corsemanagement ta = new c
22、orsemanagement(); else if(el.getsource()=close) k.dispose(); 运行界面如图 4-2-2: 图 4-2-2 教师操作对象选择界面 4.2.24.2.2 管理员操作对象选择界面模块管理员操作对象选择界面模块 管理员操作对象选择界面模块使用的方法和教师操作对象选择模块的方法基本相同, 只是对各个单选按钮的事件监听事件所调用的 java 文件不同;运行界面与教师操作对象 选择界面完全相同;对三个按钮的事件监听: public void actionperformed(actionevent el) if(el.getsource()=stu1
23、) studentmanagement ta = new studentmanagement(); else if(el.getsource()=tch1) teachermanagement ta = new teachermanagement(); else if(el.getsource()=corse) corsemanagement ta = new corsemanagement(); else if(el.getsource()=close) k.dispose(); 4.3 学生基本信息管理模块 4.3.14.3.1 管理员、教师对学生基本信息管理的模块管理员、教师对学生基本信
24、息管理的模块 管理员、教师对学生基本信息管理的模块为studentmanagement.java文件,而 studentmanagement.java调用了stumodel.java学生模型文件、studentupdatedialog.java学生 信息更新文件、stuadddialog.java学生信息添加文件。在stumodel.java中连接数据库 mysql: preparedstatement ps = null; connection ct = null; resultset rs = null; string driver = com.mysql.jdbc.driver; str
25、ing url = jdbc:mysql:/localhost:3306/student; string user = root; string password = 123; 在 stuadddialog.java 中,事件监听事件: public void actionperformed(actionevent e) if (e.getsource() = jb1) / 希望添加 stumodel temp = new stumodel(); string sql3 = insert into stu values(?,?,?,?,?,?,?); string paras3 = jtf1.
26、gettext(), jtf2.gettext(), jtf3.gettext(), jtf4.gettext(), jtf5.gettext(), jtf6.gettext(), jtf7.gettext() ; if (!temp.updatestudent(sql3, paras3) joptionpane.showmessagedialog(this, 添加失败); this.dispose(); else if (e.getsource() = jb2) / 希望重置 jtf1.settext(); jtf2.settext(); jtf3.settext(); jtf4.sette
27、xt(); jtf5.settext(); jtf6.settext(); jtf7.settext(); jtf1.requestfocus(); else if (e.getsource() = jb3) / 希望删除 this.dispose(); 在 studentupdatedialog.java 中的事件监听部分程序: public void actionperformed(actionevent e) /用户更新 if (e.getsource() = jb1) string sql3 = update stu set stuname=?,pwd=?,stusex=?,stuag
28、e=?, stujg=?,studept=? where stuid=?; string paras3 = this.jtf2.gettext(), jtf3.gettext(), this.jtf4.gettext(), this.jtf5.gettext(), this.jtf6.gettext(),this.jtf7.gettext(), this.jtf1.gettext() ; stumodel temp = new stumodel(); temp.updatestudent(sql3, paras3); this.dispose(); studentmanagement ta =
29、 new studentmanagement(); 在 studentmanagement.java 中事件监听事件的程序: public void actionperformed(actionevent e) / todo auto-generated method stub if (e.getsource() = jb1) string name = this.jtf.gettext().trim(); string sql = select * from stu where stuname= + name + ; if (name.trim().equals() sm = new stu
30、model(); else sm = new stumodel(sql); jt.setmodel(sm); / 当用户点击添加 else if (e.getsource() = jb2) stuadddialog sad = new stuadddialog(this, 添加学生, true); / 重新再获得新的数据模型 sm = new stumodel(); jt.setmodel(sm); else if (e.getsource() = jb3) system.out.print(aaaa); int rownum = this.jt.getselectedrow(); if (r
31、ownum = -1) joptionpane.showmessagedialog(this, 请选择一行); return; / 显示修改对话框 new studentupdatedialog(this, 修改对话框, true, sm, rownum); / 当用户点击删除 else if (e.getsource() = jb4) int rownum = this.jt.getselectedrow(); if (rownum = -1) joptionpane.showmessagedialog(this, 请选择一行); return; / 得到学生的编号 string stuid
32、 = (string) sm.getvalueat(rownum, 0); stumodel temp = new stumodel(); string sql = delete from stu where stuid=?; string paras = stuid ; if (!temp.updatestudent(sql, paras) joptionpane.showmessagedialog(this, 删除失败); sm = new stumodel(); jt.setmodel(sm); else if(e.getsource()=close) this.dispose(); 管
33、理员、教师对学生基本信息管理的模块的几个界面如下: 图 4-3-1管理员、教师对学生基本信息主界面 图 4-3-2 学生基本信息添加界面 图 4-3-3 学生基本信息修改界面 图 4-3-4 添加失败时界面 图 4-3-4 修改或删除未选中记录时界面 4.3.24.3.2 学生对学生基本信息管理的模块学生对学生基本信息管理的模块 方法与管理员、教师对学生基本信息管理的模块相同,只是少了一些功能,主界面 如 图 4-3-4: 图 4-3-4 学生对学生基本信息管理主界面 4.4 学生成绩信息管理模块 4.4.14.4.1 管理员、教师对学生成绩管理的模块管理员、教师对学生成绩管理的模块 调用方法与以上管理员、教师对学生基本信息管理的模块方法大致相同,只是所运 用的 sql 语句有所不同,管理员、教师对学生成绩管理的界面如图 4-4-1: 图 4-4-1 管理员、教师对学生成绩管理的界面 图 4-4-2 学生成绩信息添加界面 图 4-4-3 学生成绩信息修改界面 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高一年级体育教学计划
- 2024艺体工作计划
- 2024年室内设计师的个人工作计划范文范文
- 六年级下学期体育教学工作计划
- 有关办公室的工作计划范文
- 2024小学语文名师工作室个人工作计划
- X区商务局2024年上半年工作总结和下半年工作计划
- 安全主任工作计划
- 房地产中介年初工作计划开头
- 小学2019年秋季少先队工作计划范文
- 2023-2023年武汉九年级元月调考数学试题及答案
- CNAS-CC01-2015 管理体系认证机构要求 (2019-2-20第一次修订)
- 工程勘察设计收费计价格2002_10号文
- 第七章数控机床机械结构
- 企业参与项目前期设计或咨询服务后是否可继续参加该项目设计施工总承包投标的法律探讨
- 电梯安装工程质量评估报告参考样本
- 瑞吉欧课程理论(课堂PPT)
- 500kv变电站短路电流计算书布骤建议自己算完后对照学习
- 申请核电厂潜在供应商资质及核安全设备制造资质指南
- 配色模纹组织面料的认识(文字稿)
- 《建筑制图基础实训》画图大作业布置
评论
0/150
提交评论