实验室信息管理系统的设计与实现.docx

上传人:b****6 文档编号:6988114 上传时间:2023-01-15 格式:DOCX 页数:16 大小:438.58KB
下载 相关 举报
实验室信息管理系统的设计与实现.docx_第1页
第1页 / 共16页
实验室信息管理系统的设计与实现.docx_第2页
第2页 / 共16页
实验室信息管理系统的设计与实现.docx_第3页
第3页 / 共16页
实验室信息管理系统的设计与实现.docx_第4页
第4页 / 共16页
实验室信息管理系统的设计与实现.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

实验室信息管理系统的设计与实现.docx

《实验室信息管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《实验室信息管理系统的设计与实现.docx(16页珍藏版)》请在冰豆网上搜索。

实验室信息管理系统的设计与实现.docx

实验室信息管理系统的设计与实现

实验室信息管理系统的设计与实现

摘要:

本文介绍基于Web技术开发的实验室信息管理系统(LIMS)。

系统在MicrosoftWindowsXP+MicrosoftAccess2003+IIS5.1环境下开发,使用的主要技术为ASP技术和数据库技术,并采用了许多第三方组件,如利用ASPupload进行文件的上传。

系统分成管理员子系统和注册用户子系统进行设计。

系统主要实现的功能有:

设备预约管理、

设备管理、

易耗品管理、

物品借用管理、

物品损耗管理、

试验标准下载、

信息发布管理、

留言板、和

单位换算,同时管理员还能实现用户管理、数据库备份等。

本设计最大的特色是克服了以往一些设备管理系统缺乏交互性的缺点,用户可以方便的查询设备信息并提交预约申请,管理员根据设备使用情况安排使用时间。

所有预约信息会实时显示在网络上。

同时,本系统还拥有功能全面、实用性强、界面友好、页面美观等特点。

关键词:

实验室信息管理系统(LIMS)、设备预约、ASP、ACCESS、Aspupload

1.引言

管理信息化是现代管理技术发展的趋势,本文介绍的实验室信息管理系统(LIMS)就是一种结合现代网络技术与管理经验,并针对本人所在公司的特点开发的实验室管理网站。

由于本人在实验室从事管理工作多年,对实验室的管理流程、方式和内容有深刻的了解,结合自己的实际工作经验和公司的管理特点开发的LIMS更能切合实际工作的需要。

系统在开发过程中得到了公司领导的大力支持,在测试中获得良好的反响,一致认为这是改进管理效率、提高设备利用率的最好方式。

本文第一部分简要地介绍了系统的应用背景和主要技术。

第二部分结合本人的工作经验和公司的管理特点,进行了系统分析,完成了设计目标和总体功能,并列有业务流程图、系统总功能结构图、前台注册用户功能结构图和后台管理员用户功能结构图。

第三部分讲述数据库的设计,根据功能需求,设计了关键实体的属性图及E-R图,并画出了所有实体的关联图。

随后设计了系统所需要的11个数据表。

第四部分为论文的主要部分,详细讲述了各子模块的设计方法和思路,并列出了具有代表性的源程序以及网页导航图和网页截图。

第五章主要讲述有关系统安全方面的技术和本系统采用的安全技术。

第六部分为设计总结部分,讲述本系统的特色以及开发过程中遇到的问题和解决办法,总结开发过程中的经验和教训,提出了系统的不足以及后续改善方向。

2.应用背景与主要技术

2.1应用背景和需求分析

2.1.1应用背景

利用计算机进行实验室的信息管理简称LIMS(LaboratoryInformationManagementSystem),已经有20多年的历史,而基于Web技术的第四代实验室信息管理系统是目前实验室管理的发展趋势。

相对于以前的LIMS,基于Web技术的实验室信息管理系统具有如下优点:

(1)基于(B/S)结构,很容易部署在广域网和Internet上;只需要管理好服务器,客户端只采用Web浏览器,无需安装任何客户端软件,无需维护;不限制用户规模,就可实现远程维护、升级和数据共享。

(2)可以容易地利用Internet联结多个地点的实验室。

通过Internet,用户可以在家、在旅途等任何一个有Internet连接的地方使用LIMS,无限扩展了LIMS的适用范围;

