高中物理课程网上辅导平台的开发课设副本Word下载.docx
《高中物理课程网上辅导平台的开发课设副本Word下载.docx》由会员分享,可在线阅读,更多相关《高中物理课程网上辅导平台的开发课设副本Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
有较强的可扩展性。
系统实现部分要求每个同学至少完成两个模块。
要求:
1、可以采用B/S体系结构。
2、开发工具可选择C#、Java等。
3、用SQLServer作为后台数据库,能运用基本的SQL语句访问、操作数据库。
4、课程设计要求从需求分析、系统设计、系统实现、测试几个方面论述。
指导教师(签字):
教研室主任(签字):
批准日期:
年月日
摘要
网上辅助教学平台的设计能够为学生提供一个资源共享、交互协作的教学环境,为学生提供一个灵活学习的途径。
该系统基于B/S结构,实现了课程的统一管理,学生、教师的基本信息管理,教学资源的发布、下载、查看、浏览以及网上教师辅导答疑等功能。
系统界面美观,浏览速度快,有较强的可扩展性。
关键词:
网上辅导;
B/S结构;
教学平台;
数据库
1课题描述..........................................................1
1.1课程设计的内容..............................................1
1.2课程设计的目的..............................................1
2需求分析..........................................................22.1功能需求...................................错误!
未定义书签。
2.2系统数据流程分析...........................错误!
3系统总体设计............................................错误!
4数据库的设计与实现...............................错误!
4.1数据库概念结构设计.........................错误!
4.2数据库逻辑结构设计.........................错误!
4.3数据库物理结构设计.........................错误!
5详细设计与实现.........................................................10
5.1前台界面与后台数据库连接的实现..............................10
5.2教师查询学生信息模块设计与实现..............................10
5.3师生互动模块设计与实现......................................11
6系统运行测试.....................................................15
总结..............................................................16
参考文献...........................................................19(注意一级标题为宋体小四黑体,二级为宋体小四
1课题描述
1.1课程设计的内容(注意要左对齐,切段前段后为0行)
本课程设计是要设计一个网上课程辅导的教学平台,使其能够为群内课程提供一个资源共享、交互协作的教学环境,为学生提供一个灵活学习的途径。
该系统要实现课程的统一管理,学生、教师的基本信息管理,教学资源的发布、下载、查看、浏览以及网上教师辅导答疑等功能。
1.2课程设计的目的
这次数据库课程设计一方面可以让自己更加熟悉数据库系统设计的基本步骤,掌握数据流图和E—R图的设计思路,以及如何把概念模型转换为关系模型,另一方面,也让我们自主学习了数据库应用系统功能模块实现的方法,提高我们程序设计能力。
2需求分析
用户登录:
操作员可以分为两种,一种是管理员,一种是普通用户。
两者的权限是不一样的,所以在通过不同身份进入到系统里面会出现不同的操作界面。
其中管理员多了添加、修改、删除操作,还有就是用户管理操作;
而一般的用户只有查看和修改自己密码的权限。
查看当前信息:
主要是通过对数据库的访问,查看当前数据库中的信息是否完整,然后才能进行其它操作。
这一功能是普通用户和管理员都有的权限,所以两个方法可以合二为一,而不用去分别写了。
查看的信息包括:
学生信息和班级信息。
管理员还包括一个用户信息查询。
当然也可以对个别学生通过不同的查找方式来查看对应学生的信息和班级信息。
修改密码:
管理员可能通过不同的方法对自己的密码和其它所有用户的密码进行修改。
而普通用户只能通过此功能修改自己的密码。
用户管理:
管理员特权。
其中包括:
创建用户、删除用户、修改用户密码等。
通过对已经用户的查看,如果有必要创建一个新用户的话就可以通过此方法来创建。
当然用户名相同的不能再次创建。
如果有用户不再使用此系统,为保证安全性可以尽快将其删除。
而修改密码是和上一个方法联系在一起的。
插入操作:
管理员特权!
在系统之初,数据库里面可能包含太少的学生信息和班级信息。
而管理员则可以此方法向数据库中添加数据。
其中包括添加学生信息和班级信息。
删除操作:
如果系统用的时间比较长的话,那么学生信息和班级信息不可能一直不变。
如果出现了学生离校或者班级编排方式不同,则有可能出现多余的信息,此时可以通过此方法将多余的信息删除掉。
其中包括删除学生信息和班级信息。
修改操作:
在管理员添加信息的时候,出错是难以避免的,而有时候一个学生的信息只是错了个班级。
如果将其删除然后再重新添加费时又费力。
相反可以通过此方法对一条记录中的个别错误进行修改。
这样可以节约很多添加和删除操作。
其中包括修改学生信息和班级信息。
主函数:
主要用于整体框架的构建。
并通过输入说明将方法分解开来,因此,用户可以完成准确的操作。
3系统的总体设计
系统的功能设计
本系统功能主要是针对广西第四建工集团子弟学校每年新生入学、毕业生离校、中途学生转入/出学校以及每次大型考试等等进行有效的管理这些学生的各项信息,帮助学校和老师及时准确地掌握学生的情况。
本学生学籍管理系统又分为学生信息管理、学生成绩管理、考试管理和用户管理四个功能模块。
一、学生信息管理模块
主要是对学生信息(如学号、姓名、性别、家庭住址等)进行管理。
本模块又分为五个子模块:
◇录入学生信息◇查询学生信息◇修改/删除学生信息◇打印学生信息◇班级管理
二、学生成绩管理模块
主要是对学生成绩进行管理。
本模块又分为四个子模块:
◇录入学生成绩◇查询学生成绩◇修改/删除学生成绩◇打印学生成绩
在使用学生成绩管理模块前请先进入学生信息管理模块录入相关信息。
三、考试管理模块主要对考试进行如下管理:
◇添加新考试
◇对已有的考试信息进行修改/删除◇对考试科目进行添加/删除
本模块只有管理员才能使用,普通用户不能进入。
四、用户管理模块
主要对使用本系统的用户进行如下管理:
◇添加新用户◇删除用户
3.6系统的结构设计
数据库在一个信息系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。
合理的数据库结构设计可以提高数据库存储的效率,保证数据库的完整和一致。
同时,合理的数据库结构也将有利于程序的实现。
设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。
在3.4节论述的工作方式下,系统的结构流程框架如图3-2所示:
图3-2学生学籍管理系统的结构设计
4.数据库设计
4.1数据库介绍
数据库是一种存储数据并对数据进行操作的工具,数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。
计算机的数据库可以分为两类:
非关系数据库(Flat—File)和关系数据库(Relational)。
关系数据库中包含了多个数据表的信息。
Access2002就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索,Access的优点在于它能使用数据表示图或自定义窗体收集信息。
数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。
另外,Access允许创建自定义报表用于打印或输出数据库中的信息,Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。
总之,Access作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
4.2数据流程图
数据流程图(DataFlowDiagram,简称DFD)是新系统逻辑模型的主要组成部分,它可以反映出新系统的主要功能、系统与外部环境间的输入输出、系统内部的处理、数据传送、数据存储等情况。
它的绘制依据是现行系统流程图,数据流程图是管理信息系统的总体设计图,数据流程图的基本符号如图所示:
如图4-1(见下页)所示为本信息管理系统的数据流程图:
图4-1学生学籍管理系统的数据流程图
4.3数据库需求分析
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库的结构能充分的满足各种信息的输出和输入。
收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
根据上面的数据流程图,可以列出以下记录学生信息所需的数据项和数据结构:
学生管理:
学号、姓名、性别、民族、籍贯、政治面貌、出生日期、入
学时间、家长姓名、联系电话、家庭住址、备注;
考试管理:
记录号、考试名称、数据库对应表名、考试科目名称;
成绩管理:
记录号、考试名称、学号、考试科目;
用户管理:
记录号、用户名、用户密码、用户等级。
4.4数据库概念结构设计
得到上面的数据项和数据结构后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为以后的逻辑结构设计打下基础。
这些实体包括各种具体信息,通过各种相互之间的作用形成数据的流动。
本系统中根据上面的设计规划出的实体有:
学生学籍管理、学生信息管理、考试管理、成绩管理、用户管理。
实体—关系模型(Entity—RelationshipModule,简称E—R模型)是数据库结构设计常用的方法。
E—R图中的巨型表示实体,菱形表示实体间的联系,联系的类型可用1:
1或M:
M表示,圆角表示实体的有关属性,如图4-2所示的是本管理系统的E—R图:
图4-2学生学籍管理系统的E—R图4.5数据库逻辑结构设计
现在需要将上面的数据库概念结构转化为数据系统所支持的实际数据模型,也就是数据库的逻辑结构。
在上面的实体以及实体之间关系的基础上,形成数据库的表格以及各个表格之间的关系。
根据系统E—R图需要设计以下几个数据表来存放学生的信息。
图4-3StudentInfo学生个人信息表
图4-4TestName信息表
Subject课程信息表
图4-5Subject课程信息表
图4-6考试成绩存储信息表
图4-7User信息表
5详细设计与实现
此部分主要介绍软件各模块的实现过程及主要功能。
5.1前台界面与后台数据库连接的实现主要代码如下:
voidCLogin:
:
OnOK({//TODO:
AddextravalidationhereUpdateData(TRUE;
if(m_Name.IsEmpty(||m_PassWord.IsEmpty({MessageBox("
用户名或密码不能为空"
;
return;
}m_Num++;
CStringsql;
sql.Format("
select*fromtb_userwhereusername='
%s'
andpwd='
"
m_Name,m_PassWord;
m_LoginSet=newCLoginSet(&
((CMystudentsysApp*AfxGetApp(->
m_DB;
if(!
m_LoginSet->
Open(AFX_DB_USE_DEFAULT_TYPE,sql{AfxMessageBox("
tb_studentinfo表打开失败!
}
if(m_LoginSet->
GetRecordCount(!
=0{CDialog:
OnOK(;
}else{if(m_Num==3{MessageBox("
密码次不正确"
CDialog:
OnCancel(;
}else{MessageBox("
用户名或密码不正确"
m_Name="
m_PassWord="
UpdateData(FALSE;
}
IsOpen({
Close(;
deletem_LoginSet;
5.2录入学生信息与查询
主要代码如下:
BOOLCStudentinfo_finddlg:
OnInitDialog({CDialog:
OnInitDialog(;
//TODO:
Addextrainitializationherem_List.InsertColumn(0,"
学生姓名"
m_List.InsertColumn(1,"
性别"
m_List.InsertColumn(2,"
年龄"
m_List.InsertColumn(3,"
住址"
m_List.InsertColumn(4,"
电话"
m_List.InsertColumn(5,"
班级"
RECTrect;
m_List.GetWindowRect(&
rect;
intwid=rect.right-rect.left;
m_List.SetColumnWidth(0,wid/6;
m_List.SetColumnWidth(1,wid/6;
m_List.SetColumnWidth(2,wid/6;
m_List.SetColumnWidth(3,wid/6;
m_List.SetColumnWidth(4,wid/6;
m_List.SetColumnWidth(5,wid/6;
m_List.SetExtendedStyle(LVS_EX_FULLROWSELECT;
returnTRUE;
voidCStudentinfo_finddlg:
Onfindstudentinfo({//TODO:
AddyourcontrolnotificationhandlercodehereUpdateData(TRUE;
CStringsqlStr;
sqlStr="
SELECT*FROMtb_studentinfoWHEREstudentid='
;
sqlStr+=m_studentid;
sqlStr+="
'
mystudentset=newCStudentinfoset(&
mystudentset->
Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr{AfxMessageBox("
tb_studentinfo表打开失败!
DisplayRecord(;
if(mystudentset->
IsOpen({mystudentset->
deletemystudentset;
}5.3用户管理
voidCMainFrame:
OnMenuXiugai({
intflag=0;
CPSWsetpasSet;
CPASdlg;
if(dlg.DoModal(==IDOK{pasSet.Open(;
while(!
pasSet.IsEOF({if(dlg.m_opass==pasSet.m_pass&
&
dlg.m_ouser==pasSet.m_user{flag=1;
break;
pasSet.MoveNext(;
}if(flag{
pasSet.Edit(;
pasSet.m_user=dlg.m_nuser;
pasSet.m_pass=dlg.m_npass;
pasSet.Update(;
UpdateData(FALSE;
AfxMessageBox("
密码修改成功,以后请您使用新的用户名和密码登陆!
else
旧密码错误,请重新输入!
OnMenuXinjian({CPSWsetpasSet;
CNuserdlg;
CStringadm_pas;
if(dlg.DoModal(==IDOK{
pasSet.Open(;
pasSet.m_strFilter="
user='
administrator'
pasSet.Requery(;
adm_pas=pasSet.m_pass;
if(dlg.m_pas1==adm_pas{
pasSet.AddNew(;
pasSet.m_user=dlg.m_user;
pasSet.m_pass=dlg.m_pas2;
新用户创建成功,新的用户名和密码即刻生效!
管理员密码错误,无法创建新用户,请再试一次!
OnMenuDeluser({CPSWsetpasSet;
CDelUserdlg;
CRecordsetStatusstatus;
adm_pas=pasSet.m_pass;
if(dlg.m_pas==adm_pas{
pasSet.m_strFilter.Format("
dlg.m_user;
pasSet.Requery(;
if(!
pasSet.IsEOF({pasSet.GetStatus(status;
pasSet.Delete(;
if(status.m_lCurrentRecord==0pasSet.MoveNext(;
else
pasSet.MoveFirst(;
用户删除成功,该用户不再具有相应权限!
elseAfxMessageBox("
无法删除用户,您要删除的用户不存在!
管理员密码错误,无法删除用户,请再试一次!
6系统运行测试
(1)用户登录测试:
分为管理员administrator和普通用户anonymous当以管理员身份登录时其界面测试如下
当以普通用户身份登录时其界面测试如下
图6.1用户登录测试
(2)学生信息基本表,显示学生基本信息,并可对其进行删除、增加、修改等操作,测试如下
(3)根据学生的基本信息进行搜索和排序操作,其测试如下以学号为排序标准,进行排序操作,其测试如下(4)对用户权限进行修改,增添删除用户,测试如下16
通过测试,本软件很好地实现本次课程设计的软件需求,17
总结经过这段时间的努力,在指导老师和同学的热心帮助下,我利用Qt和Mysql完成了这次有关高中物理课程网上辅助教学平台开发的课设。
该系统实现了课程的统一管理,学生、教师的基本信息管理,教学资源的发布、下载、查看、浏览以及网上教师辅导答疑等功能。
这次系统的设计从最开始的可行性研究,需求分析,到系统的总体设计,详细设计,再到编码、测试等的整个过程,使我对整个开发流程有了更深入地认识。
在整个设计过程中,出现过很多的问题,在不断学习的过程中我体会到:
完成一个系统的开发,前期的需求分析至关重要,它是整个开发的灵魂,需求决定了开发的方向。
同时数据库的正确设计也尤为重要,数据库是整个系统的运行支撑。
18
参考文献[1]苗雪兰.数据库系统原理及应用教程机械工业出版社,2005.[2]冯飞.数据库原理[M].北京.清华大学出版社,2008.[3]孙东卫,张冀红,李声利.数据库访问技术研究[J].现代电子技术.2002,18(5.20-34.[4]张海藩.软件工程导论.清华大学出版社[5]罗建军、朱丹军.C++课程设计教程(第二版)高等教育出版社2007[6]史嘉权.数据库系统概论清华大学出版社19