论文部分内容阅读
【摘要】考试成绩管理系统采用最新的ASP.net+ADO.net技术,SQL Server2000作为后台数据库,利用三层架构优化系统结构设计。该系统实现了对考试成绩的查询和统计,以此来分析教学策略,改善教学质量。
【关键词】ASP.net,SQL Server,三层架构,考试,管理系统
1.系统结构设计
等级考试管理系统旨在为高校学生计算机等级考试(CCT)、英语四等级考试(CET)等提供信息服务,其目标是通过网络实现对考试成绩的查询、统计和各种报表的输出,系统应具有较强的安全性、良好的扩充性和伸缩性以及较高的可靠性。
本系统的逻辑功能结构主要包括CCT子系统、CET子系统和用户管理模块,公共接口模块。公共接口模块为整个系统提供统一的访问界面,并满足各子系统的特殊要求。用户管理模块完成对用户信息的添加、修改和删除等操作,并实现对用户权限的分配和修改。
每个子系统功能结构类似,共享基本数据,各子模块又相互独立,做到了高内聚低耦合。
2.系统的实现
2.1系统应用架构。
考试成绩管理系统采用三层B/S(Brower/Server)构架,分为用户层、业务逻辑层和数据层。每一层都可在仅仅更改少量的代码后,放置到不同的服务器上使用,因此结构灵活且性能更佳。此外,每层之间相互分离,更改、更新某层,不需要重新编译或者更改其它层。例如,数据访问代码与业务逻辑层分离,当数据库服务器更改后,只需要更改数据访问的代码,通过接口访问业务逻辑层,不需要更改或重新编译业务逻辑层。在B/S结构中业务逻辑层和数据层在服务器端,客户端只需要浏览器,最大程度的减少了客户端应用软件数量,实现了真正的“瘦客户”。
数据层(Data Tier):数据层主要指数据库或者数据源。在考试成绩管理系统中它是指SQL Server数据库,由一系列相关数据的表、视图、触发器和存储过程组成。
业务层(Business Tier):业务层用于访问数据层,将用户的访问意图转换成对数据层的数据进行提取、修改或删除等操作,并将操作结果返回给用户。在等级考试查询系统中,该层使用ADO动态地链接数据源,对SQL Server数据库进行访问、更新或删除数据,并把取得的数据放到DataReader或DataSet中返回给用户层。业务层通常划分成两个子层:业务逻辑层(Business Logic Layer,BLL)和数据访问层(Data Access Layers,DAL)。数据库业务逻辑层采用.net处理断开连接模型,当用户发出请求时,建立连接和传送数据,操作完成后关闭连接。
用户层(Presentation Layer):就是用户使用系统的接口界面。该层实现在客户浏览器中显示用户界面,供用户提交或显示查询信息。一方面该层负责获得用户录入的数据,同时进行验证,合法的数据传送给业务逻辑层;另一方面,该层以适当的形式显示由业务逻辑层传送的数据;对于Windows操作系统,只需要使用Web浏览器软件,就可以完成用户与整个系统的交互操作。
2.2ASP.net技术。
ASP.net是运行在服务器端经编译后的通用语言运行时代码。ASP.net摆脱了以往ASP使用脚本语言来编程的缺点。ASP与ASP.net的主要区别:①开发语言不同:ASP仅限于使用non-type脚本语言来开发,用户给Web页中添加ASP代码的方法与客户端脚本中添加页面代码的方法相同,导致代码杂乱。ASP.net使用了功能完善的strongly-type编程语言和潜力巨大的.net Framework。②运行机制不同:ASP是解释型编程框架,执行效率较低。ASP.net是编译型的编程框架,是运行在服务器上的编译好的公共语言运行库代码,它可以早期绑定、实施编译来提高效率。③开发方式不同:ASP把界面设计和程序设计混在一起,维护和重用困难。ASP.net把界面设计和程序设计以不同的文件分离开,复用性和维护性得到了提高。它可通过内置的组件实现更强大的功能,如使用ADO可以轻松地访问数据库。
另外ASP.net最合适的编程语言是微软为.net Frmaework专门推出的C#。C#作为面向对象的编程语言,具有封装、继承和多态性等特性,解决了ASP的代码逻辑混乱、代码的可重用性差、弱类型造成潜在的出错可能等缺点。封装性使得代码逻辑清晰,易于管理,应用到ASP.net上可以使业务逻辑和html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,可以通过继承已有的对象最大限度保护以前的投资。
2.3数据库应用。
2.3.1系统数据库的设计。
本系统数据库设计了6个表,分别用来存储学生基本信息(StudInfo)、管理人员信息(AdminInfo)、英语等级成绩(CET)和计算机等级考试成绩(jsjcjb),各个表通过主键和外键相关联,各个成绩表与学生基本信息通过学生身份证号相关联。
3.3.2存储过程技术。
存储过程是用SQL语句书写的子过程,经编译和优化后存储在数据库服务器中,使用时只要调用即可。使用存储过程可以提高服务器的访问速度并减少网络流量。存储过程中的SQL命令属于事务处理范畴,可以将多个SQL语句打包在一个存储过程中,且创建完成后将它们作为一个组件调用任意次。当数据表发生变化时,只需修改存储过程,不必修改业务逻辑层和用户层的程序代码。软件系统应尽量采用存储过程访问数据库,从而保证了数据操作的一致性。
使用存储过程有以下的优点:
(1)存储过程只在创建时进行编译,运行时无需重新编译,因此提高了数据库执行速度;而一般SQL语句执行一次编译一次。
(2)存储过程代码简洁一致,可重复使用,减少了数据库开发人员的工作量,减少网络流量,提高效率。
(3)安全性更高,可设定用户对存储过程的使用权限。
基于存储过程的优点,在考试成绩管理系统中构建了十个存储过程,其中更新最高成绩和取当次成绩操作就使用了存储过程。
2.3.3数据访问技术。
ADO.net是一个以.net框架为基础的全新数据操作模型,为应用程序提供了一套统一的数据访问技术。它采用离线的方式供用户存取数据,使用者可以在本地机器上对数据集进行数据的添加、修改、删除,然后再更新到真正的数据源,因而可以减少与服务器往返沟通的次数,降低网络的流量。
ADO.net有2个核心组件。其中Dataset是ADO.net的断开式结构的核心组件,它包含一个或多个Dataset对象的集合,这些对象由数据行、数据列、主键、外键、约束以及有关Datatable对象中的数据和关系信息组成。ADO.net框架的另一个核心组件是.net Framework,该组件的设计目的是实现数据操作和对数据的快速、只进、只读访问。ADO.net提供了3个对象,其中Connection对象提供与数据源的连接;Command对象使程序员能够访问数据库操作命令;DataReader从数据源中提供高性能的数据流。最后,DataAdapter提供连接DataSet对象和数据源的桥梁。DataAdapter使用Command对象在数据源中执行SQL命令,以便将数据加载到DataSet中,并使对DataSet中数据的更改与数据源保持一致。
3.结束语
本文主要讨论了等级考试管理系统的设计与开发,采用ASP.net+ADO.net协同SQL Server 2000技术,在设计和实现过程中充分利用三层架构的优势来优化系统结构。该系统既方便学生成绩查询又方便教务工作人员对成绩的查询统计,提高了工作效率。由于能够及时了解每次考试学生成绩的分布状况,通过成绩分析来调整教学策略,对改善教学质量起到积极的推动作用。
【关键词】ASP.net,SQL Server,三层架构,考试,管理系统
1.系统结构设计
等级考试管理系统旨在为高校学生计算机等级考试(CCT)、英语四等级考试(CET)等提供信息服务,其目标是通过网络实现对考试成绩的查询、统计和各种报表的输出,系统应具有较强的安全性、良好的扩充性和伸缩性以及较高的可靠性。
本系统的逻辑功能结构主要包括CCT子系统、CET子系统和用户管理模块,公共接口模块。公共接口模块为整个系统提供统一的访问界面,并满足各子系统的特殊要求。用户管理模块完成对用户信息的添加、修改和删除等操作,并实现对用户权限的分配和修改。
每个子系统功能结构类似,共享基本数据,各子模块又相互独立,做到了高内聚低耦合。
2.系统的实现
2.1系统应用架构。
考试成绩管理系统采用三层B/S(Brower/Server)构架,分为用户层、业务逻辑层和数据层。每一层都可在仅仅更改少量的代码后,放置到不同的服务器上使用,因此结构灵活且性能更佳。此外,每层之间相互分离,更改、更新某层,不需要重新编译或者更改其它层。例如,数据访问代码与业务逻辑层分离,当数据库服务器更改后,只需要更改数据访问的代码,通过接口访问业务逻辑层,不需要更改或重新编译业务逻辑层。在B/S结构中业务逻辑层和数据层在服务器端,客户端只需要浏览器,最大程度的减少了客户端应用软件数量,实现了真正的“瘦客户”。
数据层(Data Tier):数据层主要指数据库或者数据源。在考试成绩管理系统中它是指SQL Server数据库,由一系列相关数据的表、视图、触发器和存储过程组成。
业务层(Business Tier):业务层用于访问数据层,将用户的访问意图转换成对数据层的数据进行提取、修改或删除等操作,并将操作结果返回给用户。在等级考试查询系统中,该层使用ADO动态地链接数据源,对SQL Server数据库进行访问、更新或删除数据,并把取得的数据放到DataReader或DataSet中返回给用户层。业务层通常划分成两个子层:业务逻辑层(Business Logic Layer,BLL)和数据访问层(Data Access Layers,DAL)。数据库业务逻辑层采用.net处理断开连接模型,当用户发出请求时,建立连接和传送数据,操作完成后关闭连接。
用户层(Presentation Layer):就是用户使用系统的接口界面。该层实现在客户浏览器中显示用户界面,供用户提交或显示查询信息。一方面该层负责获得用户录入的数据,同时进行验证,合法的数据传送给业务逻辑层;另一方面,该层以适当的形式显示由业务逻辑层传送的数据;对于Windows操作系统,只需要使用Web浏览器软件,就可以完成用户与整个系统的交互操作。
2.2ASP.net技术。
ASP.net是运行在服务器端经编译后的通用语言运行时代码。ASP.net摆脱了以往ASP使用脚本语言来编程的缺点。ASP与ASP.net的主要区别:①开发语言不同:ASP仅限于使用non-type脚本语言来开发,用户给Web页中添加ASP代码的方法与客户端脚本中添加页面代码的方法相同,导致代码杂乱。ASP.net使用了功能完善的strongly-type编程语言和潜力巨大的.net Framework。②运行机制不同:ASP是解释型编程框架,执行效率较低。ASP.net是编译型的编程框架,是运行在服务器上的编译好的公共语言运行库代码,它可以早期绑定、实施编译来提高效率。③开发方式不同:ASP把界面设计和程序设计混在一起,维护和重用困难。ASP.net把界面设计和程序设计以不同的文件分离开,复用性和维护性得到了提高。它可通过内置的组件实现更强大的功能,如使用ADO可以轻松地访问数据库。
另外ASP.net最合适的编程语言是微软为.net Frmaework专门推出的C#。C#作为面向对象的编程语言,具有封装、继承和多态性等特性,解决了ASP的代码逻辑混乱、代码的可重用性差、弱类型造成潜在的出错可能等缺点。封装性使得代码逻辑清晰,易于管理,应用到ASP.net上可以使业务逻辑和html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,可以通过继承已有的对象最大限度保护以前的投资。
2.3数据库应用。
2.3.1系统数据库的设计。
本系统数据库设计了6个表,分别用来存储学生基本信息(StudInfo)、管理人员信息(AdminInfo)、英语等级成绩(CET)和计算机等级考试成绩(jsjcjb),各个表通过主键和外键相关联,各个成绩表与学生基本信息通过学生身份证号相关联。
3.3.2存储过程技术。
存储过程是用SQL语句书写的子过程,经编译和优化后存储在数据库服务器中,使用时只要调用即可。使用存储过程可以提高服务器的访问速度并减少网络流量。存储过程中的SQL命令属于事务处理范畴,可以将多个SQL语句打包在一个存储过程中,且创建完成后将它们作为一个组件调用任意次。当数据表发生变化时,只需修改存储过程,不必修改业务逻辑层和用户层的程序代码。软件系统应尽量采用存储过程访问数据库,从而保证了数据操作的一致性。
使用存储过程有以下的优点:
(1)存储过程只在创建时进行编译,运行时无需重新编译,因此提高了数据库执行速度;而一般SQL语句执行一次编译一次。
(2)存储过程代码简洁一致,可重复使用,减少了数据库开发人员的工作量,减少网络流量,提高效率。
(3)安全性更高,可设定用户对存储过程的使用权限。
基于存储过程的优点,在考试成绩管理系统中构建了十个存储过程,其中更新最高成绩和取当次成绩操作就使用了存储过程。
2.3.3数据访问技术。
ADO.net是一个以.net框架为基础的全新数据操作模型,为应用程序提供了一套统一的数据访问技术。它采用离线的方式供用户存取数据,使用者可以在本地机器上对数据集进行数据的添加、修改、删除,然后再更新到真正的数据源,因而可以减少与服务器往返沟通的次数,降低网络的流量。
ADO.net有2个核心组件。其中Dataset是ADO.net的断开式结构的核心组件,它包含一个或多个Dataset对象的集合,这些对象由数据行、数据列、主键、外键、约束以及有关Datatable对象中的数据和关系信息组成。ADO.net框架的另一个核心组件是.net Framework,该组件的设计目的是实现数据操作和对数据的快速、只进、只读访问。ADO.net提供了3个对象,其中Connection对象提供与数据源的连接;Command对象使程序员能够访问数据库操作命令;DataReader从数据源中提供高性能的数据流。最后,DataAdapter提供连接DataSet对象和数据源的桥梁。DataAdapter使用Command对象在数据源中执行SQL命令,以便将数据加载到DataSet中,并使对DataSet中数据的更改与数据源保持一致。
3.结束语
本文主要讨论了等级考试管理系统的设计与开发,采用ASP.net+ADO.net协同SQL Server 2000技术,在设计和实现过程中充分利用三层架构的优势来优化系统结构。该系统既方便学生成绩查询又方便教务工作人员对成绩的查询统计,提高了工作效率。由于能够及时了解每次考试学生成绩的分布状况,通过成绩分析来调整教学策略,对改善教学质量起到积极的推动作用。