数据库实训之任课教师管理系统.doc

上传人:牧羊曲112 文档编号:2792884 上传时间:2023-02-25 格式:DOC 页数:28 大小:625.50KB
返回 下载 相关 举报
数据库实训之任课教师管理系统.doc_第1页
第1页 / 共28页
数据库实训之任课教师管理系统.doc_第2页
第2页 / 共28页
数据库实训之任课教师管理系统.doc_第3页
第3页 / 共28页
数据库实训之任课教师管理系统.doc_第4页
第4页 / 共28页
数据库实训之任课教师管理系统.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《数据库实训之任课教师管理系统.doc》由会员分享,可在线阅读,更多相关《数据库实训之任课教师管理系统.doc(28页珍藏版)》请在三一办公上搜索。

1、精选优质文档-倾情为你奉上目录一、前言1二、系统及需求分析 三、数据库逻辑设计四、数据字典五、功能及界面设计六、总结七、参考文献一、前言随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对教师信息进行管理,具有人工方式所无法比拟的优越性。如,查找方便,可靠性高,存储容量大,保密性好,成本低,维护十分方便等,这些优点能够极大得提高工作的效率,这也是学校的科学化,现代化,正规化的一点体现。教师信息管理系统开发主要包括数据库的建立和维护以及应用程序的开发两个方面。要求建立起数据一致性和完整性

2、强。数据安全性好的库,要求应用程序功能完备,易使用等特点。教师信息管理系统是一个教育单位不可缺少的部分,它的内容对于决策者和管理者来说都比较重要,所以教师信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。用户的需求具体体现在对各种信息的提供、保存、更新和查询,这就要求数据库能充分满足各种数据的输出和输入。 因此,为了适应现代教育管理的要求,进一步完善教师信息辅助计算机管理,我作为一个计算机应用的专科生,开发这样一套管理软件成为很有必要的事情,在下面的各章中我将以开发一套教师信息管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。本课题是设计任课教师信息管理系统,实现输入、查询、显示

3、、维护等功能。从界面上输入教师姓名,输出教师的基本信息和任课情况,不存在的数据,要输出提示内容。从窗体中输入教师姓名,可以录入教师的上课数据,并计算教师的工作量。通过窗体操作可浏览、删除、添加教师的相关数据。关键字:面向对象,数据一致性,信息管理系统,数据库,SQL Server。二、系统需求分析及设计1. 1系统需求分析近年来,教育带来的发展对学校管理提出了更高的要求。传统的管理机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代,建设一套具有行业特色的管理系统,以适应学校的总体发展战略。教师信息管理系统正是针对这一类问题而开

4、发出来的管理软件。任课教师信息管理系统开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立数据一致性和完整性强,数据安全性好的数据库.而对于后者则要求应用程序功能完备, 系统优点:检索迅速、查找方便、可靠性高、存储量大、安全性高、成本低等。这些优点能够极大地提高教师信息管理的效率,也是教育的科学化、正规化管理、易使用等特点。针对目前情况,提出如下具体要求: 使用友好的全屏幕用户界面,菜单驱动,多窗口。 数据维护功能,通过窗体实现录入、添加和修改所有表的内容。 查询统计功能,设置多种查询方式,实现对教师的任课情况、工作量统计情况等进行查询。 系统维护功能,适当的加入

5、系统密码管理、数据备份(已出现数据库备份界面)等帮助功能。1.2系统设计教师信息管理包括教师个人基本信息,任课信息、日常工作信息,进行统一的管理,本系统以此作为开发的目标,用以减轻教师管理人员的负担。用户只有系统教师用,教师用户要通过用户名和口令进入,登录后,可以查看所有信息,并且可以对本系教师信息进行添加、修改、删除、查看浏览信息、修改自己的登录密码、查看浏览信息、修改自己的登录密码、系统安全维护等操作。三、数据库逻辑设计1、分功能模块图(1)教师基本信息查询教师基本信息管理信息列表查看添加个人信息修改个人信息删除个人信息查询个人信息图3-1教师基本信息查询功能图(2)教师基本信息修改教师系

