C语言在线学习系统.docx
- 文档编号:3474969
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:34
- 大小:1MB
C语言在线学习系统.docx
《C语言在线学习系统.docx》由会员分享,可在线阅读,更多相关《C语言在线学习系统.docx(34页珍藏版)》请在冰豆网上搜索。
C语言在线学习系统
摘要
随着Internet技术的发展,人们的学习生活已经离不开网络。
未来社会人们的生活和学习将越来越依赖于数字技术的发展,越来越数字化、网络化、电子化、虚拟化。
Internet的发展历程以及目前的应用状况和发展趋势,可以充分地相信网络技术将极大的改变我们的生活和工作方式,甚至社会的价值观也会发生某种变化。
本设计尝试用MicrosoftVisualStudio2008在网络上架构一个C语言在线学习系统,以使每一位学生不用出门进教室,在家里就能够通过上网来轻松学习。
本文从理论和实践两个角度出发,对一个具有数据挖掘功能C语言在线学习系统进行设计与实现分析。
论文首先较为详尽地介绍了面向对象分析与设计的有关概念与技术,特别深入介绍了在本系统中运用到的知识,如:
面向对象的分析设计流程;系统中所用到的开发技术MicrosoftVisualStudio2008的特点、结构框架以及使用方法。
接着对课程系统的可行性进行了分析,然后对系统的设计思想、设计目标与系统的整体结构进行了明确的规划。
最后对系统的主要页面、数据库、应用程序的设计与实现作了较为详细的讲解。
关键词:
用户管理,查看文件,留言板
Abstract
AlongwiththedevelopmentofInternettechnology,dailylifecannotalreadydowithoutthenetwork.Thelifeandworkofthesocialpeopleoffuturewilldependonthedevelopmentofdigitaltechnologymoreandmore,Digitizemoreandmore,thenetworking,electronic,virtual.DevelopmentcourseandpresentapplicationstateanddevelopmenttrendofInternet,canbelievenetworktechnologygreatchangelifeandworkingwayofusfully,Evenacertainchangewilltakeplaceinthevaluesofthesociety.
ThisproceduretriestobuildupabookshopinthenetworkwithASP.NET,Sothateverycustomerneedn'tgooutandcandoshoppingeasilythroughsurfingtheNetathome.thisarticleisanalyzingthedesignandrealizationofanonlinebookshopwithDataMiningfunction,fromtheviewsoftheoryandpractice.StartingwithintroducingconceptsandtechniquesofOOAandOOPindetail,especiallyintroducingtheknowledgewhichapplyforthissystem,suchas:
thefeatureandflowofOOAandOOP;analyzingthefeature、structureandusingmethodofdevelopingtechniquesASP.NETandADO.NETwhichusinginmysystem.Andthen,thisarticleanalysesthefeasibilityofthesystem,thenminutelylayoutsthedesignthoughts,goalsandthesystemholisticframework.Atlast,thisarticleminutelyexplainsthedesignandrealizationofWebpagelayout,databaseandapplicationprogramofoursystem.
Keyword:
usermanagement,viewfile,MicrosoftVisualStudio2008
目录
第1章绪论1
1.1项目背景1
1.2开发在线考试系统的意义1
1.3开发工具的简介1
1.3.1ASP开发技术简介1
1.3.2SQLSERVER2000数据库技术的应用2
第2章系统分析3
2.1可行性分析3
2.2功能需求3
2.3需求分析3
第3章系统设计5
3.1设计的思路5
3.2总体设计6
3.2.1系统设计原则6
3.2.2系统功能设计6
3.2.3系统各模块设计8
3.2.4系统的数据工作流9
3.3系统数据流图10
3.4系统流程12
3.5数据库设计14
3.5.1逻辑模型设计和优化14
3.5.2物理设计和实施14
3.6详细设计17
3.6.1界面设计17
3.6.2前台及后台程序流程图18
第4章系统实现21
4.1ASP与数据库的连接21
4.2用户公共界面的实现21
4.2.1系统的首页21
4.2.2用户登录页面24
4.3管理员界面的实现26
4.3.1管理员界面首页26
4.3.2科目管理界面27
4.3.3题库管理界面28
4.5普通考生界面的实现31
4.5.1选择科目和考试页面31
4.5.2成绩查询页面34
结束语35
谢辞36
参考文献37
第1章绪论
1.1项目背景
随着网络技术的飞速发展,现在很多国内外的大学和社会其他部门都已经开设了网络教学,通过计算机实现异地教育和培训。
现在,计算机硬件技术的发展已经达到了相当高的水平。
但是,教学软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到教学当中去,这就给软件设计人员提出了更高的设计要求。
1.2开发在线考试系统的意义
无论是什么样的教学形式,测量与评价都是教学过程中的一个重要环节,是保证教学质量的重要手段之一。
考试是针对学生学习进行的测量与评价,它是教师实施个别教学辅导的重要依据之一。
传统考试中,教师要准备一次考试,从搜集资料开始,选考题、印制考卷、考试、批改、最后记录分数,工作量十分繁重,工作周期也从数周到数月不等。
教师进行考试的主要目的,是为了从中发现问题,从而改进教学方法,达到教学目标。
对考试结果的分析也成为考试的很重要的一部分内容。
而由于时间和条件的限制,教师只能从有限的几个方面来分析考试,如根据最高分、最低分、平均分了解班级的整体水平,凭自己的印象寻找错误率较高的题目加以讲解等。
1.3开发工具的简介
1.3.1ASP开发技术简介
ASP是基于MicrosoftWindowsNT和MicrosoftInternetInforminationServer的开发式脚本开发环境,它很好的把HTML和脚本开发融合在一起,提高了编程的灵活性,降低了开发难度[3]。
ASP的脚本在Web服务器端运行,而不是传统的在客户浏览器中运行,这一措施使客户的浏览器无需担心服务器端的网页使用哪种脚本,ASP都会生成一个符合HTML标准的网页送回客户端[4]。
有了ASP也就减轻了客户端浏览器的负担,大大提高了交互的速度。
ASP程序只能在WEB服务器端执行,它的工作流程是:
先由客户端发出HTML请求到WEB服务器,WEB服务器根据客户请求向数据库服务器发出数据查询请求,数据库服务器将返回查询结果到WEB服务器,再由WEB服务器将结果转换成HTML文件返回给客户端,等浏览器端收到HTML文件后,便会将执行结果显示在浏览器上。
ASP的工作流程如图1-1所示。
图1-1ASP工作流程示意图
1.3.2SQLSERVER2000数据库技术的应用
数据库(Database)是按一定的结构和规则组织起来的相关数据的集合。
是综合各用户数据形成的数据集合,是存放数据的仓库。
数据库技术目前是计算机处理与存储数据的最有效、最成功的技术;计算机网络的特点则是资源共享;数据+资源共享这两种技术结合在一起即成为在今天广泛应用的网络数据库。
网络数据库是指:
以后台数据库为基础的,加上一定的前台程序,通过浏览器完成数据存储、查询等操作的系统。
简单的说,一个网络数据库就是用户利用浏览器作为输入接口,输入所需要的数据,浏览器将这些数据传送给网站,而网站再对这些数据进行处理,例如,将数据存入数据库,或者对数据库进行查询操作等,最后网站将操作结果传回给浏览器,通过浏览器将结果告知用户。
SQLServer是微软公司开发的一个关系数据库管理系统,以Transact_SQL作为它的数据库查询和编程语言。
T-SQL是结构化查询语言SQL的一种,支持ANSISQL-92标准,它由SQLServer中具有存储检索数据功能的客户端组件组成[7]。
SQLServer使用分层通信体系结构,将应用程序与基础的网络和协议层次分离。
这种体系结构就可以支持在不同的网络环境中部署相同的应用程序。
第2章系统分析
2.1可行性分析
可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
该系统的可行性分析包括以下几个方面的内容:
经济可行性、管理可行性、技术可行性。
2.2功能需求
开发这个系统的目的就是帮助教育行业主管部门提高工作效率,实现考试信息管理以及考试流程的系统化、规范化和自动化。
首先,在线考试系统定义的考试是面向特定的对象的,所以应试者进入系统首先应该进行身份验证。
进入考试应用系统后,考生进行的是在线考试,由于大部分考场一般都是机房,考生之间的距离很近,为了保证考场的秩序,防止有作弊情况发生,系统应该保证每个应试者得到的试卷的总分值、题量和难度都应是相同的,但试题内容并不完全一样。
所以基于网络环境的在线考试,能满足上述要求的试卷应该从服务器的数据库中随机抽取试题后动态生成的。
另外,系统还应该对考试时间进行控制,时间到了系统自动要求或强制考试者交卷,考生选择考试提交后,由计算机自动判卷,得到成绩存在数据库中并显示在考生电脑上。
通过考试系统,在管理人员的授权下,任课教师可以随时、随地通过网络远程录入试题,删除或修改这些试题,查看应试者的考试成绩,进行成绩分析、试卷管理等等。
管理人员则能够对全体教师、考生进行管理、监控。
除了实现上述功能以外,在线考试系统还应该具有友好、简洁的用户界面,同时要有较高的安全性和稳定性,性能上要能够满足较多人数同时进行在线考试。
2.3需求分析
为了完成本系统,系统要实现的功能有:
(1)学生在页面可以浏览网站首页提供的内容,注册用户,查看新闻,点击友情链接,登陆首页学生还可以对课件进行下载,网站留言,对网站的课程内容进行提问。
学生通过个人后台可以进行自己注信息的修改,作业的上传,下载和查看。
(2)本系统教师和管理员管理权限基本一样,只是教师没有用户管理和用户添加的权限,管理员可以进行帐号管理:
添加用户,编辑用户;教师(管理员)可以进行上传下载学习课程视频,查看留言信息,回复留言信息。
第3章系统设计
3.1设计的思路
(1)借鉴先进经验与吸取教训
在线考试系统的建设需要充分借鉴国内外各类信息系统建设的成功经验,以建立一个成熟、完善、灵活的平台体系。
同时,为了最大限度地减小风险,减少走弯路,还必须注意吸取失败的教训。
这些,对项目的建设都有很多的借鉴意义,以保证项目的顺利实施。
(2)充分考虑教育部门的特点
由于不同行业、不同地区、不同单位的实际情况各不相同,在系统建设时要充分地考虑到各教育部门的特点。
从行业规章制度、单位性质特点、地区背景出发,根据各个高校的实际情况,建设一个具有特色的在线考试系统。
(3)总体规划、分步实施
在线考试系统的建设是一项系统工程,牵涉到其他相关应用系统与多个部门人员,关系错综复杂。
为此,在具体实施上,需要采取稳妥和切实的步骤:
总体规划、分步实施。
(4)实用化的原则
该系统的建设应避免不切实际的理论化的建设思路,应从教育部门的实际出发,踏踏实实做好基础工作如“数据规划”和“业务应用”的开发建设,做好实用化工作。
(5)保护企业已有的投资
一是要求系统有很好的兼容性,保证和已有系统能够容易地实现整合,二是要求系统有很好的开放性,使将来的业务系统能够很好地接插到系统平台中,另外是要求系统有良好的扩展性,能够满足未来的业务扩展和系统功能。
(6)系统的实施和维护
该系统的建设是一个复杂的信息系统功能,涉及面广,数据结构复杂,其建设过程是一个逐步深化的过程,有一个稳定的开发实施和维护团队是系统成功的基本保障。
3.2总体设计
3.2.1系统设计原则
系统的实现采用各种基于开放标准的信息技术符合国际工业标准的软、硬件产品,软件开发采用先进的软件工程方法和面向对象的结构化程序设计方法。
系统设计遵循以下原则:
(1)规范化标准化原则
在线考试系统完全符合考试流程的规范和标准,满足教育平台要求等数据规范和数据标准的要求;系统的建设依据国家标准、行业标准和地方标准,最终建成一个标准、完善系统。
(2)实用性原则
坚持按需开发,最大程度地使用资源的原则,确保开发的系统能稳定、安全、可靠运行,保证满足在线考试系统的实际需要。
(3)系统稳定性原则
通过高可用性部署方案、成熟先进的软件架构、模块化设计思想等各种层面的技术手段,保证保证系统能够7×24小时连续不断的稳定、正常运行。
同时,软件版本升级或改进应在不影响业务情况下进行,保证系统可以稳定、平滑过渡。
(4)可维护性原则
提供集成的系统管理功能,能够让系统管理员集中方便地配置、监视、控制、诊断整个系统,并且能够监视和控制用户情况、提高效率、消除隐患;对于系统各功能模块的配置、控制、监视、诊断等工作能够通过专用的系统管理工具方便的进行,无须进行专门的编码工作。
(5)可定制性原则
采用个性化与灵活性的解决方案。
整个软件系统都采用组件对象模型,管理员可以根据用户的权限和角色对用户所能访问的功能进行定制,用户自己也可以在权限范围内进行订阅和定制功能。
3.2.2系统功能设计
根据系统的总体需求发现,系统有三类用户:
管理员、教师和考生。
在线考试系统中,可以将功能集成到这三类用户中。
因此可以将整个考试系统分解成三个不同的模块:
后台管理模块、教师审核模块和考试功能模块。
其中后台管理模块和教师审核模块统称为后端管理,而考试功能模块属于前端管理。
考试系统总体结构图如图3-1所示。
图3-1考试系统功能模块图
(1)后台管理模块
自由设置考试科目:
对考试的科目可以进行添加、修改、删除的操作。
自由设置题库:
对每一门考试科目的题库可以进行添加、修改、删除的操作。
自动生成试卷:
给定考试的科目、以及题目的要求,可以随机的从题库中选出题目,组成考卷。
查询功能:
对自己的考试成绩进行查询。
(2)考试功能模块
系统控制考试时间。
防刷新功能。
考试成绩自动生成功能。
多功能查询功能。
(3)教师审核功能模块
审核考试的设置。
审核考试新闻的发布。
3.2.3系统各模块设计
在线考试系统作为网络应用程序,有前台和后台两大部分组成。
前台功能模块如图3-2所示。
图3-2前台模块设计
在线考试后台功能模块如图3-3所示。
图3-3后台模块设计
3.2.4系统的数据工作流
考试系统的主要数据的工作流包括以下几个方面:
(1)系统管理员的管理维护
新闻数据的增加
考试数据的增加
考试科目数据的增加
题库的数据增删改
(2)教师的审批
新闻的审批数据
考试的审批数据
(3)普通用户的操作
新闻浏览的数据
考试的数据
用户的密码
考试成绩
具体的数据流如图3-4所示。
图3-4考试系统的数据工作流示意图
3.3系统数据流图
数据流图是组织中信息运动的抽象。
是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向等项目。
首先,分析在线考试系统的总体情况,划分系统边界,识别系统的数据来源和去处,确定外部实体,得出系统的顶层数据流图,如图3-5所示。
图3-5在线考试系统顶层数据流图
上图中把系统功能分为提交考试新闻、考试科目管理、录入并生成试卷、参加考试、查询分数、浏览考试新闻六个功能。
下面图3-6至3-9给出了相应的第二层数据流图。
提交考试新闻数据流图如图3-6所示。
图3-6提交考试新闻数据流图(第二层)
考试科目管理数据流图如图3-7所示。
图3-7考试科目管理数据流图(第二层)
录入及生成试卷数据流图如图3-8所示。
图3-8录入及生成试卷数据流图(第二层)
学生参加考试及查询成绩数据流图如图3-9所示。
图3-9学生参加考试及查询成绩数据流图(第二层)
3.4系统流程
根据系统总体设计,首先系统要有一个登录界面,用户可以从该界面登录参加考试。
管理员也应该有一个进入管理登录界面的通道。
此外,这个界面上还应该有一个用户注册的通道。
在考生正确输入用户名和密码以后,接着应该进入考试科目选择界面。
在该界面上,考生选择参加考试的科日,这个人机交互的过程是必不可少的。
考生确定考试科目以后,进入开始考试界面,由计算机随机提取试题,显示出来组成试卷,并开始进行计时。
考生再次进行考试,答完试题后交卷,进入下一个界面。
要进行管理首先要有管理员登录验证,这里另外设计了一个界面,使它与用户登录区别开来。
这个界面与用户登录界面表面上很相似,但是他们是从不同的表中提取数据进行验证的,以便于系统扩充和增加安全性。
管理用户的界面可以实现用户的增、删的功能,管理员在此可以对用户进行管理;管理考试科目界面用来增加、删除或修改考试的科目,以方便对各科试题的管理和查询。
管理考试纪录界面可以对考生的每次考试进行纪录,管理员科可以对考生成绩、考试科目、时间及考试各相关纪录进行查询和删除。
最后是试题库管理界面,它根据各科进行分类。
通过这个界面管理员可以对题库中的某科试题进行增加、修改或删除。
这样就十分方便灵活的对试题库进行管理。
系统的整个流程如图3-6所示。
图3-6系统流程图
3.5数据库设计
3.5.1逻辑模型设计和优化
E-R图向关系模型的转化要解决的问题是如何将实体和实体间的联系转换为关系模式,如何确定这些关系横式的属性和码。
对于实体间的联系我们分不同的情况讨论。
用户信息表(考号、考生姓名、密码、各种职务信息、管理员权限);
科目信息表(科目的编号、科目的名称);
考生信息表(考生考号、考试编号、是否考过标记);
题库信息表(题目编号、题干、选项、正确答案、考试时是否已被选过的标记);
考试信息表(考试编号、各种题目的数量和分值、考试时间、创建者、审核者、开始结束日期、设置日期);
待审核项目信息表(待通过的项目类别、编号、审核者、审核日期、是否通过);
新闻信息表(新闻编号、标题、正文内容、创建人、审核发布人、创建日期、审核通过的发布日期);
考试成绩信息表(考生的各种信息、考试信息、考试成绩);
新闻登录日志表(考试成绩,包括新闻编号、登录用户)。
3.5.2物理设计和实施
数据库物理设计时应遵循如下的设计原则:
进行规范化设计,尽可能地减少数据冗余和重复:
合理的数据库表的设计应该是在满足需求的前提下,使数据的重复量最小,就尽量按照关系数据库系统理论方法去设计一个数据库,减少数据的冗余。
结构设计与操作设计相结合:
在设计数据库结构时,有时为了编程实现的简捷和思路的清晰,往往故意增加一些冗余数据。
这虽然有悖于传统的关系数据库理论,但是考虑到选择的机器型号和档次等因素,如果增加的冗余不会明显增加存储空间和降低处理效率,并对编程实现有很大帮助,往往可以采用这种方法。
本系统中关于数据库表结构设计如下:
(1)用户基本信息表:
存储所有用户的信息,保存内容及类型如表3-1所示。
字段名
类型
长度
备注
UserID
Nvarchar
50
用户想要参加考试的考号
UserName
Nvarchar
50
用户的真实姓名
Pwd
Nvarchar
50
用户密码
Department
Nvarchar
50
系别
Rank
Nvarchar
50
职务
Ifadmin
Bit
1
管理员权限
表3-1用户基本信息表
(2)考试系统考生信息表(exam_Tereus):
存储每次参加考试有哪些考生以及考生的相关信息,保存内容及类型如表3-2所示。
字段名
类型
长度
备注
ID
Int
4
主键
Testid
Int
4
考试编号
Userid
Int
4
考生考号
Havetest
Bit
1
是否参加考试
表3-2考试系统考生信息表
(3)考试系统题库信息表(exam_database):
对考试题库进行储存,保存内容及类型如表3-3所示。
字段名
类型
长度
备注
ID
Int
4
题号,主键
Subject
Nvarchar
50
考试科目
Type
Nvarchar
50
题型
Question
Ntext
16
问题
Text1
Ntext
16
选型1
Text2
Ntext
16
选项2
Text3
Ntext
16
选项3
Text4
Ntext
16
选项4
Text5
Ntext
16
选项5
Text6
Ntext
16
选项6
Answer
Nvarchar
50
正确答案
表3-3考试系统题库信息表
(4)考试系统部门表:
存储学校各个系的系别信息,保存内容及类型如表3-4所示。
字段名
类型
长度
备注
Department
Nvarchar
50
系别
表3-4考试系统部门表
(5)考试成绩信息表:
储存考生的成绩,保存内容及类型如表3-5。
字段名
类型
长度
备注
ID
Int
4
主键
Userid
Int
4
考生考号
Username
Nvarchar
50
考生姓名
Department
Nvarchar
50
系别
Subject
Nvarchar
50
考试科目
Testid
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 在线 学习 系统