学生成绩管理系统数据库设计书_第1页
学生成绩管理系统数据库设计书_第2页
学生成绩管理系统数据库设计书_第3页
学生成绩管理系统数据库设计书_第4页
学生成绩管理系统数据库设计书_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、学生成绩管理系统数据库设计书1、开发背景信息社会的高科技, 商品经济化的高效益, 使计算机的应用已普及到经济和社会生活的各个 领域。计算机虽然与人类的关系愈来愈密切, 还有人由于计算机操作不方便继续用手工劳动。 基 本上所有的具有一定数量数据的企事业单位或机关部门都开始使用计算机数据库来做管理。 当然 几乎所有学校也都已经在使用计算机管理数据的机制, 大大减少了学校学籍管理的工作量。 该课 程设计要求设计一个成绩管理的数据库系统, 数据库中要求包含学生的基本信息, 学校所有专业 信息,学校教师信息以及课程设置的信息。 同时还要设计它们之间的关系, 如学生与课程关系和 学生的成绩等, 最后还要对

2、一些数据进行查询, 如查询学生成绩的各种集合等。 我们通过该课程 设计,应该达到的目的是把数据库理论知识更加的巩固加深, 加强动手能力与实践能力, 学以致 用,与现实生活中的应用充分的结合起来。 为了适应现代社会人们高度强烈的时间观念, 成绩管 理系统软件为教学办公室带来了极大的方便。 通过操作手册, 使用者可以了解本软件的基本工作 原理。操作人员只需输入一些简单的汉字、数字,即可达到自己的目标。 现今学习成绩管理的繁 索给具有强烈时间观念的行政人员带来了诸多不便,教学办公室缺少一种完善的学习成绩软件, 为了对学生档案的管理方便,因此开发了本软件。 通过本系统软件,能帮助教研人员利用计算 机,

3、快速方便的对学生成绩管理进行管理、输入、输出、查找的所需操作,使散乱的人事档案能 够具体化、直观化、合理化。2、功能描述本系统是一个学生管理系统,主要应用于大学的学生管理。由于对系统的分析可能不够全 面,只能是模拟一下学生管理系统。 每个学生都有一个学号, 且没有相同的, 所以可以以学号为, 密码先使用默认的每个学生后 6 位数,这样,同学们就可以自行登陆学生管理系统了, 并可以对 密码进行更改。老师也要进行登陆,所以,还要给分配老师,密码,同样,老师可以自己更改密 码。输入,密码,无误后,并可登陆了。老师登陆后与学生登陆后有不同的权限。学生登陆后, 可以修改自己的登陆密码, 可以查看个人信息

4、, 考完试后查看自己的考试成绩。 而老师则可以把 学生的成绩输入进来, 以便学生查询自己的考试成绩, 老师也可查看学生的学籍, 当然也可以修 改自己的密码。另外,本系统还设立了唯一的一个管理员,他有的权限最高,可以对此系统所有 用户、所有学生学籍以及学生成绩进行增删改查四种操作。目前,对需求进行分析, 能想到的基本功能就这些了,这些功能基本能够实现学生管理, 对 于系统的不足,我们将不断对其进行改进。3、流程分析点击添加ANl保存昇J1结束P图3-1添加功能结构图图3-2修改功能结构图输入学号4 P-I输入课程名P删除成绩屮f 输入学号3删除成绩删除用户信息,结束“图3-3删除成绩功能结构图结

5、束4图3-4删除学籍功能结构图图3-5删除用户功能结构图数据字典用户表No=用户名Password=密码Rank=级别学生信息表Sn。=学号Sna=Class=班级Birth=出生日期Sex=性别Add=地址Tel=学生成绩表Sn 0=学号Sna=Course=分数Term =学期Grade=年级Note=备注教师表Tn 0=教师号Tna=教师Course=所教课程名程序结构管理员界面4、概念模型设计根据系统数据流图和数据字典,得出系统的总体概念模型(E-R)如图2所示5. 逻辑模型设计和优化根据系统的总体概念设计模型、E-R图向关系模式的转化规则和数据库的式理论,得到系统优化后的逻辑模型,如

6、下表所示。用户表:user字段名类型是否Null;大小说明novarcharNo50用户名passwordvarcharYes50用户密码rankintYes4用户等级学生学籍表:student字段名类型是否Null大小说明snovarcharNo50学号snavarcharYes50classvarcharYes50班级birthCharYes10出生年月sexCharYes10性别addvarcharYes50家庭住址telcharYes50statecharYes10备注学生成绩表:score字段名类型是否Null大小说明snovarcharNo50学号snavarcharYes50co

