上海工程技术大学毕业设计(论文) 编译原理在线考试系统的设计与实现
其中考试管理系统是作为一个学校的重要组成部分,通过它可以实现对各种考生信息,科目信息,题库信息,考试信息的管理,从而解决了传统人工操作的低效率性,易出错性。该系统使用ASP.NET(C#语言)和ADO.NET技术开发, 实现了设备信息管理,使得对信息的管理更加及时、高效,提高了工作效率。
该系统是基于B/S(Browser/Server,浏览器/客户端)模式实现,基于.NET平台架构开发设计,随着Internet/Intranet技术的兴起,将原本在单机或本地局域网上运行的数据库系统移植到因特网中,即开发基于B/S模式的新一代MIS(Management Information System,管理信息系统)系统,正成为技术发展的趋势。为了保证系统性能的高效性、可扩展性,以及达到数据共享和网络化管理的目的,本系统采用B/S体系结构进行设计开发。
1.3 系统技术概述
1.3.1 .NET Framework概述
.NET Framework 是用于 .NET 平台的编程模型,其关键组件是公共语
言运行库(CLR,Common Language Runtime)和 .NET Framework 类库(包括 ADO.NET、ASP.NET 和 Windows 窗体),它提供了托管执行环境、简化的开发和部署以及与各种编程语言的集成,是支持生成和运行下一代应用程序和 XML Web services 的内部 Windows 组件。
.NET Framework 旨在实现下列目标:
(1) 提供一个一致的面向对象的编程环境,而无论对象代码是在本
4
上海工程技术大学毕业设计(论文) 编译原理在线考试系统的设计与实现
地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的;
(2) 提供一个将软件部署和版本控制冲突最小化的代码执行环境; (3) 提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境;
(4) 提供一个可消除脚本环境或解释环境的性能问题的代码执行环境;
(5) 使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致;
(6) 按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成。
公共语言运行库是 .NET Framework 的基础,可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。
.NET Framework 类库是一个综合性的面向对象的可重用类型集合,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 ASP.NET 所提供的最新创建的应用程序(如 Web 窗体和 XML Web Services)。
5
上海工程技术大学毕业设计(论文) 编译原理在线考试系统的设计与实现
1.3.2 ASP.NET、ADO.NET和C#语言简介
ASP.NET结构是一个三层系统:UI层、业务逻辑层和数据层,结构模型如图1-1所示:
图1.1 ASP.NET的结构模型
(1) UI层负责与用户交互,接收用户的输入并将服务器端传来的数据
呈现给客户;
(2) 业务逻辑层负责接收浏览器传来的请求并将请求传给数据层,同时将请求处理结果发给浏览器。它由Web表单、XML Web Services和组件服务组成,其中Web表单是ASP.NET应用程序的核心所在,它是向客户呈现数据和信息的基础,也是响应和处理客户与显示的Web表单交互生成的信息和数据的基础;
(3) 数据层是通过ADO.NET操纵数据为事务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。
ADO.NET提供对Microsoft SQL Server、OLEDB和XML公开的数据源的一致性访问,数据共享用户应用程序可以使用ADO.NET来连接到这些数据源,并检索、操作和更新数据。
6
上海工程技术大学毕业设计(论文) 编译原理在线考试系统的设计与实现
ADO.NET 有两个核心组件:DataSet 和 .NET Framework 数据提供程序,后者是一组包括 Connection、Command、DataReader 和 DataAdapter 4个对象在内的组件,其组件结构如图1-2所示:
图1.2 ADO.NET的组件结构图示
DataSet对象是 ADO.NET 的断开式结构的核心组件,实现独立于任何数据源的数据访问。Connection 对象提供与数据源的连接,是操作数据库的基础,表示应用程序和数据源之间的惟一会话。Command 对象能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令,实现对数据源的操作,如查询、插入、修改和删除等。DataReader 对象从数据源中读取只进且只读的数据流。DataAdapter 对象是DataSet 对象和数据源之间关联的桥梁,用数据源填充DataSet并解析更新。设计 ADO.NET 组件的目的是为了从“数据操作”中分解出“数据访问”。
C#语言是.NET中一种崭新的语言,C#是由C和C++派生而来的一种“简
7
上海工程技术大学毕业设计(论文) 编译原理在线考试系统的设计与实现
单、流行、面向对象、类型安全”的程序设计语言,C#意在综合Visual Basic的高效率和C++的强大功能。
2系统需求分析
2.1 项目背景
进入二十一世纪,信息化的进程进一步加快,向着网络化、智能化方向发展,计算机行业飞速向前发展,信息化深入到社会的各行各业。微机化管理的广泛应用,使工作效率显著提高。通过计算机对信息进行有效的管理,不仅可以节省很大的人力,物力,财力,节约了很大的成本,也使一个学校的执行效率得到了更大的提高。
通过需求分析,可行性分析,我决定为学校开发在线考试系统。使用它可以将传统的的考试带来的工作量大的问题得到完美解决。同时,计算机软件技术也在飞速发展,现在已经进入了web2.0时代,一般的软件架构也从原来的c/s结构逐渐向b/s转变,同时,在技术方面更有微软件公司强大的技术后盾,利用先进的计算机软件编程技术实现一个设备信息管理系统已经不成问题了! 2.2 需求分析
目的:尽早地对软件项目的可行性做出细致而谨慎的评估,以避免在项目开发过程中浪费大量的人力、物力、财力。 2.2.1 问题定义
问题定义阶段必须回答的关键问题是“要解决的问题是什么?”。显然,这个问题解决整个软件开发周期中起着指导性作用。软件开发应该有
8