毕业论文-在线考试系统应用设计.doc_第1页
毕业论文-在线考试系统应用设计.doc_第2页
毕业论文-在线考试系统应用设计.doc_第3页
毕业论文-在线考试系统应用设计.doc_第4页
毕业论文-在线考试系统应用设计.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

石家庄铁道大学四方学院毕业设计第1章绪论1.1研究背景随着社会各个行业信息化进程的加快,互联网已经成为连接世界的纽带。不仅仅是企业、政府和各种商业组织的正常工作离不开网络,教育事业同样需要网络。在教育界,远程教育已成为现代教育面向未来发展的新方向,在线考试系统便是实现远程教育的一个重要组成部分。如今中国的教育体制急需改革,在周济同志的任职期间,我们在教育上虽然引入了新的课题,引入了新的技术和设备,但是在思想上、模式上我们的教育都有照搬传统教育模式,因此我们需要改革。在线考试具有很多优越性,它可以将传统考试过程中的试卷的组织、传送、收集、登记、评判等各个环节缩减到很少的几个环节,降低了大量人工直接干预考试的可能性,这不但能够节约大量的时间、人力、物力与财力,而且还可以大幅度提高考试的客观性和公正性。在线考试系统课题产生的背景是当今教育信息化的趋势也是我国高等教育信息化建设的需要;目的是充分利用学校现有的计算机软、硬件资源和网络资源实现无纸化考试和办公,来纠正传统考试的不足。1.2国内外研究现状ETS(美国教育考试中心)举办的GPE(美国研究生入学考试)的计算机化考试,它使考试由原来的每年只能有两次参加考试的机会变成了每个工作日都可以参加的考试。而且国外的一些计算机水平考试中也都使用了在线考试来代替传统的笔试,如美国计算机专业人员认证学会ICCP实施的有关认证考试。目前国内做这方面的软件,以奥瑞文在线考试系统为最佳,他是唯一一个用php开发,并且实现大多数题型,并且支持题型自由排序功能,客户端监考也很强大。国内典型的还有由教育部考试中心主办的全国计算机等级考试、各省的非计算机专业大学生水平考试,还有用于教考分离的各种题库等。而且在去年英语四六级考试在在全国范围内设置试点进行机考。在线考试系统的实现,虽然将将教师从繁琐的出题、监考、阅卷、试卷分析和成绩统计的传统考试中解脱出来,其系统自身也充分体现了准确、客观、公正、快速等特点。但我们认为国内对于在线考试系统的认识,跟国外还是有相当大的差距的。这些很多都是基于传统的客户机/服务器模式的,如全国计算机等级考试。而基于B/S模式的考试系统还没有广泛的使用。1.3论文结构本论文第一章为绪论,主要介绍了在线考试系统的开发背景和国内外的发展现状;第二章是相关技术介绍,主要介绍了ASP.NET技术、SQL数据库、JavaScript、IIS服务器;第三章是系统的需求分析,着重分析该系统要完成的功能以及系统体系结构和系统的设计思想;第四章系统概要设计,主要是针对要实现的功能做一个简单的说明,以及系统总体结构的设计和数据字典的设计;第五章是系统的详细设计,其中包括了功能模块的详细设计和的数据库的详细设计。第2章系统开发关键技术概述本系统主要采用ASP.NET、SQL数据库、JavaScript等技术工具,整体设计遵循软件工程的方法,经过需求分析、总体设计和代码的编制和系统实现几个阶段。2.1ASP.NET技术简介ASP.NET是在Active Server Page (ASP) 的基础上开发出来的,是一种建立在通用语言上的程序构架,能被建立强大的Web应用程序。ASP.NET集成了许多Web开发模式的强大优势。2.1.1ASP.NET的特性(1)强大性和适应性ASP.NET是基于通用语言的编译运行程序,所以它几乎可以在所有Web应用软件开发平台上运行。通用语言的基本库、消息机制、数据接口的处理都能无缝的整合到ASP.NET的Web应用之中。ASP.NET同时也是language-independent的独立化,所以,你可以选择任何一种适合你的语言来编写程序,在ASP.NET中已经支持的有C#,VB,J#,C+等。ASP.NET一般可分为两种开发语言,C#和VB.NET,C#是目前比较常用的语言,它是.NET独有的语言,VB.NET则是Visual Basic程序设计,适用于Visual Basic程序员。(2)简单性和易学性ASP.NET相对于其他技术来说使一些日常的应用变得非常简单。例如表单的提交、网站的配置等。其中包含的强大控件可以使初学者轻松地制作一些简单的网页。(3)灵活性和可扩展性很多ASP.NET功能都可以扩展,这样便可以轻松地将自定义的功能集成到应用程序中;其中的程序模型可以为不同的数据源提供插入支持。(4)安全性和完整性Web应用项目中的验证控件可以更好地为开发的程序提供安全保障;并且新增的功能和现有的功能协同工作,可以创建解决实时Web开发挑战的端对端方案。2.1.2ASP.NET三层结构应用程序一般分为三层:表示层、业务逻辑层和数据访问层。(1)表示层(User Show Layer,USL)表示层主要表现为web或win form方式,主要包括用户控制、服务器控制、aspx页面以及某些与安全有关的类和对象。(2)业务逻辑层(Business Logic Layer,BLL)业务逻辑层用于对数据业务逻辑的处理,业务逻辑层在数据访问层之上,就是用BLL调用DAL的类和对象。DAL访问数据并将其转给BLL。(3)数据访问层(Data Access Layers,DAL)数据层主要是对数据的操作。在ASP.NET中,起到数据接口的作用。图2-1系统体系结构图用户界面包表示层业务逻辑包业务逻辑层数据访问包数据访问层2.2SQL简介SQL(Structured Query Language)是IBM公司开发的结构化查询语言,它是一种数据库查询和程序设计的语言,用于存取数据以及查询、更新、删除和管理关系数据库系统等。SQL语言主要有以下4部分组成:(1)数据定义语言(DDL),如:create、drop、alter等语句。(2)数据操作语言(DML),如:insert(插入)、update(修改)、delete(删除)语句。(3)数据查询语言(DQL),如:select语句。(4)数据控制语言(DCL),如:grant、revoke、commit、rollback等语句。 2.3JavaScript简介JavaScript是一种轻型的、解释型的脚本语言。靠浏览器内有的解释器解释执行,在每次程序运行时,先翻译在执行。JavaScript有有两种形式,即客户端JavaScript和服务器JavaScript。客户端JavaScript是指把JavaScript解释器嵌入到web浏览器中,这是最普通的JavaScript变体,也是大家常提到的JavaScript。服务器端的JavaScript是被web服务器用来访问文件系统、与其应用程序向通信、访问数据库和执行其他任务的。JavaScript是一种常规用途的程序设计语言,他的使用并不仅仅限于web浏览器,其基于对象的结果与java恰恰相反。JavaScript加入网页有两种方法:(1)直接加入HTML文档这是最常用的方法,大部分含有JavaScript的网页都采用这种方法,如: (2)第二种:高级版本的嵌入脚本它使用了HTML中的CDATA语法(Character Data,就是把CDATA中的文本全部当作纯文本处理,除非遇到CDATA的结束) 2.4IIS的配置IIS称为Internet信息服务,它使得在网上发布信息变得非常容易,主要的配置方法如下:(1)开始菜单控制面板添加和删除程序添加或删除Windows组件;(2)在弹出菜单中选择Internet信息服务(IIS),如图2-2;图2-2安装Internet信息服务(3)配置IIS,如图2-3、图2-4。图2-3配置IIS图2-4配置IIS端口2.5系统开发的软硬件需求(1)客户端配置:硬件环境:单机 Pentium 4 1.8GHz 256M 600M以上硬盘空间。系统软件:Windows2000/XP/vista (2)服务端配置:硬件环境:100M LAN 100节点系统软件:Windows Server 2003数据库:SQL Server 2005开发工具:Visual Studio .NET 2005开发语言:C#语言服务器:IIS6.0第3章系统分析3.1用户需求3.1.1创立电子题库,实现试题的数字化管理实施数字化管理就是为了追求办公的高效化,缩减一些非必要的业务流程,减少工作中心的负荷,从而做到高效,简约而不简单。试题题库也就是试题的电子化,是把所有考试科目存储到电脑里,可以供教师随时查询和使用;便利了科目的保存、分类和检索,使得试卷的编制更高效率和低成本化。试题题库是网络考试系统的重要组成部分,也是考试系统中最具有特色和实用价值的部分。3.1.2使考试和判卷更具规范性、合理性和公正性在线考试系统使用计算机系统来进行考试和自动判卷,因此它必须达到更好的规范性、合理性和公正性。试题的呈现和判卷的标准都是严格统一的,避免发生学生忘记书写姓名,答题卡填写方法不正确或错位等意外丢分情况。学生答题过程中,由于系统限制也必将更加规范,不会出现笔试中经常出现的由于学生没有严格按照答题要求做,判卷时被强行扣分的事情。判卷由系统自动完成,极大的提高了准确性,防止了人工判卷时经常出现的错判、漏判和分数计算错误的情况。使考试更加公正合理,具有权威性。3.1.3实现自动判卷和成绩的保存考试是教学过程中重要的工作之一,判卷又是教师在考试实施过程中最重要和最烦琐的工作之一。而判卷有两个最基本的要求,那就是快速和准确。学生希望在最短的时间内知道自己的考试成绩、自己在集体中的位置、问题出现的所在和应该努力的方向,这也是考试教育功能的重要体现。判卷越慢这种对学生的反馈和激励的效果就会越小,达不到原有的考试目的,如果出现错误对学生的影响更会成倍呈现。快速和准确对传统的手工判卷来说是一对矛盾,它们加重了教师的工作负担。使用在线考试系统的自动判卷功能,便能很好的解决这些问题。而且用计算机来保存考试成绩, 更是无与伦比的。3.1.4具有强大的数据统计分析功能计算机的可爱之处莫不在于它强大的计算能力。强大的统计功能,使得原来非常烦琐甚至手工难以进行的分析统计计算工作,现在可以在瞬间完成了。因此它能够提供精确的数据明细记录、实时的、精确的数据报表以便教师和管理员更及时更全面的得到学生信息的反馈。3.2可行性分析3.2.1技术可行性分析为了响应教育厅的要求,现在各学校都已实现信息化,基础的软硬件设施和网络布线都已完备。而我们开发的在线考试系统是采用.NET技术开发的基于B/S结构的网站系统,数据库采用SqlServer2005便能够满足所有需求。因此在现有的硬软件基础上,只需安装SqlServer2005数据库软件经过简单的修改使用access便可投入使用。3.2.2经济可行性分析本系统是由指导老师提供,由我们自己抽选的作为学校毕业设计的题目,无需开发经费。如果是购买商业软件,因为其技术难度相对较小,开发团队只需两到三人,所以价格不会太高,单个系也可以进行购置。为了合理的利用学校的资源,由学生结组针对各自学校的教学特色进行开发,是一个比较好的选择。3.2.3组织管理可行性分析本系统的管理员可以由教学部的老师充当,利用学校已有的网络进行任务的布置和分配,具体任务可具体到各个老师。这样采用在线考试系统后学校的系别和老师并没有发生变化,但在试卷的管理和学生成绩的管理上凸显了方便性和高效性。3.3系统的目标系统共有三个角色,分别是管理员、教师和学生。这三个角色都可以进行的操作有新闻的浏览、个人信息查看和各自密码的修改;学生登陆后可以进行日常训练、在线答题和查看自己成绩的操作;教师可以制作和修改试卷、发布新闻、统计成绩的查看和主观题阅卷;管理员的职能有新闻的审核与删除、发布消息、试卷的审核和删除、删除管理、权限管理和查看统计成绩。第4章系统概要设计4.1系统数据流程设计权限设置审核管理管理员成绩统计制作试卷、发布新闻教 师查询成绩考试测试学 生在线考试MIS图4-1数据流程图第0层第0层:教 师管理员学 生设置学生教师权限发布新闻制作试卷考试测试浏览新闻已审核新闻考生成绩已审核试卷权限管理审核管理考试管理图4-2数据流程图第1层第1层:4.2系统模块结构设计档案管理权限管理制定修改发布修改试卷审核新闻审核教师档案学生档案题库管理新闻管理审核管理教师权限学生权限图4-3模块结构图教师管理(教师)后台管理(管理员)考试测试(学生)在线考试系统学生考试学生测试成绩查询4.3数据字典表4-1数据流(新闻)4.3.1数据流 系统名:在线考试系统 编号:001 条目名:新闻 别名: 来源:教师 去处:登录用户 数据流结构:新闻信息:新闻编号,发布时间,新闻内容 编写:宋文韬 日期:2010.04.19 审核:史良 日期:2010.05.01 系统名:在线考试系统 编号:002 条目名:试卷 别名: 来源:教师 去处:学生 数据流结构:试题信息:试题编号,所属科目,问题,选项,答案,解析 编写:宋文韬 日期:2010.04.19 审核:史良 日期:2010.05.01表4-2数据流(试卷) 系统名:在线考试系统 编号:003 条目名:考试成绩 别名: 来源:学生 去处:教师 数据流结构:考试成绩:试卷编号,学生编号,科目名称,试题成绩 编写:宋文韬 日期:2010.04.19 审核:史良 日期:2010.05.01表4-3数据流(成绩)表4-4数据存储(学生) 系统名:在线考试系统 编号:004 条目名:学生信息 别名: 存储组织:每个学生一条记录 记录数:5 主关键字:学生编号 记录组成:字段:学生编号姓名性别所在系密码 长度:8152 3020 编写:宋文韬 日期:2010.04.19 审核:史良 日期:2010.05.014.3.2数据存储 系统名:在线考试系统 编号:005 条目名:教师信息 别名: 存储组织:每个教师一条记录 记录数:5 主关键字:教师编号 记录组成: 字段:教师编号姓名性别所在系密码 长度:8152 3020 编写:宋文韬 日期:2010.04.19 审核:史良 日期:2010.05.01表4-5数据存储(教师)表4-6数据存储(题库) 系统名:在线考试系统 编号:006 条目名:题库 别名: 存储组织:每个试题一条记录 记录数:5 主关键字:试题编号 记录组成: 字段:试题编号科目名称 题型 问题 选项 正确答案 长度: 30 30 10 400 500 4 编写:宋文韬 日期:2010.04.19 审核:史良 日期:2010.05.01表4-7数据存储(新闻) 系统名:在线考试系统 编号:007 条目名:新闻信息 别名: 存储组织:每条新闻一条记录 记录数:4 主关键字:发布时间 记录组成: 字段:发布时间 主题 内容 编号 长度: 20 30 200 20 编写:宋文韬 日期:2010.04.19 审核:史良 日期:2010.05.014.3.3外部项表4-8外部项(审核) 系统名:在线考试系统 编号:008 条目名:领导审核 别名: 输入数据流:新闻、试卷 输出信息流:审批意见 主要特征: 教师制作新闻、试卷必须通过领导(管理员)审核方能发布。 简要说明:已发布的新闻、试卷,教师无法修改、删除。 编写:宋文韬 日期:2010.04.19 审核:史良 日期:2010.05.01 系统名:在线考试系统 编号:009 条目名:权限管理 别名: 输入数据流:学生、教师权限 输出信息流:设置权限 主要特征: 领导(管理员)可以对学生、教师设置权限,方便管理。 编写:宋文韬 日期:2010.04.19 审核:史良 日期:2010.05.01表4-9外部项(权限)4.3.4加工 系统名:在线考试系统 编号:010 条目名:考试 别名: 输入数据流:试卷 输出信息流:审核管理 加工逻辑:根据具体情况合理安排考试。 编写:宋文韬 日期:2010.04.19 审核:史良 日期:2010.05.01表4-10加工(考试)表4-11加工(新闻) 系统名:在线考试系统 编号:011 条目名:新闻 别名: 输入数据流:新闻信息 输出信息流:审核管理 加工逻辑:根据最新消息及时发布新闻,可以对新闻的样式进行设置。 编写:宋文韬 日期:2010.04.19 审核:史良 日期:2010.05.014.3.5数据元素表4-12数据元素(试题) 系统名:在线考试系统 编号:012 条目名:试题 别名: 属于数据流:试题、试卷 存储于:题库 数据元素结构:代码类型 字符 编写:宋文韬 日期:2010.04.19 审核:史良 日期:2010.05.01表4-13数据元素(信息) 系统名:在线考试系统 编号:013 条目名:信息 别名: 属于数据流:学生信息、教师信息 存储于:学生信息表 教师信息表 数据元素结构:代码类型 字符 编写:宋文韬 日期:2010.04.19 审核:史良 日期:2010.05.01第5章系统详细设计5.1数据库设计本系统一共用了16个表,分别为leader(管理员信息表)、teacher(教师信息表)、student(学生信息表)、Tauthority(教师权限表)、Sauthority(学生权限表)、subject(考试科目表)、subjectstyle(科目样式表)、singlechoice(单选题题库)、multiplechoice(多选题题库)、blank(填空题题库)、judge(判断题题库)、macro(宏观题题库)、department(部门信息表)、macroanswer(主观题答案数据)、score(成绩表)和news(新闻表)。在设计各个数据库表时,我们进行了多次的修改,大大的降低了数据的冗余度,在集中的测试中发现并修复了更新和插入时发生的异常。最终本系统的数据库关系已经能够符合规范化要求的第三范式要求。表5-1学生信息编号字段名称字段类型字段说明1numbernchar(8)学生编号(主键)2namenchar(15)姓名3sexnchar(2)性别4depatmentidnchar(30)所属院系5passwordnchar(20)密码表5-2学生权限编号字段名称字段类型字段说明1numbernchar(8)学生编号(主键)2trainint训练权限3answerint考试权限4resultint查看成绩权限5accountint个人账户权限表5-3考试科目编号字段名称字段类型字段说明1subjectiddatetime科目编号(主键)2idnchar(30)教师编号(主键)3subjectnamenchar(30)科目名称4levelsint入学年级5classallowednchar(48)班级6tag1int判定是否通过审核7tag2int判定是否需要修改8tag3int判定是否制作完成9tag4int判定是否标记不合格表5-4单选题题库编号字段名称字段类型字段说明1iddatetime单选题编号(主键)2tidnchar(10)教师编号3subjectidnchar(30)科目编号4problemtext问题6opt1nchar(40)选项17opt2nchar(40)选项28opt3nchar(40)选项39opt4nchar(40)选项410amountnchar(10)单选题数量11marknchar(10)分数12answernchar(10)答案13analyzetext解析表5-5新闻编号字段名称字段类型字段说明1iddatetime新闻编号(主键)2titletext主题3contentstext内容4numbernchar(10)教师编号表5-6考试成绩编号字段名称字段类型字段说明1subjectiddatetime科目编号(主键)2numbernchar(10)学生编号(主键)3Score1int单选题得分4Score2int多选题得分5Score3int判断题得分6Score4int填空题得分7Score5int宏观题得分5.2学生作答和训练5.2.1学生作答的流程学生在作答之前,系统会依据该考生的学号来提取出相适应的试题,而且每个科目只限考试一次。在作答完成之后,系统会给出该考生该试卷的成绩,同时给出试卷每道试题的分析。5.2.2学生训练的流程日常训练的模式与作答模式大体相同,不同点就是学生在选题时,系统给出的题库是除去该学生入学年级之外其它年级的该专业的试题。在答题完毕后,系统会给出统计成绩,但不会记录成绩。5.2.3操作截图图5-2学生训练5.3新闻的发布与浏览我们设计的新闻数据库表有这样几个字段:时间、标题、内容和两个tag标签。其中标签1为1时表示已通过审核,0则相反;标签2为1是表示需要重新修改,0则相反;两个标签的默认值都是0。在新闻发布页面,我们为内容添加了一个文本编辑器。在主页面的新闻浏览子页面,数据库只允许查看通过审核的消息。同时,所有用户都可以查看新闻,教师和管理员可以发布新闻,而只有管理员可以对新闻进行管理。 图5-3新闻发布 图5-4新闻浏览5.4试卷管理我们对于试卷管理的操作,都是仅对subject这个数据库表进行操作。与试题相关的style表和五种题库表,都设计成是与subject表相关联的,只有通过subject的主键才可以找到其它几个表的内容。图5-5试卷管理subject表中我们设置了四个标签,其中标签一表示是否通过审核,标签二表示是否需要修改,标签三表示是否完成试题的制作,标签4表示是否设定不合格。在进行试卷管理的操作时,只需更改标签的值,便可完成工作。缩短系统执行时间。5.5页面中的验证页面的验证控件可以分为两部分。一种是应用visual studio 2005 自带的验证控件,比如RequiredFieldValidator控件用来验证输入是否为空,CompareValidator控件用来验证两次输入的内容是否相同。第二种是自己编写的验证,主要是用来验证用户输入的数据是否与数据库中的相匹配,比如在登录页面验证是否存在,在注册页面要验证是否有重名。5.6成绩查询与统计在学生作答完毕后,系统会给出学生本次的成绩,包括总分和各种题型的相应得分。同时学生也可以查看统计成绩,但统计成绩中只有最高分、最低分和平均分。教师和管理在操作查看统计成绩时,不仅能够查询到各个学科的最高成绩、最低成绩、平均成绩和参加考试的人数,也能够查询具体某一学科全部学生的成绩和不及格人数。图5-6成绩查询5.7页面美化我们对整个系统都应用了框架集,这样做不仅有利于我们对页面跳转的控制而且使得用户能够很快的了解整个系统各功能的设计,方便用户操作。在各个页面我们都添加了背景图片,在各个数据模板我们也挑选了和背景图片相应的色彩类型,用这些来防止用户在使用时可能会感觉到色彩单一。因为我们美工的的功底不是很好,所以多多少少的有一些问题,我们相信这些问题在以后,通过我们的不断熟练和学习,是可以避免的。第6章结束语经过了两个月,我和队友终于完成了在线考试系统的开发,有过忧愁,有过喜悦,在最后的测试中感觉到了久违的欣慰。本系统的基本操作功能,我们都已实现。具体有新闻的浏览、个人信息查看和各自密码的修改;学生的日常训练、在线答题和查看成绩;教师的制作与修改试卷、新闻的发布、统计成绩的查看和主观题阅卷;管理员对新闻的审核与删除、发布消息、试卷的审核和删除、删除管理、权限管理和查看统计成绩。在系统设计初想到的功能,基本上我们都实现了。从技术上来看,经过本次毕业设计,我的使用C#语言利用ASP.NET开发网站的能力有了很大的提升,在这个过程中,通过观看、查阅大量的视频和示例代码等各种资料,学到了很多知识和技术,积累了一些经验,同时也巩固了以前学过的专业知识理论。参考文献1 严蔚敏,吴伟民.数据结构(C语言版)M.北京:清华大学出版社,20072 王珊,萨师煊.数据库系统概论(第四版)M.北京:高等教育出版社,20063 蒋培,王笑梅.ASP.NET WebM.北京:清华大学出版社,20074 甘仞初.信息系统分析与设计M.北京:高等教育出版社,20035 文龙,张自辉,胡开胜.SQL Server2005入门与提高M.北京:清华大学出版社,20076 冉晓旻,孙晓菲,吴越胜.ASP.NET3.5完全学习手册M.北京:清华大学出版社,20097 张跃廷,苏宇,贯伟红.ASP.NET 程序开发范例宝典M.北京:清华大学出版社,20098 周伶俐.ASP毕业设计指南与项目实践M.科学出版社,北京科海电子出版社,20089 程不功,龙跃进,卓琳.ASP.NET2.0动态网站开发教程M.清华大学出版社,200610 袁国忠.Adobe Photoshop CS2中文版经典教程M.人民邮电出版社, 200611 王太冲,李巍,马淑燕.Flash 8入门与提高(中文版)M.清华大学,200712 李恩峰,庞玉艳.Photoshop中文版完全攻略M.北京:电子工业出版社,200913 Darren Neimke.ASP.NET 2.0 Web Parts in ActionM.Manning,200614 Zabir,Omar AL.ASP.NET 3.5构建Web 2.0门户网站M.Southeast University Press,2008致谢本论文是在刘桂贤老师和李明老师的细心关怀和精心指导下完成的,在此我对刘桂贤老师和李明老师表示由衷的感谢。他们不仅是我学习上的导师,而且是我生活中的良师益友,在大学的四年生活中,我不仅从他们那里学到了不少有用的知识,更重要的是做一个对社会有用的人。同时我还要感谢在我学习期间给我极大关心和支持的各位老师以及关心我的同学和朋友,尤其我的队友史良同学,在于他的共同合作中,我体会到了团队合作的重要性,看到了他坚持不懈的精神,使我深受鼓舞。最后我衷心的感谢所有帮助我支持我的人。附录Dissecting ConnectionsConnections are powerful features of the portal framework that allow data to be exchanged between web parts. Connecting web parts can be fun because it provides you with an opportunity to think up interesting ways of presenting data to end-users. In this chapter we will learn about connections and the web part controlssuch as the WebPartConnectionthat make it possible for connections to occur. Well see that there are several ways to connect web parts, and well also learn how to create and configure transformers to connect web parts that expose different interfaces.Lets look at an example that offers a glimpse into the power of web part connections. Suppose that you are browsing the Adventure Works portal and come across a page displaying a staff listing. When you select a row on the listing, other connected web parts on the page update their information to display data that is related to that selection. For example, the page might contain a web part that displays images. When you select employee details, the page could update to display a picture of that employee. Another web part might display the key performance indicators (KPIs) for that staff member, while yet another could display a summary of that employees projects. Having web parts that can automatically remain synchronized with each other provides users with a more useful view of data.All connections involve two web parts. One part provides data that can be of any type, such as fields, rows, lists, or even complex data types. This part is referred to as the provider web part. The other web part receives the data and is referred to as the consumer web part. Sitting in the middle of a connection is an optional control called a transformer.Transformers provide a way to transfer data between providers and consumers that do not share a common data type. Think back to our introductory example in chapter 1we looked at how connections allow multiple web parts to communicate. Connections work when each web part is able to communicate via data that is of a common type. When data is not common among web parts, it is the job of a transformer to transform the data into a format that can be accepted by one web part or anotherthus allowing two-way data communications to occur between any web parts, regardless of whether they share common data interfaces or not.The Master/Details scenarioThe following section takes a look at the common scenarios that connections was designed to support, such as the Master/Details scenario and the Parent/Child scenario.The Master/Details scenario provides a way for users to make selections from a list of items, while another part displays more detailed information about the selected item. Figure 1 shows the steps of this selection process.*1A web part (A) displays a list of expenses for an employee.*2The employee makes a selection from the list. The selected item is shown as the row, which is highlighted in grey.*3The connection (B) passes information about the selection to another web part.*4The other web part (C) displays the details of the expensed itemsuch as the date of the purchase and the name of the vendor.*Figure 1 In the Master/Details scenario a row of data is selected in one web part and the details of that single item are displayed in another web partThe Parent/Child scenarioThe Parent/Child connection scenario is similar to the Master/Details scenario, except that for each selected item there can be more than one related record. Figure 2 provides an example of this.*1A web part (A) displays a listing of departments.*2The employee makes a selection from the list. The selected item is shown as the row highlighted in grey.*3The connection (B) passes information about the selection to another web part.*Figure 2 The Parent/Child scenario allows all the related rows to be shown for a single selection*4A second web part (C) then displays a list of all employees f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论