医院进销存管理系统.docx
《医院进销存管理系统.docx》由会员分享,可在线阅读,更多相关《医院进销存管理系统.docx(46页珍藏版)》请在冰豆网上搜索。
医院进销存管理系统
前言
******市医院建于1917年,但是2001年底通过国家三级综合性医院评审,成为******市最大的三级甲等综合性医院,是该地域的医疗、教学、科研中心.
随着业务的不断发展和医院规模的扩大,越来越多的分院相继出现。
分院遍及的范围很广,使其管理成为一项难题。
******医院不仅以看病为主,它也有自己的药品研发团队,这就不得不考虑药品进销存的问题.
在当今市场,竞争永远不会被埋汰,医院也在向企业化进展,它们研发的产品需要市场、客户,这就不得不存在竞争的企业,而面对日益壮大的规模,仅仅还采用Excel进行记录的话,已经远远降低了效率。
因此为了适应时代的发展和社会的进步,医院纷纷都利用计算机以及各种开发系统来进行日常的管理,因此医院采用电脑管理进销存等诸多环节也已经成为必然的趋势,当下也非常流行。
本系统主要描述了******医院进销存的管理系统的分析、设计与开发过程,该系统采用最简单的方式,对医用药品等物资的采购、研发、仓储、销售与服务信息的增删查改等功能进行了实现.利用Java/JSP应用程序编程,直观的可以看到药品出入库的信息,便于维护和修改,操作简单。
全文共6章,着重介绍了******医院进销存管理系统的分析和设计过程。
第1章:
概述,说明项目的背景和现状,以及存在的目的和意义;
第2章:
开发技术简介,介绍系统开发中用到的关键技术;
第3章:
系统分析,说明系统的分析方法与分析结果;
第4章:
系统设计,说明系统的功能模块设计、数据库设计;
第5章:
系统实现,介绍详细设计,开发环境配置及各功能模块的详细设计方法与过程;
第6章:
系统测试,说明测试用例设计与系统测试结论。
第1章概述
进销存管理系统目前在各个行业中已经应用越来越普遍,几乎每个行业都具有相应的进销存管理系统,本系统是是鉴于目前******医院的业务范围不断扩大,旧的管理已经不能满足目前的需求,为了提高医院的工作质量和效率,同时也提高了医院的整体水平而为******医院开发的药品进销存管理系统。
1。
1项目的背景
******医院是******市三级甲等医院,至2003年,医院建筑面积达8。
1万平方米,拥有2.1万平方米的19层病房大楼和2.01万平方米的急诊大楼。
核定床位756张,实际开放床位1000多张,在职职工1300名,博士硕士生40名,高级专业技术人员170名,中级专业技术人员362名,年门急诊量近51万人次,年出院病人近2万人次。
它是******人民的主要就诊的医院,因此系统管理已经是必然的,尤其是医院药品进销存的管理已经在医院中存在着比较重要的地位。
传统的管理需要记录的数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。
数据处理手工操作,工作量大,出错率搞,出错后不易修改,所以医院药品的进销存管理也成为一项必然要重视的问题.在这种情况下,运行效率和效益逐渐成为医院关注的目标,降低成本是医院进一步发展和提升竞争力的关键。
其中,药品库存需要占用大量的空间和人员,增加了保管的难度,加大了仓储成本和耗损的风险,并影响到资金周转,在保证业务正常运行的情况下,实现高效、准确的库存控制和采购管理,提高药品采购效率,降低药品库存资金占用率,可有效地提高医院流动资金的周转速度。
1.2项目的目的及意义
随着互联网的发展,利用网络技术来实现“无纸办公”这个概念已经深入人心,医药管理系统作为医院信息化建设的一个重要平台在完成各种医药资源的合理统计与分配,互联网访问,医院管理,电子设备等方面发挥了重要的作用。
但是现在十分缺少类似的能够满足医院需求的医药进销存管理系统,为规范医院的医药进销存管理和数据统计和分析,在较小的代价下满足用户信息需求,为******医院设计这个医药进销存管理系统。
进销存管理系统是一个典型的数据库应用程序,根据医院的需求,为医院解决传统记录效率不高的问题,采用先进开发技术,将集进销存多个环节于一体。
基于日常需求的条件下,以满足操作过程中的直观简便以及安全性,将整款系统模块化,这样便于使用和维护;实现管理员在数据库中的增删改查等功能。
相对于老的管理方式,这种管理降低了人力成本和时间成本,提高了医院的工作质量和效率,同时也提高了医院的整体水平,使得医院的管理越来越规范化.因此,在选题过程中,选择药品进销存管理系统设计题目,依靠现代化的计算机信息处理技术来管理药品进销存,减轻了劳动强度,并且能够快速反映出药品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快进销存经营管理效率。
第2章开发技术简介
该系统用Java作为开发语言,Java是比较流行的面向对象的编程语言,可以跨平台,使用的人数也很多,也是一直以来很多人所学习和熟悉的开发语言。
开发工具选用MyEclipse,使用JSP技术来显示界面,服务器使用ApacheWeb服务器。
后台数据库选用SQLServer2005,此版本数据库操作比较简单,性能比较优化。
2。
1Java语言
Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
Java的主要特征如下:
1.Java语言是简单的
Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java.
2.Java语言是一个面向对象的
Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。
3.Java语言是分布式的
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(javanet),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。
4.Java语言是健壮的
Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。
对指针的丢弃是Java的明智选择。
Java的安全检查机制使得Java更具健壮性。
5。
Java语言是安全的
Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击.
6.Java语言是体系结构中立的
Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
这种途径适合于异构的网络环境和软件的分发。
7.Java语言是可移植的
这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。
Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的.
8。
Java语言是解释型的
Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。
在运行时,Java平台中的Java解释器(JVM,又称java虚拟机)对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中.
9.Java是高性能的
与那些解释型的高级脚本语言相比,Java的确是高性能的。
事实上,Java的运行速度随着JIT(Just—In—Time)编译器技术的发展越来越接近于C++.
10。
Java语言是多线程的
在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。
通常有两种方法来创建线程:
其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。
11。
Java语言是动态的
Java语言的设计目标之一是适应于动态变化的环境。
Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类.这也有利于软件的升级。
另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
2.2MyEclipse
MyEclipse是一个十分优秀的功能强大的JavaEE的集成开发环境.MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率.
对于MyEclipse所具备的功能,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们.MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级.
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6。
0以前版本需先安装Eclipse。
MyEclipse6.0以后版本安装时不需安装Eclipse。
2.3SQLServer2005
SQLServer2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。
SQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
次外,SQLServer2005集合了分析、报表、集成和通知功能。
SQLServer可以支持Unix、Linux、Windows等多种操作系统;同时,它既提供了API给各种编程语言,也支持多线程。
也充分利用CPU的资源;也提供了许多数据库连接途径比如:
JDBC、ODBC等。
SQLServer是一个处理上千万条记录的大型数据库。
它对于一些中小型企业和个人使用者来说,所提供的功能完全可以应付自如.因为SQLServer是一个开放源代码的软件,所以完全可以大大降低总体的成本。
2.4JSP
JSP网站开发其实就是采取Java语言来设计并且编写类,并且来封装产生动态网页的处理逻辑.HTML代码和Java代码构成了JSP页面。
在JavaServlet和JSP的相互配合下可以完成一定规模WEB应用开发.JSP技术拥有的优点是方便使用和面向对象。
目前如果需要构造具有跨越平台型和面向对象的动态网站的话首要选择就是JSP网站开发技术。
JSP技术在不断的发展和创新.
1.分离内容的生成和现实:
开发人员可以分离内容的生成和现实.
2。
可重用组件:
程序开发人员之间不仅可以相互共享并且还可以相互交换使用普通组件,也能够让更多的开发者或者有需要的人使用。
根据组件的运用规则不仅能够加速系统开发,而且能够让所有不同的团体在他们如今拥有的技术以及优化成果的开发中取得最大的平衡。
3.采用标识:
不是所有的页面开发人员都很熟悉脚本语言。
许多容易使用和需要生成动态内容的功能都封装了JSP技术。
2。
5Apache
Apache在大部分计算机操作系统中都可以操作,因为它具有多平台和高安全性的特点所以普遍应用,而且它乃现如今时尚运用最为广泛的Web型服务器软件。
它不仅速度快,安全性高,可以使用一个简单的API函数展开,在服务器上为翻译.
Apache不仅简单使用,快速使用,性能安全稳定,但也可以作为一个代理服务器使用,ApacheWeb服务器具有以下几个特点:
(1)支持通用网关接口
(2)支持基于IP和基于域名的虚拟主机
(3)支持多种方式的HTTP认证
(4)集成代理服务器模块
(5)支持服务器端包含指令(SSI)
(6)提供用户会话过程的跟踪
(7)支持FastCGI
第3章系统分析
系统分析的主要任务是将系统有关的文档资料进行整理,集中起来,来对系统的内部结构状况进行分析,是对系统整体功能的分析。
分析的内容主看系统的功能和数据是否通畅,以及功能之间的关系是否合理。
系统分析的目的是为用户对系统的需求的确定。
目前常用的系统分析方法有基于数据流的结构化方法、面向对象的方法、面向领域的方法等。
本系统采用的是面向对象的技术。
3.1功能分析
******医院占地面积9。
4万平方米。
面对越来越多的分院产生和广大人民对医院的需求也越来越多,人性化的管理会使医院的管理水平得到高效的提升,为了弥补存在的缺陷,提高医院的效益,我们开发了医院进销存管理系统,以提高医院的竞争力,实现医院的信息化管理.
医院的进销存管理系统主要是对医院药品进行进货、销售、存储。
为了开拓市场,以及对销售服务的售后分析,增加了市场和服务。
每个系统必须具备管理员,才能对系统进行有效地管理.
经过分析并结合对医院的实际调查,将该系统设置为9个模块,分别是登录、采购管理、客户管理、产品管理、仓库管理、市场管理、服务管理、销售管理及系统管理模块.从界面上看每个模块都是相对独立的,而进入到数据库时各个数据都是有着紧密的联系的。
后台定义了一个数据库,所有的功能在所分配的表中进行编辑修改。
以下详述各模块的具体功能:
1。
登录模块:
输入正确的用户名和密码后才能进入主页面,进行其他操作。
2。
采购管理模块:
包括对采购信息的增、删、改、查及一些辅助功能。
3.客户管理模块:
包括对客户信息的增、删、改、查及一些辅助功能。
4。
产品管理模块:
包括对产品信息的增、删、改、查及一些辅助功能。
5.仓库管理模块:
包括对仓库信息的增、删、改、查及一些辅助功能。
6。
市场管理模块:
包括对市场信息的增、删、改、查及一些辅助功能。
7。
服务管理模块:
包括对服务信息的增、删、改、查及一些辅助功能。
8.销售管理模块:
包括对销售信息的增、删、改、查及一些辅助功能.
9.系统管理模块:
该模块的内容为用户登录、用户密码更改、用户信息及权限管理子模块,其中权限管理子模块主要就是用来检查当前登录者的身份,然后为当前登录者设置不同的权限.
系统功能用例图如图3-1所示:
图3—1 系统功能结构图
3.2性能分析
1.速度
电脑环境为Win7操作系统、IE浏览器、CPU主频为2GHz以上,2GB内存配置。
本系统的服务器配置完全可以承受这种需求。
向服务器发出请求时,能快速做出应答,对用户的需求能够很好的满足。
2.灵活性
系统主要使用三大框架进行开发,当系统需要做出修改时,就会存在很大的灵活性,适用性强。
方便,简单。
3.安全性
本系统只有具备权限的人才能使用,即要输入正确的用户名和密码,哪一项错误,都不能登入,无法使用.只有两项都正确,才能使用系统。
4.实用性
该系统不仅适用于******医院,其他医院也可以根据自己的自身的情况进行部分修改使用,系统也会帮助医院提供一些问题的解决方法.
5.可维护性
系统经过一段时间就会进行检测保养,确保系统能正常运行,并能使系统稳定的改善和进步,为了充分发挥作用,维护要有计划、有组织的进行.
3。
3可行性分析
1.技术可行性:
目前比较流行的开发技术当属Java,它是可以跨平台的面向对象开发语言,使用的人数也很多,.开发工具选用MyEclipse8.6。
后台数据库选用SQLServer2005,操作比较简单,性能比较优化,节省时间,金钱。
2.经济可行性:
软件经济可行性是指软件开发所能带来的经济效益与开发设计时所需要的投资相比时候合适,同时还要看软件能否给使用者带来经济效益,本系统对于医院进销存管理,节省了工作时间,方便操作与管理而设计。
本系统的经济上是完全复合条件的,开发软件不需要过多的经费,属于个人独立设计,节约许多开发是产生的费用,同时也提高了个人的实际动手能力。
所以经济方面是可行的。
3。
操作可行性:
该系统界面直观友好,操作简单,整个系统各个功能进行模块化,提供了最简单的操作机制。
操作即可以上手,不存在任何操作困难,无需岗前培训.本系统的管理人员对于开发这个应用项目的态度而且管理方面的条件都比较成熟。
第4章系统设计
系统设计的作用是根据系统分析阶段所得出系统功能与性能需求进一步确立系统的详细功能模块及各模块间存的依存联系.目前,常用的系统设计方法主要有瀑布法、原型法、面向对象方法等。
为了和开发语言与开发环境保持一致,增强系统的可维护性与可扩展性,本系统的设计采用了面向对象的设计方法,用UML语言进行建模,采用UML中的实体类图表示系统中的实体,而各个功能模块间的逻辑关系采用顺序图进行表示。
4.1实体类设计
经过对系统的需求分析以及系统的整体结构,采用RationalRose画图软件将系统各个实体类绘制如图4—1至图4—14所示:
图4—1用户信息图4-2产品信息
图4—3仓库信息图4—4库存信息
图4—5入库信息图4-6出库信息
图4-7销售产品信息图4-8退款信息
图4—9服务信息图4-10物料信息
图4—11供应商信息图4—12采购信息
图4—13收款信息图4—14生产单信息
如图4-15所示为部分实体类图之间的关系:
图4-15实体类关系图
4.2模块顺序图
系统被分为9大模块:
登录模块、采购管理模块、客户管理模块、产品管理模块、仓库管理模块、市场管理模块、服务管理模块、销售管理模块及系统管理模块,采用UML的顺序图对其进行描述,展示出各个用例的行为顺序.
1.登录模块:
用户通过输入用户名和密码,通过发送请求及其对数据库中的数据进行对比验证,正确的话,则进入主页面,否则,请求发送失败。
模块顺序图如图4—16所示:
图4-16登录模块顺序图
2.产品信息管理模块:
进入该模块后,主要对此模块的增删查改等功能进行操作,辅助功能不进行顺序图的展示,模块顺序图如图4—17所示:
图4-17产品信息顺序图
3。
仓库信息管理模块:
进入该模块后,主要对此模块的增删查改等功能进行操作,辅助功能不进行顺序图的展示,模块顺序图如图4-18所示:
图4—18仓库信息顺序图
4.市场信息管理模块:
进入该模块后,主要对此模块的增删查改等功能进行操作,辅助功能不进行顺序图的展示,模块顺序图如图4-19所示:
图4—19市场信息顺序图
5.客户信息管理模块:
进入该模块后,主要对此模块的增删查改等功能进行操作,辅助功能不进行顺序图的展示,模块顺序图如图4-20所示:
图4-20客户信息顺序图
6。
销售信息管理模块:
进入该模块后,主要对此模块的增删查改等功能进行操作,辅助功能不进行顺序图的展示,模块顺序图如图4—21所示:
图4—21销售信息顺序图
7.服务信息管理模块:
进入该模块后,主要对此模块的增删查改等功能进行操作,辅助功能不进行顺序图的展示,模块顺序图如图4-22所示:
图4—22服务信息顺序图
8.采购信息管理模块:
进入该模块后,主要对此模块的增删查改等功能进行操作,辅助功能不进行顺序图的展示,模块顺序图如图4—23所示:
图4-23采购信息顺序图
9。
系统管理模块:
进入该模块后,主要对此模块的增删查改等功能进行操作,辅助功能不进行顺序图的展示,模块顺序图如图4—24所示:
图4-24系统管理顺序图
4。
3数据库表
用实体类的映射出数据库表,系统一共有14个数据库表,具体的见表4—1至表4-14所示:
1.用户信息表:
该表主要对可以使用所设计的系统的用户的基本信息进行储存.如表4-1所示:
表4—1 user(用户信息表)
字段名称
类型
是否主键
是否为空
注释
userid
VARCHAR(50)
是
否
用户编号
username
VARCHAR(50)
否
否
用户名
password
VARCHAR(50)
否
否
密码
name
VARCHAR(50)
否
否
用户姓名
sex
VARCHAR(50)
否
否
性别
zhiwu
VARCHAR(50)
否
否
职务
phone
VARCHAR(50)
否
否
联系电话
2.产品信息表:
该表主要对产品的基本信息进行储存。
如表4-2所示:
表4-2 chanpin(产品信息表)
字段名称
类型
是否主键
是否为空
注释
chanid
VARCHAR(50)
是
否
产品编号
channame
VARCHAR(50)
否
否
产品名称
piwenhao
VARCHAR(50)
否
否
批文编号
chanleixing
VARCHAR(50)
否
否
产品类型
chanjixing
VARCHAR(50)
否
否
产品剂型
jiage
FLOAT(8)
否
否
批发价格
guige
VARCHAR(50)
否
否
规格
chengfen
VARCHAR(200)
否
否
主要成份
gongneng
VARCHAR(200)
否
否
功能主治
yongfa
VARCHAR(200)
否
否
使用方法
xiatime
DATETIME(8)
否
否
下线时间
xiayuanyin
VARCHAR(200)
否
否
下线原因
biaozhi
INT(4)
否
否
标志位
3.仓库信息表:
该表主要对仓库的基本信息进行储存。
如表4—3所示.
表4-3 cangku(仓库信息表)
字段名称
类型
是否主键
是否为空
注释
ckid
VARCHAR(50)
是
否
仓库编号
dizhi
VARCHAR(50)
否
否
仓库地址
mianji
VARCHAR(50)
否
否
使用面积
ckphone
VARCHAR(50)
否
否
仓库电话
fuzeren
VARCHAR(50)
否
否
负责人
fuphone
VARCHAR(50)
否
否
负责人电话
4.库存信息表:
该表对仓库存储的产品和物料进行存储。
如表4—4所示:
表4—4 kucun(库存信息表)
字段名称
类型
是否主键
是否为空
注释
kcid
VARCHAR(50)
是
否
库存编号
ckid
VARCHAR(50)
否
否
仓库编号
wupinid
VARCHAR(50)
否
否
物品编号
wulengxing
VARCHAR(50)
否
否
物品类型
kcliang
INT(8)
否
否
库存数量
yujingzhi
INT(4)
否
否
预警值
5.入库信息表:
该表主要对产品和物料的入库进行存储。
如表4—5所示:
表4—5 ruku(入库信息表)
字段名称
类型
是否主键
是否为空
注释
rkid
VARCHAR(50)
是
空
入库编号
kcid
VARCHAR(50)
空
空
库存编号
rkleixing
VARCHAR(50)
空
空
入库类型
danjuid
VARCHAR(50)
空
空
单据编号
rkshuliang
INT(8)
空
空
入库数量
rktime
DATETIME(8)
空
空
入库时间
shren
VARCHAR(50)
空
空
送货方经手人
ckren
VARCHAR(50)
空
空
仓库方经手人
6.出库信息表:
该表主要对