(3)支持无线用户,即通过支持WAP(无线应用协议)使得用户可以非常方便地利用移动电话和掌上电脑等无线设备随时掌握实验室的信息,这为需要经常参加各种会议的实验室管理人员提供了极大的方便。

然而,每个公司的组织架构和管理模式千差万别,目前市面上还没有完全通用的产品。

因此,根据公司自身特点,进行有针对性地设计是现在设计LIMS的通行做法。

2.1.2需求分析

由于本人所在公司的实验室刚成立1年,预约管理、设备管理、易耗品管理、试验标准管理等均通过各种传统报表实现,繁琐的各类报表不仅使得管理效率低下,设备闲置浪费,而且还造成许多数据的重复输入,资源无法沟通与共享,与先进的实验室设备极不相称。

因此,构建基于计算机网络的实验室信息系统,不仅是满足毕业设计的要求,而且也是提高实验室管理水平的重要保证。

同时,为了实现更有效的资源利用,通过网络将实验室资源面向社会开放,不仅可以提高设备的利用率,还可以极大地提高实验室的经济效益。

2.2主要技术

在设计系统时,需要掌握的技术有ASP技术、HTML技术和数据库技术。

2.2.1工具软件

采用HTML语言设计,静态网页采用Dreamweaver8.0制作。

2.2.2Vbscript或者Javascript脚本语言

这两种脚本语言是网页制作中在服务器上运行的语言。

许多服务器端的数据处理都是通过它们来实现。

2.2.3ASP技术

ASP包含了若干内嵌对象和可安装的ActivexServer组件。

使用它们可以增加ASP脚本程序的功能,使生成的网页具有很强的动态性和交互性。

内嵌对象可以与脚本语言有机地融合在一起,以增加服务器端的操作灵活性。

ActivexServer组件则可用来方便地制作网上广告、访问Web文件、操纵Web数据库,从而使设计者可以以透明的方式进行访问而不必顾及底层的复杂动作。

2.2.4数据库管理系统

Web服务器上的数据库采用数据库管理系统(DatabaseManagementSystem,DBMS)进行管理,这个管理系统提供了一个操作数据库的接口,使用户通过该接口可以对数据库中的数据进行访问。

常见的数据库管理系统有:

Access、SQLServer和Oracle等。

本系统采用Access2003。

2.3开发环境

本系统的软件设计环境为:

MicrosoftWindowsXP+IIS5.1+MicrosoftAccess2003+Dreamweaver8.0+MicrosoftInternetExplorer5.0+ASPEditPlus2.0。

该软件系统的所有源代码均在此环境下调试通过。

3.系统总体设计

3.1设计目标

通过建立实验室信息管理系统(LIMS),为实验室使用者和实验室管理者提供一个沟通的平台,使用者通过LIMS查询实验室所拥有的设备、试验用消耗品等资源的信息。

使用者可以根据自己的需要对设备进行网上预约,管理员根据预约申请单,安排合适的设备和具体使用时间。

同时,使用者还可以借用实验室的一些工具、文件、试验消耗品等。

管理员通过LIMS,能够将物品的借用和损耗信息进行公布,可以提醒使用者及时归还实验室的物品,减少物品的损耗,提高使用效率。

试验标准是进行测试的依据,是实验室文件的重要组成部分。

LIMS应具备测试者方便查看、下载试验标准的功能,管理员应能上传和管理标准,以保证及时更新最新版的标准。

为了提高系统的坚固性和安全性,管理员应能对数据库进行备份。

系统应能提供必要的安全机制,使得管理员、注册用户以及一般访问者具有不同的权限,以提高系统的安全性。

3.2总体功能

系统的开发分为管理员子系统和注册用户子系统两大部分。

主要围绕预约管理、设备管理、易耗品管理、物品借用、物品损耗和试验标准下载这六个子模块进行设计。

同时,还能够实现留言板、单位换算等功能。

为了提高数据的安全性,管理员应能方便的对数据进行备份。

具体功能为:

(1)管理员子系统:

用户管理、设备管理、易耗品管理、信息发布管理、设备预约管理、物品借用管理、物品损耗管理、试验标准管理、留言板管理以及数据库备份等。