6、统管理教师登录更新系统信息修改系统信息数据库维护删除系统信息图3-2 教师基本信息修改功能图(3)教师所带附属信息E-R图(查询教师基本信息时一起出现)图3-3-1 教师所带附属信息图图3-3-2 教师所带基本信息图(4)数据流程图登录验证合法性验证 非法退出 合法退出教师用户教师用户界面数据修改,添加,删除等运行软件根据用户权限可用功能不同图3-4 数据流程图(5)系统流程图用户登录鉴别身份合法用户非法用户身份识别教师教师选择模块修改密码个人信息系统信息查看个人基本信息课程安排信息所在院系查询教学信息个人任课信息返回退出系统收集信息添加教师信息删除教师信息修改教师信息是否返 回图3-5 教师

7、系统流程图(6)总体功能模块添加教师信息教师ID教师信息管理删除教师信息教师姓名提交/重置添加教师工作教师任课情况教师ID修改教师工作教师管理系统教师姓名修改课程名称报表打印统计打印打印设置修改学分修改课时原始密码退出新密码修改密码系统选项确认新密码数据备份图3-6 总体功能模块图四、数据字典数据字典:5.1(1)teacher的数据结构名字:teacher别名:教师个人基本信息描述:记录教师的相关信息位置:保存到教师基本信息表(2)teacher 数据项名字别名描述定义位置ID教师编号唯一标识教师的数字编号char(8)teacher教师姓名教师名字char(8)teacher职称职称教师所

8、在职位的名称char(8)teacher所在院系院系名称所在的系名char(12)teacher(3)数据流数据流名:teacher数据流说明:“teacher”数据结构在系统中的流向数据流来源:教师接收事务数据流去向:查看个人基本信息(4)数据存储 数据存储名:teacher 表说明:teacher数据作为原始数据需要保存与备查(5)处理过程处理过程名:teacher的查看,修改说明:教师可以进行查看和修改个人基本信息5.2(1)course 数据项名字别名描述定义位置ID教师编号唯一标识课程的数字编号char(8)course教师编号课程名称课程的名称char(10)course课程名称学

9、分课程开设所获得的学分Int(4)course(2)数据流:数据流名:course 数据流说明:course数据结构在系统中的流向数据流来源:任课教师接收事务数据流去向:查看、查询课程信息(3)数据存储数据存储名:course 表说明:course 数据作为原始数据需要保存与备查(4)处理过程处理过程名:course 的查看,查询说明:教师可以查看和根据自己的需求来进行查询课程信息五、软件功能设计1、 数据库与程序代码的链接public Connection Connection()driverName = com.microsoft.sqlserver.jdbc.SQLServerDrive

10、r; / 加载JDBC驱动url = jdbc:sqlserver:/localhost:1433;DatabaseName=Jiaoshi_Manager; / 连接服务器和数据库sampletryClass.forName(driverName);con = DriverManager.getConnection(url,userName,password);catch(SQLException e)e.printStackTrace();catch(ClassNotFoundException e)e.printStackTrace();return con;2、 登陆界面的实现publ

