SQL数据库实训学生成绩管理信息系统设计报告郭江涵

上传人:feng****ing 文档编号:55339492 上传时间:2022-02-17 格式:DOC 页数:34 大小:282KB
收藏 版权申诉 举报 下载
SQL数据库实训学生成绩管理信息系统设计报告郭江涵_第1页
第1页 / 共34页
SQL数据库实训学生成绩管理信息系统设计报告郭江涵_第2页
第2页 / 共34页
SQL数据库实训学生成绩管理信息系统设计报告郭江涵_第3页
第3页 / 共34页
资源描述:

《SQL数据库实训学生成绩管理信息系统设计报告郭江涵》由会员分享,可在线阅读,更多相关《SQL数据库实训学生成绩管理信息系统设计报告郭江涵(34页珍藏版)》请在装配图网上搜索。

1、理工大学课程实训报告数据库实训题目:学生成绩管理信息系统学 院:计算机科学与技术学院班 级:软件1304姓 名:郭江涵 学号 131105721XX指导教师:XX总评成绩指导教师签名实训成绩评定表1. 设计报告部分(30分) 封面设计符合要求(3分); 报告格式符合要求(7分); 功能叙述完备,错别字少,章节段落分布合理,无抄袭或雷同现 象(10 分); 排版质量高,图片处理且效果好(10分)。2. 设计容部分得分点及分数数据流图、E-R图和数据库关系图数据流图15E-R图15数据库关系图20合计50得分点及分数程序设计说明书简要程序设计流程图代码20合计203.成绩评定综合评语指导教师签名:

2、年月日第一章概述第二章系统分析2.第三章数据库设计4.第四章系统实现7.第五章结束语1.9第一章 概述课程设计是实践性教学中的一个重要环节,它以某一课程为基础, 可以涉及和课程相关的各个方面,是一门独立于课程之外的特殊课程。课程设计是让同学们对所学的课程更全面的学习和应用,理解和掌握课程的相关知识。随着信息时代的发展, 对于学生信息的管理已经不再局限于纸上的那些繁琐的记录,而是通过电脑软件程序对学生的信息进行管理,这样不但可以简化管理的复杂度,还可以提高管理过程中的准确性,因此有必要设计一款专门针对于学生信息管理的一个程序,于是设计了此学生信息管理系统。该应用程序能够对每个学生的相关信息进行注

3、册、储存、修改和删除等操作。该系统要求按身 份登陆,即学生、教师、管理员等不同身份进行访问。该程序便于操作,面向广大群体,条理清晰,容易理解,容易修改。学生信息管理系统,从字面来看主要是对学生信息的资料进行管理,但实际上,核心却是系统与管理人员的交互,如何能把如此多的信息登记尽可能的进行操作上的精简是我们的一大难题。与其进行繁琐的操作,让操作标的简洁才是我们工作的重点程序上是分为JAVA窗体程序和数据库两大部分,主要进行数据库的调用,设计需要满足以下的需求:1. 学生的信息的资料,应该包括学生的学号、姓名、所属学院、所属专业、所属班级、家庭 地址,并且系统还能够修改输入错误的学生个人信息记录。

4、2. 可以对学生的选课进行管理,包括可选课程和个人已选课信息,并进行相应的选课操作。3. 可以对课程进行管理,课程管理包括增加课程和删除课程,该课程包括任课教师和所属专 业。4根据学号、姓名、班级查询学生信息。根据课程、专业、学分查询课程的相关信息。5.系统使用权限管理方式。根据工作流程,系统有2种角色:管理员、学生和教师。管理员允许对课程信息、教师信息、学生信息的管理。学生可以进行选课和查看课程信息的操作。教师可以查看本人所售课程的学生信息。第二章系统分析1. 系统需求:1. 使用友好的全屏幕用户界面,菜单驱动,多窗口。2. 数据维护功能,通过窗体实现录入、添加和修改所有表的容。3. 查询统

5、计功能,设置多种查询方式,实现对学生的基本信息、考试成绩情况等进行查询。4. 系统维护功能,适当的加入系统密码管理、数据备份等帮助功能。2. 输入的形式和输入值的围形式:输入学生的学号,姓名,年龄,性别,出生年月,地址,E-mail。输入一个学生信息一个回车。用输入的学号p1-num来控制输入,当输入的学号为0时,用break跳出循环。即 if(p1-num=0)break。输入值的围:学号、年龄为整型long num; int age;姓名为字符串型 15个字节char name15; 性别为字符串型,10个字节char sex10;出生为字符串型,20个字节char chushen20;地

