实验选课系统数据库设计Word文档格式.docx
- 文档编号:21103593
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:23
- 大小:434.71KB
实验选课系统数据库设计Word文档格式.docx
《实验选课系统数据库设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验选课系统数据库设计Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
管理员具有全系统的使用功能。
1.1系统分析
实验选课系统针对不同的用户,对系统有着不同的使用权限,因此要求系统有密码登录功能。
1.2用户需求
●实验选课系统分为教师,学生及系统管理员三类用户,学生的功能包括选课,查寻实验信息等,教师的功能包括考勤,学生实验成绩录入,查寻实验信息等。
●管理员可对教师,学生及实验课程信息进行修改;
●管理员可删除教师,学生及实验课程信息。
●教师可查询所任课程的学生名单,实验时间,考勤及实验成绩,并可按成绩分数段进行统计;
管理员具有全系统的查寻功
2概要设计
2.1系统流程图
图2-1系统流程图
2.2系统功能模块设计
系统主要功能如下所示:
图2-2系统功能模块
2.3系统总体设计
实验选课系统分为教师,学生管理员三个功能模块。
学生模块:
选课、查寻实验信息、教师名单等功能。
教师模块:
考勤、成绩统计、学生实验成绩录入、查寻实验信息、所任课程的学生名单等功能。
管理员模块:
具有全系统的查询、更新功能。
3数据库设计
3.1概念模型设计
3.1.1设计原理
通过对系统的总体结构的把握,采用自顶向下和自底向上像结合的混合策略,先采用自顶下策略设计出全局概念结构,再使用自底向上的方法设计出各局部概念结构。
3.1.2概念模型
经过对实验选课系统所涉及到的数据进行分析,得到如下的实体:
(1)学生:
属性包括学号、姓名、密码。
(2)课程:
属性包括课程号、课程名称、课程信息(包括上课时间、上课地点、上课教师)。
(3)教师:
职工号、教师姓名、密码。
(4)管理员:
管理员编号、管理员姓名、密码。
联系有:
(1)考勤:
表示教师、实验课程、学生之间的关系。
它有属性:
状态
(2)选课:
表示学生与实验课程之间的关系。
成绩。
所设计的概念模型(E-R图)
图3-1系统E-R图
图3-2管理员分E-R图
图3-3学生分E-R图
图3-4教师分E-R图
图3-5实验课程分E-R图
3.2逻辑结构设计
3.2.1将实体转换为关系模式
S(Sno,Sname,password)
C(Cno,Cname,Ctine,Cplace,Tno)
T(Tno,Tname,password)
A(Ano,Aname,password)
3.2.2将联系转换为关系模式
SC(Sno,Cno,grade)
TCS(Tno,Cno,Sno,status)
3.3物理结构设计
3.3.1基本表设计
1、学生表:
表3-1职工信息表
字段名
字段描述
字段类型
备注
Sno
学号
Char(10)
主键
Sname
姓名
无
password
密码
创建学生表的SQL语句如下:
CreatetableS
(
Snochar(10)primarykey,
Snamechar(10),
Passwordchar(10)
);
2、教师表:
表3-2教师信息表
Tno
职工号
Tname
教师姓名
创建教师表的SQL语句如下:
CreatetableT
Tnochar(10)primarykey,
Tnamechar(10),
3、管理员表:
表3-3管理员信息表
Ano
管理员编号
Aname
创建管理员表的SQL语句如下:
CreatetableA
Anochar(10)primarykey,
Anamechar(10),
4、实验课程表:
表3-4实验课程信息表
Cno
课程号
Cname
课程名称
Char(20)
Ctime
上课时间
Cplace
上课地点
任课教师
T表外键
创建实验课程表的SQL语句如下:
CreatetableC
Cnochar(10)primarykey,
Cnamechar(20),
Ctimechar(20),
Cplacechar(10),
Tnochar(10)foreignkeyreferencesT(Tno)
5、学生选课表:
表3-5学生选课信息表
grade
成绩
Int
创建学生选课表的SQL语句如下:
CreatetableSC
Snochar(10)foreignkeyreferencesS(Sno),
Cnochar(10)foreignkeyreferencesS(Sno),
gradeint,
primarykey(Sno,Cno)
6、考勤表:
表3-6考勤信息表
status
创建考勤表的SQL语句如下:
CreatetableTCS
Tnochar(10)foreignkeyreferencesT(Tno),
statuschar(10),
primarykey(Tno,Cno,Sno)
4程序模块设计
4.1开发环境及数据库连接
本系统用C#语言编写设计,使用VS2010编程环境编写,使用SQLSever(SQLEXPRESS)数据库,采用ADO.NET数据库访问技术。
4.2学生模块设计
4.2.1设计思路
根据任务书的内容,明确学生模块需要实现的功能,根据功能使用不同的方法设计不同的子模块。
4.2.2实现方法(以程序流程图或伪码表示)
学生模块代码:
privatevoid学生选课ToolStripMenuItem_Click(objectsender,EventArgse)
{
newSxuanke().Show();
}
privatevoid已选课程ToolStripMenuItem_Click(objectsender,EventArgse)
newSyixuan().Show();
privatevoid查询实验信息ToolStripMenuItem_Click(objectsender,EventArgse)
newselectshiyan().Show();
privatevoid教师名单ToolStripMenuItem_Click(objectsender,EventArgse)
newTmingdan().Show();
}
privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse)
this.Close();
newlogin().Show();
4.3教师模块设计
4.3.1设计思路
根据任务书的内容,明确教师模块需要实现的功能,根据功能使用不同的方法设计不同的子模块。
privatevoid录入成绩ToolStripMenuItem_Click(objectsender,EventArgse)
newgradeAdd().Show();
privatevoid查询实验课程信息ToolStripMenuItem_Click(objectsender,EventArgse)
privatevoid学生名单ToolStripMenuItem_Click(objectsender,EventArgse)
newxueshengmingdan().Show();
privatevoid考勤ToolStripMenuItem_Click(objectsender,EventArgse)
newkaoqing().Show();
privatevoid统计ToolStripMenuItem_Click(objectsender,EventArgse)
newtongji().Show();
4.4管理员模块设计
4.4.1设计思路
根据任务书的内容,明确管理员模块需要实现的功能,根据功能使用不同的方法设计不同的子模块。
privatevoid添加学生用户ToolStripMenuItem_Click(objectsender,EventArgse)
newAddS().Show();
privatevoid添加教师用户ToolStripMenuItem_Click(objectsender,EventArgse)
newAddT().Show();
privatevoid添加实验课程信息ToolStripMenuItem_Click(objectsender,EventArgse)
newAddC().Show();
privatevoid学生信息ToolStripMenuItem_Click(objectsender,EventArgse)
newselectS().Show();
privatevoid教师信息ToolStripMenuItem_Click(objectsender,EventArgse)
newselectT().Show();
privatevoid实验课程信息ToolStripMenuItem_Click(objectsender,EventArgse)
newselectC().Show();
privatevoid学生选课信息ToolStripMenuItem_Click(objectsender,EventArgse)
newselectSC().Show();
privatevoid考勤信息ToolStripMenuItem_Click(objectsender,EventArgse)
newselectTCS().Show();
5.系统测试
5.1测试环境
系统测试的时候主要是黑盒测试,进行功能的验证。
工具:
WindowsXP、VS2010、SQLSever
5.2测试用例及结果
5.2.1界面测试
测试界面是否整洁美观,人机对话是否友好,检查所有的页面是否能够正确的显示,每个页面的风格是否一致,界面是否有错别字,页面每一个链接是否有对应的界面,页面控件和操作按钮的位置是否合理,界面中的下拉列表的值是否正确,是否有重复的值。
界面测试结果,界面整洁美观,界面友好,界面风格一致,无错别字,控件按钮位置合适易于操作,输入框、下拉列表等显示正确。
5.2.2功能测试
1、登录测试
用例编号
用户名
用户权限
预期结果
1
1(正确)
123(正确)
管理员
成功登录系统的管理员首页
2
2(正确)
教师
成功登录系统的教师首页
3
学生
成功登录系统的学生界面
4
111(错误)
停留在登录界面,显示登录用户不存在或密码错误
5
0(错误)
6
(空)
7
8
9
10
11
12
13
14
15
用例4、5、6、7的实际结果,如图5-1、5-2所示:
图5-1管理员登录测试1
图5-2登录失败测试
用例8、9、10、11的实际结果,如图5-2、5-3所示:
图5-4教师登录测试1
用例12、13、14、15的实际结果,如图5-2、5-4所示:
图5-4学生登录测试1
用例1的实际结果,如图5-5所示:
图5-5管理员登录测试2
用例2的实际结果,如图5-6所示:
图5-6教师登录测试2
用例3的实际结果,如图5-7所示:
图5-7学生登录测试2
2、管理员功能测试
图5-8添加学生用户
图5-9添加教师用户
图5-10添加实验课程信息
图5-11学生信息浏览
图5-12教师信息浏览
图5-13实验信息浏览
图5-14学生选课信息浏览
图5-15考勤信息浏览
3、教师功能测试
图5-16成绩录入
图5-17查询实验课程信息
图5-18学生名单
图5-19考勤
图5-20实验成绩统计
4、学生功能测试
图5-21学生选课
图5-22已选课程
图5-23教师名单
结论
通过本次数据库课程设计,对数据库的使用有了更深的了解,对于数据库的设计过程和方法有了更全面的认识。
当然,本次课程设计使用的是C#语言,对这门语言也有了初步的认识。
在完成系统的过程中,让我认识到了自己的不足,自己在项目综合实训方面还比较欠缺。
本次课程设计完成了任务书的全部内容,系统的详细设计还有欠缺,系统界面还有待完善。
对数据库安全的方面了解甚少,以至于不知道怎样去维护,在数据库的设计方面花了很多时间,但是,有些问题还没有考虑进去。
致谢
在本次课程设计过程中,首先感谢谭老师利用自己的个人时间给我们上课培训,让我从不知道C#到基本了解这门语言,也感谢老师在我遇到困难时,帮我度过难关,在我询问一些问题时也不厌其烦给我解释。
其次,我要感谢曹玉和徐文两位同学对我的帮助,在课程设计一开始我对C#这门语言并不是很了解,要是没有他们俩的帮助,我想我不可能这么快的完成课程设计。
最后我要感谢ACM团队为我提供了编程场所。
在大家共同的帮助下,我成功完成了这次软件工程和数据库的课程设计,谢谢帮助过我的人,以及那些间接帮助过我的人。
参考文献
[1]王珊、萨师煊.《数据库系统概论(第四版)》.高等教育出版社2011.12
[2]钱雪忠.《数据库原理及应用》北京邮电大学出版社(第二版)2007,8
[3]BainT.《SQLserver2008数据仓库与AnalysisServices》.中国电力出版社2009
[4]王珊.《数据库技术与联机分析处理》北京科学出版社2008
[5]闪四清《数据库系统原理与应用教程》.清华大学出版社
[6]周龙骧.《数据库管理系统实现技术》.中国地质大学出版社
[7]张海藩.《软件工程概论》.清华大学出版社
[8]成先海.《数据库基础与应用-SQLSERVER2000》.机械工业出版社出版
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 选课 系统 数据库 设计