2015广工数据库课程设计报告(附java源码)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1课程设计(论文)课程名称数据库课程设计题目名称__成绩管理系统_____学生学院计算机学院专业班级学号__________学生姓名_______________指导教师顾国生2016年1月成绩23目录引言………………………………………………………………………………..51相关技术介绍……………………………………………………………………52需求分析…………………………………………………………………………62.1数据字典…………………………………………………………………...62.2数据流图…………………………………………………………………..63概念结构设计……………………………………………………………………74逻辑结构设计……………………………………………………………………84.1数据库设计………………………………………………………………..84.2关系模式…………………………………………………………………..84.3系统模块图及各功能模块说明……………………………………………………....95数据库的物理结构设计…………………………………………………………106用户界面设计……………………………………………………………………127系统测试方案与测试报告………………………………………………………147.1测试方案…………………………………………………………………..147.2测试报告…………………………………………………………………..148安装和使用说明…………………………………………………………………199心得体会…………………………………………………………………………1910参考文献………………………………………………………………………..2045引言信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。虽然计算机与人类的关系愈来愈密切,但是还有人由于计算机操作不方便而继续用手工劳动。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。而成绩管理系统恰恰符合了教学需求,当教师需要录入学生信息时,成绩管理系统就能大大方便教师的操作,提高效率。成绩管理系统主要提供了学生成绩的录入,包括学生的平时成绩,总评成绩,补考成绩,挂科成绩,各类的成绩的打印及优秀学生的评选。一、相关技术介绍这个课程设计是用java+MySql编写的,java是为数据库结构和应用程序开发而设计的功能强大的面向对象的环境。MySql其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。6二、需求分析2.1数据字典学生信息:学号,姓名,性别,班级,专业,已获学分选课表:学号,课程号,课程名,是否获取学分课程:课程号,课程名,课程学分成绩表:学号,课程号,课程名,平时成绩,考试趁机,补考成绩,重修成绩,总评成绩2.2数据流图成绩管理系统成绩登记信息打印退出考试成绩登记补考成绩登记重修成绩登记总评成绩打印补考名单打印补考成绩打印重修名单打印重修成绩打印优秀学生打印系统登录7三、概念结构设计E-R图:学生信息选课信息学生成绩课程信息拥有选课提供课程提供课程已获学分系别班级性别姓名学号学号课程号课程名是否获取学分课程学分课程名课程号学号课程号课程名考试成绩平时成绩补考成绩重修成绩总评成绩上课时间8四、逻辑结构设计4.1数据库设计:数据库由以下表组成:Student:学生信息表Choose_course:选课表Course:课程表Score:成绩表具体功能如下:根据学生选课表对学生成绩表进行各科成绩的录入4.2关系模式学生信息表(学号,姓名,性别,班级,专业,已获学分),其中学号为主码。选课表(学号,课程号,课程名,是否获取学分),其中学号和课程号为外码。课程(课程号,课程名,课程学分),其中课程号为主码。成绩表(学号,课程号,课程名,平时成绩,考试趁机,补考成绩,重修成绩,总评成绩),其中学号和课程号为外码。94.3系统模块图请参照2.2中的数据流图。各模块功能说明:系统登录:该系统使用时需登录,默认账号为:3113005818,密码为123。成绩登记:用于登记各类成绩考试成绩登记:用于登记考试成绩及平时成绩。补考成绩登记:用于登记补考成绩。重修成绩登记:用于登记重修成绩。打印:用于打印各种信息总评成绩打印:用于打印总评成绩。其中:总评成绩=30%*平时成绩+70*考试成绩。补考名单打印:用于打印补考名单,即总评成绩不到60分的学生。补考成绩打印:用于打印补考学生的成绩。重修名单打印:用于打印重修名单,及总评成绩不到60且补考成绩也不到60的学生。重修成绩打印:用于打印重修学生的成绩。优秀学生打印:用于打印优秀学生。及该学生每科总评成绩均大于85.退出:退出系统。10五、数据库物理结构设计创建数据库:首先打开MySql可视化工具,我使用的是navicatformySq建立数据库,首先向创建一个连接,然后在打开连接并右键选择创建grade_management数据库,并依次创建各表。如下图所示:创建各表的脚本文件如下创建学生表:CREATETABLEstudent(s_noCHAR(8)PRIMARYKEY,s_nameCHAR(8)NOTNULL,s_sexCHAR(2),s_classCHAR(8),s_specCHAR(8))创建课程表:CREATETABLEcourse(c_noCHAR(8)PRIMARYKEY,c_nameCHAR(8)NOTNULL,c_pointSMALLINT,c_timeSMALLINT11)创建选课表:CREATETABLEchoose_couse(s_noCHAR(8)NOTNULL,FOREIGNKEY(s_no)REFERENCESstudent(s_no),c_noCHAR(8)NOTNULL,FOREIGNKEY(c_no)REFERENCEScourse(c_no),c_nameCHAR(8))创建成绩表:CREATETABLEscore(s_noCHAR(8),FOREIGNKEY(s_no)REFERENCESstudent(s_no),c_noCHAR(8),FOREIGNKEY(c_no)REFERENCEScourse(c_no),c_nameCHAR(8),ord_scoreINT,exam_scoreINT,makeup_scoreINT,renovate_scoreINT,final_scoreINT)建表完成后在C:\ProgramData\MySQL\MySQLServer5.1\data\grade_management目录下会有四个表,如下:12六、用户界面的设计登录界面如下:主界面如下:13选择界面如下:打印界面如下:14七、系统测试方案与测试报告:7.1测试方案:添加学生成绩测试添加学生补考成绩测试:添加学生重修成绩测试:学生总评成绩打印测试学生补考名单打印测试:学生补考成绩单打印测试:学生重修通知单打印测试:学生重修成绩单打印测试:优秀学生名单打印:7.2测试报告添加学生成绩测试:15添加学生补考成绩测试:添加学生重修成绩测试:16学生总评成绩打印测试:学生补考名单打印测试:17学生补考成绩单打印测试:学生重修通知单打印测试:18学生重修成绩单打印测试:优秀学生名单打印:19八、安装和使用说明本程序使用的数据库软件是MySql,安装MySql后需设置MySql的用户登录口令为root,并建立数据库grade_management,并建建表文件导入该目录下,或者直接新建grade_management的四个表并填写数据。程序已经打包为一个jar可执行的java文件,需在有安装java虚拟机的环境下才能正常打开使用。九、心得体会通过本次的数据库课程设计,我进一步的了解了数据库的开发和使用,与看课本学习不同的是,这次是动手实践去做,而不仅仅局限于课本上的理论知识,更加进一步加深了对数据库的理解。并且,本次课程设计采用的开发语言是java,很多java知识自己完全不懂,之前也没有很深入的去学习java,所以很多知识点或者说是实现功能都是从网上找的或者看书找到的,虽然说这样做是辛苦点,而且效率会低点。但是,从中我确实也学到了不少知识。从一开始的java连接数据库,开始不知道怎么做,无从下手,后来翻书找到了实现的方法,当时确实自己是挺开始的。后来又接着遇到不少难题,比如界面转换,这是我做本次数据库课设最失败的地方,本来想在一个界面实现多个登记表的填写装换,后来发现不行,新添加的表总是覆盖前面添加的表导致表不可见。无奈,只得用弹窗的方式把表格呈现出来,当时也花费了比较多的时间。或许是自己知识的漏洞吧,接下来还得好好学习java知识。再者,就是电脑的系统一直装不了sqlserver,所以只能更换为MySql。还有一点感触最深的就是或许我的程序bug漏洞百出,又或者有各种各样的不好。但是,我想说的就是这个程序是我一个按键一个按键敲出来的!!!忙活了几天,有时也熬到了2,3点,但是看着一个程序一个个功能的实现,之前的所有辛苦也是值得的!!最后谢谢老师本学期数据库的指导,提前祝老师新年快乐!!!!20十、参考文献《数据库系统概论(第五版),王珊萨师煊,高等教育出版社》《疯狂java讲义》源代码(需导入java连接数据库mysql的驱动)importjava.awt.Button;importjava.awt.Canvas;importjava.awt.Color;importjava.awt.Dimension;importjava.awt.Graphics;importjava.awt.Point;importjava.awt.Toolkit;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;importjavax.swing.JButton;importjavax.swing.JDialog;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.JPasswordField;importjavax.swing.JScrollPane;importjavax.swing.JTable;importjavax.swing.JTextField;importjavax.swing.SwingUtilities;publicclassTeachingManageSystemextendsWindowAdapter21{JFramefm=newJFrame(成绩管理系统);//窗口JFramefmS=newJFrame(考试成绩登记);JFramefmD=newJFrame(成绩打印);JFramefm1=newJFrame(考试成绩登记);JFramefm2=newJFrame(补考成绩登记);JFramefm3=newJFrame(重修成绩登记);JFramefm_score=newJFrame(期末成绩单);JFramef

1 / 44
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功