11、ic class Login extends JFrame implements ActionListenerprivate lianjie LJ;private JPanel jp=new JPanel();/创建面板容器private JLabel jlArray = new JLabel(用户名:),new JLabel(密码:);private JTextField jtf = new JTextField();private JPasswordField jpf = new JPasswordField();private JButton jbArray = new JButton(

12、确认),new JButton(重置);图4-1登陆界面图3、登陆成功/失败提示界面的实现(1)if(rs.next()/登陆成功JOptionPane.showMessageDialog(this, 登录成功, 提示,JOptionPane.INFORMATION_MESSAGE);Menu mn=new Menu(jtf.getText();/System.out.println(登录成功);this.dispose();图4-2登陆成功界面提示界面图(2)else /登录失败JOptionPane.showMessageDialog(this,用户名或密码错误, 提示,JOptionPa

13、ne.ERROR_MESSAGE);jpf.setText();jtf.setText();图4-3登陆失败界面提示界面图4、 登陆欢迎退出系统界面的实现 if(id.equals(0) /欢迎页面 cl.show(jpy,welcome); else if(id.equals(11) /退出系统 int i=JOptionPane.showConfirmDialog(jpy, 您确认要退出出系统吗?,询问, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if(i=0) System.exit(0); 图4-4登陆欢迎退出系

14、统的实现界面图5、 修改密码界面的实现public class ChangePwd extends JPanel implements ActionListenerprivate lianjie LJ;/声明用与表示当前学生学号的引用private String tea_id;/创建信息提示标签数组private JLabel jlArray=new JLabel(原始密码),new JLabel(新密码),new JLabel(确认新密码), ;/创建密码框数组private JPasswordField jpfArray=new JPasswordField(),new JPassword

15、Field(),new JPasswordField() ;/创建操作按钮数组private JButton jbArray=new JButton(确认),new JButton(重置) ;图4-5修改密码界面的实现界面图6、添加教师信息界面的实现public class Add extends JPanel implements ActionListenerprivate lianjie LJ;/声明用与表示当前教师ID的引用private String tea_id;/创建信息提示标签数组private JLabel jlArray=new JLabel(教师ID),new JLabel

16、(教师姓名),new JLabel(性别),new JLabel(所在院系),new JLabel(出生日期),new JLabel(联系电话),new JLabel(职称);/创建密码框数组private JTextField jtfArray = new JTextField(),new JTextField(),new JTextField(),new JTextField(),new JTextField(),new JTextField(),new JTextField();/创建操作按钮数组private JButton jbArray=new JButton(提交),new JB

17、utton(重置) ;/构造器图4-5添加教师信息界面实现界面图7、添加教师信息成功/失败提示界面的实现if(n=0)/添加成功提示信息/System.out.println(成功);String sql = insert into tea_message values(+tea_id+,+tea_name+,+tea_gender+, +tea_college+,+tea_birth+,+tea_phone+,+tea_title+);st.executeUpdate(sql);JOptionPane.showMessageDialog(this,添加教师个人信息成功,提示,JOptionP

18、ane.INFORMATION_MESSAGE);else if(n=1)/添加失败提示信息/System.out.println(失败);JOptionPane.showMessageDialog(this,添加失败,已存在该教师,错误,JOptionPane.ERROR_MESSAGE);图4-6添加教师信息成功/失败提示界面的实现界面图8、 删除教师信息界面及成功失败提示的实现try /初始化数据库连接并删除学生信息Connection con = LJ.Connection();Statement st= con.createStatement();String sql_01=sele

19、ct tea_id from tea_message where tea_id=+tea_id+ +and tea_name=+tea_name+;ResultSet rs=st.executeQuery(sql_01);int n=0;while(rs.next()n+;if(n=0)/删除失败提示信息JOptionPane.showMessageDialog(this,删除失败,不存在该教师,错误,JOptionPane.ERROR_MESSAGE);else if(n=1)/删除成功提示信息String sql=delete from tea_message where tea_id=+

20、tea_id+ +and tea_name=+tea_name+;st.executeUpdate(sql);JOptionPane.showMessageDialog(this,删除教师个人信息成功,提示,JOptionPane.INFORMATION_MESSAGE);String sql_02=delete from lecture where lecture.tea_id=+tea_id+ ;st.executeUpdate(sql_02);图4-7删除教师信息界面图图4-8删除教师信息成功界面提示界面图图4-9删除教师信息失败界面提示界面图9、 添加教师工作及成功失败提示的实现pub

21、lic class Add_Score extends JPanel implements ActionListenerprivate lianjie LJ;/声明用与表示当前学生学号的引用private String tea_id;/创建信息提示标签数组private JLabel jlArray=new JLabel(教师ID),new JLabel(教师姓名),new JLabel(课程名称),new JLabel(学分),new JLabel(课时);/创建密码框数组private JTextField jtfArray = new JTextField(),new JTextFiel

22、d(),new JTextField(),new JTextField(),new JTextField();/创建操作按钮数组private JButton jbArray=new JButton(提交),new JButton(重置) ;/构造器if(x=0)System.out.println(成功);String sql = insert into lecture values(+tea_id+,+tea_name+,+cou_name+, +cou_credit+,+cou_long+);st.executeUpdate(sql);JOptionPane.showMessageDia

23、log(this,添加教师课程成功,提示,JOptionPane.INFORMATION_MESSAGE);elseSystem.out.println(错误啦);JOptionPane.showMessageDialog(this,添加失败,错误,JOptionPane.ERROR_MESSAGE);图4-10添加教师工作及成功提示的实现界面图图4-11添加教师工作及失败提示的实现界面图10、修改教师工作及成功失败提示的实现public class ChangePoint extends JPanel implements ActionListenerprivate lianjie LJ;/

24、声明用与表示当前学生学号的引用private String tea_id;/创建信息提示标签数组private JLabel jlArray=new JLabel(教师ID),new JLabel(教师姓名),new JLabel(修改课程名称),new JLabel(修改学分),new JLabel(修改课时);/创建密码框数组private JTextField jtfArray = new JTextField(),new JTextField(),new JTextField(),new JTextField(),new JTextField();/创建操作按钮数组private JB

25、utton jbArray=new JButton(提交),new JButton(重置) ;/构造器图4-12修改教师工作及成功提示的实现界面图图4-13修改教师工作及失败提示的实现界面图11、 查询教师个人信息的实现public class SearchMessage extends JPanel implements ActionListenerprivate String host;/创建提示标签数组private JLabel jlArray=new JLabel(I D:),new JLabel(姓 名 :), new JLabel(性 别 :), new JLabel(所在院系

26、:), new JLabel(出生日期 :), new JLabel(年),new JLabel(月), new JLabel(日), new JLabel(联系电话 :),new JLabel(职 称 :) ;/创建提示标签private JLabel jl=new JLabel(请输入要查询教师的ID);/创建用于输入学号的文本框控件private JTextField jtf=new JTextField();/创建查询按钮private JButton jb=new JButton(查询);/创建用于显示信息的标签数组private JLabel jlArray2=new JLabel

27、10;/声明GetStuInfo引用图4-14查询教师个人信息的实现界面图12、 查询教师个人信息失败提示的实现if(stu_id.equals()/输入学号为空JOptionPane.showMessageDialog(this,请输入教师ID,错误, JOptionPane.ERROR_MESSAGE);return;else if(m=0)JOptionPane.showMessageDialog(this,不存在该教师,错误, JOptionPane.ERROR_MESSAGE);v_data=gs.getAllScore(stu_id);/更新表格模型图4-15查询教师个人信息失败提

28、示的实现界面图13、 查询教师工作信息的实现public class SearchScore extends JPanel implements ActionListener/创建提示标签private JLabel jl=new JLabel(请输入教师ID:);private JLabel jl1=new JLabel(已修课程:);/创建用于显示学分的标签private JLabel jl2=new JLabel();/创建用于输入学号的文本框private JTextField jtf=new JTextField();/创建动作按钮private JButton jb=new JBu

29、tton(查询);/声明表格引用public void initialData()/初始化表头v_head.add(ID);v_head.add(姓名);v_head.add(课程名);v_head.add(学分);v_head.add(课时);图4-16-1查询教师工作信息的实现界面图图4-16-2查询教师工作信息的实现界面图六、总结经过一个多月的设计和开发,教师信息管理系统基本开发完毕,似乎做了半个世纪,感觉最大的收获就是锻炼了自学能力。其功能基本符合用户需求,能够完成员工基本信息、工资的输入和统计。以及各类相关报表的打印。并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除。同

30、时也考虑到了减少数据冗余的问题,对于数据的一致性的问题也通过程序进行了有效的解决。我想大多数人决心去学习一门新的计算机技术的原因有两个:想要学或必须学。在今天的计算机世界里,没有人能够事事皆懂,最好的情况就是在需要的时候学习它。当面临一个新的项目并且时间紧迫时,任何一个编程人员都会去学习某种语言或新的计算机技术来完成它,我们也不例外。学习中,我查阅了很多本参考书,也查阅了网上不少资料。我学习数据库的唯一方法就是实实在在地做些东西,凭空学习一大堆空洞的理论,不如从头到尾完成一个项目。在曹雁峰老师的指导下,通过自己的努力,终于完成了毕业设计开发一个教师信息管理系统。 我开发的这个任课教师信息管理系

31、统实现了预期的基本功能。在这一次设计中,翻阅大量资料,虽然结果还未尽完美,但在设计过程中,亦使我专业技能上有了很大的提高,对系统开发过程、步骤有了比较深刻的认识。开发的过程中,我遇到了不少疑难问题,除了向指导老师请教外,更多的时候是请教同学,共同探讨,一起寻找解决问题的方案。这些宝贵的经验对于我今后走上工作岗位将有很大的帮助。由于时间的限制和本人的知识掌握尚有欠缺,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。 再次感谢指导老师的辛苦教导和帮助!七、 参考文献1软件系统开发技术 潘锦平、施小姚、姚天昉 西安电子科技大学出版社 1999年2软件工程导论 张海藩 清华大学出版社 1998年3数据库系统原理及应用教程 苗雪兰、刘瑞新、王怀峰 机械工业出版社 2001年4数据库系统概论 萨师煊、王珊 高等教育出版社2001年【5】Visual Basic 2005入门经典(第4版)、作者:(美)威利斯,(美)纽萨姆、出版社:清华大学出版社【6】Visual Basic程序开发范例宝典、作者:明日科技、出版社:人民邮电出版社、专心-专注-专业

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号