(2)注册用户子系统:

注册登录、设备信息查询、设备预约、易耗品信息查询、物品借用信息查询、物品损耗信息查询、试验标准下载、留言板信息查询和留言,以及单位换算等。

3.3功能流程图

下面以设备预约为例,列出其功能流程图:

图3-1设备预约功能流程图

3.4功能模块框图

3.4.1功能结构总图

图3-2系统功能结构总图

3.4.2前台用户功能结构图

图3-3前台用户功能结构图

3.4.3后台用户功能结构图

图3-4后台用户功能结构图

3.5总体设计思路

根据上述系统所需实现的功能,本人对实验室信息管理系统的整体规作了以下的设计。

整个系统分为七个主要子模块,分别是:

预约管理子模块、

设备管理子模块、

易耗品管理子模块、

借用管理子模块、

损耗管理子模块、

试验标准下载子模块、和

注册登录子模块。

预约管理模块:

使用者在设备查询页面查看相关设备,如果设备符合自己的使用要求,可以在网上填写并递交设备预约申请单。

管理员收到申请单后,根据设备的使用情况安排设备、使用时间和使用天数等。

查看和填写预约申请在登录后方可操作。

设备管理模块:

使用者在这个页面上看到所有设备的清单,可以根据设备编号和设备状态快速查询到自己所要的设备,并能查看到这台设备的档案。

管理员能够增加、修改或者删除设备信息。

易耗品管理模块:

这个页面显示所有易耗品的清单,可以根据易耗品类别和易耗品节余情况快速查询到易耗品。

管理员能够增加、修改或者删除易耗品信息。

借用管理模块:

这个页面显示所有借出物品清单,可以根据借用人、借用时间及归还状态查询。

管理员能够增加、修改或者删除物品借用记录。

损耗管理模块:

这个页面上显示所有损耗物品清单,可以根据责任人、损耗时间及处理结果查询。

管理员能够增加、修改或者删除物品损耗记录。

试验标准下载模块:

在这个页面上使用者可以查询到常用测试标准并进行下载。

管理员能够增加、修改或者删除试验标准。

注册登录子模块:

对于不同的用户具有不同的权限,非注册用户可以查看设备信息、易耗品信息等,但不能进行设备预约和物品借用;非注册用户可以通过注册成为注册用户。

注册用户可以执行设备预约,同时,注册用户应能方便地查询和管理自己的信息;管理员用户可以对系统资源进行设置,执行各项管理工作。

4.数据库设计

4.1数据表的设计

在设备预约功能中,每个注册用户应能预约多台设备,而每一台设备应能被不同的注册用户预约,它们是一个多对多(M:

N)的关系,如下图所示:

图4-1设备预约E-R图

由于“多对多”关系实现起来比较困难,为了简化设计,增加一个预约清单表,专门用于存放设备预约信息。

以下为实际使用的设备预约E-R图:

图4-2设备预约E-R图

根据系统功能的需要,对各个数据实体进行分析,确定实体必要的属性。

下图以设备为例,说明了设备所具有的属性:

图4-3设备属性图

根据以上的方法,可以很容易地设计其它几个表的属性及其E-R图。

以下为系统数据表总的关联图:

图4-4数据表关联图

4.2数据表清单

以下为根据系统功能设计的11个数据表,全部放在数据库lab.mdb内。

1)【管理员表】admin

表4-1

2)【注册用户表】registuser

表4-2

3)【预约清单表】orderlist

表4-3

4)【设备表】equip

表4-4

5)【易耗品信息表】consume

表4-5

6)【易耗品名称表】consumename

表4-6

 

7)【借用记录表】lend

表4-7

8)【损耗记录表】damage

表4-8

9)【消息表】notice

表4-9

10)【留言表】msg

表4-10

11)【标准表】document

表4-11

5.ASP+Access的安全隐患

5.1安全隐患

ASP+Access解决方案的主要安全隐患来自Access数据库的安全性,其次在于ASP网页设计过程中的安全漏洞。

1)Access数据库的存储隐患

在ASP+Access应用系统中,如果获得或者猜到Access数据库的存储路径和数据库名,则该数据库就可以被下载到本地。

