毕业设计(论文)-学生管理系统的设计和开发.doc_第1页
毕业设计(论文)-学生管理系统的设计和开发.doc_第2页
毕业设计(论文)-学生管理系统的设计和开发.doc_第3页
毕业设计(论文)-学生管理系统的设计和开发.doc_第4页
毕业设计(论文)-学生管理系统的设计和开发.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

浙江大学远程教育学院本科生毕业(设计)论文题 目 学生管理系统的设计与开发 专 业 计算机科学 学习中心 湖州 姓 名 学 号 指导教师 年 月 日摘 要随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。 本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统本系统主要用于学校学生信息管理。本系统主要功能有: (1)有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等。(2)学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。 (3)学生信息的修改。 (4)班级管理信息的查询(5)班级管理信息的修改。 关键词:学生管理系统 规范管理 功能目 录1. 开发背景42. 开发与运行环境52.1 系统开发环境52.2 系统运行环境53数据库设计.6SQL SERVER简介63.1E-R(实体-关系)图63.2 设计表的结构73.3 数据库的连接-JDBC9JDBC应用程序的结构9本作品与数据库连接的代码104 应用程序的设计114.1 需求分析114.2软件设计114.3模块的实现12用户登录12班级管理模块15课程管理模块17系统用户管理模块18结束语21致谢22参考文献231. 开发背景随着科学技术的不断提高,计算机技术也日渐成熟,其强大的功能已为人们所熟知,它已经进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的优点,例如:查询方便、存储量大、保密性好、成本低、可靠性高等,这些优点能够给各个学校的学生信息管理工作带来极大的方便。在每所学校中,许多管理工作(如:成绩录入、学生资料管理、学生期末综合测评、毕业班学生成绩审核打印.)都是由老师手工操作完成的,由于各种原因,导致在操作过程中出错的事常有发生,而且操作的过程非常复杂,操作的效率也很低,往往需要教师花很长的时间来完成各项管理工作,占用了老师较多的时间。学生管理系统是一项非常重要的工作,他负责整个学校的档案管理,交费管理,教务管理,教务工作者希望用计算机提高工作效率。在各个大中小学校用计算机管理学校的信息已经越来越普遍了。采用学生管理系统不仅可以接生人力物力,而且增强了学校资料的安全性,提高学校的管理能力。2. 开发与运行环境2.1 系统开发环境n 开发工具:MyEclispe Jbuilder n 开发语言:java n 数据库管理系统软件:Microsoft SQL Server 2005中文企业版n 操作系统:Windows Server 20032.2 系统运行环境n 操作系统:Windows XP / Windows 2000 / Windows Server 2003n 基础支撑:Java MyEclispen 数据库管理系统软件:Microsoft SQL Server 2005中文企业版n 显示器分辨率:最佳效果10247683. 数据库设计SQL SERVER简介SQL Server是微软公司开发的一个关系数据库管理系统,以Transact_SQL作为它的数据库查询和编程语言,它支持两种身份验证模式:Windows NT身份验证和SQL Server 身份验证。SQL Server可以在不同的操作平台上运行,支持多种不同类型的网络协议如TCP/IP、IPX/SPX、Apple Talk等。SQL Server在服务器端的软件运行平台是Windows NT、Windows9x,在客户端可以是Windows3.x、Windows NT、Windows9x,也可以采用其它厂商开发的系统如Unix、Apple Macintosh等。 微软的SQL Server是一项完美的客户/服务器系统。SQL Server需要安装在Windows NT的平台上,而Windows NT可以支持Intel 386,Power PC,MIPS,Alpha PC和RISC等平台,它使SQL Server具备足够的威力和功能。 3.1 E-R(实体-关系)图E-R图以图形的方式将数据库的整个逻辑结构表示出来。E-R图的组成包括:(1) 实体(用举行表示):指现实世界中具有区分其他食物的特征或属性并与其他实体有联系的对象。(2) 属性(用椭圆形表示):可理解为实体的特征。(3) 关系(用菱形表示):是两个或多个实体之间的联系。(4) 用直线来连接属性和实体集,也用来连接实体集和关系集。本设计的E-R图如下:入校日期成绩成绩教师汇总教师编号姓名职称院系学历性别学生取得专业性别班级地址政治面貌出生年月入学日期年龄学习课程课程编号课程名称学分指导教授姓名学号课程编号1mmn1nm1mn学号专业4.1 本设计的E-R图3.2 设计表的结构不同的记录组织在一起,就形成了数据库的“表”(Table),也可以说,表是实体的集合,是用来存储具体的数据的。 在制作本作品的数据库表的时候,我根据需要分别做了,学员信息管理表(Student)、课程管理表(Course)、成绩管理表(Scores)、班级管理表(Class)、系统用户管理表(Users)。下面举例说明作品中的几张表:(1) 学员信息管理表(Student)这张表中记录的是学员的基本信息,通过对这张表可以对学员的姓名、性别、生日、爱好、家庭地址等进行查询和录入。表4.2 学员管理系统表(Student)字段约束数据类型字符长度StuID主键varchar20StuNamenvarchar20Sexnvarchar2Birthdayvarchar15Favornvarchar50Addressnvarchar50Telephonevarchar20ClassID外键varchar10(2) 成绩管理表(Scores)这张表中记录的是学员编号、课程编号、成绩、录入日期。通过这张表老师可以清楚的了解每个学生的每门课程的成绩。表4.3 成绩管理表(Scores)字段约束数据类型字符长度StuID主键varchar20CourseId主键varchar20ScorefloatSdatedatetime(3)课程管理表(Course)中录入的是课程编号、课程名称、学期、老师。通过这个表我们可以清晰的知道某学生所学的课程的基本内容。表4.4 课程管理表(Course)字段约束数据类型字符长度CourseID主键varchar20CourseNamenarchar50Termvarchar50Teachernarchar50(4)班级管理表(Class)中记录的是班级编号、班级名称、老师、班级目标等信息,通过这张表我们可以清楚的了解到一个班级的基本情况。表4.5 班级管理表(Class)字段约束数据类型字符长度ClassID主键varchar10ClassNamevarchar50Teachernarchar50Tragetnarchar50Catchwordnarchar50Remarknarchar50(5)系统用户管理表(Users)中录入的是用户名、密码以及用户类型。通过这个表可以对用户进行有效的管理。表4.6系统用户管理表(Users)字段数据类型字符长度UserNamenarchar20Userwordsvarchar10UsertypeVarchar103.3 数据库的连接-JDBC Java数据库互连(JDBC,Java Database Connectivity)API是Sun Microsystems提供的Java API的一部分,它定义了一组API对象以及与数据库进行交互的方法。为了快速高效地访问数据库中的数据,Java应用程序使用了JDBC。虽然Java在其Java.io包中提供了丰富的类和接口,但主要的缺陷是,通过这些类和接口访问的数据是以流的形式表示的。因此,对于访问存储在外部数据提供的程序(如SQL Server、Oracle或Access)中的数据的所有Java应用程序而言,JDBC是必要的。JDBC应用程序的结构开发一个JDBC应用程序,基本需要一下步骤(以JDBC_ODBC驱动为例):(1) 为数据库创建一个数据源。(2) 加载将连接该数据源的驱动程序。(3) DriverManager类试图找到一个能够连接至URL中指定的数据库的驱动程序。(4) 一旦连接建立,就使用连接将SQL语句传送给他所连接的数据库。(5) 使用Statement对象可构建并执行SQL语句以执行对数据库的操作。 本作品与数据库连接的代码public class DBAccess /自定义公有的静态方法,jdbc连接sqlpublic static Connection getjdbcconn()Connection conn = null; try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);/创建连接conn = DriverManager.getConnection(jdbc:sqlserver:/localhost:0;databaseName=StuMsgMg,sa, 123456);System.out.println(数据库连接成功!); catch (ClassNotFoundException ex) System.out.println(数据库连接失败 + ex.getMessage();catch (SQLException ex1)System.out.println(数据库连接失败 + ex1.getMessage();return conn;4 应用程序的设计4.1 需求分析需求分析是软件设计中非常重要的一个环节,没有经过详细的需求分析就匆匆忙忙进行软件开发是注定要失败的。所以一定要花时间与用户进行沟通交流,详细了解客户到底需要软件做到什么。在沟通交流过程中也可以大致告诉用户软件可以做到些什么、是怎样做的。对用户提出的一些不切实际的需求一定要以合理的方式明确地拒绝。经双方讨论并明确的需求要以书面的形式签字确认。本设计选定的客户为温州第十一中学,所以要对该学校的相关信息进行深入细致的调查研究,收集整理相关数据资料,然后在进行必要的需求分析后确定设计方案,最后选择一种熟悉的开发工具设计学生管理系统。整个设计过程应遵循软件工程的要求进行,软件系统要求功能实用,界面简单友好。设计应具有如下基本功能:学生信息管理提供了学生信息的增删改查操作。课程管理提供课程信息的管理功能。成绩管理提供成绩程信息的管理功能班级管理提供班级的管理功能4.2 软件设计根据之前所收集到的资料以及对系统的需求分析所得,本设计将为六个模块进行实施,分别为:(1)主界面负责应用程序的主界面,由它调用其他模块。因此 应该具有操作性能好、界面清晰的特点,是用户能够很方便的找到所需功能 。根据功能需求和总体设计的结果,主模块应该包括信息管理,成绩管理,查询和统计。可以通过点击菜单想进入相应的功能模块。其中系统管理和帮助为保留项,为以后系统的升级打下基础。(2)信息管理模块此模块要完成的功能是人员信息管理,包括人员基本信息的添加、修改与删除,从数据库中查询,查看当前人员的成绩,以及切换到成绩管理。(3)成绩管理模块在成绩综合管理模块中,可以完成对信息的个种操作,包括添加、删除和修改,并可可通过成绩查询模块方便的、地查找出要编辑的信息,此处还可以查看当前人员的基本信息,并且切换到信息综合管理模块的界面。还可以按要求做出排序。(4)课程管理模块此模块主要用于添加、删除和修改学生所学的课程,因为学生每学期所学的课程有所区别。(5)查询模块人员查询用于从数据库中查找待操作的人员,可按三种方式查询,即人员姓名、学号和所在班级。成绩查询则可按照学号、各科成绩等关键字进行查询,同时也可以按照分数段进行查询。(6)统计模块人员统计模块主要完成的功能是按照人员的各种特征进行统计,并将结果输出到列表中。4.3 模块的实现用户登录想要进入这个学生信息管理系统必须要先登录,且登录的用户名及密码必须属实否则将系统将会自动跳出一个提示界面,若还没有注册的用户则可进行注册,之后方可登录。5.1 用户登录界面5.2 用户登录的错误提示以下一段代码为系统对用户在注册时出现的问题所做出的反映: /对注册时的问题有效处理 if (name != null & pwd != null & pwd1 != null& pwd1.length()!=0) if(pwd.length()16) JOptionPane.showMessageDialog(null,密码必须小于16位!); Pwd.requestFocus(); Pwd1.setText(); return; if (!(pwd.equals(pwd1) JOptionPane.showMessageDialog(null, 密码与上一次输入的不一致,请确认!, 系统提示, JOptionPane.QUESTION_MESSAGE, a); return; if (DBAccess.isExist(userName) JOptionPane.showMessageDialog(null, 抱歉!用户名已存在!请使用其他的用户名。, 系统提示, JOptionPane. INFORMATION_MESSAGE, a); txtName.requestFocus(); Pwd.setText(); Pwd1.setText(); return; Vector sysCount = new Vector(); sysCount = DBAccess.getvector(select * from SystemCount); 班级管理模块在此模块中实现对班级信息的录入、修改、查询等。同时我们还可以通过首条、下一条、上一条、尾条、导出这几个控件更加快捷的对信息进行查询或者删除。5.3 课程管理模块以下列出了课程管理模块中删除和添加两个控件的代码。/删除方法private void ClassMgDelete() int r = txtTable.getSelectedRow(); if (r 0) JOptionPane.showMessageDialog(null, 数据删除成功!_); cleanTxt(); dtm.removeRow(c); /添加方法 private void ClassMgInsert() /* if() for (int i = 0; i 0) JOptionPane.showMessageDialog(null, 添加成功); lockedTxr(); dtm.insertRow(0, v); ClassMgInsert.setIcon(g);课程管理模块课程管理系统,在这个系统里我们可以对课程的信息进行录入和修改,当然也可以通过输入课程编号或者课程名称等信息直接对课程进行查询。5.4课程管理模块以下一段代码为当我们搜索了数据之后,系统所给出的显示: /运用showDataTable()方法 showDataTable(); catch (Exception exception) exception.printStackTrace(); private void showDataText(int r) /输入行索引,显示指定行到文本框 Vector line = (Vector) data.get(r); /获取指定行数据 /构造一个Student对象 CourseMg stu = new CourseMg(line); txtCourseID.setText(stu.courseid); txtCourseName.setText(stu.coursename); cboTerm.setSelectedItem(stu.term); txtTeacher.setText(stu.teacher); private void showDataTable() /将数据显示到表格 /准备表格的标题 title.add(课程编号); title.add(课程名称); title.add(学期); title.add(任课老师); /准备数据 data = DBAccess.getvector(select * from Course); /填充数据到表格 dtm.setDataVector(data, title); table.getTableHeader().setFont(new java.awt.Font(Dialog, Font.PLAIN, 14); table.getTableHeader().setBackground(UIManager.getColor( InternalFrame.inactiveTitleForeground); 系统用户管理模块系统用户管理模块,在这个模块里我们实现对系统的管理,管理人员分为系统管理员、超级管理员、普通管理员三类,超级管理员可以决定用户的登陆身份,也可以修改系统中的一切信息,而普通用户和系统管理员则没有这样的权利。5.5 系统用户管理模块以下为本模块中权限设置的代码:/设置权限 private void Ed() if (userType.equals(普通用户) btnUpdate.setEnabled(false); btnDelete.setEnabled(false); if (userType.equals(系统管理员) btnUpdate.setEnabled(true); btnDelete.setEnabled(true); private void showTable() title.add(用户名);title.add(用户类型); /生成sql语句 String sql = select UserName,UserType from Users; data = DBAccess.getvector(sql); dtm.setDataVector(data, title); 结束语现在的各大学校学生人数不断增加,最终对学生各类信息工作的管理过程变得相当复杂,本系统力求最大限度地减轻工作人员的负担,保证录入、查询的准确、便捷,保证数据库信息的安全以及相关数据计算的自动化,使学生成绩管理工作简单化。本系统可以对学生的各类信息进行查询、录入、修改、删除等操作,操作起来也非常方便,消除了传统工作

温馨提示

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

评论

0/150

提交评论