学生管理系统设计和开发终搞_第1页
学生管理系统设计和开发终搞_第2页
学生管理系统设计和开发终搞_第3页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、浙江大学远程教育学院本科生毕业(设计)论文题 目学生管理系统的设计与开发专 业 计算机科学学习中心湖州 .姓 名 郑天祥学 号 D20701101002指导教师张彤摘要随着学校的规模不断扩大, 学生数量急剧增加, 有关学生的各种信息量也成 倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。 通 过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删 除等,从而减少管理方面的工作量。本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统 化、规范化和自动化, 其主要任务是用计算机对学生各种信息进行日常管理, 如 查询、修改 、增加、删除,另外还考虑到学

2、生选课,针对这些要求设计了学生 信息管理系统本系统主要用于学校学生信息管理。本系统主要功能有:(1) 有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成(2) 学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。(3) 学生信息的修改。(4) 班级管理信息的查询(5) 班级管理信息的修改。关键词: 学生管理系统 规范管理 功能目录1. 开发背景 4.2. 开发与运行环境 5.2.1 系统开发环境 5.2.2 系统运行环境 5.3数据库设计 . 6.SQL SERVE简介6.3.1 E-R (实体-关系)图6.3.2 设计表的结构 7.3.3 数据库的连接 -JDB

3、C9.JDBC应用程序的结构9.本作品与数据库连接的代码 1.04应用程序的设计 需求分析 软件设计 模块的实现 1.2.用户登录 1.2.班级管理模块 1.5.课程管理模块 1.7.系统用户管理模块 1.8.结束语 2.1.致谢 2.2.参考文献 2.3.1. 开发背景随着科学技术的不断提高, 计算机技术也日渐成熟, 其强大的功能已为人们 所熟知,它已经进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算 机应用的一部分, 使用计算机对学生成绩信息进行管理, 有着手工管理所无法比 拟的优点,例如:查询方便、存储量大、保密性好、成本低、可靠

4、性高等,这些 优点能够给各个学校的学生信息管理工作带来极大的方便。在每所学校中,许多管理工作(如:成绩录入、学生资料管理、学生期末综 合测评、毕业班学生成绩审核打印 .)都是由老师手工操作完成的,由于各种原 因,导致在操作过程中出错的事常有发生, 而且操作的过程非常复杂, 操作的效 率也很低, 往往需要教师花很长的时间来完成各项管理工作, 占用了老师较多的 时间。学生管理系统是一项非常重要的工作 , 他负责整个学校的档案管理 , 交费管 理,教务管理 ,教务工作者希望用计算机提高工作效率。 在各个大中小学校用计算 机管理学校的信息已经越来越普遍了。 采用学生管理系统不仅可以接生人力物力 而且增

5、强了学校资料的安全性 , 提高学校的管理能力。2. 开发与运行环境2.1 系统开发环境开发工具: MyEclispe Jbuilder开发语言: java数据库管理系统软件: Microsoft SQL Server 2005 中文企业版操作系统: Windows Server 20032.2 系统运行环境操作系统: Windows XP / Windows 2000 / Windows Server 2003 基础支撑: Java MyEclispe数据库管理系统软件: Microsoft SQL Server 2005 中文企业版 显示器分辨率:最佳效果1024 >7683. 数据库

6、设计SQL SERVEF简介SQL Server 是微软公司开发的一个关系数据库管理系统,以 Transact_SQL 作为它的数据库查询和编程语言,它支持两种身份验证模式: Win dows NT身份 验证和 SQL Server 身份验证。SQL Server 可以在不同的操作平台上运行,支持多种不同类型的网络协议 如TCP/IP、IPX/SPX、Apple Talk 等。SQL Server在服务器端的软件运行平台 是 WindowsNT Windows9x 在客户端可以是 Windows3.x、WindowsNT Windows9x, 也可以采用其它厂商开发的系统如 Unix、Appl

7、e Macintosh 等。微软的 SQL Server 是一项完美的客户 /服务器系统。 SQL Server 需要安装 在 Win dowsNT 的平台上,而 Win dowsNT 可以支持 In tel 386,Power PC MIPS, Alpha PC和RISC等平台,它使SQL Server具备足够的威力和功能。3.1 E-R (实体 - 关系)图E-R 图以图形的方式将数据库的整个逻辑结构表示出来。 E-R 图的组成包括:(1) 实体(用举行表示) :指现实世界中具有区分其他食物的特征或属性并与其 他实体有联系的对象。(2) 属性(用椭圆形表示) :可理解为实体的特征。(3)

