编号:10013121807 三稿南阳师范学院2012届毕业生毕业论文(设计)题目:基于J2ME的班级课程表管理系统设计与实现完成人:_____ 张文坛_____________________ 班级: __________2010-18___________________学制:______ 2_年____________________专业:计算机科学与技术___________指导教师:________ 程宁______________________完成日期: 2012-04-05______________目录摘要: (1)0 引言 (1)1 系统分析 (2)1.1 需求分析 (2)1.1.1.师生功能 (3)1.1.2.管理员功能 (3)1.2 系统体系结构设计 (3)2 数据库设计与实现 (4)2.1 数据库系统的数据来源 (4)2.2 后台数据库系统的设计 (5)3 功能模块设计与实现 (5)3.1 功能模块的设计 (5)3.2 功能模块的实现 (6)3.2.1 登录模块 (6)3.2.2管理员登录管理模块 (6)3.2.3学生登录模块 (7)4 关键技术 (11)4.1 B/S设计模式 (11)4.2 Struts与Hibernate (11)4.3 JavaScript (11)5 结束语 (12)参考文献 (12)附录 (13)附录一部分程序清单 (13)Abstract: (22)基于J2ME的班级课程表管理系统设计与实现作者:张文坛指导老师:程宁摘要:据调查显示很多高校存在学生因忘记课表而导致上课迟到、上课地点出错等现象,针对这一现象,利用J2ME技术结合实际开发经验,研究了网上课表应用软件。
班级课程表系统是一个学校管理本校学生课程安排的重要组成部分,良好的课程安排系统可以保证学校每一个学生正常安排自己的课程学习计划,和某些学校的教育资源得不到充分的利用。
在编写本系统软件之前,我对河南省部分高校与本校的教务系统进行了比较和研究,发现查阅了很多相关资料,并对本校的教务管理员进行了调查,经过细致的讨论和分析之后,我对本校的教务排课系统进行了改进和设计。
经过分析,本系统运用的ACCESS为后台数据库,以myeclipse为前端开发工具,系统实现了系统管理员、教师、学生信息查询等必需的功能,其操作简单,界面友好,系统管理员运行比较稳定,适用于班级课程表管理。
关键字:学生;教师信息查询;管理员管理用户;数据库;0 引言随着时代的发展,计算机技术越来越深入各行各业[1],为广大的用户提供了更为便捷的服务。
目前各行各业广泛使用各种管理系统,其内容范围跨越了育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,设计开发好一个管理系统对一个机构的发展十分重要。
近年来,随着用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术的广泛应用,向用户提供的服务将越来越丰富,越来越人性化。
为了实现提高工作人员的工作效率以及充分利用资源,减少不必要的人力,物力和财力的支出;方便学生和教师全面地掌握班级上课信息等的目的;为管理人员,开发设计专用班级课程表管理系统来进行掌握班级上课信息,使师生实现标准化的管理和规范化的制度是十分必要的。
所以教育发展的需求,对课程表的管理应该更加详细与准确。
所以管理系统应运而生。
班级课程表系统是一个学校管理本校学生课程安排的重要组成部分,良好的课程安排系统可以保证学校每一个学生正常安排自己的课程学习计划,防止个别学生课程计划错误,和某些学校的教育资源得不到充分的利用。
1 系统分析MVC(Model-View-Controller)是一个经典的软件体系结构,它采用了“分治”的思想,将表示和数据相互分离[2],将系统分为三个大的类:即模型(Model)、视图(View)和控制器(Controller)。
其中模型是对象的内在属性,它包含所有的业务逻辑,它以JavaBean的形式存在;视图时模型的外在变现形式,也是用户所见到的JSP页面,一个模型可以对应一个或多个视图;控制器是模型与视图的联系纽带,解释用户的操作意图,并把它交给模型去执行,根据请求和执行结果来决定下一次显示的视图本文采取基于MVC 框架模式来开发Web信息管理系统[3], 使用MVC框架将业务逻辑和显示页面分离开来。
服务器端采用EJB 组件技术, 结合使用适当的J2EE 设计模式, 不仅有效地提高了系统开发效率, 还使得系统具有高性能、可扩展性、重用性以及事务处理和高安全性的特点。
1.1 需求分析在师生的要求以及会员管理平台要求的基础上,本系统应具有的功能主要包括师生登录功能、系统管理员管理员功能如下:1.1.1.师生功能(1)会员用自己的账号和密码以及自己的权限登陆系统。
(2)登陆正确后可查看自己的信息。
1.1.2.系统管理员功能(1)管理员用自己的账号和密码以及自己的权限登陆系统[13]。
(2)管理员登陆系统后查看用户的信息。
(3)管理员可以对用户的信息进行添加、删除。
1.2 系统体系结构设计本系统的体系结构采用B/S模式[4],本系统的体系结构如图1所示。
2 数据库设计与实现本系统采用access数据库作为后台数据库服务器[5]。
2.1 数据库系统的数据来源师生表:对于用户基本信息,可以源于系统管理员的手动录入(即相应的基本信息录入页面,实现相应信息的录入),亦可通过用户在前台的注册。
2.2 后台数据库系统的设计后台数据库系统用于存储所有会员与管理员有关的信息[6]。
数据库具体设计如下表2:系统的数据库名为server数据的表为manager(登录信息),id为表的主键图1 系统功能体系结构表1 manager3 功能模块设计与实现3.1 功能模块的设计本系统包括登录、师生信息显示、管理员在线管理等3个大模块。
(1)登录模块。
用户(包括师生、管理员)在denglu页面登录,用户在登录成功后可以使用相应权限内的系统功能。
(2)师生信息显示模块。
用户成功登陆系统后[7],用户就可在user 查看到自己的信息以及上课情况。
(3)管理员在线管理模块。
管理员成功登陆系统后,管理员就可在manage中通过链接查看到师生的信息并对用户进行管理。
3.2 功能模块的实现3.2.1 登录模块在该模块有两种身份的用户可以登录[12],分别是:师生、管理员。
师生登录时需填的信息分别有用户名、密码、会员;管理员登录时需填的信息分别有用户名、密码、管理员。
进入界面后:图2 进入界面图3 信息管理系统本系统分别有三个权限:系统管理员,教师,学生3.2.2管理员登录模块系统管理员的主要功能是添加删除新老师/新学生。
查看教育资源安排和信息图4 系统管理员图5 信息管理系统3.2.3师生登陆模块1.老师可以查看自己课程表图6 教师登录系统2.学生登陆图7 学生登录系统4 关键技术4.1 B/S设计模式在这种结构下,用户工作界面是通过WWW浏览器来实现[8],极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。
4.2 Struts与Hibernate根据MVC模式,使用Struts框架作为业务逻辑层[9],使用轻量级框架Hibernate[11]作为持久化层操作数据库。
这使系统层次分明,各个层次相对独立,各司其责,并降低了代码的耦合度,使每个模块的开发者不必关心其他模块的代码,而且使用Hibernate使系统的可移植性大大增强,使后期维护和数据库迁移所付出的代价大大降低。
4.3JavaScriptJavaScript是一种能让你的网页更加生动活泼的程式语言[10],也是目前网页中设计中最容易学又最方便的语言。
你可以利用JavaScript轻易的做出亲切的欢迎讯息、漂亮的数字钟、有广告效果的跑马灯及简易的选举,还可以显示浏览器停留的时间。
让这些特殊效果提高网页的可观性。
5 结束语现在计算机发展已经超出想象,随着我国经济的快速发展,各个高校信息管理机制不断完善,提高。
为了方便学校的信息管理,对学生来说,对于与学生来说可以直接通过本系统查询到自己的课表。
对于系统管理员来说,可以最快的公布最那个网络新的重要信息和活动,可以对教师,对学生等信息等信息进行管理。
使用网络对课表信息进行管理,具有手工管理无法比拟的特点。
本系统采用的是eclipse和access开发的,通过这次设计,是我对eclipse和access更加了解,并且对用做系统有一定的心得。
同时认识到一个课表管理系统不仅应该操作简单,而且应具有友好的界面。
相信这次设计的完成对我以后的工作有很大的帮助。
参考文献[1] 徐洪,聂晶,谢海明,潘志宏,刘伟平.EoC配置管理系统的设计与实现[J] .电视技术, 2011,(05) : 77-79,120.[2]杨刚.教研室教学管理系统的开发[J] .软件导刊,2011,(04) :70-72.[3] 杨志勇,孟莲蓉.基于J2EE的发射台备份器材管理系统的设计与实现[J] .计算机与现代化, 2011,(04) :115-118.[4]李存艳.军队医院人员信息管理系统的设计与实现 [D].国防科学技术大学,2005.[5] 蔡隽.基于B/S架构开发的医疗设备管理系统[J].电脑与电信,2011,(02) : 60-62.[6]郭毅棋.基于Spring框架的网上调(停补)课申请系统的设计与实现[J] .厦门广播电视大学学报,2011,(02) :54-59.[7] 叶核亚.Java程序设计实用教程[M].北京:电子工业出版社,2010.[8]陈智婷,汤荣江,陈智盖. 基于网络销售管理系统数据安全的研究[J].中山大学学报论丛,2007,27(06):83-93.[9] 李存艳. 军队医院人员信息管理系统的设计与实现 [D].国防科学技术大学,2005.[10] 耿祥义张跃平 JSP实用教程,清华大学出版社[11]刘飞飞基于MVC的教务管理系统的研究与实现 [D]太原理工大学 2007.[12] 齐迎春基于MVC模式的网络教学资源库平台的设计与实现 [D]电子科技大学2009.[13]王禹,王建新等基于MVC模式的快速Web应用开发平台的设计与实现[J]计算机应用研究 2004年第十一期 204-206.附录附录一部分程序清单1、主界面:public MainWindow() {super("班级信息管理系统");// --系统管理菜单--MenuB = new JMenuBar();SystemMenu = new JMenu("系统管理");UserLoginMenuItem = new JMenuItem("用户登录");//UserAddMenuItem = new JMenuItem("添加用户");//UserModifyMenuItem = new JMenuItem("修改用户");//UserDeleteMenuItem = new JMenuItem("删除用户");ExitMenuItem = new JMenuItem("退出"); SystemMenu.add(UserLoginMenuItem);//UserMGRMenu.add(UserAddMenuItem);//UserMGRMenu.add(UserModifyMenuItem);//UserMGRMenu.add(UserDeleteMenuItem);//SystemMenu.add(UserMGRMenu);SystemMenu.add(ExitMenuItem);UserLoginMenuItem.addActionListener(this);//UserAddMenuItem.addActionListener(this);//UserModifyMenuItem.addActionListener(this);//UserDeleteMenuItem.addActionListener(this); ExitMenuItem.addActionListener(this);MenuB.add(SystemMenu);// ---学生管理菜单--StudentMGRMenu = new JMenu("学生管理"); StudentAddMenuItem = new JMenuItem("添加学生"); StudentModifyMenuItem = new JMenuItem("修改学生"); StudentDeleteMenuItem = new JMenuItem("删除学生"); StudentMGRMenu.add(StudentAddMenuItem); StudentMGRMenu.add(StudentModifyMenuItem); StudentMGRMenu.add(StudentDeleteMenuItem); StudentAddMenuItem.addActionListener(this); StudentModifyMenuItem.addActionListener(this); StudentDeleteMenuItem.addActionListener(this); MenuB.add(StudentMGRMenu);// ---教师管理菜单--TeacherMGRMenu = new JMenu("教师管理"); TeacherAddMenuItem = new JMenuItem("添加教师"); TeacherModifyMenuItem = new JMenuItem("修改教师"); TeacherDeleteMenuItem = new JMenuItem("删除教师"); TeacherMGRMenu.add(TeacherAddMenuItem); TeacherMGRMenu.add(TeacherModifyMenuItem); TeacherMGRMenu.add(TeacherDeleteMenuItem); TeacherAddMenuItem.addActionListener(this); TeacherModifyMenuItem.addActionListener(this); TeacherDeleteMenuItem.addActionListener(this); MenuB.add(TeacherMGRMenu);// --帮助--help = new JMenu("帮助");HelpItem = new JMenuItem("帮助");help.add(HelpItem);HelpItem.addActionListener(this);MenuB.add(help);// ----------------------------------setJMenuBar(MenuB);// 设置背景图片ImageIcon img = new ImageIcon("nanshi.jpg"); titleLabel = new JLabel();titleLabel.setIcon(img);c = getContentPane();c.setLayout(new BorderLayout());panel1 = new JPanel();panel1.setLayout(new BorderLayout());panel1.add(titleLabel, BorderLayout.CENTER);c.add(panel1, BorderLayout.CENTER);setBounds(100, 50, 440, 300);show();// 初始设置;//UserMGRMenu.setEnabled(false);TeacherMGRMenu.setEnabled(false);StudentMGRMenu.setEnabled(false);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}// 设置每个菜单点击后出现的窗口和窗口显示的位置;public void actionPerformed(ActionEvent e) {if (e.getActionCommand() == "用户登录") {// System.out.println("1111");UserLogin UserLoginFrame = new UserLogin(this);Dimension FrameSize =UserLoginFrame.getPreferredSize();Dimension MainFrameSize = getSize();Point loc = getLocation();UserLoginFrame.setLocation((MainFrameSize.width - FrameSize.width)/ 2 + loc.x, (MainFrameSize.height - FrameSize.height) / 2+ loc.y);UserLoginFrame.pack();UserLoginFrame.show();} else if (e.getActionCommand() == "添加学生") {StudentAdd StudentAddFrame = new StudentAdd();Dimension FrameSize =StudentAddFrame.getPreferredSize();Dimension MainFrameSize = getSize();Point loc = getLocation();StudentAddFrame.setLocation((MainFrameSize.width - FrameSize.width)/ 2 + loc.x, (MainFrameSize.height - FrameSize.height) / 2+ loc.y);StudentAddFrame.pack();StudentAddFrame.show();} else if (e.getActionCommand() == "删除学生") {StudentDelete StudentDeleteFrame = newStudentDelete();Dimension FrameSize =StudentDeleteFrame.getPreferredSize();Dimension MainFrameSize = getSize();Point loc = getLocation();StudentDeleteFrame.setLocation((MainFrameSize.width - FrameSize.width) / 2 + loc.x,(MainFrameSize.height - FrameSize.height) / 2 + loc.y);StudentDeleteFrame.pack();StudentDeleteFrame.show();} else if (e.getActionCommand() == "修改学生") {StudentModify StudentModifyFrame = newStudentModify();Dimension FrameSize =StudentModifyFrame.getPreferredSize();Dimension MainFrameSize = getSize();Point loc = getLocation();StudentModifyFrame.setLocation((MainFrameSize.width - FrameSize.width) / 2 + loc.x,(MainFrameSize.height - FrameSize.height) / 2 + loc.y);StudentModifyFrame.pack();StudentModifyFrame.show();} else if (e.getActionCommand() == "添加教师") {TeacherAdd TeacherAddFrame = new TeacherAdd();Dimension FrameSize =TeacherAddFrame.getPreferredSize();Dimension MainFrameSize = getSize();Point loc = getLocation();TeacherAddFrame.setLocation((MainFrameSize.width - FrameSize.width)/ 2 + loc.x, (MainFrameSize.height - FrameSize.height) / 2+ loc.y);TeacherAddFrame.pack();TeacherAddFrame.show();} else if (e.getActionCommand() == "修改教师") {TeacherModify TeacherModifyFrame = newTeacherModify();Dimension FrameSize =TeacherModifyFrame.getPreferredSize();Dimension MainFrameSize = getSize();Point loc = getLocation();TeacherModifyFrame.setLocation((MainFrameSize.width - FrameSize.width)/ 2 + loc.x, (MainFrameSize.height - FrameSize.height) / 2+ loc.y);TeacherModifyFrame.pack();TeacherModifyFrame.show();} else if (e.getActionCommand() == "删除教师") {TeacherDelete TeacherDeleteFrame = newTeacherDelete();Dimension FrameSize =TeacherDeleteFrame.getPreferredSize();Dimension MainFrameSize = getSize();Point loc = getLocation();TeacherDeleteFrame.setLocation((MainFrameSize.width - FrameSize.width)/ 2 + loc.x, (MainFrameSize.height - FrameSize.height) / 2+ loc.y);TeacherDeleteFrame.pack();TeacherDeleteFrame.show();} else if (e.getActionCommand() == "帮助") {Help help = new Help();Dimension FrameSize = help.getPreferredSize();Dimension MainFrameSize = getSize();Point loc = getLocation();help.setLocation((MainFrameSize.width - FrameSize.width) / 2+ loc.x, (MainFrameSize.height - FrameSize.height) / 2+ loc.y);help.pack();help.show();} else if (e.getActionCommand() == "退出") {this.dispose();System.exit(0);}}// 设置登录用户的权限;public void setEnable(String powerType) {if (powerType.trim().equals("管理员")){//UserMGRMenu.setEnabled(true);TeacherMGRMenu.setEnabled(true);//UserListMenuItem.setEnabled(true);StudentMGRMenu.setEnabled(true);}else if (powerType.trim().equals("教师")){//UserList();//UserMGRMenu.setEnabled(false);TeacherMGRMenu.setEnabled(false);//UserListMenuItem.setEnabled(false);StudentMGRMenu.setEnabled(false);}else if (powerType.trim().equals("学生")){//UserMGRMenu.setEnabled(false);TeacherMGRMenu.setEnabled(false);//UserListMenuItem.setEnabled(false);StudentMGRMenu.setEnabled(false);}}public static void main(String args[]) {MainWindow MainFrame = new MainWindow();}}2、用户登录}public UserLogin(MainWindow mainFrame) {super("用户登录");this.mainFrame = mainFrame;UserLabel = new JLabel("用户名", JLabel.CENTER);PasswordLabel = new JLabel("密码", JLabel.CENTER);UserTextField = new JTextField(10);PasswordTextField = new JPasswordField(10);YesBtn = new JButton("确定");CancelBtn = new JButton("取消");YesBtn.addActionListener(this);CancelBtn.addActionListener(this);panel1 = new JPanel();panel1.setLayout(new GridLayout(2, 2));panel2 = new JPanel();c = getContentPane();c.setLayout(new BorderLayout());panel1.add(UserLabel);panel1.add(UserTextField);panel1.add(PasswordLabel);panel1.add(PasswordTextField);c.add(panel1, BorderLayout.CENTER);panel2.add(YesBtn);panel2.add(CancelBtn);c.add(panel2, BorderLayout.SOUTH);setSize(300, 300);}public void actionPerformed(ActionEvent e) {String flag = null;String name = null;if (e.getSource() == CancelBtn) {this.dispose();} else {char[] password = PasswordTextField.getPassword();String passwordSTR = new String(password);name = UserTextField.getText().trim();if (name.equals("")){JOptionPane.showMessageDialog(null, "用户名不可为空!");return;}else{if (passwordSTR.equals("")) {JOptionPane.showMessageDialog(null, "密码不可为空!");return;}}String strSQL;strSQL = "select * from user where UserName='" + name+ "'and Password='" + passwordSTR + "'";rs = db.getResult(strSQL);boolean isExist = false;try {isExist = rs.next();} catch (SQLException sqle) {System.out.println(sqle.toString());}if (!isExist){JOptionPane.showMessageDialog(null, "用户名不存在或者密码不正确!");mainFrame.setEnable("else");}else{try {flag = rs.getString(4);//mainFrame.setEnable(rs.getString("Power").trim());if ("学生".equals(flag)){UserList UserListFrame = newUserList(name);//TeaList UserListFrame = newTeaList(name);Dimension FrameSize =UserListFrame.getPreferredSize();Dimension MainFrameSize = getSize();Point loc = getLocation();UserListFrame.setLocation((MainFrameSize.width - FrameSize.width) / 2+ loc.x,(MainFrameSize.height - FrameSize.height) / 2+ loc.y);UserListFrame.pack();UserListFrame.show();}else if("教师".equals(flag)){TeaList UserListFrame = newTeaList(name);Dimension FrameSize =UserListFrame.getPreferredSize();Dimension MainFrameSize = getSize();Point loc = getLocation();UserListFrame.setLocation((MainFrameSize.width - FrameSize.width) / 2+ loc.x,(MainFrameSize.height - FrameSize.height) / 2+ loc.y);UserListFrame.pack();UserListFrame.show();}elseif("管理员".equals(flag)){//newMainWindow().setEnable("管理员");mainFrame.setEnable("管理员");dispose();}db.closeConnection();this.dispose();}catch (SQLException sqle2){System.out.println(sqle2.toString());}Based on the J2ME class curriculum management system design andImplementationZhangWenTanAbstract:With the rapid development of our economy, market mechanism is ceaseless and perfect, the material information is becoming increasingly abundant. More and more of the goods from the seller's market into a buyer's market, fierce competition in the field of commercial.The class schedule system is a school management of students is the important part of curriculum arrangement, Good course arrangement system can guarantee that every student in normal school to arrange their own learning plan, Prevent individual student program errors, and some schools of education resources can not be fully used.In the preparation of the system before the software, I am in some colleges of Henan province and the school educational system for comparison and research, Find consulted a lotofinformation, and the school's educational administrators were investigated. After careful discussion and analysis, I of the school's academic course scheduling system is improved and the design. After the analysis, the system uses SQL2005 as background database, using MyEclipse as developing tool, System administrator, teacher, student information inquiries and other necessary functions, It has the advantages of simple operation, friendly interface, the system administrator more stable operation, applicable to the class schedule management.Keywords: Students; teachers' information query; administrator user management; database。