药品进销存管理系统的设计与实现.docx
- 文档编号:28113476
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:33
- 大小:278.98KB
药品进销存管理系统的设计与实现.docx
《药品进销存管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《药品进销存管理系统的设计与实现.docx(33页珍藏版)》请在冰豆网上搜索。
药品进销存管理系统的设计与实现
1绪论
药品进销存管理系统是药品进销存发展管理信息化,建立全新的药品经营管理平台,能将原先的药品管理工作从原先的人工化向网络化转变的产物。
改进了原先药品信息管理的复杂性和准确性的矛盾,提高管理效率,药品企业得到长远发展,也促进药品管理朝着科学化方向发展。
1.1研究背景
随着科技的不断进步,市场越来越广阔,赚钱的利润也越来越大。
企业如果安于现状肯定会被淘汰,所以企业都在不断改革以创新来增加自身竞争力。
医药企业也在完善着自己的信息管理系统,对内部管理整合,高效、合理的参与到竞争中去。
以前都是手工管理各种数据,但是手工管理最明显的缺陷就是效率低下。
此外很难保持药品数据的一致性,例如某个药品要更改它的药品编号,那么这个药品的现在记录的数据和原来记录的数据就会不一致,使得查询起来很费力。
要是手工操作去把所有的数据去修改,那工作量会很大,而且还容易遗漏出错。
人工管理药品仓库,很花费人手,在点货物时还容易点错,更严重的情况是会使某些放在角落的药品不知不觉中过期而造成不必要的损失。
因此很有必要在现有的软硬件技术、网络技术基础上,开发一个提高企业流动资金的周转速度的药品管理系统,保证药品企业业务正常运行,使得库存管理和药品采购能更高效、更准确。
因为有着可靠性高,保密性好,成本低的优点,建立了一套新的符合实际状况,契合自身条件的管理系统,能更有效的帮助企业管理,促进企业健康快速的发展,更好的提高企业市场竞争力和经济效益。
1.2系统开发的意义
利用数据库系统可以很好的对数据进行维护,减少由于数据不一致等错误带来的麻烦[1]。
方便数据的更新和查询,降低错误率,方便药品信息的维护及库存的盘点。
还可以运用较少的人员,高效的完成对医药进销存的管理。
由于社会信息化的发展,各个行业都要加强自身的信息化程度以适应社会的发展。
而管理信息化正迎合了这个趋势,数据库系统在医药业的应用实现了医药业执行工具、业务管理等的信息化。
医药业的发展因此有了新的活力。
相信随着社会的不断发展对该类系统的需求会越来越高。
1.3国内外研究现状及分析
经历了很长的时间发展的国外物流业,其配送管理技术已比较成熟。
目前,国际上大多数发达国家的药店基本上实现了电脑管理,尤其是那些较大型的医药公司还采用了大型数据库开发的软件。
多数中小型药店都用上了Access数据库。
基于Mysql数据库的医药管理系统在大多数不发达国家被广泛使用。
而在中国,许多小型药店用的还是手工图书管理,大多数药店对计算机管理信息还没有一定的认识。
由此可见在我国医药行业还是有很多潜力可挖的,SQL数据库具使用方便,学习简单,所以在我国有着很广阔的发展前景。
1.4论文框架
本文主要内容为药品进销存管理系统,全部章节如下:
第一章,绪论。
简单介绍了药品进销存管理系统的研究背景、国内外现状以及简单阐述了论文各章节的内容。
第二章,系统需求分析。
主要对本系统的需求分析进行简单的阐释并且进行可行性研究分析。
第三章,系统设计和开发平台。
主要包括系统设计的总体结构,系统数据结构和数据库的设计。
对系统的相关技术进行介绍和分析,介绍系统开发过程中应用到的一些技术,这些技术的特点和这些技术对系统的作用。
第四章,系统详细设计。
介绍了界面的设计:
登录窗体,系统主界面,系统用户界面的设计,及相关代码,界面上主要的控件以及各个模块的主要功能。
第五章,系统测试。
包括系统系统测试的环境,系统测试的方法,测试的内容以及对系统的评价和总结。
2系统需求分析
需求分析是软件开发必不可少的一项工作,不论采用哪种开发技术,首先都要弄清楚系统在功能、性能以及环境等方面的用户需求,将用户需求精准化、完全化的过程,保证开发出来的软件是否真正满足用户的需求。
也是延长软件生命周期、减少软件开发费用的需求。
药品的进销存是一个复杂的系统工程,本系统主要用于调配和监管药品出库、入库、储存的管理工作,将部分复杂而琐碎的工作自动化,从而提高管理效率降低人员成本。
2.1系统概述
这个系统主要实现的是药品进销存管理,在得到身份得到验证后,用户可以在该系统进行药品信息的管理。
用户在登录系统后,系统允许用户对系统中的有关内容进行增删改等操作,并调用数据库中的相关数据完成操作。
2.2性能需求
需求分析是为了确定软件设计的细节、功能和性能,是软件生存期中的重要一环。
能更大的满足用户的而需求,延长软件生命周期、减少软件开发的费用。
本系统中,管理员才有最高的权限,管理员要经过身份验证才能进入系统,可以进行全部操作,其他用户只能以游客身份登录,只能浏览查询,保证了系统的安全性。
系统需要有良好的安全性和操作性。
2.3系统功能需求
药品进销存管理系统的主要功能是对药品的进、销、存进行管理。
以达到降低成本、提高效率、改进服务等目的。
利用药品进销存管理系统可以在以下几方面提高企业管理水平:
提高工作效率,降低成本。
使得仓库存放药品更有规划、更合理调配药品。
使得管理人员更精简,分工更细致。
实现数据的智能分析。
(1)系统登录功能:
管理员提供用户名和密码,才能登录,保证了数据的安全性和保密性。
其余用户只能用游客登录。
(2)密码修改模块:
该模块主要让管理员时常修改密码,是密码被他人所知。
(3)基础模块:
该模块主要包括了药品进、销、存的入库管理、出库管理、库存管理三个部分。
药品入库管理主要是针对入库药品进行登记修改操作,包括药品进库的时间,品种,数量,生产企业,保质期,有无损坏,经手人签名等信息进行登记。
药品出库管理主要是对出库药品进行登记修改,其中包括药品出库时间,品种,数量,生产企业,经手人等信息进行登记。
药品库存管理是对药品入库、出库后产生的数量变化自动改变,也能进行一系列的查询,包括药品名称,入库时间,出库时间,数量,生产企业,保质期,经手人,是否需要补充等信息。
2.4界面需求
本系统要求界面简单美观,添加时可以让人一眼看出哪里该填写什么,查询时可以让人一目了然自己要看的信息。
该系统设计要求信息查询方便、灵活、可靠、易于操作,数据存储安全可靠,程序易于后期维护。
2.5系统的可行性分析
药品进销存管理系统能有效的对原本复杂、易错的管理进行改善,优化了管理方式与结构,减轻了管理人员的负担和出错率,提高了管理效率。
对于开发一套简单实用,使用B/S架构的药品进销存管理系统是很有必要的。
2.5.1技术可行性分析
本系统是基于.NET开发平台,使用MicrosoftVisualStudio.NET2008作为开发工具,SQLServer2005作后台数据库服务器,利用ASP.NET编写服务器程序,使用ADO.NET组件访问数据库,整个系统的开发思路按照三层架构进行设计。
对于ASP.NET基于服务器的控件思想已经成熟,是相当简易、灵活、安全的,也便于后期的维护和修改。
2.5.2经济可行性
在经济上,本系统的开发成本不是很高,因为具有很好的灵活性和扩展性,所以该系统易于维护和升级,且后期维护升级的费用也不会很高,可使用寿命长,所以本系统在经济上是可行的。
2.5.3管理可行性
药品经销存管理系统能让管理员时时有效的掌握药品进库、出库环节的药品流动方向,也能查询到现在仓库内存储药品详细信息,能对药品进行有效的管理。
2.6技术平台
2.6.1.NET平台
.NET开发平台包括.NET框架和开发工具,是微软利用Web服务而开发的平台,是微软用来实现XML,WebServices,SOA(面向服务的体系结构)的技术平台。
对于程序开发技术人员而言,.NET是继DOS开发平台、Windows开发平台之后,微软以互联网为应用程序开发平台而构建的新一代应用系统,这些系统是基于联通、稳定和高性能的标准,通过互联网标准的通信协议来沟通。
一个.NET应用是运行于公共语言之上使用.NETFramework类库来编写的应用程序。
一个.NET程序必定与.NETFramework有关。
.NETFramework是一个开发和运行.NET应用程序的集成开发环境,提供了包括公共语言运行库(CLR)和基类库(BCL)在内的核心功能[1]。
CLR是.NETFramwork的主要执行引擎,其主要功能包括:
内存管理、程序集加载、异常处理,线程和进程管理,同时也负责一些低层细节的工作,如创建应用程序域、安全检查等[2]。
BCL封装了各种基本类型,如线程、文件输入/输出(I/O)、图形绘制以及与各种外部硬件设备的交互;支持在实际应用中用到的一些服务,如XML文档的操作、安全和基于Web(以及传统的桌面和基于控制台)的前端的构造[3]。
NET框架具有两个主要组件:
公共语言运行库和.NET框架类库。
公共语言运行库是.NET框架的基础。
您可以将运行库看作一个在执行时管理代码的代理,它提供核心服务(如内存管理、线程管理和远程处理),而且还强制实施严格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性。
.NET框架的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发包含从传统的命令行或图形用户界面(GUI)应用程序到基于ASP.NET所提供的最新创新的应用程序[4]。
.NET平台致力于敏捷软件开发,快速应用开发,平台无关性和网络透明化,以WebService为核心,用一种统一的、个性化的方式将信息、系统、设备和人联系起来。
技术人员创建的应用系统可以将它们的信息和功能共享在其他平台和智能设备上。
这些应用系统用来构建敏捷商务互联,而且基于的适应变化,高性能,高稳定性这些标准创建[3]。
.NET应用程序运行在.NET框架之上,通过.NETFramework类库编写且运行于公共语言运行时CommonLanguageRuntime之上,且要满足一些和.NET框架有关的条件才能被称为.NET应用程序[5]。
通过.NET,用户还将会获得由程序封装过的数据,有了.NET,全世界的网络能组成一个放大的服务中心,用户的终端设备就是贴身智能秘书,可以为你在互联网上查找你想要的相关信息和服务。
.NET框架可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。
.NET框架不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。
如图2.1所示.NETFramework结构
图2.1.NETFramework结构
2.6.2C#语言
C#(CSharp)是微软开发的面向对象的程序语言,它的运行离不开.NETFramework平台。
它是第一个面向组件的程序语言。
C#有着多种继承方式,与java类似的语法,编译成中间代码在运行[6]。
但是C#与Java也有着许多不同点:
增加了Checked和Unchecked以绕过编译错误;C#增加了索引器,可以象访问数组一样访问类或结构,等等。
C#与C++也有着明显的区别:
C++允许类的多继承,而C#只允许类的单继承,要通过接口实现多继承;C#通过底层的虚拟机机制减少了C/C++语言中容易发生的内存泄漏和安全性问题;C#代码量低于C++,,大大提高了开发者得效率;另外C#具有.net庞大的类库,这个优势是C++所不具有的,等等[7]。
C#的语言特点
C#语言作为一种新生语言与其它编程语言相比有一下几个突出的特点:
C#语法适合学习中的学生入门。
C#支持面向对象开发,并有.NET底层类库的支持,可以轻松创建对象。
C#的高开发效率。
C#的开发工具VS2005支持拖放式添加控件,开发人员可以轻松完成桌面的布局。
C#通过内置的服务,使组件可以转化为XML网络服务,这样就可以被其他程序调用,也可以被网络上其他机器的其他程序调用。
XML语言是一种最流行的数据描述语言,C#提供了对XML的强大支持,可以轻松的创建XML,也可以将XML数据应用到程序中[8]。
拥有了自动的资源回收功能而不会再为程序运行中的内存管理伤脑筋。
类型安全是编写代码优点考虑的问题。
C#提供的类型安全机制,可以避免一些常见的类型问题,如类型转换、数组类型越界等。
在.NET框架中,C#可以自由的和其他语言(VB、J#等)自由的转换[9]。
目前用高级语言编写的程序有两种形式,一种是被编译成机器语言在CPU上执行,如VisualC++,Pascal等。
另外一种是边解释边执行的,称为解释性语言,如VisualFoxFro,VisualBsasic3.0等。
C#语言具有简洁的语法、面向对象、与Web的紧密结合、安全性和错误处理等特点。
C#程序并不是一次编译后执行的,而是先编译成中间代码,然后在.Net环境由JIT编译器边编译边运行的,这样实现的最大好处是消除了编程语言的差异,节约了系统资源[10]。
.NET中C#的据图位置的结构如图2.2所示。
图2.2.NET的框架结构图
2.6.3SQLServer2005数据库
SQLSever2005是一个全面的数据库平台,是Microsoft公司推出的SQLServer数据库管理系统的一个版本。
具有使用方便,可伸缩性好与相关软件集成程度高等优点,可在大型多处理器的服务器等多种平台使用。
SQLSever数据库引擎的核心服务是存储、处理和保护数据,控制访问权限、快速处理事务,能满足企业内大量的数据应用需要,对高可用性提供有力支持[11]。
SQL语言集数据查询(dataquery)、数据操纵(datamanipulation)、数据定义(datadefinition)和数据控制(datacontrol)功能于一体,充分体现了关系数据语言的特点和优点:
综合统一性,高度非过程化,面向集合的操作方式[12]。
SQLSever2005数据引擎是本系统数据管理解决方案的核心。
SQLServer2005结合分析、报表、集成和通知功能。
可以运用数据引擎构建和部署经济有效的BI解决方案。
SQLSever2005有一下几个特性,为系统的开发提供了保障。
第一,CommonLanguageRuntime(CLR)集成,即可以使用Microsoft.NET语言来开发数据库目标。
第二,深入的XML集成,SQLServer2005提供一种新的XML数据类型,使在SQLServer数据库中存储XML片段或文件成为可能。
第三,基于异构数据集成的药品进销存系统的设计与实现Transact-SQL增强,新的查询类型和在交易过程中使用错误处理的功能,为开发人员在SQLServer查询开发方面提供了更高的灵活性和控制力[14]。
SQLServer数据平台具有如下优点:
(1)充分利用数据资产。
(2)提高生产效率。
(3)减少IT复杂性。
(4)降低总体拥有成本。
SQLServer2005是一个全面的数据库平台,使用集成的商业智能工具提供了企业级的数据管理。
SQLServer2005数据库引擎为关系数据和结构化数据提供了更安全可靠的存储功能,使得可以构建和管理用于业务的高性能数据应用程序。
2.6.4B/S架构
B/S(Browser/Server)为浏览器和服务器结构,是C/S结构的一种变化或改进,在这种构下,把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。
第一层客户机是用户与整个系统的接口。
客户的应用程序精简到一个通用的浏览器软件,如NetscapeNavigator,微软公司的IE等。
浏览器将HTML代码转化成图文并茂的网页。
网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。
这个后台就是第二层的Web服务器。
第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。
如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作。
第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQL请求,管理数据库。
系统采用B/S体系结构来设计数据库和应用服务端,整个系统分为客户端、Web服务器端及数据库服务器端三部分开发,客户端提供表示层的页面显示功能,Web服务器端提供相应的业务逻辑处理功能,数据库服务器端完成数据的存储及检索功能。
系统的开发环境基于.NET平台,应用SQLServer2005数据库系统,结合HTML与CSS相关的客户端技术。
设计过程应用软件工程原则,严格按照需求分析、概要设计、详细设计、程序编码、软件测试等步骤进行。
系统的实现要充分考虑安全性、完整性、并发控制和恢复等数据库保护技术[13]。
1.优点:
(1)可以在任何地方进行操作而不用安装专门的软件,客户端零维护,成本显著降低;
(2)可以即时进行查询、浏览等操作,只要有能上网的电脑就能使用,而不必局限于某台机器或某地;
(3)通过增加网页即可增加服务器功能,扩展业务方便;
(4)开发简单,共享性强,只需要刷新网页,即可实现所有用户信息的同步更新。
2.缺点:
(1)应用服务器运行数据负荷较重;
(2)页面需要动态刷新,降低了响应速度,对网速要求较高;
(3)功能弱化,难以实现传统模式下的特殊功能要求[15]。
3系统设计
本系统采用模块化设计思想,采用B/S架构实现,系统分为由BLL业务逻辑层、显示层、DAL数据访问层三部分构成。
采用模块化设计的思想,系统设计自顶向下进行,把系统拆分成若干个模块,逐层深入,对子模块进行详细设计、编码,直至完成系统设计。
3.1系统总体设计
系统以目标不同用户登录账号权限不同,物流配送管理系统主要分为系统管理、药品信息、入库管理、出库管理、车库存管理等5个模块。
图3.1功能结构图
3.2系统业务流程图
药品进销存管理是对数据进行管理,从而达到对药品进库、出库、存储等各环节信息进行时时管理,有效提高了管理效率,节约了劳动力。
药品进销存管理的业务流程如图3.2所示:
图3.2系统主要业流程
3.3程序流程图
图3.3程序流程图
3.4数据库设计
3.4.1数据库概要设计
根据药品进销存系统的设计思想,本系统的功能包括:
药品入库信息,药品库存信息,药品出库信息的输入,查询,添加,删除,修改和库存余额的查询。
所以系统由药品信息设置,入库管理,出库管理和库存管理等模块组成。
根据系统需求,列出数据项:
库存表(药品编号、药品名称、规格、剂量、产地、包装数量、库存、单位、有效期、批号、药品类别、零售价、批发价)
入库表(药品编号、药品名称、入库时间、数量、供应商编号、职工编号)
出库表(药品编号、药品名称、出库时间、数量、批发价、零售价、客户编号、职工编号)
供应商表(供应商编号、供应商名称、地址、联系人、联系方式)
客户表(客户编号、客户名称、地址、联系人、联系方式)
职工表(职工名称、职工表)
3.4.2数据字典
数据存储及数据流
名字:
销售信息
别名:
描述:
一次销售结束后所存储的信息并生成单据
定义:
销售信息=药品编码+药品名称+单价+数量+单位+销售日期+销售员编号
位置:
存储
输出给顾客
名字:
药品信息
别名:
描述:
仓库内存储的所有药品信息(包括所有药品查询的所需信息)定义:
药品信息=药品编号+药品名称+储存方法+单位+类别+生产厂家+入库价格+批发价格+零售价格+剂量+库存+规格+有效期+包装数量
位置:
存储
输出供查询
名字:
用户信息
别名:
描述:
系统用户的信息
定义:
用户信息=职工号+姓名+用户名
位置:
存储
输出供查询及维护
名字:
供应商信息
别名:
描述:
药品供应商的信息
定义:
供应商信息=供应商编码+供应商名称+地址+联系人+联系电话
位置:
存储
输出供查询及维护
图3.4总体联系图
3.4.3系统ER图
图3.5供应商、药品实体联系图
图3.6仓库、药品实体联系图
图3.7客户、药品实体联系图
3.4.4系统全局E-R图
图3.7系统全局E-R图
3.4.5数据表设计
根据药品进销存管理系统的功能要求和数据流程分析,该系统的数据库中包括:
(1)用户表
用户表存放管理员用户名和密码,修改密码要访问此表。
如表3.8用户表
名称
数据类型
大小
是否为空
注释
用户名
Char
10
否
主键
密码
Char
10
否
(2)药品库存信息表
库存信息表存放药品编号、药品名称、规格、剂量、产地、包装数量、库存、单位、有效期、批号等信息。
药品入库、出库,药品信息的修改都要访问此表。
如表3.9药品库存表
名称
数据类型
大小
是否为空
注释
药品编号
Char
10
否
主键
药品名称
Varchar
50
否
规格
Varchar
50
否
剂量
Int
10
否
产地
Char
4
否
包装数量
Int
10
否
库存
Int
10
否
单位
Varchar
10
否
有效期
Datetime
20
否
批号
Char
20
否
药品类别
Varchar
10
否
零售价
Char
10
否
批发价
Char
10
否
(3)药品入库信息表
药品入库信息表存放药品编号、药品名称、入库时间、数量、供应商编号和职工编号的信息。
药品入库要访问此表。
如表3.10药品入库信息表
名称
数据类型
大小
是否为空
注释
药品编号
Char
10
否
主键
药品名称
Varchar
50
否
入库时间
Datetime
8
否
数量
Int
40
否
批发价
Char
10
否
零售价
Char
10
否
供应商编号
Char
10
否
职工编号
Varchar
20
否
(4)药品出库信息表
药品出库信息表存放药品编号、药品名称、出库时间、数量、供应商编号和职工编号的信息。
药品出库要访问此表。
如表3.11药品出库信息表
名称
数据类型
大小
是否为空
注释
药品编号
Char
10
否
主键
药品名称
Varchar
50
否
出库时间
Datetime
8
否
数量
Int
40
否
客户编号
Char
10
否
职工编号
Varchar
20
否
(5)供应商信息表
供应商信息表存放着供应商编号和供应商名称的信息。
如表3.12供应商信息表
名称
数据类型
大小
是否为空
注释
供应商编号
Char
10
否
主键
供应商名称
Varchar
20
否
地址
Char
20
联系方式
Int
12
(6)客户信息表
客户信息表存放着客户编号和客户名称的信息。
如表3.13客户信息表
名称
数据类型
大小
是否为空
注释
客户编号
Char
10
否
主键
客户名称
Varchar
20
否
地址
Char
20
联系方式
Int
12
否
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 药品 进销存 管理 系统 设计 实现