第一篇:基于BS平台保险业务系统-答辩稿
各位专家、各位老师、各位同学,大家好!
我是********学院软件工程******************学员XXX。我论文的题目是基于***平台***系统的设计与实现。
翻页
我此次进行汇报的主要内容为:研究背景、主要技术、需求分析、系统总体设计、系统详细设计、总结。
翻页
研究背景主要有三:
1、保险行业成为热门。
2、信息化步伐深刻影响保险行业
3、随着信息化的告诉发展,信息化保险业务管理系统是时代要求。翻页
B/S保险保单业务系统建设的必然性:
1、是***必然要求;
2、是***必然要求;
3、实现***势在必行;
4、保险理赔业务越来成为热门;
翻页
下面将介绍本文研究所用到的主要技术。
翻页
论文主要使用了如下技术辅助实现系统功能:
1、SQL Server2005,Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。
2、J2EE平台,J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。
3、MVC,MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层――模型层、视图层、控制层。一个模型可能对应多个视图,一个视图可
能对应多个模型。
4、UML是作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。
翻页
接下来介绍系统的需求分析。
翻页
系统功能描述主要分为以下几个方面:
1、***管理模块:主要包括***************************等。
2、***管理模块:主要包括**********************************等。
3、***管理模块:主要包括**********************************等。
4、***管理模块:主要包括**********************************等。
5、其它功能。
翻页
系统设计要求主要为:系统界面风格统一、人性化;开发过程中模块化;系统安全需求;系统需具备可扩展性要求。
翻页
接下来为各位介绍系统模块设计。
翻页
接下来为各位介绍***管理模块设计。
翻页
接下来为各位介绍***模块设计。
翻页
接下来为各位介绍系统模块业务流程。
翻页
接下来为各位介绍***模块设计。
翻页
接下来为各位介绍***模块设计。
翻页
接下来为各位介绍***模块设计。
翻页
接下来为各位介绍系统总体结构图。
翻页
接下来为各位介绍系统表接口设计图。
翻页
数据库表设计
通过对环保样品系统进行详细的调查和分析。总结得出数据库需要创建的数据库表为如上8张基本表。可能需要扩展。
翻页
接下来是系统的详细设计与实现。
翻页
接下来是系统实现界面的展示,用户信息管理界面,如图。
翻页
列举***模块核心代码,实现***。如图。
翻页
接下来是系统***界面展示,如图。
翻页
最后是总结与展望。
翻页
本文主要完成了系统前期准备工作,然后进行***,进而***分析报告,形成系统的基本雏形;再根据上一阶段的需求分析,设计系统的页面展示、整体框架、功能模块及数据库;针对设计方案进行代码实现,并随时与用户沟通,尽可能保证系统能与用户需求保持一致。
1.分析研究选题的背景及保险保单管理信息系统的发展状况,分析实际管
理系统的现状和存在的问题。
2.对保险保单管理系统所使用的架构进行分析。
3.利用软件工程思想,对系统进行需求分析和设计,确定系统的功能性需求,并对系统进行概要设计和详细设计。
4.对所做的工作进行总结和展望,研究实现系统的不足与未来改进设想。翻页
下一步研究方向:
1、2、系统安全性、功能需求性可进一步增强; 在权限管理模块,主要只实现了操作用户的权限管理,可进一步提升。
3、用户体验方面可进一步改善;
翻页
以上就是我本次汇报的全部内容,感谢各位老师专家,希望各位专家教授提出宝贵意见。谢谢!
第二篇:基于BS体系结构开发应用系统
基于B/S体系结构开发应用系统
编辑:lflf811224 作者:网友投稿 出处:中国论文下载中心 日期:2005-3-17
摘要 本文介绍了组件以及ActiveX技术,分析了Browser/Server体系结构开发应用软件的特点和不足。提出了克服该不足的一种方法。最后给出了一个应用实例。关键词 WEB,COM,应用软件,服务器 引言
由于客户服务器两层结构存在灵活性差、升级困难、维护工作量大等缺陷,已较难适应当前信息技术与网络技术发展的需要。随着WEB技术的日益成熟,Browse/Server(简称B/S)结构已成为取代Browser/Server(简称C/S)结构的一种全新技术。采用该结构软件的优势在于:(1)无须开发客户端软件,维护和升级方便;(2)可跨平台操作,任何一台机器只要装有页面,通过在页面中嵌入ActiveX控件来实现。
采用这种结构优点在于:(1)充分发挥了充分了B/S与C/S体系结构的优势,弥补了二者不足。充分考虑用户利益,保证浏览查询者方便操作的同时也使得系统更新简单,维护简单灵活,易于操作。(2)信息发布采用B/S结构,保持了瘦客户端的优点。装入客户机的软件可以采用统一的www.xiexiebang.com的无逢扩展集COM+,有着如内存数据库、负载平衡等强大的功能。实例
下面以某学校学生管理系统为例说明B/S结构软件的设计方法,该系统采用B/S体系结构与COM+技术相结合。通过该系统管理人员可以对学生的学籍、学生的日常表现、学生的学习成绩、学校教师、学校的资产进行管理与维护。任课教师可以通过浏览器查询所教班级学生各种相关信息。学校管理人员通过浏览器对学校的学生、教师等信息进行管理与维护以及有关查询统计功能。学校资产管理人员通过C/S体系结构实现对学校资产的管理维护。
本系统结合了ASP技术和COM+技术,是一个三层结构。表示层由ASP页面组成,用以实现WEB页面显示和调用COM+组件,业务逻辑和数据访问由一组用VC实现的COM+组件构成。为了便于维护、升级和实现分布式应用,在实现过程中,又将业务逻辑层和数据访问层分离开,ASP页面不直接调用数据访问层,而是通过业务逻辑层来调用数据库。
4.1 COM组件技术应用
该系统的实现主要分为三个部分:数据库、COM+组件和ASP页面。其中数据库与ASP页面的实现与一般B/S结构的WEB应用相似。COM+实现可分为三个步骤:COM+组件的设计、COM+应用程序的生成和组件注册、基于属性编程。该管理系统利用VC中的ATL开发COM+组件。下面是该系统中一个定制组件部分主要代码
在showscore.asp页面中接受、辨别用户的查询请求,做出不同的查询处理。当客户的身分为教师或教务员时,可以查询所有学生的成绩;当客户的身分为学生时,只能查询本人的成绩。
定制COM组件Score.dll进行查询处理。首先设计该组件的接口,为组件设计四个属性:SubjNo(课程号),Term(课程所属学期),ClassNo(班级号)和StuNo(学号)。定义两个方法RequeryScores和RequeryAllScores,分别对教师、教务部门和学生的请求做出相应的处理,并将查询结果集返回给用户。
以下是实现该组件Score.dll接口描述以及实现方法的部分代码,从中可以看到组件的接口是如何实现的: import “ocidl.idl”;[ object, uuid(46C01798-BE39-4FC0-A25D-718BA31DFADC), dual, helpstring(“IStudentScore Interface”), pointer_default(unique)] interface IStudentScore : IDispatch{ [propget, id(1), helpstring(“课程号”)] HRESULT SubjNo([out, retval] BSTR *pVal);[propput, id(1), helpstring(“课程号”)] HRESULT SubjNo([in] BSTR newVal);//其它接口部分从略
[id(5), helpstring(“method RequeryScores”)] HRESULT RequeryScores(([out,retval]LPDISPATCH* ppRecordset));};STDMETHODIMP CStudentScore::RequeryScores(){ HRESULT hr=S_OK;IobjectContext* m_spObjectContext=NULL;//利用ADO访问数据库
::CoInitialize(NULL);_RecordsetPtr pRecordSet=NULL,pRecordSetClone=NULL;BSTR bstrDSN=::SysAllocString(L“Provider=SQLOLEDB.1;Persist Security Info=True;
Password=;Initial Catalog=pubs;Data Source=zhudamiing;User ID=sa”);BSTR bstrSQL;try{ GetObjectContext(&m_spObjectContext);
pRecordSet.CreateInstance(__uuidof(Recordset));//根据查询要求(查询所有课程、查询特定学期所有课程、查询指定课程、查询 //特定学期某一课程)进行不同操作生成相应SQL语句,程序具体处理从略
pRecordSet->CursorLocation = adUseClient;pRecordSet->Open(bstrSQL,bstrDSN,adOpenKeyset,adLockOptimistic,adCmdText);pRecordSet->PutRefActiveConnection(NULL);pRecordSetClone = pRecordSet->Clone(adLockOptimistic);pRecordSetClone->QueryInterface(IID_IDispatch,(void**)ppRecordset);pRecordSet->Close();pRecordSet = NULL;::SysFreeString(bstrDSN);::SysFreeString(bstrSQL);//事物成功完成,则提交该事物
I f(m_spObjectContext-)m_spObjectContext->SetComplete();} catch(_com_error &e){ if(m_spObjectContext)//事物失败,回滚事物处理
m_spObjectContext->SetAbort()// 其他错误处理,从略
} return hr;} RequeryAllScores()实现部分从略。另外ASP调用实现部分比较简单从略。
组件编译结束后可以用COM+组件服务管理工具来管理COM+组件及其所在的应用程序。COM+组件服务是个图形界面的管理工具,利用它可以安装和发布组件、配置组件及其所在应用程序的属性,以实现组件安全性、MTS支持、排对组件、设置组件构造参数等。4。2 ActiveX技术应用
在本系统中许多报表的打印如学生成绩打印、学籍报表、学籍卡打印等需要特殊的格式。而浏览器所提供的打印功能无法实现。为此可采用ActiveX技术,实现在WEB环境下的本地端打印和报表生成。具体实现过程为:(1)www.xiexiebang.com和COM+篇.中国铁道出版社
[2]林子禹等 基于WEB与组件技术的企业应用系统设计模型 计算机工程与应用 2000.6.[3]夏骄雄等 基于Intranet的管理信息系统 小型微型计算机系统 2001、4 [4]楼伟进,应飚.COM/DCOM/COM+组件技术 :计算机应用2000、4.[5]张震、张曾科 一种新的WEB数据库系统结构 小型微型计算机系统 2001、5
第三篇:基于BS的网上考试系统的设计与实现
基于B/S的网上考试系统的设计与实现
论文关键词:ASP.net B/S 网络考试系统 数据库
论文摘要:随着网络的普及和对教育的重视,各院校各学科的网上考试都具有了必要的使用环境。但是,目前国内的一些网络教学系统的主要功能是教学,不能单独作为考试平台,通用性差,而且系统中对主观题的评阅多是采用人工评阅方式,没有实现真正意义上的自动评分。另一方面,我们所在院校的计算机基础课已开设了多年,但尚在沿用传统的考试形式或使用单机版的考试系统。基于Web的网上考试系统的设计与实现就是基于上述目的开发设计的。
本系统采用B/S架构作为系统的总体结构,以Web数据库技术为依托,利用微软的ASP.NET技术,结合ADO,实现了对Web数据库的访问和查询。该设计实现了按题型随机抽题组卷、在线考试、题库管理、系统管理的功能,能够对客观题在线评分。学生用学号登录成功后,阅读考试须知,之后选择考试科目进入考试页面,完成相应科目考试,自动给出考试成绩。系统管理,实现了对题库、考生信息、考试成绩、考试科目的管理。题库管理,实现了对试题的添加、编辑、删除功能;考生信息管理可以添加、修改、删除、查询考生信息,成绩管理可以删除成绩信息,科目管理主要是修改考试科目信息。
基于Web的网上考试系统本身是一个很大的系统,尤其试题库部分需要许多人的参与以及大量的投入才能建成。该系统虽然仅仅是完成《计算机文化基础》和《操作系统》课程的考试,但却具有良好的实用性与通用性,提供友好的人机界面,具有较好的可扩充性和开放性。
一、绪论
1.1 网上考试系统的现状分析
在信息技术迅速发展的今天,网络对于大多数人已不再陌生,并且其应用在人们的工作、学习和生活中越来越多地发挥着不可替代的作用。近年来随着软件工程技术、信息通信技术的快速发展以及计算机网络技术的日趋成熟,网络教育在人们的教育活动中逐步得到普及。网上考试是网络教育不可缺少的组成部分,是网络教育的一个重要环节。
网上考试在国外一些国家已经得到了蓬勃发展,人们选学课程和考试都是通过网上进行的。例如国外一些著名的考试,如Microsoft公司的MCSE(Microsoft系统工程师认证考试)、GMAT(工商管理硕士入学考试)、托福考试、GRE(美国研究生入学考试)等,都是采用网上考试的形式进行的。
在国内,目前绝大多数考试还停留在传统考试方式上,对互联网的真正应用仅限于一些考试的网上报名工作和网上成绩查询,还没有真正形成网上考试规模。网上考试系统作为现代教育的一个子系统,是保证教育教学质量的重要手段。在传统的考试方式下,组织一次考试要经过出题、考试、评卷、试卷分析等步骤,随着考试类型的增加及考试要求的提高,教师的工作量将会越来越大,并且其工作非常容易出错,在一定程度上说,传统的考试方式已经存在着改革的必要了。Internet技术的发展使得考试的技术手段和载体发生了划时代的变化,考试从传统的纸笔考试到计算机辅助考试再发展到基于Web的网上考试成为现实。
现阶段,网上考试系统的主流开发技术已经相当成熟,且很好地适应了动态站点设计和基于Web的数据库访问的要求,是当前网上考试软件实现的主流技术之一。在对大量关于网上考试系统资料的研究和学习后,根据工作的需要,针对本校实际情况特别是教学的需求,利用学校校园网已有的基础条件,研究开发适合本校使用的基于Web的网上考试系统。
1.2 选题的背景及研究意义
随着计算机科学、网络技术的迅猛发展,在教育领域里,实现网上考试可以充分利用学校现有的计算机软、硬件资源和网络资源实现考试;对于客观题由计算机来完成阅卷,可以将减少人工阅卷的工作量。
目前常用的网上考试系统主要有两种基本模式:传统的C/S(客户机/服务器)模式和新型的B/S(浏览器/服务器)模式,所谓C/S模式,即数据库(比如,试题库)内容放在远程的服务器上,在客户机上安装相应软件;C/S结构在技术上虽然很成熟,但该结构的程序往往只局限在小型的局域网内部,不利于扩展。并且,该结构的每台客户机都需要安装相应的客户端程序。当拥有用户量比较多时,如果采用该结构,系统的安装与维护工作比较繁重。同时,由于应用程序直接安装在客户机,客户机直接和数据库服务器交换数据,系统的安全性也受到一定影响。与传统的基于C/S模式的网上考试系统相比,B/S体系将应用逻辑与用户界面和数据访问相分离,使系统的维护变得简单(只需要改变网页,即可实现所有用户的同步更新),同时简化了客户端的功能,用户只需浏览器即可使用此考试系统,更适宜于互联网上的考试。
在信息网络化的现实面前,我们提出一种基于Web的网上考试系统,并用SQL Sever 2000数据库与ASP.NET技术结合进行了该系统的开发。
1.3 系统基本简介
我们课题组所做的工作不仅仅是参与开发一个完整的在线考试系统,也是一个引导性的基础研究,是对.net平台下基于B/S结构的软件体系结构、关键技术、实现技术、框架解决方案进行的探索。
本系统采用ASP.NET、HTML、Javascript、VBScript、图形编辑与数据库等工具,通过基于WEB服务器访问WEB页面,可以不受地点,时间限制,通过宽带上网或其它上网方式,借助Internet这一强大、方便的工具,考生可以在互联网上通过浏览器来选择科目、参加考试,管理员可以在互联网上通过浏览器来添加、修改学生信息,添加、修改、删除试题,修改考试科目信息,管理学生成绩;同时还实现有学生信息查询功能:按班级、学号、姓名等关键字查询,实现对整个系统的管理功能。
系统的主界面主要有考生、管理员入口,根据用户类型,分别进入考试和管理两个不同的页面。其最大的特点是开放性、方便性和灵活性。
二、系统的关键技术及介绍
在《基于Web的网上考试系统》的设计过程中,主要考虑了以下几方面的问题:
(1)ASP.NET技术;
(2)建立数据库,使用SQL Sever 2000来建立;
(3)选择系统的开发模式,B/S模式;
(4)ADO.NET对象模型;
(5)系统数据库设计。
2.1 ASP.NET技术概况
ASP.NET是微软公司推出的一种Internet编程技术,它采用效率较高的、面向对象的方法来创建动态Web应用程序。在原来的ASP技术中,服务器端代码和客户端HTML混合在一起,常常导致页面的代码冗长而复杂,程序的逻辑难以理解。ASP.NET是一种独立于浏览器的编程模型,可以在最新版本的IE、NetscapeNavigator以及诸如Opera等被广泛使用的浏览器上运行。
ASP.NET是一种建立在通用语言上的程序构架。一个已编译的、基于.NET的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多。微软公司发布了包括Visual Basic.NET、C#.NET、Visual C++.NET等与.NET兼容的语言来创作应用程序。
2.1.1 ASP.NET的优势
ASP.NET是在服务器上运行的编译好的公共语言运行库代码,它可利用早期绑定、实时编译、本机优化和盒外缓存服务。这相当于在编写代码行之前便显著提高了性能。
1)世界级的工具支持
ASP.NET框架补充了Visual Studio集成开发环境中的大量工具箱和设计器。WYSIWYG编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。
2)威力和灵活性
由于ASP.NET基于公共语言运行库,因此Web应用程序开发人员可以利用整个平台的威力和灵活性。Microsoft.NET框架类库、消息处理和数据访问解决方案都可从Web无缝访问。ASP.NET也与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。另外,公共语言运行库的交互性保证在迁移到ASP.NET时保留基于COM的开发中的现有投资。
3)简易性
ASP.NET使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。例如,ASP.NET页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类似Visual Basic的简单窗体处理模型中处理事件并不相同。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。
4)可管理性
ASP.NET采用基于文本的分层配置系统,简化了将设置应用于服务器环境和Web应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。此“零本地管理”哲学也扩展到了ASP.NET框架应用程序的部署。只需将必要的文件复制到服务器,即可将ASP.NET框架应用程序部署到服务器。不需要重新启动服务器,即使是在部署或替换运行的编译代码时。
5)可缩放性和可用性
ASP.NET在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。另外,进程受到ASP.NET运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。
6)自定义性和扩展性
ASP.NET随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。实际上,可以用自己编写的自定义组件扩展或替换吉林大学硕士学位论文ASP.NET运行库的任何子组件。
7)安全性
借助内置的Windows身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。
2.1.2 常用到的ASP.NET内置对象
Application对象:对整个ASP.NET执行环境而言,一个虚拟目录下的所有ASP.NET程序构成了一个Web应用程序。在多任务执行的情况下,来自四面八方的众多用户可能执行同一个Web应用程序,这便依赖Application对象。常用到的场合:聊天室、网页计数器等。
Request对象:获取从客户浏览器传给服务器端的数据,如接收来自表单的数据。
Response对象:Request对象与Response对象就像一般程序语言里的Input及Output命令,若要让服务器端的ASP.NET程序能够接收来自客户端的信息,须用Request对象;若想将服务器端的信息传递给客户端,须用Response对象。
Session对象:Session对象和Application对象极为类似,但Session对象的信息只适用于同一位用户,换句话说,一个Session对象只属于一位用户。常用到的场合:虚拟购物车、用户登陆网站时用户名的临时存储等。
2.2 利用SQL Sever 2000来建立数据库
Microsoft SQL Server 2000 是一种关系型数据库。此种数据库采数据分类表格化的架构,将相关的数据组成表格,表格和表格之间可以有关联性,因此称为关系型数据库。系统管理员可透过应用程序进入服务器,更改数据型态,管理及处理服务器资源。SQL Server 也是一种具备延展性的数据库(scalable database),亦即 SQL Server 可以支持多位使用者同时进入数据库中处理大量的数据。
2.3 Browser/Server模式—本系统的开发模式
2.3.1 Browser/Server模式简介
随着网络规模的日益扩大,应用程序的复杂程度不断提高,传统的数据库应用架构已经不能胜任。为了充分利用网络资源,越来越多的信息需要在www.xiexiebang.command对象、DataAdapter、DataSet以及DataReader。这些组件中负责建立联机和数据操作的部分我们称为数据操作组件(Managed Providers)分别由Connection对象、Command对象、DataAdapter对象以及DataReader对象所组成。数据操作组件最主要是当作DataSet对象以及数据源之间的桥梁,负责将数据源中的数据取出后植入DataSet对象中,以及将数据存回数据源的工作。
Connection组件
Connection对象主要是开启程序和数据库之间的连结。没有利用连结对象将数据库打开,是无法从数据库中取得数据的。这个物件在ADO.NET的最底层,我们可以自己产生这个对象,或是由其它的对象自动产生。
Command组件
Command对象主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除数据等指令,以及呼叫存在数据库中的预存程序等。这个对象是架构在Connection对象上,也就是Command对象是透过连结到数据源的Connection对象来下命令的。所以Connection连结到哪个数据库,Command对象的命令就下到哪里。
DataAdapter组件
DataAdapter对象主要是在数据源以及DataSet之间执行数据传输的工作,它可以透过Command对象下达命令后,并将取得的数据放入DataSet对象中。这个对象是架构在Command对象上,并提供了许多配合DataSet使用的功能。
DataSet组件
DataSet这个对象可以视为一个暂存区(Cache),可以把从数据库中所查询到的数据保留起来,甚至可以将整个数据库显示出来。DataSet的能力不只是可以储存多个Table而已,还可以透过DataAdapter对象取得一些例如主键等的数据表结构,并可以记录数据表间的关联。DataSet对象可以说是ADO.NET中重量级的对象,这个对象架构在DataAdapter对象上,本身不具备和数据源沟通的能力,也就是说我们是将DataAdapter对象当做DataSet对象以及数据源间传输数据的桥梁。
DataReader组件
当我们只需要循序的读取数据而不需要其它操作时,可以使用DataReader对象。DataReader对象只是一次一笔向下循序的读取数据源中的数据,而且这些数据是只读的,并不允许作其它的操作。因为DataReade在读取数据的时候限制了每次只读取一笔,而且只能只读,所以使用起来不但节省资源而且效率很好。使用DataReader对象除了效率较好之外,因为不用把数据全部传回,故可以降低网络的负载。
2.5 系统数据库设计
2.5.1 数据库结构及说明
数据库结构是网上考试系统设计方案中的一个重要组成部分,目的在于满足考生、管理员用户实现其操作功能。
2.5.2 用户权限简介
1.管理员。在此系统中系统管理员具有管理用户、管理试题和试卷的权力。他不需注册,在数据库有一个表来存放相关信息。
2.一般用户主要是指考生,参加在线考试。
三、系统的整体分析与设计
3.1 需求分析
3.1.1 系统需要解决的主要问题
考生进入系统应该进行身份验证。考生进入考试系统后,需要选择考试科目,所以系统还应有考试科目选择的功能。鉴于考试环境一般为机房,考试者之间的距离很近,为了避免考试做弊,试卷的试题和题量都应是相同的,但试题并不相同。在线考试基于网络环境,试卷应该从服务器的数据库随机抽取试题后动态生成的。另外,系统还应该对考试时间进行控制,时间到了会要求考试者交卷。考试者选择提交答卷后,应该自动判卷,给出考生分数。
本系统是为了满足在线考试的需求而设计开发的,可在Internet上进行实时考试。所以本考试系统应具备的考试系统功能,包括:题库设计和管理,试卷的随机组卷能力,用户在线考试及记录,系统自动评卷,系统数据库管理维护,系统管理和维护。
3.1.2 系统功能模块划分
本在线考试系统可分为两个主要功能模块进行设计,这两个功能模块分别为:
(1)考生功能模块:考生功能模块可以实现考生登录、选择考试科目、在线考试、完成考试给出分数,如果已经考过,则不能登录考试。
(2)管理员功能模块:管理员功能模块可以实现管理员登录、考生信息管理、考试科目管理、题库管理、考试成绩管理。
系统统由一个登陆界面登陆,在登陆时是如果是学生,则用户名为考生学号,如果是管理员登陆,用户名为管理员名,分别从各自己的数据库中查询帐户,并核对登陆密码,然后根据不同的角色进入不同的界面。
3.2 总体设计
本部分介绍了《基于Web的网上考试系统》的总体设计,主要包括公用登陆模块的设计,学生功能模块的设计,管理员功能模块的设计。
3.2.1 公共登陆模块设计
所有用户都从本模块登陆,登陆界面(login/)上包括一个文本框用于输入用户名,一个文本框用于输入密码;包括两个按钮,用来区分考生登录,还是管理员登陆。点击登陆后,根据不同按钮的单击事件,连接到不同的 数据库,从相应的数据库表中查询用户名和密码,如查询到,则进入相应的页面,如未查询到,则弹出出错信息,用户点击确定重新输入用户名和密码登陆,图3-3示: 图3-3 用户登录界面
3.2.2 在线考试模块设计
考生登录后,进入考试须知页面(know1/),选择考试科目后,若未参加该科目的考试,则进入相应科目考试页面;否则,不能进入考试页面。该页面主要提供了一个考生选择考试科目的功能,以简单的超链接进入不同的科目考试页面。
3.2.3 管理员功能模块设计
管理员登录后进入后台管理主页面(classintro/),由该页面可以登录到学生信息管理、科目管理、试题管理、成绩管理页面。
四、部分页面实现详解
4.1 考试页面的实现
考试页面(exampage/)可以进行单选、多选、填空题这些客观题的考试。每一类型题都以一个Web用户控件来实现题目显示,试题是随机生成的,每次考试都不同的试卷,系统以随机抽题来生成试卷,使用了一个随机函数。先在题库question表中得到每种题型在每次抽题供抽取的总题数count= SubjectInfo(Subject),随机选题时应在1-count之间选取,temp = Fix(count * Rnd(10))。由于试卷是考前随机抽题而得,考生在第一时间开启试卷,减少了接触试题的人员间环节,也在一定程度上防止了考生将试题传出考场,增强了试题的保密性其次,为了避免由于得到的随机数相同,而在一份试卷中抽到相同的考题,在设计题库结构时设置了haveselect标记字段,标记字段取值为0时,该题未被抽取,haveselect标记字段取值为1,表示该题已被抽取,不能再用。这统在抽题时,首先判断haveselect标记字段是否为0,如果该题已被抽过,则必取新的随机数重新抽取。下面以单选题为例来说明。
//将haveselect置为1,标记该题为已选
Public Function SetReaded(ByVal QuestionID As String)strsql = “update question set haveselect=1 Where id=” & CInt(QuestionID)ExeSQL(strsql)End Function //将haveselect置为0,该课程所有的考题初始化 Public Sub SetRead()strsql = “update question set haveselect=0 where subjectname='” & Subject & “'” ExeSQL(strsql)End Sub //用随机函数Rnd()来生成试题号 Public Sub DataBingToRep()strsql = “select top ” & 1 & “ * from question Where subjectname='” & Subject & “' AND type='单选题'and haveselect= 0 ” Randomize()count = SubjectInfo(Subject)temp = Fix(count * Rnd(100))If Qds.Tables(0).Rows.Count > 0 Then GetRowInfo(Qds.Tables(0).Rows(temp))Else lblQesName.Text = “暂时没有” & Subject & “的单选题!” End If End Sub //统计课程考题的数量, 获得count值
Function SubjectInfo(ByVal name As String)As Integer strsql = “select * from question where subjectname='” & name & “' AND type='单选题'and haveselect=0 ” Dim cmd As New SqlDataAdapter(strsql, appconn)cmd.Fill(Qds, “Info”)Return Qds.Tables(“Info”).Rows.Count End Function
4.2 管理主页面的实现
管理主页面是管理员进入后台管理后所看到的第一个页面,在该页面上有Label控件显示了管理员名,登录时间信息,一组超链接实现各个页面之间的跳转,以一个表格中加入超链接图片也可以在不同页面之间跳转,该页面主要是管理员欢迎界面,没有什么关键代码,只是超链接的使用。
4.3 学生信息管理页面(manstudentinfo/)的实现
该页面用DataGrid控件显示了学生信息,并实现了分页显示,同时以下拉列表事件来实现按班级查询学生信息,其中班级是从数据库里查询出来的不重复的班级,还以下拉列表提供了按序号、学号、姓名进行的关键字查询,以超链接实现了跳转到添加、修改学生信息页面。
关键代码解释:
//定义数据库连接字符串,Dim conn As New SqlConnection(ConfigurationSettings.AppSettings(“ConnectionString”))//使用DISTINCT关键字搜索出数据库中的不同班级,class_name为下拉列表控件 comdstr2 = “select DISTINCT class from student” class_name.DataSource = studs.Tables(“student1”)class_name.DataBind()class_name.Items.Insert(0, New ListItem(“全部”, “全部”))//使第一项显示为“全部”
class_name.SelectedIndex = class_name.Items.IndexOf(class_name.Items.FindByText(“全部”))//使用Response.Redirect可以将网页转移至另外的网页上,使用的语法结构是:Response.Redirect网址,其中网址可以是相对地址或绝对地址,在此使用Response.Redirect(“addstudentinfo/”)跳转到修改学生信息页面 Session(“studentid”)= s_datagrid.DataKeys(CInt(E.Item.ItemIndex))//使用下拉列表控件的SelectedIndexChanged事件,实现下拉列表改变,自动按不同班级查询学生信息 Public Sub class_name_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles class_name.SelectedIndexChanged dblstr = Request.Form(“class_name”)ifsub()End Sub //根据不同的查询条件生成不同的查询字符串 Sub ifsub()//使用like '%“ & key & ”%'实现按关键字查询,以下输入学号关键字为来实现查询 If skey = “s_no” Then comdskey = “ where s_no like '%” & key & “%' ” comdstr = “select * from student ” & comdskey End If Session(“str”)= comdstr adp = New SqlDataAdapter(comdstr, conn)ds = New DataSet adp.Fill(ds, “student”)s_datagrid.DataSource = ds.Tables(“student”).DefaultView s_datagrid.DataBind()End Sub 4.3.1 添加、修改学生信息(addstudentinfo/)
添加学生信息与修改学生信息共用一个页面,在执行不同操作时,传递不同的参数editstudent,当editstudent为空值时,显示添加学生信息页面,不为空显示为修改学生信息,并根据参数绑定数据库中的对应的学生信息,显示在相应的文本框或下拉列表中。
关键代码解释:
//根据不同editstudent参数值显示不同的页面标题,其中editstudent为学生id <%If editstudent = “" Then%>添加学生信息 <%Else%>修改学生信息<%End If%> //根据不同editstudent参数值显示不同的按钮文本 <%If editstudent = ”“ Then%> <%Else%><%End If%> //该句的功能是把表单提交的变量editstudent的值赋给一个Session对象studentid。这个对象用来存储学生id,它在用户对每个页面的访问中有效。editstudent = Session(”studentid“)//点击修改学生信息事件,使用Request对象的Form获得页面上表单的内容 nums = Request.Form(”num“)names = Request.Form(”name“)pwds = Request.Form(”pwd“)grades = Request.Form(”grade“)strA = ”update student set s_no='“ & nums & ”',s_name='“ & names & ”',s_pwd='“ & pwds & ”',class='“ & grades & ”' where id=“ & editstudent
4.4 科目管理页面(managesubject/)的实现
该页面主要是对考试科目信息的修改,包括各类型题的总分和题量以及考试时间设置,其中序号和科目名称是不可修改的。用一个DataGrid控件实现了显示科目信息,以一个隐藏的Panel控件放上一个表格来绑定相应科目信息,当点击修改时,Panel控件显示,并将相应科目信息以表格形式显示,以供修改。
关键代码解释:
//使用Panel控件的Visible属性,当点击修改时,Panel.Visible = True, comdstr1 = ”select * from subject where id=“ & s_datagrid.DataKeys(CInt(E.Item.ItemIndex))objcomd = New SqlCommand(comdstr1, conn)objcomd.Connection.Open()studr = objcomd.ExecuteReader //当读出该记录时,将相应字段的值显示在页面上的相应控件上 If studr.Read()then id.Text = studr(”id“).ToString End If
4.5 试题管理页面(manexampage/)的实现
该页面以Repeater控件实现了试题的显示,每一题都用一个表格来显示,每一题都有一个操作,放了三个链接,点击添加,则跳转到添加试题页面,点击修改,则跳转到试题修改页面,点击删除,则删除该题。此外该页还进行了分页,可以到上一页,下一页,直接到达首页和尾页,并显示了总页数和当前页码。
关键代码解释:
manadp = New SqlClient.SqlDataAdapter manadp.SelectCommand = objcomd mands = New DataSet //填充DataSet数据集 manadp.Fill(mands, ”mana“)//设置分页显示试题的数量
Dim manpd As PagedDataSource = New PagedDataSource manpd.DataSource = mands.Tables(”mana“).DefaultView()manpd.AllowPaging = True manpd.PageSize = 4 //定义当前页变量CurPage Dim CurPage As Integer //设置当前页的页码索引为当前页码减一 manpd.CurrentPageIndex = CurPage1)& ”&mana=“ & Server.UrlEncode(Session(”mana“))& ”“ lnkFirst2.NavigateUrl = Request.CurrentExecutionFilePath & ”?Page=1“ & ”&mana=“ & Server.UrlEncode(Session(”mana“))& ”“ End If //如果是下一页,跳转到后一页 If Not manpd.IsLastPage Then lnkNext2.NavigateUrl = Request.CurrentExecutionFilePath & ”?Page=“ & Convert.ToString(CurPage + 1)& ”&mana=“ & Server.UrlEncode(Session(”mana“))& ”“ lnkLast2.NavigateUrl = Request.CurrentExecutionFilePath & ”?Page=“ & manpd.PageCount & ”&mana=“ & Server.UrlEncode(Session(”mana“))& ”“ End If
4.5.1 添加、修改试题页面(addquestion/)
添加和修改试题共用一个页面,在执行不同操作时,传递不同的参数edittest,当edittest为空值时,显示添加试题页面,不为空显示为修改试题页面,并根据参数所传递的ID号来绑定数据库中的对应的试题信息,显示在相应的下拉列表、文本框或单选按钮上。
关键代码解释:
//使用Request对象的QueryString属性来获取edittest参数的值 edittest = Request.QueryString(”edittest“)If edittest <> ”“ Then comdstr = ”select * from question where id=“ & edittest objcomd = New SqlCommand(comdstr, conn)objcomd.Connection.Open()testdr = objcomd.ExecuteReader If testdr.Read()Then txtquestion.Text = testdr(”question“).ToString txtA.Text = testdr(”A“).ToString txtB.Text = testdr(”B“).ToString txtC.Text = testdr(”C“).ToString txtD.Text = testdr(”D“).ToString txtanswer.Text = testdr(”answer“).ToString If testdr(”type“).ToString = ”单选题“ Then type.Items(0).Selected = True Else If testdr(”type“).ToString = ”多选题“ Then type.Items(1).Selected = True Else type.Items(2).Selected = True End If End If End If objcomd.Connection.Close()End If //使用Request对象的QueryString属性来获取deltest参数的值 deltest = Request.QueryString(”deltest“)If deltest <> ”“ Then comdstr = ”delete from question where id=“ & deltest objcomd = New SqlCommand(comdstr, conn)objcomd.Connection.Open()objcomd.ExecuteNonQuery()objcomd.Connection.Close()Response.Redirect(”manexampage/?“)End If
4.6 成绩管理页面的实现
该页面主要是对学生考试成绩的管理,结合了学生信息表和成绩表的双表查询,用一个DataGrid控件显示学生考试成绩,只能对学生成绩进行删除操作,设计比较简单。
主要代码解释:
//使用DataGrid控件的MyDataGrid_Delete事件,利用strSql字符串实现记录的删除 strSql = ”Delete from score Where id=" & s_datagrid.DataKeys(CInt(E.Item.ItemIndex))
参考文献
[1]李万伦,何蕾,赵海.ASP.NET程序设计.清华大学出版社,2002 [2]求是科技.ASP.NET数据库管理系统开发实例导航.人民邮电出版社,2005 [3]张增良.ASP.NET程序设计教程.西安交通大学出版社,2006 [4]钱灵.基于.NET的网上考试系统的设计与实现[D].天津大学,2005 [5]张全和.关于考试阅卷系统开发的必要性和可行性.重庆大学计算机基础教学研讨会论文集.2004.4 [6] Hoffman K,Gabriel J.汪钟鸣,战晓苏译..NET Framework高级编程[M].北京.清华大学出版社.2002年 [7] 全渝娟,范荣强.基于Web的远距离考试系统.计算机应用与软件,2003,7 [8] 蒋元星.基于.NET框架的企业应用集成研究和实现.浙江大学硕士学位论文2005,5 [9] 肖金秀,冯沃辉,陈少涌.ASP.NET程序设计教程[M].冶金工业出版社,2002,7 [10] 徐世浩.高校教育网站ASP.NET技术应用研究.电化教育研究,2004,1 [11] 陈玉峰.SQL Server 2000数据库开发教程(第1版)[M].北京:科学出版社,2003.[12] 金雪云,焦桂英.ASP.NET高级开发技术与范例(第3版)[M].北京:科学出版社,2002.[13] 刘东飞,夏丹.基于.NET的网上考试系统设计与实现[J].福建电脑,2006,5:121-122 [14] 张红鹰,基于NET平台的网上考试系统的设计与实现,湖北大学成人教育学院学报,2006年第3期。[15] 高清和.精通ASP.NET的程序设计.中国铁道出版社,2001[10]肖建.ASP.NET编程实例与技巧集粹.北京希望电子出版社,2003。
[16] 廖彬山,高峰霞.WEB数据库开发技术[M].北京:电子工业出版社,2001。
[17] 张莉,王强.SQL SERVER数据库原理及应用教程[M].北京清华大学出版社,2003年1月。
[18] 刘红军.基于B/S三层架构的标准化网上考试系统的设计与实现[Dl.中国海洋大学硕士学位论文,2005 [19] 孟军《精通ASP.NET网络编成》人民邮电出版社,2002 [20] 杨帆《ASP.NET技术与应用》高等教育出版社,2004 [21] 朱归良基于Web模式的网上考试系统安全性研究(《计算机工程与应用》2002年3月)[22] 夏江林.C/S结构与B/S结构技术特点比较.电脑学习.2001(5)P35-36 [23] 朱忱,宋顺林.基于.砚T的Web应用框架的设计与实现[J].计算机工程与设计,2006(8):1446—1447 [24] 黄杰.基于Browser/Sever模式下的在线网上考试系统【DI.武汉大学硕士学位论文,2004
第四篇:求职招聘系统答辩决议
刘顺同学硕士学位答辩决议
基于B/S架构的网络化求职招聘系统利用现代化的网络技术管理人才求职、企业招聘信息,突破了时间和空间的限制,无论是对于个人求职、企业招聘都减少了人力、物力和财力的投入,提高了工作效率,选题具有一定的理论意义和应用价值。
论文的主要研究工作和特色如下:
1.通过对传统求职招聘模式与现代网络化求职招聘模式进行比对分析,得到现代网络化求职招聘模式的重要性,网络化求职招聘模式降低了参与招聘单位的工作者的工作量和及招聘成本,降低求职者求职中参加招聘会要消耗的时间及精力,使求职和招聘的过程经过互联网去完成,如此去实现招聘中双方选择的自动自动化。
2.构建了一种基于B/S架构的求职招聘系统,对系统的各方面进行了详细的探讨并提出了有效的实现方式。系统借鉴了现代比较流行的几大求职招聘网站的设计方式,实现了一个便于求职者及招聘者使用,具有高效性能的网络系统。
3.介绍了jsp动态建站语言的优势,采用MVC模式按照Web系统的职能进行分工,将一个应用程序分离成三个相对独立层,把系统数据层与表示层进行剥离,存放在不同文件中,这有利于后期维护工作的开展。
4.采用B/S架构设计系统可以保证客户端一致,主要功能及处理方法由服务器进行,这大大减少了系统开发所消耗的时间,达到了操作成本和维护费用减少的目的。
论文结构清晰。达到了硕士论文的水平。
该同学答辩过程中,讲述清楚,回答问题正确。
综上所述,该同学已掌握了本学科坚实的基础理论和系统的专门知识,具有从事科学研究和独立担负计算机专业技术工作的能力。
经答辩委员会无记名投票,通过**同学论文答辩,并建议授予硕士学位。
答辩委员会主席:
年月日
第五篇:移动OA系统毕业设计答辩稿
各位老师,上午好!我叫XXX,是XXXX班的学生,我的论文题目是基于Android系统的平板电脑应用的OA系统移植。论文是在XXX老师的悉心指导下完成的,在这里我向我的导师表示深深的谢意,向各位老师不辞辛苦参加我的论文答辩表示衷心的感谢,并对四年来我有机会聆听各位老师的谆谆教诲表示由衷的敬意。下面我将本论文设计的目的和主要内容向各位老师作一汇报,恳请各位老师批评指导。
我将从以下方面进行说明:项目介绍,课题研究意义,功能模块介绍,系统功能演示,关键技术及难点。
首先,简单介绍一下我的毕设题目。
我的毕设题目要做的是将现有的一个办公自动化系统移植到基于Android系统的平板电脑上。平板电脑与台式电脑和笔记本相比最大的优势在于其移动性和便携性,而且平板电脑可以非常方便的接入网络,因此在平板电脑上实现了的OA系统可以称之为移动OA系统,它主要通过无线网络实现办公的自动化,可以实现PC上OA系统的所有功能,比如公文流转、通讯录、通知公告等,甚至还能实现原OA系统所不能实现的功能,最典型的就是离线办公。移动OA系统让办公人员可以随时随地进行掌上办公,对于突发事件和应急事件可以做出快速及时的处理。
其次,我想谈谈课题研究的意义。
移动OA系统的目标就是要实现3A办公,即办公人员可以在任何时间(Anytime)任何地点(Anywhere)处理与业务相关的任何事情(Anything)。也可以称为无址化办公,这里的无址化办公指的是办公地点不再局限于办公室里。
本移动OA系统是在基于Android系统的平板电脑上实现的。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,而且Android系统免费向开发人员提供,在Android上运行移动OA系统必将给办公职员带来全新和高效的办公体验,同时移动OA系统适应了移动云计算的发展趋势,移动OA系统的客户端作为云终端,后台服务器部署在云端,实现移动OA和云计算的结合。
这是移动OA系统的示意图。移动OA要经过开放的无线公网接入政府和企业的内部网络。移动OA服务器连入无线网络,移动终端通过无线网络进行访问,移动OA服务器与原始信息服务器相连并进行数据交换。同时企业内部仍然可以使用原OA系统进行办公。
本系统使用的开发环境如下。Android开发最主要的工具就是Google提供Android SDK,为开发Android应用程序提供了基础的软件开发包。使用Eclipse + ADT插件可以方便的进行Android程序的编写以及调试运行。本系统的服务器端用Servlet来完成,使用Myeclipse集成开发环境和Tomcat服务器来开发运行,使用SQL Server 2005数据库保存公文相关数据。由于数据库使用的是原OA系统的数据库,所以使用了Powerdesigner来逆向生成物理数据模型,进行数据建模分析。
然后是系统的功能模块介绍,本系统并没有实现一个完整OA系统所有的功能,只是实现了公文流转,本系统实现的功能模块有:系统登录、起草公文、审批公文、发送公文、公文盖章等。
这是系统用到的数据表,以及数据表之间的参照关系,通过Powerdesigner从原有OA系统的数据库中逆向导出。其中公文表(Document),用于记录公文信息,包括公文的ID、公文主题、公文的审批状态等,Document_File表用来保存具体的公文数据,本系统直接将公文内容保存在数据库里。
接下来是系统的功能演示:
左图是原OA系统的登录界面,右图是在Android模拟器上运行移植后系统的登录界面。从登录界面可以看出,移植后的系统增加了离线办公登录功能,离线办公时不需要对登录信息进行验证,因此实现的功能也是有限的。
左图是原OA系统的主界面,右图是移动OA系统的主界面,从主界面可以看出移植后的系统实现了原系统的基本功能,能够起草公文、查看待办公文、查看已办公文等。该系统主要运行在手持设备上,无论是平板电脑还是智能手机,考虑到操作的便利性,因此在设计界面时采用了如图的这种列表的形式,可以通过点击方便操作。
这是待办公文列表,其中列出的有部分是已经保存到本的公文,其余的是从服务器端获得的待办公文列表,此时公文并没有下载到本地。在某一个列表项上长按后可以进行具体的操作,如图所示,可以查看公文、审批公文、否决公文。这是审批公文的界面,可以编辑word文件。审批完成后,就可以将公文发送到服务器,更新服务器端数据库里保存的文件。发送公文界面如图所示。
这是当多个人同时审批某一公文时,两个系统给出的提示,提示公文不能同时进行审批。实现时,在数据库Document数据表里增加了一个公文审批状态字段,当公文在审批中时,可以设置该字段,其他人再要求审批时都会检查该字段,相当于给公文加上了一个写锁。
本系统实现的关键技术有:文件的上传、公文的同步审批以及字符编码的统一。文件的上传使用了HTTP协议通过字节流将公文上传到服务器,Android SDK没有封装上传文件的方法,在本系统中通过构造Html的表单结构来实现。公文的同步审批,如前所述,通过在数据表中添加一个审批状态字段来实现,但是这种方法的办公效率较低,尤其是有的办公人员在将公文下载到本地后没有立即进行审批,导致其他人也不能再审批。字符编码的统一,在服务器端Servlet使用了一个过滤器,将Servlet内部的字符编码设置成utf-8格式。本系统的一个难点是实现公文的盖章。
目前所完成的系统虽然实现了公文流转的基本功能,但有很多需要改进的地方。首先是公文的同步审批,之前提到,通过给公文加一个写锁来实现公文同步的办公效率不高,可以做如下改进:允许多个审批者同时审批公文,保存公文的修改时间,审批完成后发送到服务器,服务器验证客户端下载时保存的修改时间与数据库里保存的修改时间是否一致,如果不一致,则通知审批者重新下载新版本的公文重新审批。公文的盖章,在本系统中只是将印章从服务器下载下来,然后使用第三方的office软件的插入图片的功能,盖章功能没有真正嵌入在系统中。离线办公也有待改进,本系统的离线登录没有对使用的身份进行验证,所以只提供了离线起草公文的功能。若要离线审批保存在本地的公文,必须先要成功登录系统后才能实现。
在毕设的整个过程中,我收获了很多,为以后的进一步深造打下基础。这篇论文的写作以及修改的过程,也是我越来越认识到自己知识与经验缺乏的过程。虽然,我尽可能地收集材料,竭尽所能运用自己所学的知识进行论文写作,但论文还是存在许多不足之处,有待改进。请各位老师多批评指正,让我在今后的学习中学到更多。
谢谢各位老师!