6、址为字符串型,30个字节char dizhi30;为字符串型,输入 11位数字char email11。3. 输出的形式输出是以表格的形式输出,即表格的每一行都能显示第一个学生的信息,第二行是显示第二个学生的信息4. 课题实现:首先建立数据库,然后创建数据表,设置主键以及各种约束,学生属性主要包括姓名,学号, 性别,年龄,学院,联系,家庭住址。其中学号为主键,车号设立唯一性约束,将数据库拥有者更 改为sa,密码设置为123。该应用程序包含了管理员模块(包含学生管理子模块和课程管理子模块)、教师模块、学生模块和公共模块。管理员模块是系统的核心,学生管理子系统实现对学生信息的添加、修改、删除操 作

7、,以输入条件进行条件查询。课程管理子系统实现对课程的添加,添加时为其分配任课教师、上 课时间、地点和课程详细信息,实现对课程的修改、删除,查看某个课程的详细信息等。教师模块 实现查看自己所教授的课程、课程有哪些学生选修,以及利用本系统提交学生的成绩。学生模块实 现学生的选课,查看、修改自己的选课信息。公有模块实现用户的身份验证,密码修改,退出系统 等功能。在学生管理子系统包括学生信息和选课信息,要求对学生信息和选课信息的添加、删除、修 改和查询,该模块中当学生修改信息时,对相关的组件添加了事件,相应的JComboBox 添加了ItemStateChange的相关事件,对其进行了三级联动设计,

8、利用形式参数进行传递一个 int型的值,JScorllPane当点击相应的JComboBox 时启动下一个相关的组件应用。在课程查询时应用相应的组件显示所查询的相关信息。整个学生管理系统的数据都是在数据库有存储信息的,因此在应用程序中要应用相应的SQLserver语句来对数据库添加、删除、修改相应信息。SQL server语句主要有 update、insert、select语句。运用Frm窗体编辑窗口程序,建立Frm窗体,插入标签以及按钮,设置按钮触发功能,然后运用 DriverManager.registerDriver(new SQLServerDriver();con =DriverMa

9、 nager.getCo nn ectio n(strCo nn, sa, 123);语句数据库容。Logi nF rame 界面主要为JTextField,利用JTextField的getText属性获取文本框里输入的相应的容,然后应用SQL server的select的语句来查询并验证密码是否与数据库一致,如若不一致则弹出一个MessageBox 的信息提示框提示输入正确的密码。在验证密码是应用了equals关键字,equals主要应用于字符的比较,而等号(=)主要应用于数据的比较。Ma in Frame 界面主要JMe nu和JMe nultem 组件,完成了主界面的菜单栏,并分别对每个

10、JMenultem 添加了一个事件监听器,使点击时显示每个相应的Item界面,以便于对信息的操作。学生信息管理主要包括学生信息和选课信息,完成了相应的信息注册、修改、查询和选课查 询操作。学生信息注册包含姓名、学号、省份证号、所属学院及专业和班级、家庭住址等信息。数 据库的Student表也添加了相应的列。在学生信息注册和修改页面还应用了JComboBox 的三级联动,使用参数传递,获取相应的JComboBox 的getSelectedIndex来控制显示的容。班级信息录入和班级信息管理对各个班级的信息进行管理的界面,主要有JComboBox 的二级联动和JRadioButton 组件的应用。

11、班级信息管理界面中声明了 displayButtonGroup用于控制三个JRadioButton 组件。用不同的方式查询班级信息,当点击修改时弹出一个修改的JFrame界面。第三章数据库设计1.数据库设计1).学生学籍表如图字段名称标识名称数据类型空否字段说明userid学号Varcha ( 16)否主键uern ame姓名Varcha ( 16)可空sex性别Char(4)可空birthday出生日期Datetime可空class班级Char ( 20)可空图 2).课程信息表如图字段名称标识名称数据类型空否字段说明course】田千口 i=r. 课程号Char(16)否主键course