例如:

对于网上书店的Access数据库,一般命名为book.mdb、store.mdb等,而存储的路径一般为“URL/database”或干脆放在根目录(“URL/”)下。

这样,只要在浏览器地址栏中输入地址:

“URL/database/store.mdb”,就可以轻易地把store.mdb下载到本地的机器中。

要解决这个问题,可以将文件的后缀名.mdb改为.asp,这样就不能被下载了。

本系统正是采用了此安全策略,将数据库名由“lab.mdb”改为“lab.asp”。

2)Access数据库的解密隐患

由于Access数据库的加密机制非常简单,所以即使数据库设置了密码,解密也很容易。

该数据库系统通过将用户输入的密码与某一固定密钥进行异或形成一个加密串,并将其存储在*.mdb文件中从地址“&H42”开始的区域内。

由于异或操作的特点是“经过两次异或就恢复原值”,因此,用这一密钥与*.mdb文件中的加密串进行第二次异或操作,就可以轻松地得到Access数据库的密码。

基于这种原理,可以很容易地编制出解密程序。

由此可见,无论是否设置了数据库密码,只要数据库被下载,其信息就没有任何安全性可言了。

3)源代码的安全隐患

由于ASP程序采用的是非编译性语言,这大大降低了程序源代码的安全性。

任何人只要进入站点,就可以获得源代码,从而造成ASP应用程序源代码的泄露。

4)程序设计中的安全隐患

ASP代码利用表单(form)实现与用户交互的功能,而相应的内容会反映在浏览器的地址栏中,如果不采用适当的安全措施,只要记下这些内容,就可以绕过验证直接进入某一页面。

例如在浏览器中输入“……page.asp?

x=1”,即可不经过表单页面直接进入满足“x=1”条件的页面。

因此,在设计验证或注册页面时,必须采取特殊措施避免此类问题的发生。

5.2提高数据库的安全性

由于Access数据库加密机制过于简单,因此,如何有效地防止Access数据库被下载就成了提高ASP+Access解决方案安全性的重中之重。

1)非常规命名法

防止数据库被找到的简便方法是为Access数据库文件起一个复杂的非常规名字,并把它存放在多层目录下。

例如,对于网上书店的数据库文件,不要简单地命名为“book.mdb”或“store.mdb”,而是要起个非常规的名字,例如:

faq19jhsvzbal.mdb,再把它放在如./akkjj16t/kjhgb661/acd/avccx55之类的深层目录下。

这样,就能有效地阻止一些通过猜的方式得到Access数据库文件名而进行的非法访问。

2)ODBC数据源

在ASP程序设计中,应尽量使用ODBC数据源,不要把数据库名直接写在程序中,否则,数据库名将随ASP源代码一同失密。

例如:

DBPath=Server.MapPath("./akkjj16t/kjhgb661/acd/avccx55/faq19jhsvzbal.mdb")

conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&DBPath

可见,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码失密后,数据库也很容易被下载。

如果使用ODBC数据源,就不会存在这样的问题了:

conn.open"ODBC-DSN名"

3)对ASP页面进行加密

为有效地防止ASP源代码泄露,可以对ASP页面进行加密。

一般有两种方法进行加密:

一种是使用组件技术将编程逻辑封装入DLL之中;另一种是使用微软的ScriptEncoder对ASP页面进行加密。

使用组件技术存在的主要问题是每段代码均需组件化,操作比较烦琐,工作量较大;而使用ScriptEncoder对ASP页面进行加密,操作简单、收效良好。

ScriptEncoder方法具有许多优点:

HTML仍具有很好的可编辑性

操作简单可以批量加密文件

ScriptEncoder是免费软件。

该加密软件可以从微软网站下载:

4)利用Session对象进行注册验证

为防止未经注册的用户绕过注册界面直接进入应用系统,可以采用Session对象进行注册验证。

Session对象最大的优点是可以把某用户的信息保留下来,让后续的网页读取。

比如:

设计要求用户注册成功后系统启动orderlist.asp?

page=1页面。

如果不采用Session对象进行注册验证,则用户在浏览器中输入“URL/hrmis.asp?

page=1”即可绕过注册界面,直接进入系统。