7、ursevarcharNo50课程名termintYes10学期gradefloatYes:8分数no tesIntYes4备注教师表:teacher字段名类型是否Null大小说明tnovarcharNor 50教师工号tn amecharYes10教师coursevarcharNo50所教课程名6. 系统的实施运行界面1登陆界面。系统运行后即可看到此界面,用户类型有学生、老师和管理员三种,默认为学生。若是其 他用户类型登陆就先点击下拉条选择相应类型,然后输入用户名和密码,验证正确后就可进 入其相应界面了。图6-1登陆界面2管理员相关功能界面管理员的权限最高,可以对此系统所有用户、所有学生学籍

8、以及学生成绩进行增删改查四种 操作。图6-2管理员相关功能界面(1)图6-2管理员相关功能界面(2)图6-2管理员相关功能界面(3)3、学生登录界面4、学生修改密码界面学生登陆后点击账号菜单中的更改密码选项即可在此界面下进行修改密码操作了Student图6-3学生修改密码界面5、管理员添加学生成绩界面管理员登陆后点击成绩管理菜单中的添加成绩选项就可进行输入成绩的操作鼎户昔理 ¥輪鑫理 点堵伶即 旭as学档; nt霄;上书:TW1 ;畫亍工:静定m泊图6-4管理员添加学生成绩界面6、教师添加学生成绩界面教师登陆后点击成绩菜单中的添加成绩选项就可进行输入成绩的操作图6-5老师添加学生成绩

9、界面7、应用程序设计代码public void insertuserwindow()int i;String userProperty=" 请输入用户名 :"," 请输入密码 :"," 请输入等级 :" for(i=0;i<3;i+)userInsertLabeli=new JLabel(userPropertyi); userInsertTexti=new JPasswordField(50); c.add(userInsertLabeli);userInsertLabeli.setBounds(50,i*50+50,110,

10、30); c.add(userInsertTexti);userInsertTexti.setBounds(170,i*50+50, 130, 30);c.add(userConfirmButton);userConfirmButton.setBounds(80, 220, 60, 40); c.add(userCancelButton);userCancelButton.setBounds(180, 220, 60, 40);public void insertstudentwindow()int i;String studentProperty=" 学号 :",&quo

11、t;:"," 班级 :"," 生日: "," 性别: "," 地址 "," : "," 备注: "for(i=0;i<8;i+)studentInsertLabeli=new JLabel(studentPropertyi); studentInsertTexti=new JTextField(50);c.add(studentInsertLabeli);studentInsertLabeli.setBounds(50,i*50+50,110,30); c.a

12、dd(studentInsertTexti);studentInsertTexti.setBounds(170,i*50+50, 130, 30);c.add(studentConfirmButton);studentConfirmButton.setBounds(80, (i+1)*50+50, 60, 40); c.add(studentCancelButton);studentCancelButton.setBounds(180, (i+1)*50+50, 60, 40);public void insertscorewindow()int i;String scoreProperty=

13、" 学号 :",":"," 课程名 :"," 学期: "," 成绩: "," 备注: " for(i=0;i<6;i+)scoreInsertLabeli=new JLabel(scorePropertyi);scoreInsertTexti=new JTextField(50); c.add(scoreInsertLabeli);scoreInsertLabeli.setBounds(50,i*50+50,110,30); c.add(scoreInsertTexti

14、);scoreInsertTexti.setBounds(170,i*50+50, 130, 30);c.add(scoreConfirmButton);scoreConfirmButton.setBounds(80, 400, 60, 40);150,usersstudentc.add(scoreCancelButton);scoreCancelButton.setBounds(180, 400, 60, 40);public void modifystudentwindow() c.add(modifyStudentLabel);modifyStudentLabel.setBounds(5

15、0,50,200,30); c.add(modifyStudentText);modifyStudentText.setBounds(300, 50, 130, 30);c.add(modifyStudentConfirmButton);modifyStudentConfirmButton.setBounds(100, 60, 40);c.add(modifyStudentCancelButton);modifyStudentCancelButton.setBounds(250, 150, 60, 40);/ 当登陆时获取其用户名,在此处写 sql 语句修改其密码;public void us

