实验室信息管理系统的设计实现分析_第1页
实验室信息管理系统的设计实现分析_第2页
实验室信息管理系统的设计实现分析_第3页
实验室信息管理系统的设计实现分析_第4页
实验室信息管理系统的设计实现分析_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-PAGE . z. - w -实验室信息管理系统的设计与实现摘要:本文介绍基于Web技术开发的实验室信息管理系统(LIMS)。 系统在Microsoft Windows *P + Microsoft Access 2003 + IIS5.1 环境下开发,使用的主要技术为ASP技术和数据库技术,并采用了许多第三方组件,如利用ASPupload进行文件的上传。系统分成管理员子系统和注册用户子系统进行设计。 系统主要实现的功能有: = 1 * GB3 设备预约管理、 = 2 * GB3 设备管理、 = 3 * GB3 易耗品管理、 = 4 * GB3 物品借用管理、 = 5 * GB3 物品损耗管

2、理、 = 6 * GB3 试验标准下载、 = 7 * GB3 信息发布管理、 = 8 * GB3 留言板、和 = 9 * GB3 单位换算,同时管理员还能实现用户管理、数据库备份等。 本设计最大的特色是克服了以往一些设备管理系统缺乏交互性的缺点,用户可以方便的查询设备信息并提交预约申请,管理员根据设备使用情况安排使用时间。所有预约信息会实时显示在网络上。同时,本系统还拥有功能全面、实用性强、界面友好、页面美观等特点。关键词:实验室信息管理系统(LIMS)、设备预约、ASP、ACCESS、 Aspupload1.引言管理信息化是现代管理技术发展的趋势,本文介绍的实验室信息管理系统(LIMS)就是

3、一种结合现代网络技术与管理经验,并针对本人所在公司的特点开发的实验室管理。由于本人在实验室从事管理工作多年,对实验室的管理流程、方式和容有深刻的了解,结合自己的实际工作经验和公司的管理特点开发的LIMS更能切合实际工作的需要。系统在开发过程中得到了公司领导的大力支持,在测试中获得良好的反响,一致认为这是改进管理效率、提高设备利用率的最好方式。本文第一部分简要地介绍了系统的应用背景和主要技术。第二部分结合本人的工作经验和公司的管理特点,进行了系统分析,完成了设计目标和总体功能,并列有业务流程图、系统总功能结构图、前台注册用户功能结构图和后台管理员用户功能结构图。第三部分讲述数据库的设计,根据功能

4、需求,设计了关键实体的属性图及E-R图,并画出了所有实体的关联图。随后设计了系统所需要的11个数据表。第四部分为论文的主要部分,详细讲述了各子模块的设计方法和思路,并列出了具有代表性的源程序以及网页导航图和网页截图。第五章主要讲述有关系统安全方面的技术和本系统采用的安全技术。第六部分为设计总结部分,讲述本系统的特色以及开发过程中遇到的问题和解决办法,总结开发过程中的经验和教训,提出了系统的不足以及后续改善方向。2.应用背景与主要技术2.1应用背景和需求分析2.1.1 应用背景 利用计算机进行实验室的信息管理简称LIMS (Laboratory Information Management Sy

5、stem ),已经有20多年的历史,而基于Web技术的第四代实验室信息管理系统是目前实验室管理的发展趋势。 相对于以前的LIMS,基于Web技术的实验室信息管理系统具有如下优点: (1)基于 (B/S) 结构,很容易部署在广域网和Internet上;只需要管理好服务器,客户端只采用Web 浏览器,无需安装任何客户端软件,无需维护;不限制用户规模,就可实现远程维护、升级和数据共享。 (2)可以容易地利用Internet联结多个地点的实验室。通过Internet,用户可以在家、在旅途等任何一个有Internet连接的地方使用LIMS,无限扩展了LIMS的适用围;(3)支持无线用户,即通过支持WAP