12、nanm e课程名称Char(16)可空coursetime课时Char(16)可空fen学分Char(10)可空type类型Char(10)可空year年度nChar(10)可空图 3).学生成绩表字段名称标识名称数据类型空否字段说明Name学生姓名Char (16)可空Class班级Char (16)可空Id学号Char (16)否主键usually平时成绩Int ( 5)可空fin ally期末成绩Int ( 5)可空图学生成绩表2.数据库关系图1).数据流图 如图图 2) 数据E-R图如图322图 3).数据库关系图如图图32.3第四章系统实现1、打开系统会提示选择操作事项。如图4.1

13、图4.1主界面4.22、选择查询操作后可查询学生和课程以及成绩信息。如图 由以下代码实现:public class selectAII exte nds javax.swi ng.JFrame datatOper dt;/* Creates new form selectAll */public selectAll() in itComp onen ts();dt=new datatOper();dm.addColumn(”成绩信息”);dm.addColu mn (”学生信息)table.setModel(dm);图4.2查询信息界面3、选择系统维护,可进入数据备份界面,如图4.3由以下代码

14、实现:int result = 0;File file = n ull;Stri ng path = n ull;JFileChooser fileChooser = new JFileChooser();FileSystemView fsv = FileSystemView.getFileSystemView();得到桌面路径fileChooser.setCurre ntDirectory(fsv.getHomeDirectory();fileChooser.setDialogTitle(” 请选择要进行备份的文件夹 .);fileChooser.setApproveButtonT ext(

15、确定);fileChooser.setFileSelectio nM ode(JFileChooser.FILES_ONLY);Comp onent chatFrame = n ull;result = fileChooser.showOpe nDialog(chatFrame);if (JFileChooser.APPROVE_OPTION = result) path=fileChooser.getSelectedFile().getPath();Connection conn = Conn ect.getC onnection();try Stateme nt stateme nt =

16、conn. createStateme nt();stateme nt.executeUpdate(USEmaster);String sql=backup databaseBan kServerto disk=+path+ withformat,i ni t;stateme nt.executeUpdate(sql);JOptio nPan e.showMessageDialog(this,数据库备份成功,”系统提示JOptio nPan e.NO_OPTION);catch(SQLExcepti on e)(”数据库备份失败);e.pri ntStackTrace();图4.3系统信息4、

17、选择课程查询可查询课程信息。如图4.4由以下代码实现:String str=select * from course;ResultSet res=dt.select In fo(str);dm=new DefaultTableModel();dm.addColumn(”课程类型);dm.addColumn(”学时);dm.addColumn(”学分);table.setModel(dm);while(res .n ext()Vector v=newVector。;ResultSetMetaData da=res.getMetaData();for(i nt i=1;ida.getColu mn

18、Coun t()+1;i+)v.add(res.getStri ng(i);dm.addRow(v);/ TODO add your han dli ng code here: catch (SQLExceptio n ex) 图4.4课程查询信息5、选择成绩查询,可进入成绩查询界面。如图4.5有以下代码实现String str=select * from score;ResultSet res=dt.select In fo(str);dm=new DefaultTableModel();dm.addColumn(”成绩编号);dm.addColumn(”补考成绩”);dm.addColum

19、n(”是否重修);table.setModel(dm);while(res .n ext()Vector v=newVector。;ResultSetMetaData da=res.getMetaData();for(i nt i=1;ida.getColu mnCoun t()+1;i+)v.add(res.getStri ng(i);dm.addRow(v);/ TODO add your han dli ng code here: catch (SQLExceptio n ex) 图4.5成绩查询界面6、选择学生信息查询可进入学生查询界面。如图4.6有以下代码实现String str=s

20、elect * from stude nts;ResultSet res=dt.select In fo(str);dm=new DefaultTableModel();dm.addColumn(”学生编号);dm.addColumn(”学生姓名);dm.addColumn(性别);dm.addColumn(”出生日期);dm.addColumn(”所属班级);dm.addColumn(”联系”);dm.addColumn(”所在地址);table.setModel(dm);while(res .n ext()Vector v=newVector。;ResultSetMetaData da=r

21、es.getMetaData();for(i nt i=1;ida.getColu mnCoun t()+1;i+)v.add(res.getStri ng(i);dm.addRow(v);/ TODO add your han dli ng code here: catch (SQLExceptio n ex) 图4.6学生信息查询界面7、在主界面中选择学生信息录入,可进入录入学生信息界面。如图4.7由以下代码实现:boolea n flagB;try stude nts/ TODO add your han dli ng code here:Stringsql=i nsertintodat

22、atOper Oper= new datatOper();flagB=Oper.addl nfo(sql);if(flagB=true)JOptio nPan e.showMessageDialog(this, 信息 ”,JOptionPane.NO_OPTION);elseJOptio nPan e.showMessageDialog(this,信息 ”,JOptionPane.ERROR_MESSAGE);学生信息录入成功,系统系统信息录入失败,系统 catch (SQLExceptio n ex) null,ex);图4.7录入学生信息界面4.8&在主界面中选择学生信息修改或删除,都可进

23、入修改或删除学生信息界面。如图 由以下代码实现:/ TODO add your han dli ng code here:setboolea n flag;Stringsql=updatestude ntswherejtxt6.getText()+,T ell=+jtxt7.getText()+,addres=+jtxt8.getText()+StuId=+Stuid+”;datatOper Oper=new datatOper();try flag=Oper.DelUpl nfo(sql);if(flag=true)系统信息,JOptionPane.showMessageDialog(thi

24、s,更新成功! ! !JOptio nPan e.NO_OPTION);else系统信息,JOptionPane.showMessageDialog(this,更新失败! ! !JOptio nPan e.ERROR_MESSAGE);catch(SQLExceptio n e)e.pri ntStackTrace();图4.8修改或删除学生信息界面4.10图4.9录入课程信息界面10、在主界面中选择课程信息修改或删除,都可进入修改删除课程信息信息界面。如图图4.10修改删除课程信息界面11、在主界面中选择学生成绩录入,可进入录入学生成绩界面。如图4.11图4.11录入学生成绩界面12、在主界

25、面中选择成绩信息修改或删除,都可进入修改删除成绩信息信息界面。如图4.12图4.12修改删除成绩信息界面13、在主界面中选择退出,进入退出系统界面。如图4.13由以下代码实现:/ TODO add your han dli ng code here:inti=JOptionPane.showConfirmDialog(this,是否退出?,系统提示”JOpti onPan e.YES_NO_OPTION, JOpti onPan e.QUESTION_MESSAGE);if(i = JOptio nPan e.YES_OPTION)System.exit(O);else return;图4.1

26、3退出界面第五章结束语通过这次系统的设计以及功能的实现,让自己学到了很多东西。其中最主要的就是每当自己学 到的东西越多,就会明白自己需要学习的还有很多,就像某个伟人在地上+识来让我们去学习,父辈们通过自己毕生的努力来给我们积累了无数的宝贵经验,他们把经验写成书来传承下去。而我们需要做的就是把这种传承继续下去,然后不断完善这种传承,然后通过自己努力和勤奋来完善和修改这种传承。这种事情的发展是必要的,我们现在要做的事情很简单,那就是学习,通过这次系统的设计, 我明白了很多的东西,也认识到自己的不足。虽然通过老师的讲解我学习到了很多的新鲜知识,但 是没有经过实践的检验,自己学到的知识是不扎实的,只有

27、经过自己的运用和理解,才能更好的发 挥出自己所学习东西的优势。这样就会让我们的认识更加清晰,认识到自己在代码编写上的一些不足,和在程序框架接触上的一些不流畅,只有认识到自己的问题在哪里,才能更好的去解决这些问 题。所以说,这次的实践是十分值得和肯定的。通过这次学生信息管理系统期末检测,我终于达到了大学中所学课程与实际情况的结合,我才认识到这是在大学中所学知识的一次实际应用,虽然因为个人能力有限,完成的学生信息管理系统还有许多不尽如人意之处,但是在这次期末检测中,我不管是知识还是能力都得到了很大程度的提 高,而且对软件开发工作有了真正的理解和认识。通过这次期末检测,我真正体会到了知识永远不嫌多,活到老学到老。很多东西虽然我们学了 但是不会灵活运用,也有很多要点课本上没有需要自己摸索研究。这让我知道了自己的不足,也让 我知道了我们现在要做的事情很简单,那就是学习。我们在课堂中从老师那学到了很多东西。他的工作态度认真负责的,治学精神严格谨慎,理论 水平深厚。这些都使我们受益匪浅。他无论在理论上还是在操作实践中,都给予我们很大的帮助, 使我们的编程水平得到了很大的提高。这对于我们以后即将的工作和学习产生了深远的影响,感谢 老师耐心的辅导,才使我们的系统设计能够顺利完成。谢谢老师的帮助和支持。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!