已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生成绩管理系统数据库设计书 1、开发背景信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。基本上所有的具有一定数量数据的企事业单位或机关部门都开始使用计算机数据库来做管理。当然几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学籍管理的工作量。该课程设计要求设计一个成绩管理的数据库系统,数据库中要求包含学生的基本信息,学校所有专业信息,学校教师信息以及课程设置的信息。同时还要设计它们之间的关系,如学生与课程关系和学生的成绩等,最后还要对一些数据进行查询,如查询学生成绩的各种集合等。我们通过该课程设计,应该达到的目的是把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。为了适应现代社会人们高度强烈的时间观念,成绩管理系统软件为教学办公室带来了极大的方便。通过操作手册,使用者可以了解本软件的基本工作原理。操作人员只需输入一些简单的汉字、数字,即可达到自己的目标。现今学习成绩管理的繁索给具有强烈时间观念的行政人员带来了诸多不便,教学办公室缺少一种完善的学习成绩软件,为了对学生档案的管理方便,因此开发了本软件。 通过本系统软件,能帮助教研人员利用计算机,快速方便的对学生成绩管理进行管理、输入、输出、查找的所需操作,使散乱的人事档案能够具体化、直观化、合理化。2、功能描述本系统是一个学生管理系统,主要应用于大学的学生管理。由于对系统的分析可能不够全面,只能是模拟一下学生管理系统。每个学生都有一个学号,且没有相同的,所以可以以学号为帐号,密码先使用默认的每个学生身份证后6位数,这样,同学们就可以自行登陆学生管理系统了,并可以对密码进行更改。老师也要进行登陆,所以,还要给分配老师帐号,密码,同样,老师可以自己更改密码。输入帐号,密码,无误后,并可登陆了。老师登陆后与学生登陆后有不同的权限。学生登陆后,可以修改自己的登陆密码,可以查看个人信息,考完试后查看自己的考试成绩。而老师则可以把学生的成绩输入进来,以便学生查询自己的考试成绩,老师也可查看学生的学籍,当然也可以修改自己的帐号密码。另外,本系统还设立了唯一的一个管理员,他有的权限最高,可以对此系统所有用户、所有学生学籍以及学生成绩进行增删改查四种操作。目前,对需求进行分析,能想到的基本功能就这些了,这些功能基本能够实现学生管理,对于系统的不足,我们将不断对其进行改进。3、流程分析 图3-1 添加功能结构图 图3-2 修改功能结构图 图3-3 删除成绩功能结构图 图3-4 删除学籍功能结构图YN是否相等YYN输入帐号是否存在?N是否为管理员删除成绩删除学籍删除用户信息结束 图3-5 删除用户功能结构图数据字典用户表No=用户名Password=密码Rank=级别学生信息表Sno=学号Sna=姓名Class=班级Birth=出生日期Sex=性别Add=地址Tel=电话学生成绩表Sno=学号Sna=姓名Course=分数Term=学期Grade=年级Note=备注教师表Tno=教师号Tna=教师姓名Course=所教课程名程序结构管理员界面老师界面学生界面用户登陆界面管理员界面用户管理学籍管理成绩管理 注销添加用户删除用户查找用户信息修改用户信息添加学生学籍删除学生学籍查看学生学籍修改学生学籍添加学生成绩删除学生成绩斐然查看学生成绩斐然修改学生成绩返回登录界面教师界面修改密码添加成绩查看成绩查看学生学籍返回登录界面学生界面查看学籍返回登录界面修改密码查看成绩4、概念模型设计根据系统数据流图和数据字典,得出系统的总体概念模型(E-R)如图2所示。用户用户账号密码用户级别属于学生1课程选修m1n学号姓名性别地址电话号码成绩简历班级号出生年月学期备注课程名图2 系统的总体概念模型5. 逻辑模型设计和优化根据系统的总体概念设计模型、E-R图向关系模式的转化规则和数据库的范式理论,得到系统优化后的逻辑模型,如下表所示。用户表:user字段名类型是否Null大小说明novarcharNo50用户名passwordvarcharYes50用户密码rankintYes4用户等级学生学籍表:student字段名类型是否Null大小说明snovarcharNo50学号snavarcharYes50姓名classvarcharYes50班级birthCharYes10出生年月sexCharYes10性别addvarcharYes50家庭住址telcharYes50电话号码statecharYes10备注学生成绩表:score字段名类型是否Null大小说明snovarcharNo50学号snavarchar Yes50姓名coursevarcharNo50课程名termintYes10学期gradefloatYes8分数notesInt Yes4备注教师表:teacher字段名 类型是否Null大小说明tnovarcharNo50教师工号tnamecharYes10教师姓名coursevarcharNo50所教课程名6. 系统的实施运行界面1、登陆界面。系统运行后即可看到此界面,用户类型有学生、老师和管理员三种,默认为学生。若是其他用户类型登陆就先点击下拉条选择相应类型,然后输入用户名和密码,验证正确后就可进入其相应界面了。 图6-1 登陆界面2、管理员相关功能界面管理员的权限最高,可以对此系统所有用户、所有学生学籍以及学生成绩进行增删改查四种操作。 图6-2 管理员相关功能界面(1) 图6-2 管理员相关功能界面(2) 图6-2 管理员相关功能界面(3)3、学生登录界面4、学生修改密码界面 学生登陆后点击账号菜单中的更改密码选项即可在此界面下进行修改密码操作了。 图6-3 学生修改密码界面5、管理员添加学生成绩界面 管理员登陆后点击成绩管理菜单中的添加成绩选项就可进行输入成绩的操作。 图6-4 管理员添加学生成绩界面6、教师添加学生成绩界面 教师登陆后点击成绩菜单中的添加成绩选项就可进行输入成绩的操作。 图6-5 老师添加学生成绩界面7、应用程序设计代码public void insertuserwindow()int i; String userProperty=请输入用户名:,请输入密码:,请输入等级:; for(i=0;i3;i+) userInsertLabeli=new JLabel(userPropertyi); userInsertTexti=new JPasswordField(50); c.add(userInsertLabeli);userInsertLabeli.setBounds(50,i*50+50,110,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=学号:,姓名:,班级:,生日:,性别:,地址,电话:,备注:; for(i=0;i8;i+) studentInsertLabeli=new JLabel(studentPropertyi); studentInsertTexti=new JTextField(50); c.add(studentInsertLabeli);studentInsertLabeli.setBounds(50,i*50+50,110,30); c.add(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=学号:,姓名:,课程名:,学期:,成绩:,备注:; for(i=0;i6;i+) scoreInsertLabeli=new JLabel(scorePropertyi); scoreInsertTexti=new JTextField(50); c.add(scoreInsertLabeli);scoreInsertLabeli.setBounds(50,i*50+50,110,30); c.add(scoreInsertTexti);scoreInsertTexti.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 modifystudentwindow() c.add(modifyStudentLabel);modifyStudentLabel.setBounds(50,50,200,30); c.add(modifyStudentText);modifyStudentText.setBounds(300, 50, 130, 30); c.add(modifyStudentConfirmButton);modifyStudentConfirmButton.setBounds(100, 150, 60, 40); c.add(modifyStudentCancelButton);modifyStudentCancelButton.setBounds(250, 150, 60, 40); /当登陆时获取其用户名,在此处写sql语句修改其密码; public void userButton() try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException ce) System.out.println(SQLException:+ce.getMessage(); try Connection con = DriverManager.getConnection(jdbc:odbc:xs); Statement stmt = con.createStatement(); stmt.executeUpdate(insert into users values(+userInsertText0.getText()+,+userInsertText1.getText()+,+Integer.parseInt(userInsertText2.getText()+); stmt.close(); con.close(); catch (SQLException e) System.out.println(SQLException:+e.getMessage(); public void studentButton() try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException ce) System.out.println(SQLException:+ce.getMessage(); try Connection con = DriverManager.getConnection(jdbc:odbc:xs); Statement stmt = con.createStatement(); stmt.executeUpdate(insert into student values(+studentInsertText0.getText()+,+studentInsertText1.getText()+,+studentInsertText2.getText()+,+studentInsertText3.getText()+,+studentInsertText4.getText()+,+studentInsertText5.getText()+,+studentInsertText6.getText()+,+studentInsertText7.getText()+); stmt.close(); con.close(); catch (SQLException e) System.out.println(SQLException:+e.getMessage(); public void scoreButton() try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException ce) System.out.println(SQLException:+ce.getMessage(); try Connection con = DriverManager.getConnection(jdbc:odbc:xs); Statement stmt = con.createStatement(); stmt.executeUpdate(insert into score values(+scoreInsertText0.getText()+,+scoreInsertText1.getText()+,+scoreInsertText2.getText()+,+scoreInsertText3.getText()+,+Float.parseFloat(scoreInsertText4.getText()+,+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(); /调出学生学籍记录窗口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 = DriverManager.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;i8;i+) studentInsertTexti.setText(rs1.getString(i+1) ; rs1.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.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+;ResultSet rs2;rs2=stmt.executeQuery(sql);while(rs2.next() for(i=0;i6;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 no = 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.getConnection(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;i3;i+) userInsertTexti.setText(rs3.getString(i+1) ; rs3.close();stmt.close();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(); try Connection con = 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=学号,姓名,课程名,学期,分数,备注; for(i=0;i6;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.od
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村金融服务人员网点运营管理方案
- 企业培训中的演讲技巧与实践
- 内控合规专员合规事件应急预案
- 2025年大学《电子与计算机工程-嵌入式系统设计》考试参考题库及答案解析
- 2025年大学《软物质科学与工程-材料科学基础》考试备考试题及答案解析
- 2025年大学《应用化学-有机化学》考试备考题库及答案解析
- 2025年大学《精细化工-表面活性剂与洗涤剂》考试备考试题及答案解析
- 2025年大学《海外利益安全-海外突发事件应急处置》考试模拟试题及答案解析
- 2025年大学《船舶电子电气工程-电机学》考试模拟试题及答案解析
- 2025年大学《飞行器制造工程-智能制造系统》考试参考题库及答案解析
- 2025全球智能体发展进展、面临挑战与对策建议报告-赛迪智库
- 2026高考物理大一轮复习-第三章 阶段复习(一) 力与直线运动-专项训练【含答案】
- 船舶修理质量通病防治措施
- 销售新人培训
- -数字经济概论(第二版)-教学大纲及每章教学重点
- 2025-2030中国金融租赁行业经营动态及前景趋势预测报告
- 肿瘤免疫治疗不良反应护理规范
- G33-Ⅰ(221)填报说明要点
- 大学入团考试试题及答案山东
- 国有土地上房屋征收社会稳定风险评估报告
- 建筑公司销售管理制度
评论
0/150
提交评论