6、 (无线应用协议) 使得用户可以非常方便地利用移动和掌上电脑等无线设备随时掌握实验室的信息,这为需要经常参加各种会议的实验室管理人员提供了极大的方便。 然而,每个公司的组织架构和管理模式千差万别,目前市面上还没有完全通用的产品。因此,根据公司自身特点,进行有针对性地设计是现在设计LIMS的通行做法。2.1.2 需求分析 由于本人所在公司的实验室刚成立1年,预约管理、设备管理、易耗品管理、试验标准管理等均通过各种传统报表实现,繁琐的各类报表不仅使得管理效率低下,设备闲置浪费,而且还造成许多数据的重复输入,资源无法沟通与共享,与先进的实验室设备极不相称。因此,构建基于计算机网络的实验室信息系统,不

7、仅是满足毕业设计的要求,而且也是提高实验室管理水平的重要保证。同时,为了实现更有效的资源利用,通过网络将实验室资源面向社会开放,不仅可以提高设备的利用率,还可以极提高实验室的经济效益。2.2 主要技术在设计系统时,需要掌握的技术有ASP技术、HTML技术和数据库技术。2.2.1 工具软件采用HTML语言设计,静态网页采用Dreamweaver8.0制作。2.2.2 Vbscript或者Javascript脚本语言这两种脚本语言是网页制作中在服务器上运行的语言。许多服务器端的数据处理都是通过它们来实现。2.2.3 ASP技术 ASP包含了若干嵌对象和可安装的Active* Server组件。使用

8、它们可以增加ASP脚本程序的功能,使生成的网页具有很强的动态性和交互性。 嵌对象可以与脚本语言有机地融合在一起,以增加服务器端的操作灵活性。Active* Server组件则可用来方便地制作网上广告、访问Web文件、操纵Web数据库,从而使设计者可以以透明的方式进行访问而不必顾及底层的复杂动作。2.2.4 数据库管理系统Web服务器上的数据库采用数据库管理系统 (Database Management System,DBMS) 进行管理,这个管理系统提供了一个操作数据库的接口,使用户通过该接口可以对数据库中的数据进行访问。常见的数据库管理系统有:Access、SQL Server和Oracle

9、等。本系统采用Access 2003。2.3 开发环境本系统的软件设计环境为:Microsoft Windows *P + IIS5.1 + Microsoft Access 2003 + Dreamweaver 8.0 + Microsoft Internet E*plorer 5.0 + ASP Edit Plus 2.0 。该软件系统的所有源代码均在此环境下调试通过。3.系统总体设计3.1设计目标 通过建立实验室信息管理系统(LIMS),为实验室使用者和实验室管理者提供一个沟通的平台,使用者通过LIMS查询实验室所拥有的设备、试验用消耗品等资源的信息。使用者可以根据自己的需要对设备进行网

10、上预约,管理员根据预约申请单,安排合适的设备和具体使用时间。同时,使用者还可以借用实验室的一些工具、文件、试验消耗品等。管理员通过LIMS,能够将物品的借用和损耗信息进行公布,可以提醒使用者及时归还实验室的物品,减少物品的损耗,提高使用效率。 试验标准是进行测试的依据,是实验室文件的重要组成部分。LIMS应具备测试者方便查看、下载试验标准的功能,管理员应能上传和管理标准,以保证及时更新最新版的标准。为了提高系统的坚固性和安全性,管理员应能对数据库进行备份。系统应能提供必要的安全机制,使得管理员、注册用户以及一般访问者具有不同的权限,以提高系统的安全性。3.2 总体功能 系统的开发分为管理员子系

