医学检验技术专业共享主题素材库的设计与实现

2016-03-10 00:16:42广州医科大学卫生职业技术学院吴力挽苏曼玲
电子世界 2016年24期
关键词:素材库数据表试题

广州医科大学卫生职业技术学院 吴力挽 苏曼玲 杨 翀

医学检验技术专业共享主题素材库的设计与实现

广州医科大学卫生职业技术学院 吴力挽 苏曼玲 杨 翀

结合医学检验技术专业素材零散、原创不足的问题,为促进专业建设,本文设计实现了一种医学检验技术专业共享主题素材库,通过对素材库的架构设计、角色设计、功能设计、数据库设计,阐述了素材库开发中用到的存储过程预编译、无限级分类、通用SQL防注入、静态页生成四种关键技术,将素材库应用于课堂教学及自主学习,激发了学生兴趣,提高了学习效率。

医学检验技术;素材库;存储过程;SQL防注入

0 引言

随着社会的不断发展,社会对医学检验技术人才需求要求不断增加,但是传统医学检验技术专业教学模式扁平单一、教学资源相对不足及原创素材匮乏、数据缺乏有效整合和共享、信息化手段滞后脱节,满足不了培养现代医学检验人才的需要。针对这些问题,本文设计实现了一个医学检验技术专业共享主题素材库,该素材库通过引入多种教学资源,如:图片、动画、PPT、视频等,丰富了教学设计,激发了学生兴趣,提高了学习效率,解决了医学检验技术专业素材资源匮乏问题,实现资源网络化、数字化,满足了培养医学检验技术人才的需要。

1 系统总体设计

1.1 系统架构设计

素材库使用B/S架构,采用面向对象模块化开发,设计一个核心子类,负责数据库的通用连接、存储过程的调用和对数据的增、删、查、改操作。对Model封装成实体类,调用这个核心子类模块,模块之间分层架构清晰,耦合度低,便于维护管理。DAL封装常用的数据访问操作,常用的数据访问方法有Add()、Edit()、Delete()、Search()等。BLL控制器接受用户请求,根据业务逻辑处理用户请求并返回数据。系统架构见图1。

图1 系统架构图

1.2 系统功能设计

系统功能有题库管理、信息管理、用户管理、模板管理、类别管理、内容管理和日志管理。系统模块功能见表1。

1.3 系统角色设计

该系统角色可以分为三类:审核员、普通用户和管理员。审核员主要是对资源审核、资源发布和资源检索;普通用户主要是资源发布、资源检索、资源下载;管理员主要是题库管理、类别管理、用户管理、角色管理、信息管理、内容管理和日志管理。系统用例见图3。

表1 系统模块功能

图2 系统功能结构图

1.4 系统数据库设计

本素材库采用微软SQL Server2008数据库软件,该数据库存储稳定,性能较高,安全性好,在设计中遵循范式理论规约,减少冗余字段,提高数据检索性能。数据表说明如下:Sck_Answer是问答题和填空题数据表,sck_Choice是单选题和多选题数据表,sck_ Content是内容数据表,sck_Course是课程数据表,sck_User是用户数据表,sck_Judge是判断题数据表,sck_Class是类别数据表,sck_ SysLog是日志数据表,sck_Teacher是项目团队数据表,sck_Template是模板数据表,数据表结构见图4。

图3 系统用例图

图4 数据表结构

2 系统开发关键技术

本系统开发过程中采用了存储过程预编译机制,无限级分类,通用SQL防注入,静态页生成技术。通过这些关键技术,素材库运行稳定,易于维护,可扩展性好。

2.1 存储过程预编译

素材库所有的数据访问均采用存储过程实现,利用存储过程的预编译机制,只需在第一次访问时编译一次,再次执行无需编译,从而加快了执行速度。素材库所有的数据录入、修改和删除均采用通用存储过程实现。执行存储过程的代码如下:

Public Function ExecProc(Byval procName, ByRef Parameter)

