数据库课程设计学生作业管理系统.docx
《数据库课程设计学生作业管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计学生作业管理系统.docx(14页珍藏版)》请在冰豆网上搜索。
数据库课程设计学生作业管理系统
课程设计报告书
2015/2016学年第1学期
课程名称:
数据库课程设计
专业班级:
_
学号:
姓名:
指导教师:
课程设计指导教师评语
成绩:
___________
指导教师签字:
___________
学生作业管理系统
1选题背景及需求简介
随着科技以及教育水平的发展,网络逐渐成为一种新型的教育平台。
作业作为老师教学过程中的一个重要环节,作为学生学习情况的直接反馈,却一直没有得到相应的重视。
为了加强对作业的管理,提高学生的学习效率,我们小组开发了一套学生作业信息管理系统。
本系统采用云平台的技术手段,
通过此系统,我们可以解决许多问题。
1、学生能直接提交电子版的作业,方便老师们查看学生作业,给出评语,查询学生作业上交情况,也方便老师对作业信息进行管理,提高管理效率。
2、学生们能及时得到关于作业的反馈,了解到自己在相关课程上的不足。
3、课程论坛为同学们提供了一个可以自由与其他同学或者老师进行学习交流的平台,大大地增加了师生之间的互动,拉近师生间的距离。
学生可以在零散的课余时间里解决自己学习中存在的问题。
这样可以把学生的零散时间充分利用起来,既为学生带来了方便又提高了学习效率。
4、网络资源模块为同学们提供了许多教学资源,及其他学习相关的学习资源。
学生可以利用这些资源对自己的学习做补充,同时也可以学习一些上课时老师没有讲到的课外知识。
5、电子版作业能做到节能环保,符合现在社会的主流趋势。
该作业提交系统有很强得实用性,而且目前已经有一部分学生进行了试用,得到了不错的评价。
该系统减少了学生们和老师们的负担,很大程度上有利于学生学习。
而且做到了节能环保,适用学科也比较广,所以推广前景很好。
2系统总体设计
2.1系统功能组成
系统功能可概括分为3大模块,即:
管理员模块,教师模块,学生模块。
系统功能模块如图2-1-1所示。
图2-1-1系统功能模块图
1.管理员模块:
a.管理老师
1)增加老师(增加账号,姓名,给出默认密码)
2)删除老师
3)修改老师(账号,姓名)
4)一键重置老师密码
b.管理学生
1)增加学生(学号,姓名,专业,年级,班级,给出默认密码)
2)删除学生
3)修改学生(学号,姓名,专业,年级,班级)
4)根据姓名,学号查询学生
5)一键重置密码
c.管理课程
1)增加课程(课程号,课程名,课程图片,课程简介,课程专业,课程年级,课程老师)
2)删除课程
3)修改课程
d.修改管理员密码
e.注销登陆
2.教师模块:
a.修改密码,注销登陆
b.进入自己所教的全部课程
c.设置课程作业内容
d.查询作业
1)按照班级,作业次数查询
2)按照学号查询
3)按照班级,和作业次数查询没交作业人名单
4)按照姓名模糊查询
e.下载学生作业
f.评论学生作业,发布作业评论
3.学生模块:
a.修改密码,注销登陆
b.进入自己所学所有课程
c.按照作业次数,上交作业
d.查看作业评语
2.2数据库结构
基于前述功能,系统数据库共设计7张表,如表2.1所示。
表2.1数据库表清单
表名
说明
ADMIN
管理员表
TEACHER
教师表
STUDENT
学生表
COURSE
课程表
SC
学生课程关系表
TASK
作业表
COMMENT
评论表
管理员表结构见下表2.2.
表2.2管理员表
列名
说明
数据类型(长度)
是否主键
是否外键
AID
管理员标识主键
Int(11)
TRUE
FALSE
ANO
管理员账号
Varchar(15)
FALSE
TRUE
ANAME
管理员姓名
Varchar(5)
FALSE
FALSE
APASSWORD
管理员密码
Varchar(16)
FALSE
FALSE
教师表结构见下表2.3.
表2.3教师表
列名
说明
数据类型(长度)
是否主键
是否外键
TID
教师标识主键
Int(11)
TRUE
FALSE
TNO
教师账号
Varchar(15)
FALSE
TRUE
TNAME
教师姓名
Varchar(5)
FALSE
FALSE
TPASSWORD
教师密码
Varchar(16)
FALSE
FALSE
学生表结构见下表2.4.
表2.4学生表
列名
说明
数据类型(长度)
是否主键
是否外键
SID
学生标识主键
Int(11)
TRUE
FALSE
SNO
学生账号
Varchar(15)
FALSE
TRUE
SNAME
学生姓名
Varchar(5)
FALSE
FALSE
SPASSWORD
学生密码
Varchar(16)
FALSE
FALSE
SMAJOR
学生专业
Varchar(30)
FALSE
FALSE
SGRADE
学生年级
Varchar(10)
FALSE
FALSE
SCLASS
学生班级
Varchar(10)
FALSE
FALSE
课程表结构见下表2.5.
表2.5课程表
列名
说明
数据类型(长度)
是否主键
是否外键
CID
课程标识主键
Int(11)
TRUE
FALSE
CNO
课程号
Varchar(15)
FALSE
TRUE
CNAME
课程名
Varchar(20)
FALSE
FALSE
CTIMES
课程作业次数
Varchar(11)
FALSE
FALSE
CIMAGE
课程图片
Varchar(255)
FALSE
FALSE
CMAJOR
学生专业
Varchar(30)
FALSE
FALSE
CGRADE
学生年级
Varchar(10)
FALSE
FALSE
TNO
教师号
Varchar(15)
FALSE
FALSE
学生课程关联表结构见下表2.6.
表2.6学生课程关联表
列名
说明
数据类型(长度)
是否主键
是否外键
SCID
关联表标识主键
Int(11)
TRUE
FALSE
SNO
学生号
Varchar(15)
TRUE
FALSE
CNO
课程号
Varchar(15)
TRUE
FALSE
SCTIMES
课程作业次数
Int(11)
FALSE
TRUE
SCFILENAME
上交作业名
Varchar(60)
FALSE
FALSE
UPLOADTIME
上交时间
datetime
FALSE
FALSE
ALLOWLOOK
允许查看作业
Int
(2)
FALSE
FALSE
作业表结构见下表2.7.
表2.7作业表
列名
说明
数据类型(长度)
是否主键
是否外键
TASK_ID
作业标识主键
Int(11)
TRUE
FALSE
SCTIMES
课程作业数
Int(11)
FALSE
TRUE
STOPTIME
截至时间
Datetime
FALSE
FALSE
STITLE
作业题目
Varchar(200)
FALSE
FALSE
SCONTENT
作业内容
Varchar(3000)
FALSE
FALSE
评论表结构见下表2.8.
表2.8评论表
列名
说明
数据类型(长度)
是否主键
是否外键
COMMENT_ID
评语标识主键
Int(11)
TRUE
FALSE
SNO
学生号
Varchar(15)
TRUE
FALSE
SCTIMES
作业次数
Int(11)
FALSE
FALSE
COMMENT_TIME
评论时间
Datetime
FALSE
FALSE
COMMENT_SCORE
作业分数
Varchar(5)
FALSE
FALSE
COMMENT_CONTENT
评论内容
Varchar(2000)
FALSE
FALSE
2.3开发工具
前端数据库开发工具:
NavicatforMySQL
后端数据库:
MySQL
3详细设计
3.1用户登录窗口
3.1.1界面与功能描述
用户登录窗口的运行界面如图3-1所示。
图3-1用户登录窗口
该模块主要用来验证用户是否合法,以及合法用户对自己密码的修改。
用户输入用户号和密码后,点击“确定”按钮,如果数据库中有相应数据,则说明为合法用户,就可以进入到下一个页面。
3.1.2关键代码分析
(1)[确定]按钮的clicked事件
该事件主要功能是验证用户的合法性,它与密码输入控件的modify事件功能相同,为了避免重复代码的重复编写,这里使用了triggerevent函数,该函数能够触发任何指定对象的事件,并立即执行该事件的处理代码。
具体代码如下:
sle_password.triggerevent(modified!
)
(2)密码输入控件的modify事件实现流程
该事件的流程图如图3-2所示。
图3-2用户登录流程图
4程序运行结果
4.1综合查询模块运行画面
图4-1综合查询窗口图
5出现的问题及解决方法
(1)下拉列表中选项数据的动态加载
系统中许多信息的录入是通过下拉列表框来完成的。
通过选择录入,不仅可以加快数据的录入速度,更重要的是有利于保证数据的规范性。
列表框中的选项信息是通过对相应数据表的查询动态加载的,这里用到了数据库中的游标技术。
游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。
当利用嵌入式SQL语句对数据库进行查询时,如果不能确定查询结束为单记录,就要使用游标。
在窗口的Open事件中,加入如下代码片段:
strings_dep_name
DeclareCursor_depCursorfor//声明游标
Selectdep_name
FromDepartment;
OpenCursor;//打开游标
FetchCursorinto:
s_dep_name;//提取信息并推进游标
DoWhileSQLCA.Sqlcode=0
Tab_1.Tabpage_1.Ddlb_dep.additem(s_dep_name)//向下拉框中加载选项
FetchCursorinto:
s_dep_name;
Loop
CloseCursor_dep;//关闭游标
6参考资料
[1]王珊.数据库系统概论(第四版).北京:
高等教育出版社,2006.
[2]陈永强.PowerBuilder数据库开发经典实例精解.北京:
机械工业出版社,2007.
[3]王艳青.PowerBuilder程序设计基础.北京:
中国水利水电出版社,2006.
7总结
通过此次课程设计,能够真正做出一个小系统,将所学的知识应用到实际中去,心中特别高兴.尽管上课时我们也有做实验,但比较单一,缺少联系性,不能从整体上和实际需要上去考虑问题,有被牵着走的感觉。
通过设计还锻炼了我们自己思考、深入学习和解决问题的能力。
附件3:
课程设计参考题目
1.学生信息管理系统
2.图书借阅管理系统
3.学生成绩管理系统
4.人事档案管理系统
5.高校教师管理系统
6.商品进销存管理系统
7.书店管理系统
8.工资管理系统
9.科研项目管理系统
10.科技论文管理系统
11.客户管理系统
12.固定资产管理系统
13.销售合同管理系统
14.健身俱乐部管理系统
15.小型药店管理系统
16.家庭财务开支管理系统
17.房屋销售管理系统
18.门诊、住院收费管理系统
19.音像租借管理系统
20.餐饮酒店管理系统
21.旅行社管理系统
22.美容院信息管理系统