11、统和注册用户子系统两大部分。主要围绕预约管理、设备管理、易耗品管理、物品借用、物品损耗和试验标准下载这六个子模块进行设计。同时,还能够实现留言板、单位换算等功能。为了提高数据的安全性,管理员应能方便的对数据进行备份。具体功能为:(1)管理员子系统:用户管理、设备管理、易耗品管理、信息发布管理、设备预约管理、物品借用管理、物品损耗管理、试验标准管理、留言板管理以及数据库备份等。(2)注册用户子系统:注册登录、设备信息查询、设备预约、易耗品信息查询、物品借用信息查询、物品损耗信息查询、试验标准下载、留言板信息查询和留言,以及单位换算等。3.3 功能流程图下面以设备预约为例,列出其功能流程图:开始设

12、备信息填写预约申请已登录未登录主页注册登录注销登录内容检查 出错提示申请成功提示登录符合不符合网上预约图3-1设备预约功能流程图3.4 功能模块框图3.4.1功能结构总图实验室信息管理系统(LIMS)管理员子系统注册用户子系统图3-2系统功能结构总图3.4.2 前台用户功能结构图主页会员区预约信息易耗品会员登录我的借用纪录会员资料修改预约清单设备详情查询易耗品清单单位换算注销登录设备信息设备清单预约详情查询预约申请递交网上预约易耗品搜索借用纪录物品清单物品搜索损耗纪录损耗物品清单按编号搜索留言板辅助功能我的预约申请我的留言分类搜索分类搜索分类搜索文件资料文件目录新用户注册图3-3前台用户功能结

13、构图3.4.3 后台用户功能结构图首页用户管理物品管理信息管理管理员用户注册用户资料修改删除设备管理预约详情数据库备份设置管理易耗品名称信息发布其它设备预约借用记录损耗记录易耗品管理试验标准管理留言管理用户添加资料修改删除用户添加资料修改删除设备添加资料修改删除易耗品添加资料修改删除记录添加资料修改删除记录添加资料修改删除文件上载留言回复管理员留言返回首页易耗品添加资料修改删除注销图3-4 后台用户功能结构图3.5总体设计思路根据上述系统所需实现的功能,本人对实验室信息管理系统的整体规作了以下的设计。整个系统分为七个主要子模块,分别是: = 1 * GB3 预约管理子模块、 = 2 * GB3

14、 设备管理子模块、 = 3 * GB3 易耗品管理子模块、 = 4 * GB3 借用管理子模块、 = 5 * GB3 损耗管理子模块、 = 6 * GB3 试验标准下载子模块、和 = 7 * GB3 注册登录子模块。 = 1 * GB3 预约管理模块:使用者在设备查询页面查看相关设备,如果设备符合自己的使用要求,可以在网上填写并递交设备预约申请单。管理员收到申请单后,根据设备的使用情况安排设备、使用时间和使用天数等。查看和填写预约申请在登录后方可操作。 = 2 * GB3 设备管理模块:使用者在这个页面上看到所有设备的清单,可以根据设备编号和设备状态快速查询到自己所要的设备,并能查看到这台设备

15、的档案。管理员能够增加、修改或者删除设备信息。 = 3 * GB3 易耗品管理模块:这个页面显示所有易耗品的清单,可以根据易耗品类别和易耗品节余情况快速查询到易耗品。管理员能够增加、修改或者删除易耗品信息。 = 4 * GB3 借用管理模块:这个页面显示所有借出物品清单,可以根据借用人、借用时间及归还状态查询。管理员能够增加、修改或者删除物品借用记录。 = 5 * GB3 损耗管理模块:这个页面上显示所有损耗物品清单,可以根据责任人、损耗时间及处理结果查询。管理员能够增加、修改或者删除物品损耗记录。 = 6 * GB3 试验标准下载模块:在这个页面上使用者可以查询到常用测试标准并进行下载。管理

