2015广工数据库课程设计报告(附java源码).doc
- 文档编号:115979
- 上传时间:2022-10-03
- 格式:DOC
- 页数:44
- 大小:422KB
2015广工数据库课程设计报告(附java源码).doc
《2015广工数据库课程设计报告(附java源码).doc》由会员分享,可在线阅读,更多相关《2015广工数据库课程设计报告(附java源码).doc(44页珍藏版)》请在冰豆网上搜索。
成
绩
课程设计(论文)
课程名称数据库课程设计
题目名称__成绩管理系统_____
学生学院计算机学院
专业班级
学号__________
学生姓名_______________
指导教师顾国生
2016年1月
目录
引言………………………………………………………………………………..5
1相关技术介绍……………………………………………………………………5
2需求分析…………………………………………………………………………6
2.1数据字典…………………………………………………………………...6
2.2数据流图…………………………………………………………………..6
3概念结构设计……………………………………………………………………7
4逻辑结构设计……………………………………………………………………8
4.1数据库设计………………………………………………………………..8
4.2关系模式…………………………………………………………………..8
4.3系统模块图及各功能模块说明……………………………………………………....9
5数据库的物理结构设计…………………………………………………………10
6用户界面设计……………………………………………………………………12
7系统测试方案与测试报告………………………………………………………14
7.1测试方案…………………………………………………………………..14
7.2测试报告…………………………………………………………………..14
8安装和使用说明…………………………………………………………………19
9心得体会…………………………………………………………………………19
10参考文献………………………………………………………………………..20
引言
信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。
虽然计算机与人类的关系愈来愈密切,但是还有人由于计算机操作不方便而继续用手工劳动。
计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
而成绩管理系统恰恰符合了教学需求,当教师需要录入学生信息时,成绩管理系统就能大大方便教师的操作,提高效率。
成绩管理系统主要提供了学生成绩的录入,包括学生的平时成绩,总评成绩,补考成绩,挂科成绩,各类的成绩的打印及优秀学生的评选。
一、相关技术介绍
这个课程设计是用java+MySql编写的,java是为数据库结构和应用程序开发而设计的功能强大的面向对象的环境。
MySql其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
二、需求分析
2.1数据字典
学生信息:
学号,姓名,性别,班级,专业,已获学分
选课表:
学号,课程号,课程名,是否获取学分
课程:
课程号,课程名,课程学分
成绩表:
学号,课程号,课程名,平时成绩,考试趁机,补考成绩,重修成绩,总评成绩
2.2数据流图
系统登录
成绩管理系统
重修成绩打印
重修名单打印
补考成绩打印
补考名单打印
总评成绩打印
重修成绩登记
补考成绩登记
考试成绩登记
信息打印
退出
成绩登记
优秀学生打印
三、概念结构设计
E-R图:
上课时间
课程学分
课程名
课程号
是否获取学分
总评成绩
重修成绩
补考成绩
平时成绩
考试成绩
课程名
课程号
学号
系别
班级
已获学分
性别
课程名
课程号
学号
学号
姓名
学生成绩
课程信息
学生信息
选课信息
选课
提供课程
提供课程
拥有
四、逻辑结构设计
4.1数据库设计:
数据库由以下表组成:
Student:
学生信息表
Choose_course:
选课表
Course:
课程表
Score:
成绩表
具体功能如下:
根据学生选课表对学生成绩表进行各科成绩的录入
4.2关系模式
学生信息表(学号,姓名,性别,班级,专业,已获学分),其中学号为主码。
选课表(学号,课程号,课程名,是否获取学分),其中学号和课程号为外码。
课程(课程号,课程名,课程学分),其中课程号为主码。
成绩表(学号,课程号,课程名,平时成绩,考试趁机,补考成绩,重修成绩,总评成绩),其中学号和课程号为外码。
4.3系统模块图请参照2.2中的数据流图。
各模块功能说明:
系统登录:
该系统使用时需登录,默认账号为:
3113005818,密码为123。
成绩登记:
用于登记各类成绩
考试成绩登记:
用于登记考试成绩及平时成绩。
补考成绩登记:
用于登记补考成绩。
重修成绩登记:
用于登记重修成绩。
打印:
用于打印各种信息
总评成绩打印:
用于打印总评成绩。
其中:
总评成绩=30%*平时成绩+70*考试成绩。
补考名单打印:
用于打印补考名单,即总评成绩不到60分的学生。
补考成绩打印:
用于打印补考学生的成绩。
重修名单打印:
用于打印重修名单,及总评成绩不到60且补考成绩也不到60的学生。
重修成绩打印:
用于打印重修学生的成绩。
优秀学生打印:
用于打印优秀学生。
及该学生每科总评成绩均大于85.
退出:
退出系统。
五、数据库物理结构设计
创建数据库:
首先打开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_timeSMALLINT
)
创建选课表:
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目录下会有四个表,如下:
六、用户界面的设计
登录界面如下:
主界面如下:
选择界面如下:
打印界面如下:
七、系统测试方案与测试报告:
7.1测试方案:
添加学生成绩测试
添加学生补考成绩测试:
添加学生重修成绩测试:
学生总评成绩打印测试
学生补考名单打印测试:
学生补考成绩单打印测试:
学生重修通知单打印测试:
学生重修成绩单打印测试:
优秀学生名单打印:
7.2测试报告
添加学生成绩测试:
添加学生补考成绩测试:
添加学生重修成绩测试:
学生总评成绩打印测试:
学生补考名单打印测试:
学生补考成绩单打印测试:
学生重修通知单打印测试:
学生重修成绩单打印测试:
优秀学生名单打印:
八、安装和使用说明
本程序使用的数据库软件是MySql,安装MySql后需设置MySql的用户登录口令为root,并建立数据库grade_management,并建建表文件导入该目录下,或者直接新建grade_management的四个表并填写数据。
程序已经打包为一个jar可执行的java文件,需在有安装java虚拟机的环境下才能正常打开使用。
九、心得体会
通过本次的数据库课程设计,我进一步的了解了数据库的开发和使用,与看课本学习不同的是,这次是动手实践去做,而不仅仅局限于课本上的理论知识,更加进一步加深了对数据库的理解。
并且,本次课程设计采用的开发语言是java,很多java知识自己完全不懂,之前也没有很深入的去学习java,所以很多知识点或者说是实现功能都是从网上找的或者看书找到的,虽然说这样做是辛苦点,而且效率会低点。
但是,从中我确实也学到了不少知识。
从一开始的java连接数据库,开始不知道怎么做,无从下手,后来翻书找到了实现的方法,当时确实自己是挺开始的。
后来又接着遇到不少难题,比如界面转换,这是我做本次数据库课设最失败的地方,本来想在一个界面实现多个登记表的填写装换,后来发现不行,新添加的表总是覆盖前面添加的表导致表不可见。
无奈,只得用弹窗的方式把表格呈现出来,当时也花费了比较多的时间。
或许是自己知识的漏洞吧,接下来还得好好学习java知识。
再者,就是电脑的系统一直装不了sqlserver,所以只能更换为MySql。
还有一点感触最深的就是或许我的程序bug漏洞百出,又或者有各种各样的不好。
但是,我想说的就是这个程序是我一个按键一个按键敲出来的!
!
!
忙活了几天,有时也熬到了2,3点,但是看着一个程序一个个功能的实现,之前的所有辛苦也是值得的!
!
最后谢谢老师本学期数据库的指导,提前祝老师新年快乐!
!
!
!
十、参考文献
《数据库系统概论(第五版),王珊萨师煊,高等教育出版社》
《疯狂java讲义》
源代码(需导入java连接数据库mysql的驱动)
importjava.awt.Button;
importjava.awt.Canvas;
importjava.awt.Color;
importjava.awt.Dimension;
importjava.awt.Graphics;
importjava.awt.Point;
importjava.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2015 数据库 课程设计 报告 java 源码