OpenDB()

Set Cmmd = Parameter

Set Cmmd.ActiveConnection = Conn

Cmmd.CommandType = adCmdStoredProc

Cmmd.CommandText = procName

Set ExecProc = Cmmd.Execute()

End Function

2.2 无限级分类

采用递归的方式实现无限级分类,首先定义大类,所有大类ParentID=0,再在大类上添加小类。本素材库的大类有标准库、项目库、案例库、素材库、试题库。标准库小类有国际标准、国家标准、行业标准、其他标准。项目库小类有微检项目、寄检项目、免检项目、临检项目、血检项目、生化检项目。案例库小类有微检案例、寄检案例、免检案例、临检案例、血检案例、生化检案例。素材库小类有微生物检验、人体寄生虫检验、免疫学检验、临床检验、血液学检验、生物化学检验、病原生物与免疫学。试题库小类有微检试题、寄检试题、免检试题、临检试题、血检试题、生化检试题、人体寄生虫学试题。

2.3 通用SQL防注入

为了保证素材库安全访问,一方面在数据库端采用存储过程参数化查询,另一方面,编写一个通用函数,函数名为CheckSQLInjection,采用正则匹配技术,正则规则为'|(and|or).+?(>|<|=|in|like)|/*.+?*/|

2.4 静态页生成技术

利用DreamWeaver CS6,通过Div+CSS布局设计一个静态页模板,模板中定义标签变量,标题标签为$title$、作者标签为$author$、添加时间标签为$addtime$,内容标签为$content$,通过Replace标签替换,将数据表中取得的内容替换相应标签,在通过FSO中CreateTextFile方法写入内容,生成静态页。该生成方式主要优点是通过静态页访问,不用访问数据库,大大减轻了数据库的访问压力,不足是生成的大量网页会占用硬盘的存储空间,每次生成都会造成硬盘磁头频繁读写,影响硬盘使用寿命。

3 总结与展望

本文结合医学检验技术专业教学现状,设计了一个素材库系统,具有广阔的应用前景。在系统开发中,也有一些不完善的地方需要改进,第一,没有利用Ajax局部刷新技术,影响用户使用体验。第二,在试题库试题录入方面,没有通过Excel 模板实现试题批量录入。最后,需要在缓存优化上和静态页生成相结合,加快数据读取速度。下一步的工作是将题库部分进一步完善,如试卷智能生成、题型智能分析、试题难度和区分度计算、试卷模板定制等,使素材库更加符合教学实际,提高教学质量,增强教学效果。

[1]乐德广,李鑫,龚声蓉,郑力新.新型二阶SQL注入技术研究[J].通信学报,2015,36(Z1:):85-92.

[2]丁勇.基于层级管理的通用题库及在线考试管理系统的设计与实现[J].电子技术与软件工程,2014(20):68-69.

[3]董红影.《程序设计》在线练习与考试系统的设计与实现[D].中山大学,2014.

[4]沈黎.基于网络数据库的存储过程和触发器应用研究[J].西南师范大学学报(自然科学版),2016,41(3):51-55.

吴力挽(1980—),男,硕士研究生,高级工程师,研究方向:大数据、信息安全。

广东省教育厅2015年度高职质量工程立项项目(GDJG2015213)。

杨翀【通讯作者】(1967—),男,医学学士,软件工程领域工程硕士,副教授,研究方向:医学教学资源计算机网络应用和软件。

猜你喜欢
素材库数据表试题
缤纷“鱼”素材库
2021年高考数学模拟试题(四)
湖北省新冠肺炎疫情数据表
党员生活(2020年2期)2020-04-17 09:56:30
《陈涉世家》初三复习试题
2019年高考数学模拟试题(五)
2019届高考数学模拟试题(二)
基于列控工程数据表建立线路拓扑关系的研究
图表
基于VSL的动态数据表应用研究
河南科技(2014年24期)2014-02-27 14:19:25
写作素材库