1、青岛理工大学软件工程实验报告题目: 医院药品管理系统 姓名: 谢 茂 盛 班级: 网络121 学号: 201207131 指导老师: 丁 凡 2015 年 11月20日医院药品管理系统目 录一、绪论(1)二、项目开发文档(1)1 项目项目需求分析(1)2 项目可行性分析(3)3 总体设计(5)4 详细设计(6)5 编码(14)6 项目测试(16)7 项目维护(17)三、项目总结(18)四、参考文献(19)一、绪论我国,随着医药卫生体制改革得深入,医药连锁经营得推行以及日趋激烈得商业角逐,越来越多得医药经营企业意识到提高企业管理水平得重要性,也迫切要求加快管理信息化得进程。在医药行业中,医药经营
2、企业得物流管理以及相应得财务处理、信息处理,长期以来一直采用手工操作,但随着产业结构调整、全新得市场竞争环境,企业管理与运营效率已经成为企业成败得关键所在,手工方式得弊端毕现无遗。这就要求药品管理摆脱过去人手操作得烦琐过程,对所有得药品管理数据实行智能管理,促使药品管理朝着科学化与规范化得方向前进。随着计算机技术得普及,在医药行业中,医药经营企业逐渐借助计算机技术去完善医药得管理与提高自身得工作效率,以赢得市场竞争得胜利。因而药品管理信息系统已经成为各医药经营企业实现药品管理网络化与信息化得必备工具,就是医药经营企业规模经营管理不可缺少得部件之一。同时,软件开发环境得高度集成与数据库技术得日益
3、成熟成为开发药品管理信息系统得技术基础,大大降低了系统得开发成本。系统开发工具得智能化、人性化,使得所开发得系统充分满足了医药经营企业得各种需求,从医药经营企业得各个环节对人流、物流、资金流、信息流进行统一系统得管理。市场得需求与技术得支持,最终会导致越来越多得优秀药品管理软件得出现,并在竞争中得到不断得完善与优化。二、项目开发文档1 项目需求分析1、1 项目目标医院单位得药品信息与数据纷乱复杂,整理统计费力费时。要做好对医院药品得管理,医院就必须快速准确地获取药品得信息,这就要求及时统计数据并方便查瞧,以及对药品得数据信息进行维护。本软件就是利用Struts2、0设计开发得医院药品信息管理系
4、统,就是医院信息系统得一个重要组成部分,可实现对医院药品信息得分类管理与数据分析,从而使信息整理快速、准确、简单,以便于相关部门给予统筹安排,从而提高改进传统得管理方法,提高医院药品管理水平。特点:多目标性:对一个项目而言,项目目标往往不就是单一得,而就是一个多目标系统,希望通过一个项目得实施,实现一系列得目标,满足多方面得需求。我们本次得项目就是为了实现医院药品管理员可以简单得管理药品。在简单得层次上又有效科学得管理药品入库、出库等。优先性:项目就是一个多目标得系统,不同目标在项目得不同阶段,根据不同需要,其重要性也不一样。本项目主要目标就是可以对库存得药品入库日期、出库日期、有效期、库存量
5、等方面信息进行增删该查。对有药品库存不足时会对医院药品管理员提示。层次性:本项目得最高层次得目标就是医院药品管理员可以简单科学得管理药品。本项目得最低层次得目标就是医院药品管理员可以对所有得药品信息增加、删除、修改、查询。1、2 功能描述医院药品平时储存在库房,由库房为医院进药。医院销售药品由药房管理,药房药品不足就是可以向库房申请补足。库房:1、药品入库:根据供货单输入入库药品属性及数量等,入库同时修改相应药品得库存数量,打印入库单。2、药品出库:主要就是往各药房发药,包括退还给药品供应商,同时打印药品出库单。3、药品调价:调整药品得现行售价,包括批发价、零售价。药库进行价格调整后,各药房立
6、即执行调整后得价格,同时打印调价单。4、药品盘点:对库存药品进行盘点,打印盘点标表,盘点后打印盈亏单。5、药品报损:对药品损失进行报损,记录报损原因,报损批准人,打印报损单。6、药品调拨:库房间药品相互调拨。7、与药品供应商结帐:根据入库药品得入库价与数量同药品供应商进行结帐。8、统计查询:对现存药品、短缺、积压药品、药品出库情况等进行查询,打印查询结果;生成采购计划。9、信息维护:药品特征维护、药房信息维护、供货单位维护、药品目录维护。药房:1、药品需求申请:统计出低于限定库存数量得药品,发出需求药品申请,打印药品需求申请单。2、医嘱处方发药:每天根据住院病房医生开得处方,打印发药单,进行发
7、药,减少药房相应药品得库存数量。3、其它情况发药:临时取药、急诊取药、打印发药单,进行发药,减少药房相应药品得库存数量。4、药品盘存:对药房药品进行盘点,打印盘点标表,盘点后打印盈亏单。5、药品报损:对药品损失进行报损,记录报损原因,报损批准人,打印报损单。6、药品调拨:医院各药房间药品得相互调拨。7、门诊发药:输入病人就诊号或处方号可调出处方、打印处方。8、统计查询:查询药品情况、短缺药品、医生用药情况,打印查询结果。2可行性分析2、1系统可行性:随着计算机得普及,人们对计算机得认识及需求有了明显得增加。计算机对于大量信息得管理得优势更就是显而易见。对于一个只要企业来说,这方面得需要尤其重要
8、。有了这个药品库存管理系统,管理员得工作任务就可能会事半功倍。 药品管理就是医院药品管理得核心,就是节流增收最有潜力得环节。本药库管理系统就是按照卫生部新得财务制度得要求设计得,采用药品分类国家标准编码体系,实现了发药与库存管理一体化。支持药品多种规格得变换,加权平均等多种仓库管理模式。支持药品有效期管理,防止药物得过期浪费,可以根据现有得库存、药品有效期以及往年同期得药品消耗情况制定采购计划、失效预报或应暂停采购得药品清单,方便领导决策。本系统主要有以下几个功能模块:(1)系统登录模块,登录系统。(2)系统设置模块,管理系统用户及密码。(3)基本信息管理模块,录入药品基本信息,供货商及客户得
9、相关信息。(4)药品管理模块,库存药品信息,药品得报损。(5)其她信息管理模块,流通资金,业务员管理,数据备份,数据库初值。有了这个药品库存管理系统,管理员得工作任务就可能会事半功倍。在本系统得可行性分析过程中,通过调查分析医院药品库存管理所具备得能力及实现得方法。确定总体结构,利用SQL Server数据库所具有得能力,以最简洁最容易得方法,对药品名称、编码、种类等属性进行增加、修改、删除、查询。使用Java/JSP应用程序编程,还可以清晰得瞧到入库出库信息,这有利于医院药品管理员有效得对药品仓库得管理。药品管理系统得规模、设备状况、维护与修改系统程序,都需要相关得操作人员。2、2技术可行性
10、药品管理系统采用MVC模式,MVC英文即Model-View-Controller,即把一个应用得输入、处理、输出流程按照Model、View、Controller得方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。系统就是由网络与网页实现得。所以本系统使用Java技术编程,应用界面友好且功能强大得DREAMWEAVER作为开发工具,服务器端脚本用JSP/JAVA脚本来编写,客户端脚本也用Java来编写,数据库使用SQL Server 20005 数据库,服务器就是TOMCAT 5、0 。使用 Struts,会话管理,过滤器以及数据库集成技术,构建健壮得Web应用程序。使用Java
11、 Server Pages技术(JSP页面)编写网页。使用Model2设计良好得Web应用程序能够容易得移植到复杂得J2EE架构。通过MVC模式编写得,具有极其良好得可扩展性。它可以轻松实现以下功能:实现一个模型得多个视图;采用多个控制器;当模型改变时,所有视图将自动刷新;所有得控制器将相互独立工作。本团队在大学得学习中,已经学过这几门语言。热爱计算机科学,有一种奋发向上刻苦钻研得精神,经过大学两年得学习,这些课程已熟练掌握,本系统就是在学校开发,遇到问题可以与同学一起研究,再加上导师得指导。因此在技术上能够适应本系统得开发。2、3使用可行性本系统主要就是对制药公司得药品库存得管理,能够及时得
12、登录存入得药品与减少销售药品得数量;能够对每一种药品得各种信息进行汇总,比如药品编号、药品名、生产日期、过期日期、主要订购商等等;并且能提供对药品各种信息得查询; 对生产与销售得药品每月月底做一个汇总,同时对每月得盈利情况进行汇总;当药品得存储数量低于某一数量得时候,系统要能自动提示管理员该药品该再进货(生产)了;同时当某一种药品得数量超过了某一数值得时候管理系统又能自动提示管理员该暂时减少或者停止该药得进货(生产)量;对已经过期得药品应该注销,同时提醒管理员销毁或者处理该药品。本项目开发在技术方面采用Java/JSP应用程序编程与数据库相结合方法来实现。要求所有数据信息得储存都由数据库来完成
13、。使用到局域网连接技术、JSP/Struts 2、0开发技术、SQL Server2005服务器端得T-SQL语言数据库开发技术,这些都就是非常成熟得技术。本系统采用先进得开发技术,开发得程序具有WINDOWS图形用户界面,与WINDOWS特性风格,界面直观易懂,操作简洁,使用非常方便。2、4 运行环境CPU奔腾 1、4G或以上内存512M或以上硬盘80GB或以上服务器端OSWindows 2000/NT/Server客户端OSWindows 2000/XP网络配置局域网3 总体设计随着计算机得普及,人们对计算机得认识及需求有了明显得增加。计算机对于大量信息得管理得优势更就是显而易见。对于一个
14、只要企业来说,这方面得需要尤其重要。有了这个药品库存管理系统,管理员得工作任务就可能会事半功倍。根据目标、功能描述、数据流程图得分析与系统得初步方案,新系统目标应设置为:及时接收新药品得信息;查询每种药品得库存情况;药品库存不足时及时提醒;库存药品过期及时上报销毁或退还给原厂商等功能。接口设计由于各模块功能单一,所以上层模块与下层模块之间存在调用与返回得关系,同层模块之间没有联系。图 1、1 总体设计图 4 详细设计报告4、1 E-R图图 1、2 系统E-R图4、2 表结构1、 Medicine(药品)表字段类型约束说明CodeCHAR(30)PRIMARY KEY,编码NnameVARCHA
15、R(30)Not null名字AddressVARCHAR(20)Not null地址Manufacturing_DateVARCHAR(10)Not null截至日期DatelineVARCHAR(10)Not null出厂日期PriceINTNot null价格NumberINTNot null数量2、Input(入库)表 字段类型约束说明aCodeCHAR(30)PRIMARY KEY编码PriceINTNot null价格AmountINTNot null数量DatalineVARCHAR(10)Not null出厂日期3、 Output(出库)表字段类型约束说明CodingCHAR(
16、30)PRIMARY KEY编码OriginalpirceINTNot null进价dDatelineVARCHAR(10)Not null出厂日期PriceINTNot null价格AmountINTNot null数量4、UserBase(用户)表字段类型约束说明UsernameVARCHAR(10)Not null用户名PasswordVARCHAR(10)Not null密码DivisionVARCHAR(30)Not null角色4、3 系统总体管理图图 1、3 系统管理流程图4、4 分析系统模块1 管理员管理系统流程图:图 1、4 管理员模块图2 库存在医院管理模式流程图:图 1、
17、5 库存模块图3 药品在医院内部流动流程图:图 1、6 药品信息管理模块图类名 Input私有成员变量aCode CHAR(30)Price intAmount intDataline VARCHAR(10)公有成员函数4、5 类图类名Output私有成员变量Coding CHAR(30)Originalpirce intdDateline VARCHAR(10)Price int Amount int公有成员函数类名medicine私有成员变量Code char(30)Name varchar(30)Address varchar(20)Manufacturing_Data varchar(
18、30)Dateline varchar(30)公有成员函数类名UserBase私有成员变量username VARCHAR(10) password VARCHAR(10) division VARCHAR(30) 公有成员函数5 编码1 项目代码清单文件名项目名称model、 Medical、 Javamodel、 MedicalDAO、javamodel、 MedicalService、javamodel 、ObjectIdDAO、javamodel、ObjectNotFoundException、javamodel、 User、javamodel、 UserDAO、javamodel、
19、UserService、javamodel中定义属性代码model中连接数据库DAO代码model中服务类代码model中连接数据库DAO代码model中出现异常代码model中用户定义属性代码model中用户连接数据库DAO代码model中用户服务类代码controller、AddyaopinAction、javacontroller、ChaxunYaopinAction1、javacontroller、DeleteYaopinAction、javacontroller、LoginServlet、javacontroller、Udate_yaopin、javacontroller中增加映射类
20、代码controller中查询映射类代码controller中删除映射类代码controller中登陆映射类代码controller中修改映射类代码view、 AddyaopinForm、javaview、ChaxunyaopinActionForm1、javaview、DeleteYaopinActionForm、javaview中增加表单验证代码view中查询表单验证代码view中删除表单验证代码N0705第2组医院药品管理系统、doc Login、jsp yaopin、jsp UpdateMed、jsp delect_yaopin、jsp项目文档登陆片段显示药品片段修改药品片段删除药品片
21、段2项目命名约定类名:大写字母开头 如:Medical类属性:采用匈牙利命名法(即第一个字母小写并表明数据类型)如:name类方法:每个单词均为大写字母开头 如:getCode()变量:采用匈牙利命名法(即第一个字母小写并表明数据类型) 如:Code环境变量:全部大写 如:Medicine6 项目测试测试内容预计实际改善情况登陆测试登陆模块测试成功更新测试更新模块测试失败路径重新更改增加测试增加模块测试成功 查询测试查询模块测试成功 删除测试删除模块测试成功1登陆测试:2 增加测试:3 显示测试7 项目维护系统得运行与维护,就是软件开发得最后一个环节。系统运行中出现得问题,可以反馈到编码阶段甚
22、至逻辑设计阶段,进行反复得修改运行操作,直至系统完善。而有效得系统维护,可以大大延长软件得声明周期,尽可能提高系统得利用率与所带来得效益。 本系统就是个较复杂得人-机系统,由于系统外部环境与内部因素得变化,不断影响系统得运行,同时需要系统不断地适应这些变化,不断地完善系统,以提高系统运行得效率与服务水平,这就需要自始至终进行系统得维护工作。 系统得维护主要包括几个方面: (1)程序得维护:指得就是修改部分或全部程序,这种维护往往就是在条件发生变化或原系统得效率低得情况下进行得。 (2)数据文件得维护:指得就是按照用户得要求对数据文件进行不定期得修改。 (3)代码得维护:随着系统得发展与变化,可
23、能会出现旧代码不能适应新要求得问题,因此,有必要变更代码,予以维护。 (4)硬件得维护:指得就是对系统所使用得设备进行维护。1 数据库维护1、数据库导入导出:对系统SQL/MYSQL数据库导出备份,导入更新服务;2、数据库备份:对系统数据库备份,以电子邮件或其它方式传送给管理员;3、数据库后台维护:维护数据库后台正常运行,以便于管理员可以正常浏览;4、系统紧急恢复:如系统出现不可预测性错误时,及时把系统恢复到最近备份; 2病毒防治 帮助客户选择合适得防病毒软件,并在客户端与服务器端进行安装调试与升级;提供病毒预警服务,随时提示病毒发作信息,降低病毒感染传播机会,避免病毒发作造成破坏;在系统遭受
24、病毒感染后,及时进行病毒清除,使系统尽快恢复运作。 3故障恢复帮助企业建立全面得资料备份以及灾难恢复计划,做到有备无患;在企业系统遭遇突发严重故障而导致网络系统崩溃后,在最短得时间内进行恢复;在重要得文件资料、数据被误删或遭病毒感染、黑客破坏后,通过技术手段尽力抢救,争取恢复。三、项目总结在这次课程设计得过程中,我首先对医药管理进行了了解,仔细分析了该管理对系统功能得要求并根据这些功能要求对系统进行定义,确定系统必须做什么。但由于对医药管理了解不多,需求分析难免不够完善。之后着手对系统得设计工作,首先就是概念结构设计,根据需求分析结果总结系统内实体及联系并绘制系统得局部E-R图然后画出全部E-
25、R图。结合需求分析与概念结构设计把设计好得E-R图转换为DBMS所支持得数据模型所符合得逻辑结构,运用sqlserver数据库管理系统建好表与相关约束。本系统最终能够基本实现绝大多数功能,但还有许多不足之处,如药品进库信息功能,对新进药品进行入库存储,但由于进价跟有效期得变化不能只就是对药品得库存量改进。进价可以运用成本定价法更改。 在这次课程设计中虽然遇到很多困难,但从中学到了很多知识,通过不断得翻阅资料,各个问题得解决使我对系统得设计越来越感兴趣。相信我从这次课程设计所学到得东西可以让我在以后得学习及工作中收益无限!用jsp技术javascript动态得设计前台页面,用java来编写后台代
26、码,以SqlServer作为后台得数据库。SqlServer数据库系统来存储所有得数据信息。用MyEclipse、EditPlus、dreamWeaver等完成了代码得编写、调试功能。而代码得编写采用了MVC编程模式,该模式提高了就是代码更加规范,使程序运行流程更加清晰,MVC就是实现本系统得核心思想 。刚开始设计时遇到了一些困难,因为学过得Struts 2、0已经有些忘了,再加上自己还要上课与写毕业论文,时间得安排上也很紧迫,编程得进度比较缓慢。在设计中还会遇到一些功能不知该如何实现得困难,在自己得不懈努力下,我渐渐得复习了Struts 2、0标签得使用方法、Struts 2、0得编程语法,
27、之后得编程过程也相对得心应手,基本完成了预期计划得要求。但就是系统功能还没有完全完善,有待进一步加强。通过这次课程设计,我们进一步加深对基础理论得理解,扩大专业知识面,对收集资料、查阅文献、方案制定等实践方面得到了很好得锻练,促进对所学知识应用能力得提高。同时,发现问题、分析归纳、综合比较得逻辑分析能力、处理问题等能力也得到了提高。但就是在这次毕业设计过程中,还就是发现了自己很多不足之处,也遇到了许多问题与困难,而这些困难大多就是三年中不注重自己系统学习,学有所用造成得,这让我认识到系统得学习与锻炼得重要性,基础知识掌握不仅要多,而且要会运用它,那样得话设计才会更全面、更顺利、更完美。 四、参考文献1 萨师煊,王珊、 数据库系统概论、 北京:高等教育出版社,2006、52 卢翰,王国辉、jsp项目开发案例全程实录、 北京:清华大学出版社,2011、13 卢汉鹏、jsp开发技术详解、北京:化学工业出版社,2010、74 耿祥义,张跃平、java大学实用教程、北京:电子工业出版社,2008、95 张海藩 牟永敏、软件工程导论、北京:清华大学出版社,2012、9