8、关系(用菱形表示) :是两个或多个实体之间的联系。(4) 用直线来连接属性和实体集,也用来连接实体集和关系集。本设计的 E-R 图如下:学号成绩课程编号入校日期院系班级专业学号姓名职称学历出生年月姓名教师编号入学日期性别性别专业年龄地址政治面貌指导1学生nmm汇总1教授学习nn课程m取得学分课程编号课程名称m1,教师成绩4.1本设计的E-R图3.2 设计表的结构不同的记录组织在一起,就形成了数据库的“表”(Table),也可以说,表是实体的集合,是用来存储具体的数据的。在制作本作品的数据库表的时候,我根据需要分别做了 ,学员信息管理表 (Student)、课程管理表(Course)、成绩管理表

9、(Score®、班级管理表(Class)、 系统用户管理表(Users)。F面举例说明作品中的几张表:(1)学员信息管理表(Student)这张表中记录的是学员的基本信息,通过对 这张表可以对学员的姓名、性别、生日、爱好、家庭地址等进行查询和录入。表4.2学员管理系统表(Studen)字段约束数据类型字符长度StulD主键varchar20StuNamenv archar20Sexnv archar2Birthdayvarchar15Favornv archar50Addressnv archar50Teleph onevarchar20ClassID外键varchar10成绩管理表

10、(Scores这张表中记录的是学员编号、 课程编号、成绩、 录入日期。通过这张表老师可以清楚的了解每个学生的每门课程的成绩。表4.3成绩管理表(Scores)字段约束数据类型字符长度StuID主键varchar20CourseId主键varchar20ScorefloatSdatedatetime(3)课程管理表(Course)中录入的是课程编号、课程名称、学期、老师 通过这个表我们可以清晰的知道某学生所学的课程的基本内容。表4.4课程管理表(Course)字段约束数据类型字符长度CourseID主键varchar20CourseNamen archar50Termvarchar50Teach

11、ern archar50班级管理表(Class)中记录的是班级编号、班级名称、老师、班级目标等信息,通过这张表我们可以清楚的了解到一个班级的基本情况表4.5班级管理表(Class)字段约束数据类型字符长度ClassID主键varchar10ClassNamevarchar50Teachern archar50Tragetn archar50Catchwordn archar50Remarkn archar50(5)系统用户管理表(Users)中录入的是用户名、密码以及用户类型。通过 这个表可以对用户进行有效的管理。表4.6系统用户管理表(Users)字段数据类型字符长度UserNamen ar

12、char20Userwordsvarchar10UsertypeVarchar103.3 数据库的连接-JDBCJava数据库互连(JDBC,Java Database Connectivity)API 是 Sun Microsystems 提供的Java API的一部分,它定义了一组 API对象以及与数据库进行交互的方法。为了快速高效地访问数据库中的数据,Java应用程序使用了 JDBC。虽然Java在其Java.io包中提供了丰富 的类和接口,但主要的缺陷是,通过这些类和接口访问的数据是以流的形式表示的。因此, 对于访问存储在外部数据提供的程序(如SQL Server、Oracle或Acc

13、ess)中的数据的所有Java应用程序而言,JDBC是必要的。JDBC应用程序的结构开发一个JDBC应用程序,基本需要一下步骤(以 JDBC_ODBC驱动为例):(1)为数据库创建一个数据源。2) 加载将连接该数据源的驱动程序。3) DriverManager 类试图找到一个能够连接至 URL 中指定的数据库的驱动程 序。4) 一旦连接建立,就使用连接将 SQL 语句传送给他所连接的数据库。5) 使用 Statement 对象可构建并执行 SQL 语句以执行对数据库的操作。本作品与数据库连接的代码public class DBAccess / 自定义公有的静态方法, jdbc 连接 sqlpu

