C语言教学网站及网上考试系统的设计与实现——毕业论文

上传人:good****022 文档编号:116787066 上传时间:2022-07-06 格式:DOC 页数:57 大小:11.66MB
返回 下载 相关 举报
C语言教学网站及网上考试系统的设计与实现——毕业论文_第1页
第1页 / 共57页
C语言教学网站及网上考试系统的设计与实现——毕业论文_第2页
第2页 / 共57页
C语言教学网站及网上考试系统的设计与实现——毕业论文_第3页
第3页 / 共57页
点击查看更多>>
资源描述
毕业设计(论文)说明书题 目: C语言教学网站及网上考试系统的 设计与实现 毕业设计(论文)中文摘要C语言教学网站及网上考试系统的设计与实现摘 要:本文叙述了教学方式及考试方式的历史、现状、以及ASP.NET语言和SQL server2000数据库管理系统的概况。重点介绍了C语言教学网站、网上考试系统和在线交流模块的实现过程:包括系统分析、系统调查、数据流程分析、功能设计、数据库设计、系统的运行环境、系统测试及调试。本系统主要面向两类人员使用:管理员(教师)、普通学生,他们拥有不同的权限。考试模块使用的过程是管理员添加试题,制订出题规则,生成试卷。学生登录后选择要考的试卷然后进入答题,完毕后提交试卷,存入数据库并评分。系统管理员可以查询考生的成绩,每个考生只能查询自己的成绩。教学网站模块,管理员添加教学文档,并对文档进行分类、修改等操作,而普通用户只能浏览内容。在线交流模块中,任何用户都可以登录留言,管理员可以删除留言。另外总结了本系统的特点:节约教学成本,提高考试工作的效率。关键词:ASP.NET SQL server 2000 B/S C语言教学网站 考试系统毕业设计(论文)外文摘要Design and implementation on the teaching web of C language and examination system based on webAbstract: This thesis narrated the teaching way and the test way history, the present situation, as well as ASP.NET language and the SQL SEVER2000 database management system survey. Introduced with emphasis on the C language teaching website, the net takes a test systematic and the online exchange module realization process :Including system analysis, system investigation, data flow analysis, functional design, database design, system movement environment, system test and debugging. This system mainly faces two kind of personnel to use: The manager, the ordinary student, they have the different jurisdiction. The test module use process is the manager increases the test question, the making sets the topic of a composition the rule, the production examination paper. The student registers the examination paper which the postselection needs to test then to enter the answer, after finished submits the examination paper, stores the database and grades. The system manager may inquire examinees result, each examinee only can inquire own result. The teaching website module, the manager increases the teaching documents, and carries on operations and so on classification, revision to the documents, but the average consumer only can glance over the content. In the online exchange module, any users all may register the message, the manager may delete the message. Moreover summarized this system characteristic: Saves the teaching cost, enhances the test work the efficiency. Keywords: ASP.NET; SQL server; B/S; teaching web of C language; Examine system 目 录1. 引言21.1 课题研究背景与意义21.1.1 网上教学系统21.1.2 网上考试系统21.2 问题定义内容简介21.2.1 问题定义21.2.2 内容简介21.3 课题调研与可行性分析21.3.1课题调研21.3.2 可行性分析21.4 论文各章内容介绍22. 系统的需求分析22.1系统功能需求22.2 业务流和数据流图22.2.1业务流22.2.2数据流图22.3 数据字典22.3.1 数据流分量22.3.2 数据流22.3.3 数据存储22.3.4 数据处理23. 系统设计23.1系统总体系结构设计23.2 系统数据模型设计23.2.1 数据概念结构设计E-R图23.2.2 数据库逻辑结构设计(关系模型)23.2.3 数据表23.3 系统开发与运行环境确定23.3.1 开发工具的确定23.3.2 运行环境23.3.3系统实现的若干关键技术24. 用户管理模块设计24.1用户管理模块的体系结构设计24.1.1 用户管理模块功能简介24.1.2 用户管理模块功能图24.2 用户管理模块的详细设计24.2.1 用户登录和注册界面设计24.2.2 用户登录24.2.3 用户注册24.2.4 用户及其权限管理25. 试题管理模块设计25.1 试题管理模块体系结构设计25.1.1 试题管理模块功能简介25.1.2 试题管理模块功能图25.2 试题管理模块的详细设计25.2.1 添加试题25.2.2 修改试题25.2.3 删除试题26. 试卷管理模块设计26.1试卷管理模块的体系结构设计26.1.1 试卷管理模块功能简介26.1.2 试卷管理模块功能图26.2 试卷管理模块详细设计26.2.1 添加试卷管理26.2.2 删除试卷管理26.3 遇到的主要问题及解决方案27. 在线答题模块设计27.1 在线答题模块体系结构设计27.1.1 在线答题模块功能简介27.1.2 在线答题功能模块图27.2 在线答题模块详细设计27.2.1 界面设计27.2.2 在线答题28. C语言教学模块设计28.1 C语言教学模块体系结构设计28.2 C语言教学模块功能简介28.2.1 功能分配28.2.2 接口设计28.3 系统模块设计与开发28.3.1 数据库访问类DataAccessor.cs28.3.2 文档分类模块28.3.3 文档查询模块28.4 遇到主要问题及解决方案29. 在线交流模块设计29.1在线交流模块功能结构设计29.2 在线交流模块详细设计210. 用户使用手册210.1系统功能简介如下:210.1.1 C语言教学模块:210.1.2 网上考试模块:210.1.3 在线交流模块210.2 运行环境简介210.3 系统运行与操作指南211. 系统评价211.1 系统特色/优点介绍211.2 系统存在不足与改进方案211.2.1 系统存在的不足211.2.2 改进方案2结 论2致 谢2参 考 文 献2毕业设计(论文) 第51页 共51页1. 引言以计算机和现代网络技术为特征的信息技术极大的促进了社会经济的发展,也引发了一场知识和信息的革命。现行的教育方式、方法和考试制度面临着前所未有的挑战。计算机远程教育及网上考试作为一种新的重要的教学形式具有重要的意义,并呈现出广阔的发展前景。1.1 课题研究背景与意义自Internet在全球广泛应用以来,基于Internet的计算机远程教学及考试系统在世界范围内得到了迅速的发展。国内的一些大学已经进行了计算机远程教育的研究和实验,并已有不少简体中文远程教育实验网站出现。这些网站无论从数量还是质量上来看,都呈现出网上教学作为现代教学的一种重要形式,具有强劲的发展态势。与此同时,为了更好的迎接信息社会的挑战,教育部制定并经国务院批准的面向二十一世纪教育振兴行动计划中明确提出:现代远程教育是随着现代信息技术的发展而产生的一种新型教育方式,是构筑知识经济时代人们终身学习体系的主要手段。因此,研究基于Internet的各类远程教学系统及网上考试系统,已是刻不容缓的问题。1.1.1 网上教学系统网上教学系统与传统的教学模式相比,具有相当明显的优势,主要表现在:网上教学以Internet为载体进行传播,可以跨越时空的距离,有巨大的影响范围,Web技术是一个跨平台、多媒体的信息发布和浏览技术,并可以实现动态交互,使开展形象生动、内容丰富的多媒体教学成为可能;由于学生的学习进度和学习方式可以自行掌握,学生统计信息容易获得以及由于Web技术的交互手段使网上教学更容易实现向以学生为中心的教学模式的转移。1.1.2 网上考试系统 现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与次同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。1.2 问题定义内容简介1.2.1 问题定义“C语言教学网站及网上考试系统”以Internet为载体,用户可以自己根据自己的学习进度学习及考试,给教师的教学带来极大的方便,这也是教育改革的一个发展方向。1.2.2 内容简介本系统共有三大模块:C语言教学模块、网上考试模块和在线交流模块。系统主要面向两种人员使用:管理员(教师),学生。在教学模块里管理员可以对文库进行管理,可以添加新的文档,而普通用户(学生)只能浏览上面的信息,查询所需文档。在考试模块里,管理员可以对试卷,试题和答案,用户的角色进行管理,学生登陆后选择要考哪一期,完成答题后提交,学生可以登录查询自己的分数,而管理员可以查看所有考生的所有期的考试成绩;在线交流模块中,用户可以登录后发表一些有关C语言相关知识的观点。1.3 课题调研与可行性分析1.3.1课题调研网上教学中既是教师的“教件”同时也是学生的“学件”,教和学都是围绕着这个主干进行的; 课程本身的概念。由于课程本身不仅仅是教和学,还要有交互、辅导、学习质量控制和考试,网上教学应该体现所有这些功能,这就是课程本身。主干的概念仅仅将教和学纳入其中,但实际上这只是解决了课堂的问题,课下预习、复习,教学辅导、课程作业、扩展学习、学习质量监控等都没有涉及到,而这些是可以纳入到网上课堂当中的。应该说这是个技术上的问题,不是个理论上的问题。我们姑且称之为扩大化的课程主干概念吧。因为按照这样的思路设计网上教学,网上教学的规划才有整体感,网上教学就不是被动地接受,而是主动地策划,教师的教学思想才能够真正地得到发扬。现行考试组织方式是先由教师向打字室提供试卷初稿,再由打字室统一排版打印,最后分发给学生考试。教师在试题的筛选、更新、对稿,试卷评定和试卷的分析上需要花费大量的时间。因此建立网络考试系统来实现试题库的管理与分析,试卷的评分,能把老师从繁重的工作中解脱出来,将提高教师的工作效率。本系统C语言教学网站及网上考试系统为广大的C语言爱好者提供的一个学习C语言的模拟课堂,它包括对C,C+,Java等编程语言的讲解,还有数据库,软件工程等许多知识。还有对学习质量的检测,即网上考试系统。1.3.2 可行性分析(1)经济可行性分析 从该网站的开发和效益关系上讲,该系统的开发不需要花费太多的经费。因为设备费用可在普通PC的基础上建成,软件方面我们是利用Dreamwever mx可以找到免费的软件,关于网站的效益,因为是C语言教学网站主要是与C语言爱好者进行交流和学习,让大家都学好C语言是本网站的主要效益,关于网页发布的资金我们也可以不考虑,通过以上的经济可行性分析,因此网站的经济方面是可行的。(2)技术可行性分析技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了B/S模式进行开发。结合了Internet/Intranet技术。数据库服务器选用微软公司的SQL Server数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。1.4 论文各章内容介绍第一章是绪论部分。绪论主要叙述课题提出背景、问题的调研、内容简介、可行性分析。第二章是系统的需求分析。主要是对系统功能、业务流、数据流分析:数据字典和系统业务流重组与改进。第三章是系统设计。主要内容是系统总体系结构设计;系统数据模型设计(E-R图、关系模型、数据表);系统开发与运行环境确定。第四章-第八章各主要模块设计。主要内容是各子模块功能、接口、界面设计、详细设计;遇到主要问题及解决方案。第九章是用户使用手册。系统功能简介、运行环境简介;系统安装手册;系统运行与操作指南(手册)。第十章是系统评价。主要内容:系统主要功能、特色介绍;系统存在不足与改进方案;毕业设计心得与收获。论文的最后是总结、致谢和参考文献。2. 系统的需求分析2.1系统功能需求传统的教学模式基本上以教师教、学生学的以教师为中心的教学模式;作为向成人或未能进入大学校门的学生进行的教学也是沿用这种教学模式,知识为了他们的方便,采用晚间上课或半日制等形式;到了60年代以后,广播电视大学的教学方式便使教师的讲课可以多次重复播放,而学生也不一定要到教师去听讲,大大地提高了教学的效率,但这种教学方式仍然使单向的以教师为主的教学模式。这种教学模式有利于教师主导作用的发挥,便于教师组织、监控整个教学活动进程。便于师生之间的情感交流,因而有利于系统的科学知识的传授。其严重的弊端就是:完全由教师主宰课堂,忽视学生的认识主体作用,不能快速、有效地进行信息的反馈。这种模式培养出的绝大部分是知识型人材,不利于培养既有创新思维和创新能力的创造型人材,而创新型人材正式适应21世纪激烈的国际竞争所需要的人材。两种主要的传统的教学方式有:(1)面授、辅导学习者主要通过教师的课堂教学来实现学习目的。这种方式的优点是教师和学生之间的直接接触,有利于师生之间的情感交流,缩短了教学效果反馈的时间。同时,教师还可以根据学生的差异性进行个别引导和指导。(2)函授学习学习者利用信件、电话等通讯工具与教师进行交流,从而实现教学过程。在贫困地区,这种学习方式还发挥着极其重要的作用。现代教学模式以学生为中心,随着多媒体和网络技术的日益普及,才逐渐发展起来的,多媒体和网络技术由于能提供界面友好、形象直观的交互式学习环境。有利于激发学生的学习兴趣和进行协商会话、协作学习,能提供图文声像并茂的多种感官综合刺激,有利于情境创设和大量知识的获取与保持,还能按超文本、超链接方式组织管理学科知识和各种教学信息。目前在Internet上按这种方式组织建构的知识库、信息库浩如烟海,并以学生的学习方式变得更为灵活、多样。网上教学主要是通过计算机技术、多媒体技术、网络技术、可视电话、视频会议、虚拟技术等现代信息技术获取信息的一种学习方式,其优点是形象、直观、生动、活泼,打破了时空限制,学习者在一个很广阔的领域进行学习。重要的是学习者可以进行交互式学习,它是指学习者利用媒体与教师、同学进行网上交流或收集信息。这种方式可增加教师、学生之间的了解与帮助,体现相互协作的精神。所以网上教学考试系统便成为现代教育的一种重要形式。2.2 业务流和数据流图2.2.1业务流详细调查的重点是对管理业务的流程进行描述,通过采用系统流程图中部分图形工具来描述管理活动,进行规范化说明。业务流程图的符号说明如图2.2.1所示:1、 2、 3、 4、 5、 系统中人员 实体或单据 实物或信息流 处理 数据存储 图2.2.1 业务流程图图例详细调查之后,为开发本系统而绘制出的无纸化网络教学考试的管理业务流程图如图2.2.2所示。管理员登录系统已注册用户注册未注册用户添加试题修改试题删除试题随机抽取试题组成试卷考生添加基础知识教程基础知识查询写入数据库考试试卷评分在线留言成绩存入数据库管理员查询成绩图 2.2.2 基于web的网上教学考试系统业务流程图2.2.2数据流图数据流图是组织中信息运动的抽象。是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发。将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程分析多是通过分层的数据流程图(data flow diagram,简称DFD)来实现的。其具体的做法是:按业务流程图理出的业务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图。网上考试系统的数据流图如图2.2.3所示:试题信息管理员添加试题信息题库信息1.3处理试题信息D1试题信息试题信息试卷信息学生1.1添加试题1.2更新试题库2随机抽题生成试卷登录 图2.2.3 网上考试系统数据流图 教学网站的数据流图如图2.2.4所示:登录1.1添加文档管理员添加文档信息1.2更新数据库文档文档信息1.3处理文档信息文档整理D2技术文档文档信息2产生文档页面查看文档学生图2.2.4 教学网站数据流图2.3 数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规则说明。 C语言教学网站及网上考试系统的数据字典:2.3.1 数据流分量1.名字:用户信息别名:无描述:所有管理员用户、普通用户必须先登录本系统,然后进入专区造作系统提供的各项功能,这样就大大提高了系统的安全性。定义:用户信息=用户ID+用户名称+密码+Email+角色ID位置:用来验证用户身份,分配用户权限2.名字:用户名称 别名:无 描述:唯一地标识某个毕业生的关键域。 定义:用户名称=字符 位置:用户信息表3.名字:密码 别名:无 描述:密码可用来验证用户的身份和权限 定义:密码=字符位置:用户信息表4.名字:添加试题表 别名:无 描述:管理员可以添加试题 定义:试题=试题ID+试题标题+试题主体+类型ID +难度系数+分值位置:供管理员添加试题时使用 5.名字:技术文档表 别名:无 描述:管理员可以按章节添加技术文档 定义:技术文档表=文档ID+文档主题+文档的关键字+文档来源+文档内容+位置ID位置:供管理员添加文档时使用6.名字:试卷表别名:无描述:管理员制订试卷生成规则 定义:试卷表=试卷ID+试卷总分+最低难度系数+最高难度系数+用户ID+角色ID 位置:供管理员添加试卷时使用7.名字:角色分配表别名:无描述:管理员可以对用户进行权限的分配定义:角色分配表=角色ID+角色名称位置:管理员在用户管理模块中分配用户的权限8.名称:留言板表 别名:无 描述:所有注册用户登录后留言 定义:留言板表=信息ID+用户名称+用户ID+主题+内容+留言者编号+留言日期 位置:所有用户在在线交流模块中留言 9.名称:成绩表别名:无描述:记录所有考生考试的成绩定义:成绩表=试卷编号+用户名称+分数位置:考生考完试卷后自动存入数据库2.3.2 数据流数据流的编号: DS03-01 数据流的名称: 试题信息、用户、技术文档等各种信息 简述: 对信息做需要的录入后而得到的数据库表 数据流的来源: 录入 数据流的去向: 数据库 数据流的组成: 各类信息 数据流的流量: 20个/月 高峰期流量: 2000个/月2.3.3 数据存储数据存储的编号: F03-01 数据存储的名称: 数据库信息 简述: 存放的试题信息、试卷信息、用户信息等等 数据存储的组成: 各类信息 关键字: 编号 相关联的处理: P1(对信息表进行录入) P2(对信息表进行查询) P3(对信息表进行修改删除) P4(对信息表进行统计)2.3.4 数据处理(1) 处理逻辑编号: P04-01处理逻辑名称: 信息录入 简述: 对各种信息进行录入. 输入的数据流: 系统管理员 处理过程: 进行分类录入 输出的数据流: 各类数据表 处理频率:1000个/月 (2) 处理逻辑编号: P04-02处理逻辑名称: 查询各类信息 简述: 根据条件查询所需的信息. 输入的数据流:信息来源于数据库 处理过程: 输入查询条件查询,得到符合条件的信息 输出的数据流: 查询得到的信息 处理频率:10个/分钟 (3) 处理逻辑编号: P04-03处理逻辑名称: 修改、删除信息 简述: 对信息做需要的修改后存入数据库中. 输入的数据流:数据库信息 处理过程: 对需要修改的信息做修改 输出的数据流: 修改或删除后得到的信息 处理频率: 10个/分钟(4) 处理逻辑编号: P04-04处理逻辑名称: 统计信息 简述: 对信息做需要的统计后存入数据库中. 输入的数据流:数据库信息 处理过程: 对需要统计的信息(就业率和就业反馈信息)做统计 输出的数据流: 统计后得到的信息 处理频率: 10个/分钟3. 系统设计3.1系统总体系结构设计通过对教学网站及考试系统的需求分析并结合实际情况分析,本系统是由用户管理、试卷管理、试题管理、C语言教学模块、在线答题及在线交流这六个主模块构成。本系统的功能结构图如图3.1.1所示:网上考试系统C语言教学网站及网上考试系统C语言教学模块用户登录文档编辑浏览信息用户管理用户的登录用户的注册用户权限分配删除用户试卷管理添加试卷删除试卷在线答题答题并提交个人资料用户修改试题管理添加试题更新试题删除试题选择试卷系统评分查询分数在线交流普通用户留言管理员留言图3.1.1系统功能结构图系统功能简介如下:C语言教学模块:根据不同用户的登录有着不同的权限。管理员登录后,不但可以浏览文档信息,根据查询还可以进行添加,还可以修改现有文档;根据文档的标题、关键字和全文查询。对文档分类和添加、删除文档分类;普通用户登录后只能浏览和查询文档。网上考试系统分为四个模块:(1)用户管理:主要是用户的注册。其中也包括角色管理,用户注册后,管理员可以给不同的角色赋予不同的权限,管理员可以添加、修改、删除用户。(2)试卷管理:管理员按照规则添加、修改、删除试卷。本系统只设置了选择题、判断题,管理员可以设定试卷的题目组成、分值、难度等项,然后存入数据库。(3)试题管理:管理员添加、修改、删除试题及试题的答案。(4)在线答题:考生进入系统后选择要考的试卷的期号,考生答题完毕后提交试卷,系统评分后存入数据库,考生再次登录可以查询成绩。3.2 系统数据模型设计3.2.1 数据概念结构设计E-R图现有的数据库系统均是基于某种数据模型的。数据库概念结构设计就是建立一种数据模型。其中用的比较多是概念模型(也称作信息模型),它是按照用户的观点来对数据和信息建模,主要用于数据库设计。概念模型的表示方法很多,其中最为著名的是实体联系方法(EntityRelationship Approach)。该方法用E-R图描述现实世界中的概念模型,E-R方法又称为E-R模型。E-R图提供了表示实体型、属性和联系的方法:1.实体型:用矩形表示,矩形框内写明实体名。2.属性:用椭圆形表示,并用无向边将其与相应的实体连接起来3.联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边上标上联系的类型(1:1,1:n或m:n)利用ER方法进行数据库的概念设计,可分成三步进行:首先设计局部ER模式,然后把各局部ER模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。(1)设计局部ER模式实体和属性的定义:用户(用户编号,名称,密码,权限)角色(角色名称,权限编号)题库信息(试题编号,试题标题,试题主体,类型ID,图片ID,难度系数,分值)试卷信息(试卷编号,试卷总分,最低难度系数,最高难度系数,用户ID,角色ID)文档信息(文档ID,文档主题,文档的关键字,文档来源,文档内容,位置ID)留言信息(信息编号,发表者,主题,内容,提交日期)因此,各个实体具体的描述E-R图如下:1.用户E-R图如图3.2.1所示:用户用户名密码用户编号是否管理员角色名称权限编号图3.2.1 用户E-R图2.题库信息E-R图如图3.2.2所示:题库信息试题编号试题标题试题主体类型ID图片ID难度系数分值图3.2.2 题库信息E-R图3.试卷信息E-R图如图3.2.3所示:试卷信息试卷编号试卷总分最低难度系数最高难度系数角色ID用户ID图3.2.3 试卷信息的E-R图4.文档信息的E-R图如图3.2.4所示:文档信息文档ID文档主题文档的关键字文档来源文档内容位置ID图3.2.4 文档信息E-R图留言信息提交日期内容主题发表者信息编号5.留言板信息E-R图如图3.2.5所示:图3.2.5 留言信息E-R图(2)全局ER模式1nmn考试成绩查询nnnn文档信息设置权限设置角色添加/删除用户(管理员)试题信息试卷信息m1留言信息考生考试查询查询111nnnn1各实体间的关系如下3.2.2 数据库逻辑结构设计(关系模型)关系数据库系统是支持关系模型的数据库系统。关系模型由关系数据结构、关系操作结合和关系完整性约束三部分组成。在关系模块中,现实世界的实体以及实体间的各种联系均可以用关系来表示。在用户看来,关系模型中数据的逻辑结构是一张二维表。关系模型中常用的关系操作包括:选择(Select)、投影(Project)、连接(Join)、并(Union)、除(Divide)等查询和增加、删除、修改操作两大部分。关系完整性允许定义三类完整性约束:实体完整性、参照完整性、和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应该有关系系统自动支持。数据库的逻辑结构设计就是把ER图转化为关系模式的过程。关系模型是目前最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。(1) 导出初始关系模式用户(用户编号,名称,密码,权限)题库信息(试题编号,试题标题,试题主体,类型ID,难度系数,分值)试卷信息(试卷编号,试卷总分,最低难度系数,最高难度系数,用户ID,角色ID)文档信息(文档ID,文档主题,文档的关键字,文档来源,文档内容,位置ID)留言信息(信息编号,发表者,主题,内容,提交日期)(2) 产生子模式子模式是由初始模式导出的,体现了初始模式之间的联系。角色(角色名称,权限编号)3.2.3 数据表C语言教学网站及考试系统的数据表中各个表格的设计结果如下面表格所示,每个表格表示在数据库中的一个表。表3-1:Roles表的字段说明编号字段名称字段类型字段说明1RoleIDint角色表主键2RoleNameVarchar(32)角色名称表3-2:Users表的字段说明编号字段名称字段类型字段说明1UserIDInt用户表主键2UserNameVarchar(32)用户名称3PasswordVarchar(200)用户密码4EmailVarchar(200)用户Email地址5RoleIDInt用户所属角色表3-3:Examineees表的字段说明编号字段名称字段类型字段说明1ExamineeIDInt角色表主键2UserIDInt角色名称3MarkInt考试成绩表3-4:QuestionKinds表的字段说明编号字段名称字段类型字段说明1KindIDInt问题种类表主键2KindNameVarchar(32)问题种类名称3KindOrderint问题种类显示的顺序号表3-5:Questions表的字段说明编号字段名称字段类型字段说明1QuestionIDInt问题表主键2TitleVarchar(200)问题标题3BodyText问题的主题内容4PubdataDatatime添加到题库的时间5KindIDInt问题种类ID6DefficultInt问题的难度系数7Markint考试成绩表3-6:Answers表的字段说明编号字段名称字段类型字段说明1AnswerIDInt问题答案表主键2TitleVarchar(200)答案标题3BodyText答案的实际内容4QuestionIDint答案所属问题的ID表3-7:Papers表的字段说明编号字段名称字段类型字段说明1PaperIDint角色表主键2TotalMarkint试卷的总分数3KindIDint问题种类的ID4KindNumint问题种类的数量5minDefficultint最小难度系数6maxDefficultint最大难度系数7RoleIDint考生的角色8UserIDint创建此试卷的用户ID表3-8:message表的字段说明编号字段名称字段类型字段说明1messageIDint留言编号2userNamechar发表者名称3userIDInt发表者ID4subjectchar主题5messagechar内容6parentIDint回贴人ID7postDatedatetime发贴日期表3-9:Menu表的字段说明编号字段名称字段类型字段说明1MenuIDInt菜单编号2MenuCodeVarchar菜单代码3EditableSmallint是否能编辑4MenuNameVarchar菜单名称5LinkPageVarchar链接的页面6ParentCodeVarchar上级菜单代码7Notevarchar说明表3-10:Article表的字段说明编号字段名称字段类型字段说明1ArticleIDBigint文档ID2TopicVarchar文档标题3KeyWordsVarchar关键字4SourceVarchar文档来源5ContentText文档内容6UploadDateDatetime上传时间7UpdateDateDatetime更新时间8FolderIDVarchar所属文档分类3.3 系统开发与运行环境确定3.3.1 开发工具的确定本系统将采用Microsoft Visual Studio.NET 2003为前台开发工具,主要原因如下:Microsoft的.NET平台是一个强调多语言间交互的通用运行环境。.NET的设计者设想以.NET平台作为绝大多数Windows应用的首选运行环境,但.NET更吸引了Web开发者的目光。 2001年,ECMA通过了Microsoft提交的C#语言和CLI标准,这两个技术标准构成了.NET平台的基石,他们也于2003年成为了ISO的国际标准。2002年,Microsoft正式发布.NET Framework和Visual Studio .NET开发环境。早在.NET发布之前,就已经有许多Windows平台的Web开发者迫不及待地利用Beta版本开发Web应用了。这是因为,.NET平台及相关的开发环境不但为Web服务端应用提供了一个支持多种语言的、通用的运行平台,而且还引入了ASP.NET这样一种全新的Web开发技术。ASP.NET超越了ASP的局限,可以使用 VB.NET、C#等编译型语言,支持Web Form、.NET ServerControl、ADO.NET等高级特性。 客观地讲,.NET平台,尤其是.NET平台中的ASP.NET的确不失为Web开发技术在Windows平台上的一个集大成者。为解决今天最具挑战性的软件开发需要而构建的 Visual Studio .NET 2003 增强并进一步完善了其前代产品的功能,并与前代产品高度兼容。Visual Studio .NET 2003 包括来自 Modeler 的全套功能,可帮助构建最复杂的企业级应用程序和在最小的设备上部署应用程序。通过全世界各种规模的公司的使用,Visual Studio .NET 和 Microsoft Windows .NET Framework 提供了一个强大而完善的端到端工具,用以设计、开发、调试和部署用于 Microsoft Windows 和 Web 的安全的应用程序这些应用程序强健而且易于使用。Visual Studio .NET 2003 包含 Windows .NET Framework 的一个增强版Windows .NET Framework 1.1 版在前一版本的基础上增添了新的能力、功能增强和文档改进。通对 .NET Compact Framework 的集成支持,Visual Studio .NET 2003 将移动和嵌入式设备,如 Pocket PC 和其他采用 Microsoft Windows CE .NET 操作系统的设备,带入 .NET。如今,开发人员能够使用同样的编程模型、开发工具及编程技能,来构建应用范围广泛-从小设备到最大的数据中心-的应用程序。开发人员可以使用 Visual Studio .NET 来:1构建功能强大而且响应能力极好的基于 Windows 的应用程序。2构建功能强大而且响应能力极好的 Pocket PC 应用程序。3构建完善而安全的 Web 应用程序。4构建对设备有智能感知能力的完善而安全的移动 Web 应用程序。5在以上任何一种应用程序中使用 XML Web services。6避免“DLL 灾难”。7消除代价高昂的应用程序部署和维护问题。Visual Studio .NET 是唯一的从头至尾都是基于通过 XML Web service 进行集成这一思想而构建的环境。通过允许应用程序通过 Internet 共享数据,XML Web services 使开发人员能够利用新的和现有的代码构建应用程序,而不用考虑平台、编程语言或对象模型。3.3.2 运行环境硬件:CPU:AMD2500+内存:512硬盘:80G 软件: Windows XP SP2 IIS 5.1 .NET Framework 1.1 SQL Server 20003.3.3系统实现的若干关键技术最重要的就是数据库的设计。本系统所涉及的数据库设计分五个步骤:数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。(1)数据库需求分析的任务是将业务管理流化为数据流,划分主题之间的边界,绘制出DFD图,并完成相应的数据字典。(2)概念设计的任务是从DFD出发,绘制出本主题的实体关系图,并列出各个实体与关系的纲要表。(3)逻辑设计的任务是从E-R图与对应的纲要表出发,确定各个实体及关系的表名属性。(4)物理设计的任务是确定所有属性的类型、宽度与取值范围,设计出基本表的主键,将所有的表名与字段名英文化(现在很多软件能支持中文字段,如 SQL Server),实现物理建库,完成数据库物理设计字典。(5)加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作。4. 用户管理模块设计4.1用户管理模块的体系结构设计4.1.1 用户管理模块功能简介用户管理模块对使用本系统的用户进行用户名、密码、用户身份的验证,确保了系统的安全性。本模块具有五项功能:一、实现用户注册和登录。若是已注册的用户,系统根据用户身份让用户进入不同的界面进行具有权限的用户操作,若是新用户则登录本系统之前要先注册;二、用户注销,退出用户界面返回主页面;三、所有用户可以修改自己的注册信息,如密码、电子邮箱等基本资料。四、系统管理员可以进入管理员界面赋予用户权限。五、系统管理员还可以在管理员界面删除用户,对于某些非法用户,管理员可以将其从用户表中删除,剥夺他们的用户权限。用户管理删除用户用户注册用户登录用户权限分配用户更改个人资料4.1.2 用户管理模块功能图4.2 用户管理模块的详细设计4.2.1 用户登录和注册界面设计用户登录由Default.aspx页面实现,它的代码隐藏文件为Default.aspx.cs文件。用户登录是应用程序的主入口,用户只有通过该入口才能进入系统,它的设计界面如下图所示:图4.2.1 用户登录界面因为用户所属角色不同,如考生和管理员,所以在设计登录界面时,需要提供一个角色选择框让用户选择自己所属的角色。用户登录界面使用的两个TextBox控件为用户输入用户名称和用户密码,用户单击“确定”按钮可以登录到系统,单击“取消”按钮可以取消此次登录操作。单击注册则跳转到注册界面。关于用户登录界面有下面3点需要说明:(1)用户的角色是从Roles表获取的,但是不显示超级管理员角色。(2)用户登录界面使用两个非空验证控件,他们分别为RFVUseName和RFVPassword。RFVUseName非空验证控件对用户名称进行非空验证,RDVPassworf非空验证控件对用户密码进行非空验证。(3)这两个非空验证控件仅仅对“确定”按钮有效,对“取消”按钮是无效的,具体方法就是把“取消”按钮的属性CausesValidation的值设为false4.2.2 用户登录用户登录流程图如下图所示:数据库用户登录登录成功?否考生管理员在线答题页面系统维护题库管理系统数据访问层是用户单击“确定”按钮触发时间SureBtn_Click(),该事件实现用户登录的验证过程。时间SureBtn_click()调用数据访问层的函数GetUserLogin()验证用户的输入,如果用户输入是正确的,用户可以登录到系统中,否则页面弹出密码错误对话框或用户角色所属错误对话框。函数GetUserLogin()从数据库获取合法用户的ID数据,返回的结果为对象SqlDataReader.用户登录是应用程序的唯一入口,为了提高登录验证过程的安全性,函数GetUserLogin()调用存储过程Pr_GetUserLogin访问数据库。存储过程Pr_GetUserLogin的代码如下:ALTER PROCEDURE Pr_GetUserLogin( UserName varchar(32), Password varchar(100)ASSELECT UserID FROM Users WHERE UserName = UserName AND Password = Password为了提高整个系统的安全性,在用户表Users中存储的用户密码Password字段不是用户密码的真实值,而是加密后的密码字符串。加密函数Encrtpt()被定义为UserDB类的静态函数。调用加密函数时,首先那加密字符串进行编码成Uncode,然后使用系统的不对称加密算法MD5加密用户密码串。用户登录时只需要验证加密后的密码串和数据库存储的密码串是否一致即可。该函数的代码如下:/ / 用户加密函数/ public static String Encrypt(string password) Byte clearBytes = new UnicodeEncoding().GetBytes(password);Byte hashedBytes = (HashAlgorithm) CryptoConfig.CreateFromName(MD5).ComputeHash(clearBytes);return BitConverter.ToString(hashedBytes);4.2.3 用户注册添加新用户有两种方式,一种方式是从后台的用户管理中添加用户,另一种方式是用户注册。用户注册方式只能添加考生,而不能添加角色为管理员的用户,因为具有管理员角色的用户可以直接进入到系统的后台管理界面,所以在前台注册这种角色的用户是非常不安全的,系统的管理将比较混乱,而且系统数据安全性也会受到威胁,下面仅介绍前台用户注册实现的方法。考虑到用户注册需要输入用户名称、用户密码和用户电子邮件等信息,因为可以设计如图4.2.3 所示的用户注册页面。图4.2.3 新用户注册用户注册页面中的4
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 医学试题


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!