16、erButton()try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotFoundException ce) System.out.println("SQLException:"+ce.getMessage(); tryConnection con = DriverManager.getConnection("jdbc:odbc:xs");Statement stmt = con.createStatement(); stmt.executeUpdate(

17、"insert into values('"+userInsertText0.getText()+"','"+userInsertText1.getText()+"','"+Integer.parse Int(userInsertText2.getText()+"')");stmt.close();con.close();catch (SQLException e) System.out.println("SQLException:"+e.getM

18、essage(); public void studentButton()try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotFoundException ce) System.out.println("SQLException:"+ce.getMessage(); tryConnection con = DriverManager.getConnection("jdbc:odbc:xs");Statement stmt = con.createState

19、ment(); stmt.executeUpdate("insert into values('"+studentInsertText0.getText()+"','"+studentInsertText1.getText()+"','"+studentInsertText2.getText()+"','"+studentInsertText3.getText()+"','"+studentInsertText4.get T

20、ext()+"','"+studentInsertText5.getText()+"','"+studentInsertText6.getText()+"','"+stud entInsertText7.getText()+"')");stmt.close();con.close();catch (SQLException e) System.out.println("SQLException:"+e.getMessage(); publi

21、c void scoreButton()try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotFoundException ce) System.out.println("SQLException:"+ce.getMessage(); tryConnection con = DriverManager.getConnection("jdbc:odbc:xs");Statement stmt = con.createStatement();stmt.execu

22、teUpdate("insert into score values('"+scoreInsertText0.getText()+"','"+scoreInsertText1.getText()+"','"+scoreInsert Text2.getText()+"','"+scoreInsertText3.getText()+"','"+Float.parseFloat(scoreInsertText 4.getText(

23、)+"','"+Integer.parseInt(scoreInsertText5.getText()+"')");stmt.close();con.close();catch (SQLException e) System.out.println("SQLException:"+e.getMessage(); public void getSno(int a) / 修改功能核心代码int i,b=0;b=a;/ 此处要删除原先的记录if(b=0) insertstudentwindow(); / 调出学生学籍

24、记录窗口String sno = modifyStudentText.getText(); modifyStudentText.setText(" "); if(modifyStudentText!=null) try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotFoundException ce) System.out.println("SQLException:" ce.getMessage(); try Connection con = Driver

25、Manager.getConnection("jdbc:odbc:xs");Statement stmt = con.createStatement();String sql;sql="select * from student where sno='"+sno+"'"ResultSet rs1;rs1=stmt.executeQuery(sql); while(rs1.next()for(i=0;i<8;i+) studentInsertTexti.setText(rs1.getString(i+1) ; rs

26、1.close(); stmt.close(); con.close();catch (SQLException f) System.out.println("SQLException:" + f.getMessage(); if(b=1) insertscorewindow();String sno = modifyStudentText.getText();modifyStudentText.setText(" "); if(modifyStudentText!=null) try Class.forName("sun.jdbc.odbc.

27、JdbcOdbcDriver"); catch (ClassNotFoundException ce) System.out.println("SQLException:"+ce.getMessage(); try Connection con = DriverManager.getConnection("jdbc:odbc:xs");Statement stmt = con.createStatement();String sql;sql="select * from score where sno='"+sno+

28、"'"ResultSet rs2;rs2=stmt.executeQuery(sql); while(rs2.next()for(i=0;i<6;i+) scoreInsertTexti.setText(rs2.getString(i+1) ; rs2.close(); stmt.close(); con.close();catch (SQLException f) System.out.println("SQLException:" + f.getMessage(); if(b=2) insertuserwindow();String n

29、o = modifyStudentText.getText();modifyStudentText.setText(" "); if(modifyStudentText!=null) try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotFoundException ce) System.out.println("SQLException:" ce.getMessage(); try Connection con = DriverManager.getCon

30、nection("jdbc:odbc:xs");Statement stmt = con.createStatement(); String sql;sql="select * from users where no='"+no+"'"ResultSet rs3;rs3=stmt.executeQuery(sql); while(rs3.next()for(i=0;i<3;i+) userInsertTexti.setText(rs3.getString(i+1) ; rs3.close(); stmt.clos

31、e(); con.close();catch (SQLException f) System.out.println("SQLException:" + f.getMessage(); public void pwordButton()try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotFoundException ce) System.out.println("SQLException:"+ce.getMessage(); tryConnection c

32、on = DriverManager.getConnection("jdbc:odbc:xs");Statement stmt = con.createStatement();catch (SQLException e) System.out.println("SQLException:"+e.getMessage(); public void insertscore()int i;String property=" 学号 ",""," 课程名 "," 学期 ","

33、 分数 "," 备注 "for(i=0;i<6;i+)scorelabi=new JLabel(propertyi);scoretexti=new JTextField(50);c.add(scorelabi);scorelabi.setBounds(50,i*50+50,110,30); c.add(scoretexti);scoretexti.setBounds(170,i*50+50, 130, 30);c.add(scoreConfirmButton);scoreConfirmButton.setBounds(80, 400, 60, 40); c.add(scoreCancelButton);scoreCancelButton.setBounds(180, 400, 60, 40);public void scoreButton()try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotFoundException ce) System.out.println("SQLException:"+ce.g

温馨提示

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

最新文档

评论

0/150

提交评论