14、blic 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(&quo

15、t; 数据库连接成功! ");catch (ClassNotFoundException ex)System.out.println(" 数据库连接失败 " + ex.getMessage();catch (SQLException ex1)System.out.println(" 数据库连接失败 " + ex1.getMessage();return conn;4 应用程序的设计4.1 需求分析需求分析是软件设计中非常重要的一个环节, 没有经过详细的需求分析就匆匆忙忙进行 软件开发是注定要失败的。 所以一定要花时间与用户进行沟通交流, 详细了

16、解客户到底需要 软件做到什么。在沟通交流过程中也可以大致告诉用户软件可以做到些什么、是怎样做的。 对用户提出的一些不切实际的需求一定要以合理的方式明确地拒绝。 经双方讨论并明确的需 求要以书面的形式签字确认。本设计选定的客户为温州第十一中学, 所以要对该学校的相关信息进行深入 细致的调查研究, 收集整理相关数据资料, 然后在进行必要的需求分析后确定设 计方案,最后选择一种熟悉的开发工具设计学生管理系统。 整个设计过程应遵循 软件工程的要求进行, 软件系统要求功能实用, 界面简单友好。 设计应具有如下 基本功能: 学生信息管理提供了学生信息的增删改查操作。 课程管理提供课程信息的管理功能。 成绩

17、管理提供成绩程信息的管理功能 班级管理提供班级的管理功能4.2 软件设计根据之前所收集到的资料以及对系统的需求分析所得, 本设计将为六个模块 进行实施,分别为:(1) 主界面负责应用程序的主界面,由它调用其他模块。因此 应该具有操作性能好、 界面清晰的特点,是用户能够很方便的找到所需功能 。根据功能需求和总体设计的结果, 主模块应该包括信息管理, 成绩管理, 查 询和统计。 可以通过点击菜单想进入相应的功能模块。 其中系统管理和帮助为保 留项,为以后系统的升级打下基础。(2) 信息管理模块此模块要完成的功能是人员信息管理, 包括人员基本信息的添加、 修改与删 除,从数据库中查询,查看当前人员的

18、成绩,以及切换到成绩管理。(3) 成绩管理模块在成绩综合管理模块中, 可以完成对信息的个种操作, 包括添加、删除和修 改,并可可通过成绩查询模块方便的、 地查找出要编辑的信息, 此处还可以查看 当前人员的基本信息, 并且切换到信息综合管理模块的界面。 还可以按要求做出 排序。(4) 课程管理模块此模块主要用于添加、 删除和修改学生所学的课程, 因为学生每学期所学的 课程有所区别。(5) 查询模块人员查询用于从数据库中查找待操作的人员, 可按三种方式查询, 即人员姓 名、学号和所在班级。成绩查询则可按照学号、 各科成绩等关键字进行查询, 同时也可以按照分数 段进行查询。(6) 统计模块 人员统计

19、模块主要完成的功能是按照人员的各种特征进行统计, 并将结果输 出到列表中。4.3 模块的实现用户登录想要进入这个学生信息管理系统必须要先登录, 且登录的用户名及密码必须 属实否则将系统将会自动跳出一个提示界面,若还没有注册的用户则可进行注 册,之后方可登录。#员信息管幾统整录一 取消 Ji#'5.1用户登录界面5.2用户登录的错误提示以下一段代码为系统对用户在注册时出现的问题所做出的反映:对注册时的问题有效处理if (n ame != n ull && pwd != n ull && pwdl != n ull&& pwdl.le ngt

20、h()!=O) if(pwd.le ngth()<6)JOptio nPan e.showMessageDialog( null,密码至少为六位数以上");Pwd.requestFocus();Pwd1.setText(""); return; if(pwd.length()>16)JOptionPane.showMessageDialog(null,密码必须小于 16 位!");Pwd.requestFocus();Pwd1.setText("");return;if (!(pwd.equals(pwd1) JOptio

21、nPane.showMessageDialog(null, 密" 码与上一次输入的不 一致,请确认! ", "系统提示 ",JOptionPane.QUESTION_MESSAGE, a);return;if (DBAccess.isExist(userName) JOptionPane.showMessageDialog(null, 抱" 歉!用户名已存在!请使用其他的用户名。 "," 系统提示 ",JOptionPane.INFORMATION_MESSAGE,a); txtName.requestFocus(

22、); Pwd.setText("");Pwd1.setText("");return;Vector sysCo unt = new Vector();sysCo unt = DBAccess.getvector("select * from SystemCo un t");班级管理模块在此模块中实现对班级信息的录入、 修改、查询等。同时我们还可以通过首 条、下一条、上一条、尾条、导出这几个控件更加快捷的对信息进行查询或者删 除。x丈件控作示汁退出现在时间:2009-4-306:38:06学员仁息它理系竦口号:备注:IPIi创新刚起步剧

23、新班级编号T100T102T62TB5T75T79T30T0;1T85T0;7T39T92班级名称06012210601222060122306012240601225060122606012270601223070122207012230701224班主任班皴目标口号刘罗黄红輕嫌虹不细道 不知道 1¥ 雾力工作 优秀学生钻硏优秀学兰进取优秀学生团结拼搏我们在充电哈哈哈把种子播没有第二优;蚕学生求实0上一和 $0 中璃世便用学员% ra 备注aw利 新岗位新. 我di正在5.3课程管理模块以下列出了课程管理模块中删除和添加两个控件的代码删除方法private void ClassMg

24、Delete() int r = txtTable.getSelectedRow();if (r < 0) JOptionPane.showMessageDialog(null, 请" 选中要删除的行 "); else int c = txtTable.getSelectedRow();String s = txtClassId.getText();JOptionPane.showMessageDialog(null,"你确认要删除"+ s + " 的信息吗? ");String st = txtTable.getValueAt

25、(c, 0).toString(); /产生删除的 sql 语句String sql = "delete from Class where ClassID='" + st +IIIJ/* String sql1 = "delete from student where ClassID='" + st +IIIJint count1=DBAccess.SQL(sql1);*/int count = DBAccess.SQL(sql);if (count > 0) JOptionPane.showMessageDialog(null,

26、" 数 据 删 除 成 功 !A_A");cleanTxt(); dtm.removeRow(c);/添加方法private void ClassMgInsert() /* if()for (int i = 0; i < txtClassId.getText().length(); i+) txtClassId.getText().indexOf(" ",i);*/Vector v = new Vector();v.add(txtClassId.getText();v.add(txtClassname.getText();v.add(txtTeac

27、her.getText();v.add(txtTarget.getText();v.add(txtCatchword.getText();v.add(txtRemark.getText();if (v.get(0).toString().length() = 0) JOptionPane.showMessageDialog(null, 班" 级编号不能为空 "); return; else if (v.get(1).toString().length() = 0) JOptionPane.showMessageDialog(null, 班" 级名称不能为空 &qu

28、ot;); return; /else if(v.get(0).toString().indexOf(st)Stri ng sql = "in sert Class values(?,?,?,?,?,?)" int cou = DBAccess.SQL(sql, v);if (cou > 0) JOptionPane.showMessageDialog(null,添加成功"); lockedTxr();dtm.i nsertRow(0, v);ClassMg In sert.setIc on( g);课程管理模块课程管理系统,在这个系统里我们可以对课程的信息

29、进行录入和修改,当然也可以通过输入课程编号或者课程名称等信息直接对课程进行查询。5.4课程管理模块以下一段代码为当我们搜索了数据之后,系统所给出的显示: /运用 showDataTable(方法showDataTable(); catch (Exceptio n excepti on) exceptio n.pri ntStackTrace();private void showDataText(int r) / 输入行索引,显示指定行到文本框Vector line = (Vector) data.get(r); /获取指定行数据/构造一个 Student 对象CourseMg stu = n

30、ew 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.a

31、dd("任课老师");/准备数据data = DBAccess.getvector("select * from Course"); /填充数据到表格dtm.setDataVector(data, title);table.getTableHeader().setFont(newjava.awt.Font("Dialog",Font.PLAIN,14); table.getTableHeader().setBackground(UIManager.getColor( "InternalFrame.inactiveTitleF

32、oreground");系统用户管理模块系统用户管理模块, 在这个模块里我们实现对系统的管理, 管理人员分为系统管理员、 超级 管理员、 普通管理员三类, 超级管理员可以决定用户的登陆身份, 也可以修改系统中的一切 信息,而普通用户和系统管理员则没有这样的权利 。5.5系统用户管理模块以下为本模块中权限设置的代码:/设置权限private void Ed() if (userType.equals(” 普通用户")btnU pdate.setE nabled(false);btn Delete.setE nabled(false);if (userType.equals(” 系统管理员")btnU pdate.setE nabled(true); btn Delete.setE nabled(true);private void showTable() title.add("用户名");title.add(" 用户类型 ");/生成sql语句String sql = "select UserName,UserType from Users"data = DBAccess.getvector(sql); dtm.setDataVe

温馨提示

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

评论

0/150

提交评论