毕业设计选题管理系统课程设计.docx
- 文档编号:23415971
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:25
- 大小:270.46KB
毕业设计选题管理系统课程设计.docx
《毕业设计选题管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《毕业设计选题管理系统课程设计.docx(25页珍藏版)》请在冰豆网上搜索。
毕业设计选题管理系统课程设计
南阳理工学院
《数据库原理与应用》课程设计论文
题目:
毕业设计选题管理系统设计
专业班级:
2017级大数据2班
姓名;
赵文祥1715925103
冯卿1715925167
指导老师:
完成日期:
2018-6-10
《数据库原理与应用》课程设计论文1
1.系统需求分析1
1.1引言1
1.2目标与任务1
1.2.1需求分析阶段的目标1
1.2.2需求分析阶段的任务1
2.概念设计3
2.1概念设计任务3
2.2概念模型设计3
3.逻辑设计4
3.1逻辑设计的目标和任务4
3.2关系模型设计4
3.2.1ER转化关系模型4
3.2.2关系模型优化5
3.2.3用户子模式设计6
3.3数据处理6
4.物理设计7
4.1物理设计目标与任务7
5.数据库实施7
5.1建立数据库,数据表,视图7
5.1.1建立数据库7
5.1.2建立数据表7
5.1.3建立视图8
5.2数据入库8
5.3创建功能存储8
6.系统调试和测试10
7.心得体会12
参考文献14
附录14
附录1.整体数据流程图14
附录2.ER模型设计15
【前言】
随着计算机技术的不断发展,计算机作为知识经济时代的产物,已被广泛应用于社会各个行业和领域。
目前,我国的科技水平高速发展,计算机作为今天使用最广的现代化工具已深入到各个领域,并且正在成为未来社会——信息社会的重要支柱。
现代信息技术的发展使得基于WEB技术的网络教育平台成为现代教育技术改革与发展的方向,本文介绍了毕业设计选题管理系统,该系统实现了毕业设计的网上完成,系统设计并实现了学生题目查询和搜索题目选择、修改、删除老师毕设题目的申报、修改管理员队,整个过程的全程监控等等功能。
这些功能使得网上毕业设计选题系统简单实用,从而加强毕业设计的管理提高教师的工作效率,降低教师的工作量。
从系统需求分析总体设计详细设计系统实现和系统测试这五个角度对系统的开发过程进行了详细的介绍,并对该系统的主要特点以及采用的主要开发工具进行了简单的介绍。
该系统开发由系统需求分析阶段、概念设计阶段、逻辑设计阶段、数据库实施阶段、系统调试和测试阶段、参考文献、附录等阶段组成。
关键字:
课题、数据库、设计、管理、MySQL
1.系统需求分析
1.1引言
每年毕业临近,都有大量的毕业生需要进行毕业设计,这其中的首要关节就是课题的选择,以往指导老师都是采用人工手写方式给学生们提供相关的课题供学生选择,如果指导老师带领的学生比较多,或者是当年毕业的学生比较多,这样就容易造成学生的课题选择很混乱,指导教师难于统计学生的课题选择情况等一系列问题,基于这些传统问题,我们需要一个能够自动统计、实时分配课题的一个管理平台来帮助学生、指导老师。
此系统的开发,主要的目的是使老师能更好的管理课程设计,也能使学生能更好的把自己想要选的课程正确无误的选出来。
使处在选课时期的学生能有条不紊的进行。
1.2目标与任务
1.2.1需求分析阶段的目标
(1)通过深入细致的了解毕业设计选题管理系统的各项功能,以及它们之间的联系操作的流程信息和各项功能的实现。
(2)与指导教师交流个人想法,征求意见,改正不合理的地方,为下面的概念设计与逻辑设计奠定基础。
1.2.2需求分析阶段的任务
(1)毕业设计选题管理系统功能分析
1.教师提交毕业设计课题,一个教师可以提交多个课题;
2.教研室主任对所属教研室教师的课题进行审核;
3.学生登录系统后可以查看所有课题的详细信息;
4.学生可以选择通过审核的课题,一个学生只能选择一个题目;
5.教师可以看到所有预选他的学生信息,根据学生情况可以选择或剔除学生;
6.系统能够对学生选题信息进行统计,对教师课题信息进行统计;
(2)数据流程分析
教师提交题目给所在教研室,一个教师可以提交多个题目,教研室主任对课题进行审核,审核通过的题目给学生进行选择,删除不合格的题目。
一个课题可以供多个学生选择,但是一个学生只能选择一个课题。
教师可以查看选了他课题的学生。
(相关信息见附录)
(3)数据字典
数据字典是组成数据库很重要的组成部分,包含了数据项,数据结构等内容,只有认真分析相关的业务功能,进行全面细致的分析,才有可能得到全面的数据结构。
数据运行才能够正常,不会出现缺少相应的信息等问题。
数据项:
数据项名
数据类型
长度
别名
取值范围
cno
int
10
课题号
cname
varchar
10
课题名
sno
int
10
学生学号
sname
varchar
10
学生姓名
ssex
char
10
学生性别
sdept
char
20
学生系别
tno
int
10
教师工号
tname
varchar
10
教师姓名
oname
Varchar
10
教研室主任姓名
ophone
int
20
教研室电话
数据结构:
数据结构名
含义说明
组成
学生信息
记录学生的基本信息
学号、姓名、性别、系别
教师信息
记录教师的基本信息
教师编号、教师姓名
课题信息
记录课题信息
课题编号、课题名称
教研室信息
记录教研室主任的基本信息
主任姓名、联系电话
数据流:
数据流编号:
D01
数据流名称:
可选课题进存信息
简述:
可选课题进存信息
数据流来源:
教师将自己提供的选题题目完成后提交给所属教研室。
数据流去向:
教研室主任审核通过后供学生选择。
数据项组成:
Cno(课题编号)+Cname(课题名称)+Tno(教师编号)+Tname(教师姓名)
数据流编号:
D02
数据流名称:
题目选取信息
简述:
题目选取信息
数据流来源:
教研室主任将教师提交的题目审核后提供给学生。
数据流去向:
学生通过自己的意愿自由选取题目。
数据项组成:
Cno(课题编号)+Cname(课题名称)+Tno(教师编号)+Tname(教师姓名)+Sno(学生学号)+Sname(学生姓名)
数据流编号:
D03
数据流名称:
查询已选课题信息
简述:
查询已选课题信息
数据流来源:
学生成功选择之后的课题
数据流去向:
教师查看并处理
数据项组成:
Tno(教师编号)+Tname(教师姓名)+Sno(学生学号)+Sname(学生姓名)
。
(4)分析总结
通过需求分析,认真分析总结后,大致对毕业设计选题管理系统的功能有了一个更全面的认识,更深入的了解,
虽然需求分析很麻烦,但是它是数据库设计的关键,是基础,是前提,如果需求分析没有做好,那么很又可能导致数据库的重新开始。
所以,必须认真对待,仔细研究,在全面系统的分析后,得到正确的可行的实施方案,只有这样,才有可能打好基础,有一个良好的开端,才有可能取得好的结果。
2.概念设计
2.1概念设计任务
概念设计是独立于数据库管理系统的设计,它的主要任务即时完成对现实事物,事物关系之间的转化,把抽象的事物转化成能够被人们易于理解的图形关系,更加直白的把现实的事物关系表达出来,从而为下一步的设计打下一个良好的基础,概念设计的主要任务就是如此,进行归类总结,识别毕业设计选题管理系统中的实体,识别实体的属性,识别实体的关键字,识别实体间的联系,利用实体关系图(E—R图)来描述毕业设计选题管理系统相关实体、属性及关系,从而达到为毕业设计选题管理系统建立良好的数据模型的目的,
2.2概念模型设计
根据前面的设计,以及相应的数据项,数据结构之间的关系,通过分类总结,可以将毕业设计选题管理系统数据库实体划分为课题,教师,学生,教研室。
每个实体定义的属性如下:
课题:
{课题号,课题名}
学生:
{学号,姓名,性别,系别}
教师:
{教师工号,教师名}
教研室:
{教研室主任姓名,教研室电话}
以上就是概念设计的基本实体以及相关的属性,并分别进行了主键的命名,确定了基本的实体之后,就是根据业务流程以及数据流图确定他们之间的关系,进行ER图的设计了。
ER图的设计是通过先分后总的设计理念进行安排的,把部分的ER模型设计好后,在进行了总的设计,这样的设计便于操作,易于理解、实现,但进行综合的时候一定要注意他们之间的关系,以免发生不必要的冗余。
ER设计图在后面的附录中有详细描述,在此就不必多讲了。
3.逻辑设计
3.1逻辑设计的目标和任务
以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。
具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。
其中最为关键的是把ER模型转换成相应的关系表结构,同时每个关系模型之间的范式应最好满足第三范式,只有这样的关系模式才可能尽可能的减小冗余,达到较好的效果。
3.2关系模型设计
3.2.1ER转化关系模型
ER图进行关系模型的转化时,应根据相应的规则进行转化,只有这样,才能尽可能的减小冗余,达到比较好的范式,使模型更加优化,通常的转换规则如下:
一对一联系 :
若双方部分的参与,则将联系定义为一个新的关系,属性为参与双方的码,若一方全部参与,则将联系另一方的码作为全部参与一方的属性,
一对多联系:
将单方参与实体的码作为多方参与实体的属性,
多对多联系:
将联系定为新的关系,属性为参与双方的码。
以上也就是基本的设计规则了,只要按照相应的规则转换,就能够得到所要的规范程度,得到一个良好的范式,根据得到的ER图,进行关系模式的转换。
具体的关系模型如下:
课题
数据项名
数据类型
长度
别名
是否为空
主外键
cno
int
10
课题号
否
主键
cname
varchar
20
课题名
学生
数据项名
数据类型
长度
别名
是否为空
主外键
sno
int
10
学号
否
主键
sname
varchar
10
姓名
ssex
char
10
性别
sdept
char
10
系别
教师
数据项名
数据类型
长度
别名
是否为空
主外键
tno
int
10
教师工号
否
主键
tname
varchar
10
教师姓名
教研室
数据项名
数据类型
长度
别名
是否为空
主外键
oname
Varchar
10
教研室主任姓名
否
主键
ophone
int
20
教研室电话
ot表
数据项名
数据类型
长度
别名
是否为空
主外键
oname
varchar
10
教研室主任姓名
否
外键
tno
int
10
教师工号
否
外键
tc表
数据项名
数据类型
长度
别名
是否为空
主外键
tno
int
10
教师工号
否
外键
cno
int
10
课题编号
否
外键
sc表
数据项名
数据类型
长度
别名
是否为空
主外键
sno
int
10
学生学号
否
外键
cno
int
10
课题编号
否
外键
3.2.2关系模型优化
关系模式课题,教师,学生,教研室等每一个关系不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,基本上都满足应用系统的要求,只是在应用中还有一部分功能的实现过于简单,没有考虑周全,还有待进一步修改。
已得到更好的运行效率。
3.2.3用户子模式设计
用户子模式的建立,其功能就是方便用户的查询并起到了一定的保护数据库的作用,视图的建立应根据具体的应用情况,根据用户的需求,进行相应的视图建立,建立视图的原则应在尽量满足用户的需求的前提下进行,并同时保护其他的数据的安全性,以免数据的泄露与破坏,数据库视图的建立在下面有相应的举例及应用,这里就不再多说了。
3.3数据处理
系统功能模块图
4.物理设计
4.1物理设计目标与任务
数据库的物理设计通常是确定数据的相关存储过程,它一般是依赖于相应的数据库管理系统,几乎是机器进行自主完成的任务,不用过多的人去考虑,但有时为了效率的问题,以及其他的要求,必须进行相应的物理设计,以达到相应的要求,这就是物理设计的根本目的。
5.数据库实施
5.1建立数据库,数据表,视图
5.1.1建立数据库
建立在本地的test数据库中
5.1.2建立数据表
数据表建立:
createtablecourse
(
cnochar(10)primarykey,
cnamechar(30)
);
altertablecourse
modifycnochar
notnullunique;
createtablestudent
(
snochar(10)primarykey,
snamevarchar(10),
ssexchar(8),
sdeptchar(20)
);
altertablestudent
modifysnochar
notnullunique;
createtableteacher
(
tnochar(10)primarykey,
tnamevarchar(10),
cnochar(10)
);
altertableteacher
modifytnochar
notnullunique;
createtabletc
(
tnochar(10),
cnochar(10),
primarykey(tno,cno),
foreignkey(tno)
referencesteacher(tno),
foreignkey(cno)
referencescourse(cno)
);
createtableoffice
(
onamevarchar(10),
ophonechar(20),
primarykey(oname,ophone)
);
createtablesc
(
cnochar(10),
snochar(10),
foreignkey(cno)
referencesstudent(sno),
foreignkey(sno)
referencesstudent(sno),
primarykey(cno,sno)
);
createtableot
(
onamevarchar(10),
tnochar(10),
foreignkey(oname)
referencesoffice(oname),
foreignkey(tno)
referencesteacher(tno)
);
5.1.3建立视图
视图的建立:
教师提供课题信息
createviewteacher_course_tc
as
selectteacher.tno,teacher.tname,o,ame
fromteacher,course,tc
whereteacher.tno=tc.tnoando=o
教研室信息
createviewoffice_teacher_ot
as
selectoffice.oname,teacher.tno,teacher.tname
fromoffice,teacher,ot
whereoffice.oname=ot.onameandteacher.tno=ot.tno
学生选题信息
createviewstudent_course_sc
as
selectstudent.sno,student.sname,o,ame
fromstudent,course,sc
wherestudent.sno=sc.snoando=o
5.2创建功能存储
数据库的基本功能实现
编号
作用
1
教师提交毕业设计课题
2
教研室主任对所属教研室教师的课题进行审核
3
学生登录系统后可以查看所有课题的详细信息
4
学生可以选择通过审核的课题
5
教师可以看到所有预选他的学生信息
6
系统能够对学生选题信息进行统计,对教师课题信息进行统计
6.系统调试和测试
系统功能的基本要求:
(1)教师提交毕业设计课题,一个教师可以提交多个课题;
selecto,cname,teacher.tno,tname
fromcourse,teacher,tc
whereo=oandteacher.tno=tc.tno
(2)教研室主任对所属教研室教师的课题进行审核;
selectoffice.oname,office.ophone,teacher.tno,teacher.tname,o,ame
fromoffice,teacher,course,ot,tc
whereoffice.oname=ot.onameandteacher.tno=ot.tnoandteacher.tno=tc.tnoando=o
(3)学生查看所有课题的详细信息;
selecto,ame,teacher.tno,teacher.tname
fromstudent,course,sc,teacher,tc
wherestudent.sno=sc.snoando=oandteacher.tno=tc.tnoando=o
(4)学生选择课题,每个学生只能选择一个
selectstudent.sno,student.sname,student.ssex,student.sdept,o,ame
fromstudent,course,sc
wherestudent.sno=sc.snoando=o
(5)教师查看选题的学生信息
selectteacher.tno,teacher.tname,student.sno,student.sname,student.ssex,student.sdept,o,ame
fromteacher,student,course,sc,tc
whereteacher.tno=tc.tnoando=oandstudent.sno=sc.snoando=o
(6)学生、教师课题信息统计
selectcno,count(sno)
fromsc
groupbycno
selecttno,count(cno)
fromtc
groupbytno;
7.实习心得体会
通过这次课程设计发现这其中需要的很多知识我们没有接触过,去图书馆查资料的时候发现我们前边所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。
同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要我们不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。
在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。
从各种文档的阅读到开始的需求分析、概念结构设计、逻辑结构设计、物理结构设计。
亲身体验了一回系统的设计开发过程。
很多东西书上写的很清楚,貌似看着也很简单,思路非常清晰。
但真正需要自己想办法去设计一个系统的时候才发现其中的难度。
经常做到后面突然就发现自己一开始的设计有问题,然后又回去翻工,在各种反复中不断完善自己的想法。
我想有这样的问题不止我一个,事后想想是一开始着手做的时候下手过于轻快,或者说是根本不了解自己要做的这个系统是给谁用的。
因为没有事先做过仔细的用户调查,不知道整个业务的流程,也不知道用户需要什么功能就忙着开发,这是作为设计开发人员需要特别警惕避免的,不然会给后来的工作带来很大的麻烦,甚至可能会需要全盘推倒重来。
所以以后的课程设计要特别注意这一块的设计。
我们学习并应用了SQL语言,对数据库的创建、修改、删除方法有了一定的了解,通过导入表和删除表、更改表学会了对于表的一些操作,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。
很多事情不是想象中的那么简单的,它涉及到的各种实体、属性、数据流程、数据处理等等。
很多时候感觉后面的设计根本无法继续,感觉像是被前面做的各种图限制了。
在做关系模型转换的时候碰到有些实体即可以认为是实体又可以作为属性,为了避免冗余,尽量按照属性处理了。
物理结构设计基本没有碰到问题,这一块和安全性、完整性不觉就会在物理结构设计中添加一些安全设置:
主键约束、check约束、default定义等。
最后才做索引的部分,对一些比较经常使用搜索的列,外键上建立索引,这样可以明显加快检索的速度,最后别忘记重要的安全性设置,限制用户访问权限,新建用户并和数据库用户做相应的映射。
不管做什么,我们都要相信自己,不能畏惧,不能怕遇到困难,什么都需要去尝试,有些你开始认为很难的事在你尝试之后你可能会发现原来她并没有你以前觉得的那样,自己也是可以的。
如果没有自信,没有目标,没有信心就不可能把事情做好,当其他人都在迷茫的时候,自己一定要坚信目标,大学毕业出去即面临找工作,从学习这个专业,到以后从事这方面的工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想!
以上基本是这次实习的体会了,设计进行的非常艰难,编码非常不容易,才发现做一个项目最重要的不在于如何实现,而是实现之前的需求分析和模块设计。
创新很难,有些流行的系统其实现并不难,难的在于对市场的分析和准确定位。
设计,是一个任重道远的过程。
参考文献
《数据库原理及应用》
《MySQL快速入门》
附录
附录1.数据流程图
教
师
查
看
学
生
选
题
信
息
毕业设计选题管理系统整体数据流程图
附录2.ER模型设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 选题 管理 系统 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)