16、员能够增加、修改或者删除试验标准。 = 7 * GB3 注册登录子模块:对于不同的用户具有不同的权限,非注册用户可以查看设备信息、易耗品信息等,但不能进行设备预约和物品借用;非注册用户可以通过注册成为注册用户。注册用户可以执行设备预约,同时,注册用户应能方便地查询和管理自己的信息;管理员用户可以对系统资源进行设置,执行各项管理工作。4.数据库设计4.1数据表的设计 在设备预约功能中,每个注册用户应能预约多台设备,而每一台设备应能被不同的注册用户预约,它们是一个多对多(M:N)的关系,如下图所示:M预约注册用户设备N图4-1 设备预约 E-R图由于多对多”关系实现起来比较困难,为了简化设计,增加

17、一个预约清单表,专门用于存放设备预约信息。以下为实际使用的设备预约E-R图:提交注册用户registuser预约申请单 orderlistM预约设备equipN管理员用户admin批准N图4-2 设备预约 E-R图根据系统功能的需要,对各个数据实体进行分析,确定实体必要的属性。下图以设备为例,说明了设备所具有的属性:设备equip单价price价格单位unit说明remark编号sn名称name型号model供应商supplier安装位置location工作状态status购买日期adddate图4-3 设备属性图根据以上的方法,可以很容易地设计其它几个表的属性及其E-R图。以下为系统数据表总

18、的关联图:图4-4 数据表关联图4.2数据表清单以下为根据系统功能设计的11个数据表,全部放在数据库lab.mdb。1) 【管理员表】 admin表4-12) 【注册用户表】 registuser表4-2 3)【预约清单表】 orderlist表4-3 4)【设备表】 equip表4-45)【易耗品信息表】 consume表4-56)【易耗品名称表】 consumename表4-67)【借用记录表】 lend表4-78)【损耗记录表】 damage表4-89)【消息表】 notice表4-910)【留言表】 msg表4-1011)【标准表】 document表4-115.ASP+Access的

19、安全隐患5.1 安全隐患 ASPAccess解决方案的主要安全隐患来自Access数据库的安全性,其次在于ASP网页设计过程中的安全漏洞。 1)Access数据库的存储隐患 在ASPAccess应用系统中,如果获得或者猜到Access数据库的存储路径和数据库名,则该数据库就可以被下载到本地。例如:对于网上书店的Access数据库,一般命名为book.mdb、store.mdb等,而存储的路径一般为URL/database”或干脆放在根目录(URL/”)下。这样,只要在浏览器地址栏中输入地址:URL/database/store.mdb”,就可以轻易地把store.mdb下载到本地的机器中。 要

20、解决这个问题,可以将文件的后缀名.mdb改为.asp,这样就不能被下载了。本系统正是采用了此安全策略,将数据库名由lab.mdb”改为lab.asp”。 2)Access数据库的解密隐患 由于Access数据库的加密机制非常简单,所以即使数据库设置了密码,解密也很容易。该数据库系统通过将用户输入的密码与*一固定密钥进行异或形成一个加密串,并将其存储在.mdb文件中从地址H42”开始的区域。由于异或操作的特点是经过两次异或就恢复原值”,因此,用这一密钥与.mdb文件中的加密串进行第二次异或操作,就可以轻松地得到Access数据库的密码。基于这种原理,可以很容易地编制出解密程序。 由此可见,无论是

21、否设置了数据库密码,只要数据库被下载,其信息就没有任何安全性可言了。 3)源代码的安全隐患 由于ASP程序采用的是非编译性语言,这大大降低了程序源代码的安全性。任何人只要进入站点,就可以获得源代码,从而造成ASP应用程序源代码的泄露。 4)程序设计中的安全隐患 ASP代码利用表单(form)实现与用户交互的功能,而相应的容会反映在浏览器的地址栏中,如果不采用适当的安全措施,只要记下这些容,就可以绕过验证直接进入*一页面。例如在浏览器中输入page.asp*=1”,即可不经过表单页面直接进入满足*=1”条件的页面。因此,在设计验证或注册页面时,必须采取特殊措施避免此类问题的发生。 5.2提高数据

