基于三层结构搭建评教系统框架

2013-01-11 09:11王小洁王玉洁
太原城市职业技术学院学报 2013年6期
关键词:评教逻辑数据库

王小洁,王玉洁

(山西职业技术学院,山西 太原 030006)

Web应用系统开发中,当站点庞大、功能模块复杂、模块间功能有交叉时,项目需要多部门合作完成。这种情况下,应制定一个统一标准,即设计一个完善的系统框架。三层结构因其能实现“高内聚、低耦合”,便于团队合作,便于系统的开发和部署,使系统更具安全性、可扩展性和可维护性,而成为目前系统框架设计的首选。

一、三层体系结构

三层结构从下至上部署为数据访问层(DAL,Data Access Layer)、业务逻辑层(BLL,Business Logic Layer)和表示层(USL,User Show Layer或 UI,User Interface)。

数据访问层负责对数据库的访问,主要解决如何从数据库中提取和保存数据,完成数据的定义、维护、访问、更新与管理,响应业务逻辑层的数据请求。

业务逻辑层也叫事务逻辑层或中间层,主要处理一些业务逻辑和业务规则,负责业务处理和数据传递,通过定义与数据访问层相对应的服务和组件服务完成各种业务处理。该层是表示层和数据访问层之间的桥梁,对数据交换起承上启下的作用,是整个应用的关键。

表示层位于最上层,是用户与系统的接口,为用户提供应用程序的访问。该层主要完成两个任务:一是从业务逻辑层获取数据并显示;二是实现和用户的交互并将数据送回业务逻辑层进行处理。

图1 三层结构及各层之间的关系

三层结构中,上层调用下层功能,上层依赖下层,下层为上层提供服务,层间是弱耦合关系。模型层是标准和规范,是表示层、业务逻辑层和数据访问层之间数据传递的载体,包含与数据库表相对应的实体类,表示层、业务逻辑层和数据访问层都依赖模型层,三层之间的数据传递是通过传输实体对象来实现的。三层结构中各层之间的关系如图1所示。

二、评教系统的功能

通过需求分析,将模型数据化,开发基于Web的评教系统,以便通过计算机及网络系统实施评教过程。在需求分析的基础上,用知识挖掘的方法,依据大量评测数据,对每位教师的教学过程进行较全面、客观、准确的评价,从中发现指导教学管理改革的依据。评教系统功能如图2所示。

图2 评教系统功能

三、评教系统框架结构

1.数据库设计

该系统数据库用SQL Server 2008数据库系统设计,文件为cp.mdf,其中包含20个表:学生班级基本信息表class、评语表comment、课程基本信息表course、课程表curriculumschedule、系部基本信息表department、评价项目表item、评教模型表scoremodel、学生基本信息表student、评教表 score、评价结果表 scoreresult、教师基本信息表teacher、用户表user、评价模型分项权重表weith等。

2.评教系统三层结构搭建

在Visual Studio 2008中建立C#类型的空白解决方案(Tch),添加模型层(TchModel)、数据访问层(TchDAL)、业务逻辑层(TchBLL)和表示层(Tchweb),并添加层间依赖关系。

(1)模型层设计

类库(TchModel)作为系统的模型层。就数据存储而言,实体类就是数据表,实体类将每一个数据表中的字段定义成属性,并封装在一个类中。TchModel的namespace中实体类名和所对应的表名一致。该层中共添加 Teacher.cs、Department.cs、Class.cs、Course.cs、Score.cs、Scoreresult.cs等20个实体类。

C#语言利用赋值函数(get)和取值函数(set),为属性提供了只读(get)、只写(set)、读写(get和 set)三种接口操作。以Score.cs类封装Score表为例,典型代码如下:

(2)数据访问层设计

类库(TchDAL)作为系统的数据访问层。针对模型层中的每个实体类,数据访问层都有一个对应的数据访问类。TchDAL的namespace中对应模型层中的20个实体类,共 添 加 TeacherService.cs、DepartmentService.cs、ClassService.cs、CourseService.cs、ScoreService.cs、ScoreresultService.cs等20个数据访问类。在每个数据访问类中,根据需要定义数据的查询、插入、更新、删除等方法。另外,为了便于实现数据库的连接操作,该层中还添加了DBHelper.cs类。

以在ScoreService.cs类中添加获取评教信息的方法为例,典型代码如下:

(3)业务逻辑层设计

类库(TchBLL)作为系统的业务逻辑层。在TchBLL的namespace中,根据表示层的需要添加TeacherManager.cs、DepartmentManager.cs、ScoreManager.cs等,并在其中定义各种业务逻辑和数据传递,例如各类人员登录、身份验证、添加删除评教人员、添加删除被评教师、调整评教模型、评教数据写入、统计计算评教数据、提供评教数据查询等方法。

以在ScoreManager.cs类中添加获取评教信息的方法为例,典型代码如下:

(4)表示层设计

在表示层中,网站(Tchweb)设计用Div+Css技术布局页面,以便于系统维护和提高页面的下载速度,用ASP.NET创 建 defualt.aspx、addtch.aspx、deletedtch.aspx等前台页面以及网站后台管理页面,实现系统和用户的交互。

例如,在ScoreList.aspx页面中添加GridView控件,选择数据源类型为对象,选择业务对象为BLL.ScoreM-anager,数据方法选择为 GetScoreInfo(),返回 DataSet,该控件将数据源中的每个可绑定的列都生成并显示,还可根据需要自定义显示的列。

该系统采用ASP.NET的三层结构进行系统框架设计,使评教系统在实现网络化的同时,具有系统用户接口灵活、可扩展行强、维护方便等特点,可方便地调整数据库接口,以连接其他类型的数据库。系统提供了评价信息收集、评价结果查询、基本信息输入、评价模型调整、评价信息汇总等功能,对教师的教学过程进行多层次、全方位的客观评价,为教师调整工作目标与进程、提高业务素质提供依据,能有效提高学校的教学管理水平。

[1]宋维堂,陈建红.动态网页设计(ASP.NET)[M].北京:高等教育出版社,2011:139-200.

[2]杜天行,王光琼.基于Asp.net三层构架的医药公司综合管理系统设计与实现[J].软件导刊,2012,(11):92-94.

[3]张永生.ASP_NET2_0技术的三层构架模型开发视频点播系统 [J].人工智能与识别技术,2008,(16):114-1 16.

猜你喜欢
评教逻辑数据库
刑事印证证明准确达成的逻辑反思
逻辑
创新的逻辑
高校学生评教存在的问题及对策
——以川北医学院为例
女人买买买的神逻辑
学生评教的标准化处理
数据库
数据库
数据库
数据库