1、 试验室信息管理系统设计和实现摘要:本文介绍基于Web技术开发试验室信息管理系统(LIMS)。 系统在Microsoft Windows XP + Microsoft Access + IIS5.1 环境下开发,使用关键技术为ASP技术和数据库技术,并采取了很多第三方组件,如利用ASPupload进行文件上传。系统分成管理员子系统和注册用户子系统进行设计。 系统关键实现功效有:设备预约管理、设备管理、易耗品管理、物品借用管理、物品损耗管理、试验标准下载、信息公布管理、留言板、和单位换算,同时管理员还能实现用户管理、数据库备份等。 本设计最大特色是克服了以往部分设备管理系统缺乏交互性缺点,用户能
2、够方便查询设备信息并提交预约申请,管理员依据设备使用情况安排使用时间。全部预约信息会实时显示在网络上。同时,本系统还拥有功效全方面、实用性强、界面友好、页面美观等特点。关键词:试验室信息管理系统(LIMS)、设备预约、ASP、ACCESS、 Aspupload1.引言 管理信息化是现代管理技术发展趋势,本文介绍试验室信息管理系统(LIMS)就是一个结合现代网络技术和管理经验,并针对本人所在企业特点开发试验室管理网站。因为本人在试验室从事管理工作多年,对试验室管理步骤、方法和内容有深刻了解,结合自己实际工作经验和企业管理特点开发LIMS更能切合实际工作需要。系统在开发过程中得到了企业领导大力支持
3、,在测试中取得良好反响,一致认为这是改善管理效率、提升设备利用率最好方法。 本文第一部分简明地介绍了系统应用背景和关键技术。第二部分结合本人工作经验和企业管理特点,进行了系统分析,完成了设计目标和总体功效,并列有业务步骤图、系统总功效结构图、前台注册用户功效结构图和后台管理员用户功效结构图。第三部分讲述数据库设计,依据功效需求,设计了关键实体属性图及E-R图,并画出了全部实体关联图。随即设计了系统所需要11个数据表。第四部分为论文关键部分,具体讲述了各子模块设计方法和思绪,并列出了含有代表性源程序和网页导航图和网页截图。第五章关键讲述相关系统安全方面技术和本系统采取安全技术。第六部分为设计总结
4、部分,讲述本系统特色和开发过程中碰到问题和处理措施,总结开发过程中经验和教训,提出了系统不足和后续改善方向。2.应用背景和关键技术2.1应用背景和需求分析2.1.1 应用背景 利用计算机进行试验室信息管理简称LIMS (Laboratory Information Management System ),已经有20多年历史,而基于Web技术第四代试验室信息管理系统是现在试验室管理发展趋势。 相对于以前LIMS,基于Web技术试验室信息管理系统含有以下优点: (1)基于 (B/S) 结构,很轻易布署在广域网和Internet上;只需要管理好服务器,用户端只采取Web 浏览器,无需安装任何用户端软
5、件,无需维护;不限制用户规模,就可实现远程维护、升级和数据共享。 (2)能够轻易地利用Internet联结多个地点试验室。经过Internet,用户能够在家、在旅途等任何一个有Internet连接地方使用LIMS,无限扩展了LIMS适用范围;(3)支持无线用户,即经过支持WAP (无线应用协议) 使得用户能够很方便地利用移动电话和掌上电脑等无线设备随时掌握试验室信息,这为需要常常参与多种会议试验室管理人员提供了极大方便。 然而,每个企业组织架构和管理模式千差万别,现在市面上还没有完全通用产品。所以,依据企业本身特点,进行有针对性地设计是现在设计LIMS通行做法。2.1.2 需求分析 因为本人所
6、在企业试验室刚成立1年,预约管理、设备管理、易耗品管理、试验标准管理等均经过多种传统报表实现,繁琐各类报表不仅使得管理效率低下,设备闲置浪费,而且还造成很多数据反复输入,资源无法沟通和共享,和优异试验室设备极不相当。所以,构建基于计算机网络试验室信息系统,不仅是满足毕业设计要求,而且也是提升试验室管理水平关键确保。同时,为了实现更有效资源利用,经过网络将试验室资源面向社会开放,不仅能够提升设备利用率,还能够极大地提升试验室经济效益。2.2 关键技术在设计系统时,需要掌握技术有ASP技术、HTML技术和数据库技术。2.2.1 工具软件采取HTML语言设计,静态网页采取Dreamweaver8.0
7、制作。2.2.2 Vbscript或Javascript脚本语言这两种脚本语言是网页制作中在服务器上运行语言。很多服务器端数据处理全部是经过它们来实现。2.2.3 ASP技术 ASP包含了若干内嵌对象和可安装Activex Server组件。使用它们能够增加ASP脚本程序功效,使生成网页含有很强动态性和交互性。 内嵌对象能够和脚本语言有机地融合在一起,以增加服务器端操作灵活性。Activex Server组件则可用来方便地制作网上广告、访问Web文件、操纵Web数据库,从而使设计者能够以透明方法进行访问而无须顾及底层复杂动作。2.2.4 数据库管理系统Web服务器上数据库采取数据库管理系统 (
8、Database Management System,DBMS) 进行管理,这个管理系统提供了一个操作数据库接口,使用户经过该接口能够对数据库中数据进行访问。常见数据库管理系统有:Access、SQL Server和Oracle等。本系统采取Access 。2.3 开发环境本系统软件设计环境为:Microsoft Windows XP + IIS5.1 + Microsoft Access + Dreamweaver 8.0 + Microsoft Internet Explorer 5.0 + ASP Edit Plus 2.0 。该软件系统全部源代码均在此环境下调试经过。3.系统总体设计3
9、.1设计目标 经过建立试验室信息管理系统(LIMS),为试验室使用者和试验室管理者提供一个沟通平台,使用者经过LIMS查询试验室所拥有设备、试验用消耗品等资源信息。使用者能够依据自己需要对设备进行网上预约,管理员依据预约申请单,安排适宜设备和具体使用时间。同时,使用者还能够借用试验室部分工具、文件、试验消耗品等。管理员经过LIMS,能够将物品借用和损耗信息进行公布,能够提醒使用者立即归还试验室物品,降低物品损耗,提升使用效率。 试验标准是进行测试依据,是试验室文件关键组成部分。LIMS应含有测试者方便查看、下载试验标准功效,管理员应能上传和管理标准,以确保立即更新最新版标准。为了提升系统坚固性
10、和安全性,管理员应能对数据库进行备份。系统应能提供必需安全机制,使得管理员、注册用户和通常访问者含有不一样权限,以提升系统安全性。3.2 总体功效 系统开发分为管理员子系统和注册用户子系统两大部分。关键围绕预约管理、设备管理、易耗品管理、物品借用、物品损耗和试验标准下载这六个子模块进行设计。同时,还能够实现留言板、单位换算等功效。为了提升数据安全性,管理员应能方便对数据进行备份。具体功效为:(1)管理员子系统:用户管理、设备管理、易耗品管理、信息公布管理、设备预约管理、物品借用管理、物品损耗管理、试验标准管理、留言板管理和数据库备份等。(2)注册用户子系统:注册登录、设备信息查询、设备预约、易
11、耗品信息查询、物品借用信息查询、物品损耗信息查询、试验标准下载、留言板信息查询和留言,和单位换算等。3.3 功效步骤图下面以设备预约为例,列出其功效步骤图:开始设备信息填写预约申请已登录未登录主页注册登录注销登录内容检验 犯错提醒申请成功提醒登录符合不符合网上预约图3-1设备预约功效步骤图3.4 功效模块框图 3.4.1功效结构总图试验室信息管理系统(LIMS)管理员子系统注册用户子系统图3-2系统功效结构总图 3.4.2 前台用户功效结构图主页会员区预约信息易耗品会员登录我借用纪录会员资料修改预约清单设备详情查询易耗品清单单位换算注销登录设备信息设备清单预约详情查询预约申请递交网上预约易耗品
12、搜索借用纪录物品清单物品搜索损耗纪录损耗物品清单按编号搜索留言板辅助功效我预约申请我留言分类搜索分类搜索分类搜索文件资料文件目录新用户注册图3-3前台用户功效结构图 3.4.3 后台用户功效结构图首页用户管理物品管理信息管理管理员用户注册用户资料修改删除设备管理预约详情数据库备份设置管理易耗品名称信息公布其它设备预约借用统计损耗统计易耗品管理试验标准管理留言管理用户添加资料修改删除用户添加资料修改删除设备添加资料修改删除易耗品添加资料修改删除统计添加资料修改删除统计添加资料修改删除文件上载留言回复管理员留言返回首页易耗品添加资料修改删除注销图3-4 后台用户功效结构图3.5总体设计思绪 依据上
13、述系统所需实现功效,本人对试验室信息管理系统整体规作了以下设计。整个系统分为七个关键子模块,分别是:预约管理子模块、设备管理子模块、易耗品管理子模块、借用管理子模块、损耗管理子模块、试验标准下载子模块、和注册登录子模块。 预约管理模块:使用者在设备查询页面查看相关设备,假如设备符合自己使用要求,能够在网上填写并递交设备预约申请单。管理员收到申请单后,依据设备使用情况安排设备、使用时间和使用天数等。查看和填写预约申请在登录后方可操作。 设备管理模块:使用者在这个页面上看到全部设备清单,能够依据设备编号和设备状态快速查询到自己所要设备,并能查看到这台设备档案。管理员能够增加、修改或删除设备信息。
14、易耗品管理模块:这个页面显示全部易耗品清单,能够依据易耗品类别和易耗品节余情况快速查询到易耗品。管理员能够增加、修改或删除易耗品信息。 借用管理模块:这个页面显示全部借出物品清单,能够依据借用人、借用时间及归还状态查询。管理员能够增加、修改或删除物品借用统计。 损耗管理模块:这个页面上显示全部损耗物品清单,能够依据责任人、损耗时间及处理结果查询。管理员能够增加、修改或删除物品损耗统计。 试验标准下载模块:在这个页面上使用者能够查询到常见测试标准并进行下载。管理员能够增加、修改或删除试验标准。 注册登录子模块:对于不一样用户含有不一样权限,非注册用户能够查看设备信息、易耗品信息等,但不能进行设备
15、预约和物品借用;非注册用户能够经过注册成为注册用户。注册用户能够实施设备预约,同时,注册用户应能方便地查询和管理自己信息;管理员用户能够对系统资源进行设置,实施各项管理工作。4.数据库设计4.1数据表设计 在设备预约功效中,每个注册用户应能预约多台设备,而每一台设备应能被不一样注册用户预约,它们是一个多对多(M:N)关系,以下图所表示:M预约注册用户设备N图4-1 设备预约 E-R图因为“多对多”关系实现起来比较困难,为了简化设计,增加一个预约清单表,专门用于存放设备预约信息。以下为实际使用设备预约E-R图:提交注册用户registuser预约申请单 orderlistM预约设备equipN管
16、理员用户admin同意N图4-2 设备预约 E-R图依据系统功效需要,对各个数据实体进行分析,确定实体必需属性。下图以设备为例,说明了设备所含有属性:设备equip单价price价格单位unit说明remark编号sn名称name型号model供给商supplier安装位置location工作状态status购置日期adddate图4-3 设备属性图依据以上方法,能够很轻易地设计其它多个表属性及其E-R图。以下为系统数据表总关联图:图4-4 数据表关联图4.2数据表清单以下为依据系统功效设计11个数据表,全部放在数据库lab.mdb内。1) 【管理员表】 admin表4-12) 【注册用户表】
17、 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安全隐患5.1 安全隐患 ASPAccess处理方案关键安全隐患来自Access数据库安全性,其次在于ASP网页设计过程中安全漏洞。 1)Access数据库存放隐患 在ASPA
18、ccess应用系统中,假如取得或猜到Access数据库存放路径和数据库名,则该数据库就能够被下载到当地。比如:对于网上书店Access数据库,通常命名为book.mdb、store.mdb等,而存放路径通常为“URL/database”或干脆放在根目录(“URL/”)下。这么,只要在浏览器地址栏中输入地址:“URL/database/store.mdb”,就能够轻易地把store.mdb下载到当地机器中。 要处理这个问题,能够将文件后缀名.mdb改为.asp,这么就不能被下载了。本系统正是采取了此安全策略,将数据库名由“lab.mdb”改为“lab.asp”。 2)Access数据库解密隐患
19、因为Access数据库加密机制很简单,所以即使数据库设置了密码,解密也很轻易。该数据库系统经过将用户输入密码和某一固定密钥进行异或形成一个加密串,并将其存放在.mdb文件中从地址“H42”开始区域内。因为异或操作特点是“经过两次异或就恢复原值”,所以,用这一密钥和.mdb文件中加密串进行第二次异或操作,就能够轻松地得到Access数据库密码。基于这种原理,能够很轻易地编制出解密程序。 由此可见,不管是否设置了数据库密码,只要数据库被下载,其信息就没有任何安全性可言了。 3)源代码安全隐患 因为ASP程序采取是非编译性语言,这大大降低了程序源代码安全性。任何人只要进入站点,就能够取得源代码,从而
20、造成ASP应用程序源代码泄露。 4)程序设计中安全隐患 ASP代码利用表单(form)实现和用户交互功效,而对应内容会反应在浏览器地址栏中,假如不采取合适安全方法,只要记下这些内容,就能够绕过验证直接进入某一页面。比如在浏览器中输入“page.asp?x=1”,即可不经过表单页面直接进入满足“x=1”条件页面。所以,在设计验证或注册页面时,必需采取特殊方法避免这类问题发生。 5.2提升数据库安全性 因为Access数据库加密机制过于简单,所以,怎样有效地预防Access数据库被下载就成了提升ASPAccess处理方案安全性重中之重。 1)很规命名法 预防数据库被找到简便方法是为Access数据
21、库文件起一个复杂很规名字,并把它存放在多层目录下。比如,对于网上书店数据库文件,不要简单地命名为“book.mdb”或“store.mdb”,而是要起个很规名字,比如:faq19jhsvzbal.mdb,再把它放在如./akkjj16t/kjhgb661/acd/avccx55 之类深层目录下。这么,就能有效地阻止部分经过猜方法得到Access数据库文件名而进行非法访问。 2)ODBC数据源在ASP程序设计中,应尽可能使用ODBC数据源,不要把数据库名直接写在程序中,不然,数据库名将随ASP源代码一同失密。比如: DBPath =Server.MapPath(./akkjj16t/kjhgb6
22、61/acd/avccx55/faq19jhsvzbal.mdb ) conn.Open driver=Microsoft Access Driver (.mdb);dbq=DBPath 可见,即使数据库名字起得再怪异,隐藏目录再深,ASP源代码失密后,数据库也很轻易被下载。假如使用ODBC数据源,就不会存在这么问题了: conn.open ODBCDSN名3)对ASP页面进行加密为有效地预防ASP源代码泄露,能够对ASP页面进行加密。通常有两种方法进行加密:一个是使用组件技术将编程逻辑封装入DLL之中;另一个是使用微软Script Encoder对ASP页面进行加密。使用组件技术存在关键问题
23、是每段代码均需组件化,操作比较烦琐,工作量较大;而使用Script Encoder对ASP页面进行加密,操作简单、收效良好。Script Encoder方法含有很多优点: HTML仍含有很好可编辑性操作简单能够批量加密文件Script Encoder是无偿软件。该加密软件能够从微软网站下载:。下载后,运行安装即可。 4)利用Session对象进行注册验证 为预防未经注册用户绕过注册界面直接进入应用系统,能够采取Session对象进行注册验证。Session对象最大优点是能够把某用户信息保留下来,让后续网页读取。比如:设计要求用户注册成功后系统开启orderlist.asp?page=1页面。假
24、如不采取Session对象进行注册验证,则用户在浏览器中输入“URL/hrmis.asp?page=1”即可绕过注册界面,直接进入系统。利用Session对象能够有效阻止这一情况发生。本系统正是利用Session对象进行注册验证,以区分不一样用户及权限。6.总结6.1 本系统关键特色 本设计最大特色是克服了以往部分设备管理系统缺乏交互性缺点,用户能够方便地查询设备信息并提交预约申请,管理员依据设备使用情况安排使用时间。全部预约信息会实时显示在网络上。同时,本系统还含有功效全方面、实用性强、界面友好、页面美观等特点。6.2开发中所碰到问题及处理方法 因为本人是第一次开发如此大系统,而且以前对于A
25、SP技术十分陌生,所以开发难度可想而知。开发过程中面正确现有技术上问题,也有怎么用程序语言实现一个业务步骤问题。在开发早期,技术问题是最大困扰。对命令不熟悉,常常因为拼写错误使得程序犯错,唯一处理措施就是多练。其次就是数据类型,常量和变量定义。对于数据类型,要依据使用具体情况定义,并认真做好标识,保持程序和数据库内数据类型一致。不然,在调试过程中极易发生因为数据类型不一致而犯错。对于变量,一定要预优异行定义。比如,在设定document表标准编号数据类型时,最先定义为整数型,当选择按编号搜索时,完全输入数字没有问题,但假如在输入框里输入了非整形字符时,网页就犯错。起先将数据库内document
26、表sn字段数据类型改为text,可是程序一运行,还是犯错,显示为“Microsoft JET Database Engine (0x80040E10)最少一个参数没有被指定值”。经分析,可能是程序设定变量类型错误。这是原来一段程序rs.Open select * from equip where sn=&selectsn& order by adddate desc ,conn,1,1以后经试验,将原来&selectsn&改为&selectsn&,问题就处理了。 数据库连接,对我们初学者而言是十分困难。这时候,就要采取先易后难措施,先模拟指导老师给习作,多联络和模拟,逐步了解其使用方法。然后将
27、数据库连接做成一个公共文件,每次需要调用数据库时,就先调用这个文件打开数据库,然后用变量完成和数据库交互。在利用第三方组件ASPUPLOAD时,发觉一旦安装了ASPUPLOAD,浏览器汉字全部成了“?”。问题根源找了很长时间,开始认为是浏览器字体设置问题,改成多种字体全部没有效果。以后在电脑控制面板上选择“区域和语言选项”,将系统设为“汉字”,non-unicode也设置成汉字,并在每个程序源代码上全部预先将语言和编码方法进行定义,就不会出现这么情况了。在开发后期,当将系统移植到服务器上进行测试时候,发觉原本在电脑上排版正常页面,在很多用户机上全部出现页面排版混乱。经过调整页面内表格宽度属性(
28、如:将页面绝对宽度调整为相对百分比宽度,对部分表格设定了能够依据页面自动调整宽度功效),就处理了这个问题。 致谢 网络本科学习立即结束,在此,我要感谢我老师、好友和家人,没有她们激励和支持,整个试验室信息管理系统设计能够按时、圆满地完成,我要尤其感谢指导老师曹邦伟教授关心和教导,她认真负责教学态度,严谨治学精神和深厚理论水平使我受益非浅,不管是在理论上还是在实践中,全部给我很大帮助,使我在各方面能力全部有了长足进步,这对于我以后工作和学习全部是一个巨大帮助。再次向各位老师表示感谢!参考文件1 尚俊杰:网络程序设计:清华大学出版社,2月第2版2 尚俊杰:ASP.NET程序设计案例教程:清华大学出版社,9月第1版3 (韩)高京熙:Dreamweaver从入门到精通:中国青年出版社,10月第1版4 黄雷 杨志 游坤等:ASP+HTML+Dreamweaver+Access开发动态网站实例荟萃:机械工业出版社,2月第1版