22、库的安全性 由于Access数据库加密机制过于简单,因此,如何有效地防止Access数据库被下载就成了提高ASPAccess解决方案安全性的重中之重。 1)非常规命名法 防止数据库被找到的简便方法是为Access数据库文件起一个复杂的非常规名字,并把它存放在多层目录下。例如,对于网上书店的数据库文件,不要简单地命名为book.mdb”或store.mdb”,而是要起个非常规的名字,例如:faq19jhsvzbal.mdb,再把它放在如./akkjj16t/kjhgb661/acd/avcc*55 之类的深层目录下。这样,就能有效地阻止一些通过猜的方式得到Access数据库文件名而进行的非法访问

23、。 2)ODBC数据源在ASP程序设计中,应尽量使用ODBC数据源,不要把数据库名直接写在程序中,否则,数据库名将随ASP源代码一同失密。例如: DBPath =Server.MapPath(./akkjj16t/kjhgb661/acd/avcc*55/faq19jhsvzbal.mdb ) conn.Open driver=Microsoft Access Driver (.mdb);dbq=DBPath 可见,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码失密后,数据库也很容易被下载。如果使用ODBC数据源,就不会存在这样的问题了: conn.open ODBCDSN名3)对AS

24、P页面进行加密为有效地防止ASP源代码泄露,可以对ASP页面进行加密。一般有两种方法进行加密:一种是使用组件技术将编程逻辑封装入DLL之中;另一种是使用微软的Script Encoder对ASP页面进行加密。使用组件技术存在的主要问题是每段代码均需组件化,操作比较烦琐,工作量较大;而使用Script Encoder对ASP页面进行加密,操作简单、收效良好。Script Encoder方法具有许多优点: HTML仍具有很好的可编辑性操作简单可以批量加密文件Script Encoder是免费软件。该加密软件可以从微软下载:msdn.microsoft./scripting/vbscript/dow

25、nload/*86/sce10en.e*e。下载后,运行安装即可。 4)利用Session对象进行注册验证 为防止未经注册的用户绕过注册界面直接进入应用系统,可以采用Session对象进行注册验证。Session对象最大的优点是可以把*用户的信息保留下来,让后续的网页读取。比如:设计要求用户注册成功后系统启动orderlist.asppage=1页面。如果不采用Session对象进行注册验证,则用户在浏览器中输入URL/hrmis.asppage=1”即可绕过注册界面,直接进入系统。利用Session对象可以有效阻止这一情况的发生。本系统正是利用Session对象进行注册验证,以区分不同用户及

26、权限。6.总结6.1 本系统的主要特色 本设计最大的特色是克服了以往一些设备管理系统缺乏交互性的缺点,用户可以方便地查询设备信息并提交预约申请,管理员根据设备使用情况安排使用时间。所有预约信息会实时显示在网络上。同时,本系统还具有功能全面、实用性强、界面友好、页面美观等特点。6.2开发中所遇到的问题及解决方法 由于本人是第一次开发如此大的系统,而且此前对于ASP技术十分陌生,因此开发难度可想而知。开发过程中面对的既有技术上的问题,也有怎么用程序语言实现一个业务流程的问题。在开发初期,技术问题是最大的困扰。对命令不熟悉,经常由于拼写错误使得程序出错,唯一的解决办法就是多练。其次就是数据类型,常量

27、和变量的定义。对于数据类型,要根据使用的具体情况定义,并认真做好标识,保持程序和数据库数据类型的一致。否则,在调试过程中极易发生因为数据类型不一致而出错。对于变量,一定要预先进行定义。例如,在设定document表标准编号的数据类型时,最先定义为整数型,当选择按编号搜索时,完全输入数字没有问题,但如果在输入框里输入了非整形的字符时,网页就出错。起先将数据库document表的sn字段的数据类型改为te*t,可是程序一运行,还是出错,显示为Microsoft JET Database Engine (0*80040E10)至少一个参数没有被指定值”。经分析,可能是程序设定的变量的类型错误。这是原来的一段程序rs.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论