医院药品信息管理系统(共22页).doc
精选优质文档-倾情为你奉上医院药品信息管理系统摘 要在我国,随着医药卫生体制改革的深入,医药连锁经营的推行以及日趋激烈的商业角逐,越来越多的医药经营企业意识到提高企业管理水平的重要性,也迫切要求加快管理信息化的进程。在医药行业中,医药经营企业的物流管理以及相应的财务处理、信息处理,长期以来一直采用手工操作,但随着产业结构调整、全新的市场竞争环境,企业管理和运营效率已经成为企业成败的关键所在,手工方式的弊端毕现无遗。这就要求医药管理摆脱过去人手操作的烦琐,充分满足了医药经营企业的各种需求,从医药经营企业的各个环节对人流、物流、资金流、信息流进行统一系统的管理。市场的需求和技术的支持,最终会导致越来越多的优秀医药管理软件的出现,并在竞争中得到不断的完善和优化。本系统以C#语言并使用Microsoft Visual Studio 2008平台和SQL Server 2005数据库;实现了药品信息管理的:库存管理、药品管理以及出库单入库单管理,并经过在本机Vista系统上运行测试可以很好的应用。本论文文档很好的介绍了系统分析、数据流程分析、功能设计、数据库设计、系统实现和系统测试等内容。如何利用现代信息技术使企业拥有快速、高效的市场反映能力和高度的效率,已是医药经营企业,特别是医药连锁经营企业特别关心的问题。尽快建立一个功能齐备的药品进、出库管理系统,完善现代企业的信息化管理机制,已成为医药企业生存发展的当务之急。通过开发这个药品管理系统,使药品进销存管理工作系统化,规范化,自动化,从而达到提高管理效率的目的。本系统开发设计思想是实现药品管理的数字化。尽量采用现有软硬件环境,及先进的管理系统开发方案,提高系统开发水平和应用效果的目的;系统应符合企业管理的规定,满足日常管理的需要,并达到操作过程中的直观,方便,实用,安全等要求;系统采用模块化程序设计方法,这样既便于系统功能的各种组合,又便于未参与开发的技术维护人员补充,维护;系统应具备数据库维护功能,及时根据用户需求进行数据的添加,删除,修改等操作。1.系统背景 随着计算机技术的飞速发展,计算机在系统管理中的应用越来越普及,利用计算机实现各个系统的管理显得越来越重要。对于一些大中型管理部门来说,利用计算机支持管理高效率完成管理的日常事务,是适应现代管理制度要求、推动管理走向科学化、规范化的必要条件;而药品管理是一项琐碎、复杂而又十分细致的工作,药品数量之庞大、单价的变化、进货厂商的不同,一般不允许出错,如果实行手工操作,每天进货的情况以及进货时间等须手工填制大量的表格,这就会耗费药品管理工作人员大量的时间和精力,如果利用计算机进行这些管理工作,不仅能够保证各种核算准确无误、快速记录,而且还可以利用计算机对有关的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高管理的效率,也是管理行业的科学化、正规化管理,与世界接轨的重要条件。基于以上的原因,有很多从事软件开发的人员,在试卷生成方面做了很大的研究。目前这一领域也以良好的发展姿态而不断进步,早期已经有了一些类似的系统,但经过软件开发人员不断的完善,大致形成了具备如下功能的系统:这个药品管理系统主要涉及医院药库的药品进、销、存等业务,以及入库、出库和库存管理,药品管理主要管理药库中所有药品的进出和内部统计计算,为药品会计提供基础数据,以及包括有效期的报警和下限报警。该内容主要是药品信息管理的库存管理、药品管理、入库单管理和出库单管理等模块的结合实现,使用.NET技术加以实现。通用此课题以及我们在以往学习数据库的基础上,灵活运用.NET和结构化查询语言SQL Server 2005,开发出基本上能供应使用的药品管理信息系统。应用所学的有关知识,更深入地学习Microsoft Visual Studio 2008平台和SQL Server 2005数据库技术应用,将所学的书面知识和实际应用结合起来,以达到学以致用的目的。 2系统分析2.1.可行性分析可行性分析是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。(1)技术可行性:该系统采用了B/S技术结构,使用Microsoft Visual Studio 2008开发软件,数据库服务器选用微软公司的SQL Server 2005数据库,它是目前能处理所有中小型系统最方便的流行数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。硬件方面,此系统是使用网页作为服务端的,所以对硬件没什么要求,安装有IE就够了。(2)经济可行性:本系统作为一个毕业设计,因此无需考虑。(3)操作可行性:作为一个毕业设计,要求很适中,而且都是完全根据所学的知识进行。因此,贵州省数字化医院药品管理信息系统的开发是完全可行的。2.2 用户需求分析这个系统是帮助他们完成日常繁重窗口业务的工具。借助计算机系统,使他们凌乱的工作变得有条理,解脱他们需要记忆大量信息(药品的规格,价钱,疾病的名称与编码等)的困难。保证他们遵守某些规范,减轻他们汇总、统计、报告和传递这些信息的负担。因此,尽量符合这些事务处理级工作人员的工作秩序与工作习惯,功能完整,操作简单,响应迅速,界面友善,易学易用成为这类软件必须满足的功能要求。对于整个医院信息系统来说,窗口事务处理的计算机系统同时又是完整的HIS数据收集端口,它们是HIS伸向信息发源地的触角感受器。例如:办理病人入出转(ADT)业务的系统必然向住院处实时提供病人交费过程的同时也收集到了相应的为门诊提供医疗服务的各门诊室及辅助科室的门诊收入与工作量信息。所有这些数据都是上一层直至最高一层信息系统用以进行统计,分析等数据加工的原料。管理员登录以后可以很清晰的看到各种项目列表和可以实现的功能,库存管理和药品管理一目了然。由于是限定医院使用,所有只有登录系统。库存管理功能是在使用系统的开始初始化医院的库存,并进行库存管理的其他操作,可以修改库存,读取。这个药品管理系统主要涉及医院药库的药品进、出、存等业务,以及入库、出库和库存管理,药品管理主要管理药库中所有药品的进出和内部统计计算,为药品会计提供基础数据,以及包括有效期的报警和下限报警。该内容主要是药品信息管理的库存管理、药品管理、入库单管理和出库单管理等模块的结合实现,并实现了药品具体信息查询等功能。系统从用户的角度出发,使用B/S结构,对于页面的美观也需要做一番苦功。在登录及各个模块的功能做到最好的人性化和审美的结合。3 组织功能需求分析 (1)登录功能由于是限定医院使用,只有登录系统。(2)库存管理功能库存管理功能是在使用系统的开始初始化医院的库存,还对现在的库存进行列表显示,并在显示的列表中做修改操作;库存管理还包括检查库存下限报警和药品有效期报警,给予应有的提示。(3)药品管理功能管理员在初始化药品库存的时候,要先添加药品,建立药品库,对所有药品实行编码并生成相应的编号。药品添加要把药品所有信息进行添加,包括:药品名称、化学名称、规格、药品类别、剂型、以及批号厂商等。对于添加的药品数据信息也可以进行相应的修改,或者删除,全凭用户需要。(4)入库单管理功能入库单管理即是需要管理所有的入库单,并以列表的形式显示出来;该功能要实现添加入库单,完成药品入库,并在把入库信息显示出来,并能根据要求进行入库单修改或废除。(5)出库单管理功能管理员可以对出库的药品进行管理,在药品出库的时候把出库信息记录下来留作依据。如果出库药品需要修改的,可以在出库单列表中把单子选中出来进行修改,甚至删除。方便药品出库时的更改需要。4.数据与数据流分析(1)数据流图 图4-1 顶层数据流图图4-2 系统数据流图图4-3 详细数据流图(2) 数据字典数据流项目:1.名字:用户信息(admin)别名:无流量:每天上十次来源:用户基本信息表去向:核对用户信息定义:用户信息ID+用户名用户密码2.名字:药品信息别名:无流量:每天上十次来源:药品表去向:核对药品库存初始化、核对出库信息、核对入库信息定义:药品信息ID药品名称化学名称规格+药品类别剂型+批号+厂商3.名字:库存信息别名:无流量:每天上十次来源:库存表去向:核对药品库存查询、核对出库单、核对入库单定义:库存信息ID药品编号批号+药品名称数量+单位+入库日期+下限+验收人4.名字:入库单信息别名:无流量:每天上十次来源:入库单表去向:反馈给用户定义:入库单信息ID药品编号批号+入库日期+数量单位+验收人5.名字:出库单信息别名:无流量:每天上十次来源:出库单表去向:反馈给用户定义:出库单信息ID药品编号+批号+数量出库日期+验收人存储条目:1.文件名:用户基本信息表 别名:无 存储方式:随机存储 存储频率:每天上十次定义:用户基本信息表ID用户名用户密码2.文件名:药品表别名:无 存储方式:随机存储 存储频率:每天上十次定义:药品表ID药品名称化学名称规格+药品类别剂型+批号+厂商数据项条目:项名:药品类型别名:无描述:用户输入试题的类型定义:药品类型所有药品规定类型位置:药品表处理条目:1.处理名:药品添加处理逻辑:用户添加药品信息执行频率:每天上十次2.处理名:库存初始化处理逻辑:用户初始化药品库存表执行频率:每天上十次3.处理名:入库处理逻辑:用户添加入库单执行频率:每天上十次4.处理名:出库处理逻辑:用户添加出库单执行频率:每天上十次5.系统总体分析1.子系统划分本系统涉及到以下实体:图5-1 用户E-R图 图5-2 药品E-R图 图5-3 库存E-R图 图5-4 入库E-R图图5-5 入库E-R图图5-6 实体联系E-R图2软件系统的整体结构贵州省数字医院药品信息管理系统模块是用ASP.NET进行设计,SQL Server 2005作为后台数据库管理系统。系统管理模块分为用户登录、库存管理、药品管理、入库单管理和出库单管理;库存模块主要是库存初始化模块、库存下限报警模块、药品有效期模块;药品管理模块主要有数据修改(药品添加)模块;入库单模块主要有入库单数据修改(入库);出库单管理模块主要有出库单数据修改(出库)。系统体系结构框图如下图: 图5-7 系统体系结构图3.系统的处理流程图5-8 系统的处理流程图4模块算法 4.1用户登录(1)功能流图图5-9 用户登录功能流图(2)功能描述 用户根据已知的用户名和密码登录系统,只有登录成功才能进行系列的药品管理、库存管理、入库及出库管理的操作。4.2药品管理(1)功能流图图5-10 药品添加功能流图(2)功能描述用户进入系统以后,首先需要添加药品信息,没有药品信息就无法进行库存管理了,更做不到药品入库和出库。药品信息作为库存管理的一部分,是药品入库和出库的编号查询;还有为提供药品有效期的报警来源。4.3库存管理(1)功能流图图5-11 库存初始化功能流图(2)功能描述用户登录进入库存管理页面,进行库存初始化。库存初始化是把现有的库存添加到库存表当中去,但是首先这些库存的药品信息已经都是被录入药品表。所以在查询到这些药品信息后便可以进行库存初始化了。4.4出库单管理(出库)(1)功能流图图5-12 出库功能流图(2)功能描述用户在出库单管理的时候,出库要先根据已有的可以出库的药品信息才能出库,出库时候进行出库药品信息核对之后便可以完成药品出库了。4.5入库单管理(入库)(1)功能流图图5-13 入库功能流图(2)功能描述用户在入库单管理的时候,入库要先根据已有的药品信息才能入库,入库不能入没有名目的药品。入库时候进行入库药品信息核对之后便可以完成药品入库了。4.6 数据信息4.6.1 数据库表药品信息表如下:表5-1 药品信息表drug列名数据类型允许空值默认值描述id(PK)Int药品编号nameVarchar(100)Y药品名称CnameVarchar(100)Y化学名称standardVarchar(100)Y规格sortVarchar(100)Y药品类别typeVarchar(100)Y剂型markerVarchar(100)Y批号addressVarchar(150)Y厂商药品入库表如下:表5-2 药品入库表instore列名数据类型允许空值默认值描述id(PK)Int入库单号didIntY药品编号markerVarchar(100)Y批号intimeDatetimeYGetdate()入库日期usefultimeDatetimeY有效日期inpriceFloatY0进价outpriceFloatY0预售价numIntY0数量singleunitVarchar(50)Y整量单位multunitVarchar(50)Y散量单位checkedVarchar(50)Y验收人药品出库表如下:表5-3 药品出库表outstore列名数据类型允许空值默认值描述id(PK)Int出库单号didIntY药品编号markerVarchar(100)Y批号numIntY0数量outtimeDatetimeYGetdate()出库日期checkedVarchar(50)Y验收人药品库存表如下:表5-4药品库存表store列名数据类型允许空值默认值描述id(PK)Int库存号didIntY药品编号markerVarchar(100)Y批号nameVarchar(100)Y药品名称numIntY0数量singleunitVarchar(50)Y整量单位multunitVarchar(50)Y散量单位intimeDatetimeYGetdate()入库日期usefultimeDatetimeY有效日期inpriceFloatY0进价outpriceFloatY0预售价lowerlimitIntY0库存下限checkedVarchar(50)Y验收人4.6.2 数据库表的说明贵州省数字医院药品信息管理系统主要涉及到4个表,即:药品信息表、药品入库表、药品出库表和库存表。药品信息表:这张表是用来存储药品信息的。药品添加以后它的信息就会储存到这张表中,其中包含:药品编号、药品名称、化学名称、规格、药品类别、剂型、批号及厂商。其中药品编号是主键,非空且唯一。其余信息可以为空,并在数据表建立的时候给他们相应的规定好数据类型。药品入库表:这张表是用来存储入库表单信息的,所有入库单信息都包含在这张表中。包括:入库单号、药品编号、批号、入库日期、有效日期、进价、预售价、数量、整量单位、散量单位及验收人。其中入库单号是主键,非空且唯一。药品出库表:这张表是用来存储出库表单信息的,所有出库信息都包含在这张表单中。它的字段有:出库单号、药品编号、批号、数量、出库日期及验收人。其中出库单号是主键,非空且唯一。药品库存表:这张表是用来存储库存信息的,所有初始化的库存信息和出库入库信息改变后的信息都会被记录下来。它字段有:库存号、药品编号、批号、药品名称、数量、整量单位、散量单位、入库日期、有效日期、进价、预售价、库存下限及验收人。5.1 系统实施, 选择药品管理的功能点数据修改,可以进入添加新的药品信息,对药品必填的信息必须写入,然后会弹出窗口提示添加成功;并可以在药品列表中查看到对于不符合的也可以在列表中进行修改或者直接删除。 添加药品信息后,可以进行库存初始化,选择库存管理项目可以进行库存管理功能:首先进行库存初始化,并能在库存列表查看,也可以在库存列表中进行修改甚至删除。点入库单管理操作,进行此数据修改,可以实现药品入库处理,进行药品入库之后可以在入库单列表显示。并根据需要可在此进行数据修改和删除。需要注意的是,在进行药品入库的时候,需要查询药品编号,按照编号进行添加。点击出库管理操作,可以对出库单进行管理,添加出库单即是对药品进行出库。出库后可在出库单列表显示,用户可以根据出库的内容如果需要修改和删除的可进行操作。系统自动对库存下限和药品有效期进行报警,在库存管理项目下会有报警列表。可以随时进行检查。根据上面绑定的代码信息进行的报警如下:6 系统实施、维护与管理6.1系统测试平台简介硬件硬件平台:处理器:Mobile Dual Core Intel Pentium T2410, 2000 MHz (15 x 133)主板:Lenovo ThinkPad R61系统内存:2016 MB (DDR2 SDRAM)硬盘:日立 5400 160 G显示卡:NVIDIA Quadra NVS 140M (128 MB)显示器:Lenovo B141EW04 V7 14.1" LCD软件环境:操作系统:Microsoft Windows Vista Ultimate6.2系统测试目的软件测试的目的是为了尽可能发现并改正被测试系统软件中的错误,增加系统软件的可靠性和正确性。系统测试主要有两种测试方法:白盒测试和黑盒测试。1. 白盒测试:白盒测试法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。白盒测试法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。2. 黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。作为系统完成的最后一个环节,它是系统能否实现功能的基础,我使用的测试方法为白盒测试。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。软件测试是软件质量保证的关键环节,直接影响着软件的质量评估。软件测试不仅要讲究策略,更要讲究时效性。验收测试作为软件测试过程的最后一个环节,对软件质量、软件的可交付性和软件项目的实施周期起到决定性的作用。用例编号:1用户登录测试模块名称:登录模块功能:登录系统输入数据:1:输入数据库已存的用户名和密码信息2:输入数据库没有的用户名和密码信息预期结果:1:正常登录2:无法登录输出结果:1:正常登录2:无法登录用例编号:2药品信息添加测试模块名称:药品信息添加模块功能:添加药品信息输入数据:1:输入药品名称、化学名称、规格、药品类别、剂型、批号、厂商2:输入缺少项的药品信息预期结果:1:添加成功2:提示输入完整信息输出结果:1:添加成功2:添加失败,提示输入完整药品信息用例编号:3药品列表显示及修改测试模块名称:药品信息显示和修改模块功能:显示药品信息并可以修改输入数据:点击药品列表,单击修改预期结果:1:显示药品信息2:药品信息修改成功输出结果:1:显示药品信息2:药品信息修改成功用例编号:4库存信息初始化测试模块名称:添加库存表模块功能:添加库存表信息输入数据:1:输入药品编号、批号、整量单位、散量单位、下限2:输入缺少项目的数据预期结果:1:添加成功2:提示输入完整库存表信息输出结果:1:添加成功2:添加失败,提示输入完整库存表信息用例编号:5库存列表显示及修改测试模块名称:库存列表显示及修改模块功能:库存列表进行显示及修改输入数据:点击库存列表,点击列表数据修改预期结果:1:显示库存列表2:库存信息修改成功输出结果:1:显示库存列表2:库存信息修改成功用例编号:6药品入库测试模块名称:药品入库模块功能:增加药品入库输入数据:1:输入药品编号、批号、有效期、药品进价、预售价、数量、整量单位、散量单位和验收人2:缺少项目数据的入库信息预期结果:1:添加入库单成功2:添加失败,提示缺少数据项输出结果:1:添加入库单成功2:添加失败,提示缺少数据项用例编号:7药品入库单显示及修改测试模块名称:入库单显示及修改模块功能:显示入库单信息及进行修改输入数据:单击入库列表,点击修改预期结果:1:显示入库单信息2:修改入库单成功输出结果:1:显示入库单信息2:修改入库单成功用例编号:8药品出库测试模块名称:药品出库模块功能:库存药品出库输入数据:1:输入药品编号、批号、数量、验收人2:输入缺少项目的数据信息预期结果:1:添加出库单成功2:添加失败,提示缺少数据项输出结果:1:添加出库单成功2:添加失败,提示缺少数据项用例编号:9药品出库单显示及修改测试模块名称:出库单显示及修改模块功能:显示出库单及修改信息输入数据:点击出库列表,点击修改预期结果:1:显示出库单列表2:修改出库单列表成功输出结果:1:显示出库单列表2:修改出库单列表成功用例编号:10库存下限报警查询测试模块名称:库存下限报警模块功能:查看下限库存,提示报警输入数据:点击库存下限报警预期结果:显示下限报警库存信息输出结果:显示下限报警库存信息用例编号:11药品信息有效期报警测试模块名称:药品有效期报警模块功能:查看药品有效期,提示报警输入数据:点击有效期报警预期结果:显示有效期信息输出结果:显示有效期信息专心-专注-专业