利用Session对象可以有效阻止这一情况的发生。

本系统正是利用Session对象进行注册验证,以区分不同用户及权限。

6.总结

6.1本系统的主要特色

本设计最大的特色是克服了以往一些设备管理系统缺乏交互性的缺点,用户可以方便地查询设备信息并提交预约申请,管理员根据设备使用情况安排使用时间。

所有预约信息会实时显示在网络上。

同时,本系统还具有功能全面、实用性强、界面友好、页面美观等特点。

6.2开发中所遇到的问题及解决方法

由于本人是第一次开发如此大的系统,而且此前对于ASP技术十分陌生,因此开发难度可想而知。

开发过程中面对的既有技术上的问题,也有怎么用程序语言实现一个业务流程的问题。

在开发初期,技术问题是最大的困扰。

对命令不熟悉,经常由于拼写错误使得程序出错,唯一的解决办法就是多练。

其次就是数据类型,常量和变量的定义。

对于数据类型,要根据使用的具体情况定义,并认真做好标识,保持程序和数据库内数据类型的一致。

否则,在调试过程中极易发生因为数据类型不一致而出错。

对于变量,一定要预先进行定义。

例如,在设定document表标准编号的数据类型时,最先定义为整数型,当选择按编号搜索时,完全输入数字没有问题,但如果在输入框里输入了非整形的字符时,网页就出错。

起先将数据库内document表的sn字段的数据类型改为text,可是程序一运行,还是出错,显示为“MicrosoftJETDatabaseEngine(0x80040E10)至少一个参数没有被指定值”。

经分析,可能是程序设定的变量的类型错误。

这是原来的一段程序

rs.Open"select*fromequipwheresn="&selectsn&"orderbyadddatedesc",conn,1,1

后来经试验,将原来"&selectsn&"改为'"&selectsn&"',问题就解决了。

数据库的连接,对我们初学者而言是十分困难的。

这时候,就要采取先易后难的办法,先模仿指导老师给的习作,多联系和模仿,逐渐了解其用法。

然后将数据库的连接做成一个公共文件,每次需要调用数据库时,就先调用这个文件打开数据库,然后用变量完成和数据库的交互。

在利用第三方组件ASPUPLOAD时,发现一旦安装了ASPUPLOAD,浏览器的中文都成了“?

”。

问题的根源找了很长时间,开始以为是浏览器的字体设置问题,改成各种字体都没有效果。

后来在电脑的控制面板上选择“区域和语言选项”,将系统设为“中文”,non-unicode也设置成中文,并在每个程序源代码上都预先将语言和编码方式进行定义,就不会出现这样的情况了。

在开发的后期,当将系统移植到服务器上进行测试的时候,发现原本在电脑上排版正常的页面,在很多客户机上都出现页面排版混乱。

通过调整页面内表格宽度的属性(如:

将页面的绝对宽度调整为相对百分比宽度,对一些表格设定了可以根据页面自动调整宽度的功能),就解决了这个问题。

致谢

网络本科的学习即将结束,在此,我要感谢我的老师、朋友和家人,没有他们的鼓励和支持,

整个实验室信息管理系统设计能够按时、圆满地完成,我要特别感谢指导老师曹邦伟教授的关怀和教导,他认真负责的教学态度,严谨的治学精神和深厚的理论水平使我受益非浅,无论是在理论上还是在实践中,都给予我很大的帮助,使我在各方面能力都有了长足的进步,这对于我以后的工作和学习都是一种巨大的帮助。

再次向各位老师表示感谢!

参考文献

[1]尚俊杰:

《网络程序设计》:

清华大学出版社,2004年2月第2版

[2]尚俊杰:

《ASP.NET程序设计案例教程》:

清华大学出版社,2005年9月第1版

[3](韩)高京熙:

《Dreamweaver从入门到精通》:

中国青年出版社,2006年10月第1版

[4]黄雷杨志游坤等:

《ASP+HTML+Dreamweaver+Access开发动态网站实例荟萃》:

机械工业出版社,2006年2月第1版

 

[此文档可自行编辑修改,如有侵权请告知删除,感谢您的支持,我们会努力把内容做得更好]

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1