医药连锁店管理系统库存管理系统.doc
《医药连锁店管理系统库存管理系统.doc》由会员分享,可在线阅读,更多相关《医药连锁店管理系统库存管理系统.doc(32页珍藏版)》请在咨信网上搜索。
河北农业大学 本科毕业论文(设计) 题 目: 医药连锁店管理系统-库存管理系统 摘 要 随着医疗技术的不断发展,医院规模的不断扩大,药品进货量、销售量的急剧增加,药品进销存管理系统在药品的进货、销售和库存管理中发挥着越来越重要的作用。与此同时,传统的医院药品进销存管理系统已不能满足目前药品进、销、存流程高效管理的需求。如何根据医院实际情况设计出适合自身使用的药品进销存管理系统,是当前需要研究的问题。 本文通过对某医院药品进销存管理流程的调研和需求分析,提出了基于B/S架构的药品进销存管理系统,并根据Java EE规范分析和设计了药品进销存管理系统。本文系统与传统药品进销存管理系统相比,采用了更合理的模块化设计,实现了管理员、药品管理、类别管理、销售管理、进货/需求管理和系统管理六大模块,从而实现了对医药进货、销售和库存各个环节的有效监督和管理。 整个系统在Windows 7系统下,以MyEclipse为开发工具,MySQL为后台数据库管理系统,采用Java应用框架Struts、Hibernate开发而成。 关键字:药品进销存管理系统;B/S;Struts;Hibernate ABSTRACT With the development of medicine technology and the extension of the hospital, pharmaceutical purchase and sales increase dramatically, the medicine inventory management system plays an increasingly important role. At the same time, traditional inventory management system cannot meet the current needs of efficiency management of medicine purchase, sales and storage. How to design an appropriate system for the actual situation of the hospital is the necessary issue to be studied. In this paper, we analysis and investigate the flow of medicine purchase, sales, inventory of Taian Traditional Chinese Medicine hospital, and then we propose an inventory management system based on B/S model, design and implement the system under Java EE specification. Compared with traditional medicine inventory management system, our system uses a more rational modular design for better management of medicine inventory process. Implementations of the administrators, drug management, category management, sales management, stock/requirements management and system management of six modules, which can make all aspects of purchase, sales and storage be managed much more efficient and also arise the economic effectiveness of the hospital. This whole system is developed under Windows 7 operating system by MyEclipse SDK. We use MySQL as the database management system. And the popular Java application frameworks, Struts and Hibernate, are used in the implementation of system. Testing and practice shows that system has good openness, maintainability and stability and meets the requirements of the practical applications of Taian Traditional Chinese Medicine hospital. Key words: medicine inventory management system; B/S; Struts; Hibernate 目 录 1 绪论 6 1.1 课题研究背景 6 1.2 国内外研究现状 6 1.3 相关技术介绍 7 1.4论文主要工作与结构 7 2 系统需求分析 8 2.1 系统概述 8 2.2系统功能性需求分析 9 2.2.1 管理员登录 10 2.2.2 药品管理 10 2.2.3 类别管理 11 2.2.4 销售管理 11 2.2.5 进货/需求管理 12 2.2.6 系统管理 12 2.3 系统非功能性需求分析 13 2.4 系统总体流程分析 15 3 系统架构设计 17 3.1系统软件架构分析 17 3.2系统技术分析 18 3.2.1 MVC模式 18 3.2.2 Struts、Hibernate框架 18 3.3 系统功能架构设计 20 4 系统数据库设计 21 4.1概念模型 21 4.2数据库设计原则 23 4.3 系统数据表 24 5 系统实现 25 5.1系统开发环境 25 5.2系统实现 26 5.2.1 管理员登录 26 5.2.2 药品管理模块 26 5.2.3 类别管理模块 27 5.2.4 销售管理模块 28 5.2.5 进货/需求管理模块 29 5.2.6 系统管理模块 30 结束语 31 致谢 32 参考文献 33 1 绪论 1.1 课题研究背景 随着现代信息技术的迅猛发展,计算机技术和网络技术的日渐成熟,自动化办公和管理软件的深入应用为日常事务的处理提供了便利条件,给人们日常工作方式带来了巨大的变革。随着科学技术的不断发展,医疗水平的不断提高,医院规模的不断扩大,药品供给量的不断增加,原始的药品进销存系统已经不能满足现代化的管理方式,新一代的药品进销存系统已经由过去单纯的记账模式转变为分类、汇总以及数据查询、报表生成、信息跟踪、数据统计等多功能模式。 医院药品进销存系统主要用来对医院药品进货、销售、库存进行统一全程跟踪管理。由于医院药品种类繁多,流通量大,药品进销存管理任务繁重,保证药品进销存管理工作有秩序、有条理、有章可循的进行尤为重要。利用计算机来进行自动化管理有着诸多人工管理所不具备的优势,例如:查找方便、检索迅速、保密性好、可靠性高、存储量大、成本低、寿命长。使用自动化管理方式不仅能够保证信息统计的准确无误,还能对信息记录进行跟踪和处理,为安全用药、放心用药提供保障。如今已经投入使用的药品进销存系统版本繁多,各有特点。但各医院的硬件条件、规模大小、员工技能素质、管理需求、业务流程及工作模式等各不相同,如何根据自身的实际需求设计一套适合自身医院使用的药品进销存管理系统,将直接关系着药品进销存管理的效率和医院的经济效益。 本文在对某医院药品进销存管理进行详细调研的基础上,根据医院的实际需求,分析和设计了本文的系统。 1.2 国内外研究现状 医院药品进销存系统是医院信息系统(HIS)的一部分。西方发达国家对计算机在医院的应用研究开始的比较早,早在四十多年前美国开始研究医院信息系统时,就已经开始了对药品进销存系统的研究,但由于计算机技术的限制,美国对HIS的研究一直停留在理论阶段。随着计算机技术的不断发展,70年代时,欧美日等发达国家开始了关于HIS的开发,为后来医院信息系统的发展奠定了基础。70、80年代时,美国在HIS产业上有了较大的发展。 经过这几十年的经验总结和版本的不断更新换代,如今已有许多成功的系统在各大医院投入使用,并有效运转着。虽然各医院药品进销存管理系统大致流程和功能需求相似,但在实际应用中,各医院的硬件条件、规模大小、员工技能素质、管理需求、业务流程及工作模式等各不相同,因此,如今即使是在发达国家,也没有任何一个能够适用于所有医院的标准系统。各医院仍需根据自己的实际规模和需求来设计和开发适合自身条件的药品进销存管理系统。 由于计算机技术引进的相对较晚,我国开始研究计算机技术在医疗行业的应用比西方国家晚。80年代中期,我国一些医院建立了自己的小型局域网,开发了药品进销存管理和住院管理系统等小型网络管理系统。进入90年代,随着数据库技术的盛行,拥有计算机技术支持的大型医院开始着手开发适合自己医院的HIS系统,包括药品进销存管理系统。如今,我国大中型医院中基本都已经建立了适用于自己医院的药品进销存管理系统,并很好的融合于医院信息管理系统中,稳定运行。但规模较小的医院由于部分医院领导者缺乏强烈的信息化意识,不能适应现代化管理思想的要求,习惯于旧的管理模式,不能够清楚的认识到医院信息化管理的重要性,造成了整个医院信息化建设步调缓慢,影响了药品进销存系统的有效建设和及时更新扩展。 1.3 相关技术介绍 本系统主要是依靠SSH框架实现,集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,利用Hibernate框架对持久层提供支持,业务逻辑层也是用的Struts框架。相比传统的J2EE开发工具,它具有一系列独特的优点。 首先,SSH框架能够有效的降低开发成本、缩短开发周期。SSH作为一款开源的框架,无需部署在成本极高的大型服务器上,很多时候只需要配合APACHE一类较便宜的服务器使用。其次,SSH作为一款轻量级的框架可以有效降低系统开销,同时它还可以与异步JavaScript和XML框架同时使用,不仅能够对用户体验产生极大的改善,且有助于提升系统性能。最后,由于SSH框架建立于J2EE的基础之上,所以其同时具备了J2EE的安全性与跨平台优势。同时由于其往往将组件相关的配置与关系写入XML配置文件,使其在面对需求变化时可通过简单的对配置信息的修改来加以实现而无需对系统进行大的修改。 1.4论文主要工作与结构 首先,本文讨论了该项目背景,并介绍了国内外研究现状和医院信息化管理大趋势下药品进销存管理系统所面临的问题。在此基础上,对系统进行了功能性需求分析和非功能性需求分析,为下一步对系统进行详细设计和实现打下基础。 其次,在需求分析的基础上,对系统进行了详细设计。提出了本文系统的设计目标和原则,并从可扩展性、可维护性以及系统性能等方面对系统的技术架构进行了分析,确立了系统的MVC三层架构模型,并对各层的功能进行了描述。根据药品进货、销售和库存管理的流程和特点,对系统进行了模块划分,并对各模块进行了详细的功能设计。 然后,根据药品的分类和管理特点对数据库进行了详细设计,利用E-R关系图对数据库设计进行了描述,并给出了详细的数据表设计。 本文各章节内容组织如下。 第一章:介绍了本文的研究背景和国内外研究现状,并阐述了本文的主要工作,并对调研过程中所发现的问题和相应解决方案进行了陈述。 第二章:根据调研结果和实际管理流程对系统进行需求分析,主要包括功能性、非功能性需求分析和总体流程分析,为系统的详细设计和实现打下基础。 第三章:对系统架构进行设计,确定了系统的体系架构,对系统开发技术和功能架构进行了分析,提出了确保系统数据安全的安全性策略。 第四章:详细描述了系统数据库设计。包括设计原则、逻辑设计和数据表设计,给出了系统数据库的总体E-R图和详细的数据库表结构。 第五章:对各个子系统进行实现。对系统的实现进行了描述,给出了关键代码以及相应的注释说明,并对最终得到的系统进行了展示。 结束语:对整个系统从需求分析到最终的实现过程做了总结,并对系统以后的进一步研究提出了意见。 2 系统需求分析 2.1 系统概述 医院药品进销存管理系统是集药品进货、销售、库存管理于一身的信息化管理系统,其作为医院管理的一个重要组成部分,在医院管理中发挥着十分重要的作用。 药品进销存管理系统是部署快、成本低、效果直观的医院内部信息系统。其在医院的应用使得医药管理人员告别了效率低下的人工管理时代,其强大的信息录入、管理、查询以及统计和报表生成功能,代替了以往的纸张登记、人工查询、更新、维护和统计,全自动化管理和流程追踪使得药品的使用明细一目了然,为安全用药、放心用药提供了坚实的基础。其在HIS系统中的融合,使得挂号、就诊、拿药和复诊趋于一体化流程管理,节省了过往病人看病中复杂的流程,提高了医疗诊断的社会效率。 伴随着信息化时代的发展,在这个分秒必争的竞争型社会中,医院也同样面临着各种挑战,高效的信息管理是在激烈的竞争中立于不败之地的先决条件。药品进销存管理系统作为一种信息化管理系统,其在医院的应用提高了医院内部数据信息的条理性和准确度,规范了药品管理业务流程,提高了医院的管理水平和药品流动的透明度,加快了资金的周转速度,从而提高了医院的经营水平,提升了医院的经济效益。 本文的系统总体分布模型,如下图2-1所示: 医药管理系统 基本信息管理 进货/需求管理 药品销售管理 系统管理 药品信息管理 药品类别管理 销售明细管理 药品需求管理 销售排行管理 药品进货管理 销售时间统计 管理员账号管理 系统初始化 库存信息管理 图2-1 系统分布模型图 2.2系统功能性需求分析 统一软件开发过程一般采用用例图对系统的功能性需求分析进行描述。通过用例图对系统的参与者和用例之间关系的描述,有利于以可视化的方式理解系统的功能需求。本文系统根据前期调研和业务流程分析,确定了药品进销存管理系统的功能性需求。 该药品进销存管理系统可以分为四大功能六大模块。四大功能分别为“基本信息管理”、“进货/需求管理”、“药品销售管理”、“系统管理”。六大模块分别为:用户登录、医药管理模块、类别管理模块、销售管理模块、进货/需求管理模块、系统管理模块。系统总体用例图如图2-2所示。 药品管理 <<include>> 类别管理 <<include>> <<include>> 登录 销售管理 <<include>> 管理员 <<include>> 进货/需求管理管理 系统管理 图2-2 系统总用例图 2.2.1 管理员登录 本系统是针对固定药店的药品的管理,所以只是提供了管理员的登录入口,并且管理员账号也是固定的,没有再设置注册功能,但是在后面的系统管理模块中可以添加管理员也可以删除管理员。在本文系统中登录管理系统并未将密码修改功能和登录功能一同放在登录界面上,为了提高系统的安全性,将密码修改功能设计为登录后才拥有该操作权限。具体用例图太简单了就不在此给出。 2.2.2药品管理 药品管理子系统主要管理药品信息的录入与维护。包括药品信息的增加、删除、修改、查询,同时把库存查看也放在这个模块中。增加功能主要是针对新入库药品和合作供应商信息的录入;删除功能主要是针对弃用药品信息的删除;修改功能主要是针对录入错误的药品信息的修改,包括对药品单价、库存数量、所属类别、出厂地址的修改及更新;查询功能有查看药品,这时是把所有药品详细信息以表格形式列出,还有高级查询和模糊查询功能,高级查询时需要输入药品的详细信息,模糊查询主要是通过输入药品名称关键字来查询。具体用例图如下图2-3所示: 添加药品 <<include>> 药品管理 <<include>> 删除药品 高级查询 <<extend>> <<include>> 查询药品 模糊查询 <<extend>> <<include>> 查看库存 图2-3 药品管理用例图 2.2.3类别管理 其实药品分类十分重要,现在好多投入使用的医药管理系统都是药品分类不合理导致低效率和错误。本系统的类别管理模块主要包括添加类别,查看类别,类别统计功能。其中添加类别主要是添加类别名称和类别描述;查看类别就是把类别信息以表格形式列出来,同时提供了修改和删除功能,其中删除类别时会连带把属于该类别的药品信息也删除。类别统计功能会把类别分类以饼状图显示出来,计算出具体每个类别占的百分比。具体用例图如图2-4所示: 类别管理 添加类别 查看类别 类别统计 修改类别 删除类别 <<include>> <<include>> <<include>> <<extend>> <<extend>> 图2-4 类别管理用例图 2.2.4销售管理 本系统的销售管理模块主要是对销售明细的查看管理和查看销售排行。查看明细时主要以表格形式列出所销售的药品信息,包括销售编号、药品名称、单价、销售数量、销售金额、销售时间和操作员。同时提供了模糊查询功能,管理员可以通过输入药品关键字来查看相关药品的销售情况。还有今日明细的查询,查看今日的销售记录。还有日期查询功能,管理员输入起始日期和结束日期来查看这段时间的销售记录。最后有销售排行功能,根据各类药品的销售情况排序,是以销售数量为排序参数,在查看销售排行的时候可以进行进货和查看药品操作。具体用例图如图2-5所示: 查看明细 进货 日期查询 <<include>> <<extend>> 销售管理 <<include>> 查看药品 <<extend>> 销售排行 <<include>> 图2-5 销售管理用例图 2.2.5进货/需求管理 本系统的进货/需求管理很简单,就是添加进货,通过输入药品编号来添加,然后输入添加数量就完成了药品的需求。也可以添加库存中没有的药品,这时需要添加药品的详细信息,和药品管理模块中的添加药品一样。还有查看进货的功能,这时显示的是有需求药品但是还没有完成进货操作的药品,如果点击完成进货则完成了该药品的进货需求,相应的药品信息也会更新。 2.2.6 系统管理 本系统的系统管理模块主要包括添加管理员、查看管理员、删除管理员、修改密码、系统初始化和退出系统功能。其中在查看管理员的时候提供删除管理员的功能;系统初始化主要是当药店想重新整理药品时用的功能。具体用例图如图2-6所示: 添加管理员 查看管理员员 <<include>> <<include>> 修改密码 <<extend>> 删除管理员 <<include>> 系统管理 <<include>> 系统初始化 <<include>> 退出系统 图2-6 系统管理用例图 2.3 系统非功能性需求分析 非功能性需求一般指的是根据系统所实现的业务特点和性质,对系统的性能、可靠性、可扩展性以及开发期的质量属性等方面的需求。根据对系统的使用环境以及业务具体细节的分析,我们得到如下几个非功能性需求: (1)性能方面 由于医院药品进销存管理系统主要是针对医院内部使用,主要涉及到数据的增、删、查、改以及数据的统计,而且,医院药品具有品种繁多、数量大、流动量大、流动频繁等特点。因此,对非功能性需求中常需要考虑的用户数、吞吐量、数据存储量等因素要求较低,但对数据库的操作响应要求较高,包括数据的查询、数据的修改以及数据的删除等都需要有较快的响应。 1)响应时间:本系统将各子系统分为日常频繁交互类、日常查询统计类和批量处理类来分别考虑。 日常频繁交互类,如药品销售子系统,其需要与HIS系统连接获得药方数据,属于操作频繁而且响应时间要求相对较高的部分。因此,在设计时应该保证其高效性,如响应时间在1秒左右。 日常查询统计类,如库存管理和查询统计子系统,其主要是对数据库中各种信息的查询与数字运算,此类操作与查询条件的复杂度和数据库相应数据量的大小相关。虽然涉及到大量的数据库操作和统计运算工作,但是统计工作操作并不频繁,而且对实时性的要求并不荀刻,因此,响应时间一般控制在10秒左右。 2)用户数和吞吐量:由于本系统属于内部使用系统,并不对外开放,用户数比较稳定。因此对用户数和吞吐量并不做特别的要求。 3)数据存储量:医院药品数据虽然较多,但对于现代的数据库技术而言完全能够承受,所以,设计时数据存储量也不做特别的要求。 4)要求系统具有较好的安全性,采用身份验证和操作权限来保证系统的安全,不同的用户具有不同的操作权限,不能进行越界操作。 (2)可靠性 系统的可靠运行需要硬件和软件两个部分的可靠支撑。对于硬件而言,根据医院的经济条件选择相对较好的硬件配置,将硬件故障的风险降到最低。对于软件而言,保证软件设计的鲁棒性。由于药品进销存系统,尤其是销售子系统的可靠性与医院的正常运行紧密相关。因此应保证系统具有较强的抗故障能力、容错能力和恢复能力,提供数据库的手动和自动备份与恢复功能。充分考虑用户可能执行的错误操作(比如数据的漏填、错误的命名、数据格式的填写错误等),对于用户的错误操作给予错误提示,并向客户指引正确的操作提示,确保系统的可靠运行。由于进销存系统涉及到网络数据的传输,对于网络数据的传输进行验证,确保无数据丢失,保证数据的正确性。 (3)扩展性 系统的扩展性主要是指系统使用过程中添加新的功能或模块。系统在使用过程中难免会遇到新的需求,这就需要在系统开发设计的过程中,要充分考虑系统的可扩展性,为以后系统的功能扩展预留接口,为以后的升级和维护提供便利,减少维护升级成本。因此,在系统的开发和设计中应尽量保证系统的高内聚低耦合性,各模块功能分明,釆用接口化设计,为系统的扩展打下良好的基础。 (4)整体性 将药品进销存系统作为医院信息化系统(HIS)的一个部分来设计,结合HIS的特点和接口,遵循硬件、软件以及系统界面为整体的设计原则,采用面向对象的思想和接口化方法进行设计和开发,增加系统与HIS的融合性,使得整个医院信息系统保持整体性。 (5)节约性 在硬件选择和软件开发的过程中,秉承为用户节约成本的原则,根据医院现有硬件和软件环境,充分利用医院已有的基础设施(如网络、服务器、PC机等)来架构药品进销存管理系统的实施环境。 (6)简单、实用性 由于系统使用人员的计算机水平和操作动手能力不尽相同,因此要求药品进销存管理系统应该与先前版本系统的风格尽量保持一致,设计尽量简单,容易掌握,而且布局要合理,避免用户需要花较长时间来适应各个操作界面,保证系统使用人员能很快上手,提高系统的实施效率。 (7)可复用性 软件的复用性是指能够利用现存的设计和编码对系统进行二次开发。系统的大体的框架可以借鉴最新的、已经成熟的、符合国际标准的系统架构和服务器技术以及网络技术,自主设计和实现符合自己需求的模块和细节时也遵循同样的标准。这不仅保证了系统的技术可行性和稳定性,还使得系统能够满足复用性,降低了系统的开发成本,并为未来可能的二次开发打下良好的基础。 (8)开发期的质量属性 1) SQL语句执行:由于药品进销存管理系统主要基于对数据库的操作,因此在设计时应充分考虑对数据库操作语句的效率优化。在数据库设计时充分考虑对数据的优化,使得在适应简单事务和增删查改等操作的同时,不减少复杂的动态SQL的查询优化总量。尽量避免对全表进行查询,采用视图对数据库操作权限进行控制,采用索引技术优化查询效率,尽量采取事务集中处理方式避免事务频繁更新。 2)程序设计:因为药品进销存管理系统中的业务逻辑复杂,模块数量多,在操作过程中会不断有新的对象产生,每个对象都会占用系统的资源。因此,应避免在循环体内申明对象,对大的对象进行有效分解,尽量保证系统开销最小,避免系统内存溢出。对系统整体采用模块化设计,采用接口技术保证系统简洁、各个类职能分明,保证系统的高内聚低耦合性。 2.4 系统总体流程分析 流程图是一种将工作流程用图解的方式直观呈现的图表。在规范的软件开发过程当中经常用流程图来描述系统的整体流程分析。如下图2-7所示: 医药管理系统 管理员登录 管理员 基本信息管理 药品信息管理 药品类别管理 添加药品 查询药品 修改药品 删除药品 添加类别 查询类别 修改类别 删除类别 类别统计 图2-7 医药管理系统流程图 系统管理 进货/需求管理 药品销售管理 管理员 管理员登录 添加管理员 销售排行统计 当日明细统计 查询销售明细 库存修改 修改需求 删除需求 查询进货 添加需求 医药管理系统 查询管理员 密码修改 系统初始化 图2-7 医药管理系统流程图(续) 系统的总体流程如下:首先管理员进入登录管理系统,输入用户名和密码。系统进行身份验证,若账户不存在,在登录界面给出提示,若存在,进行密码验证,密码验证错误需要重新输入。通过验证后,启动主控制模块,主控制模块查询数据库中账号的权限信息,根据权限信息来决定该账户使用者能使用的子系统。管理员对自己所能操作的子系统进行操作,完成操作后,确认保存所进行操作到数据库。至此,一次完整的操作流程结束。在实际操作中,管理员保存操作到数据库后,仍能继续对本模块或其他模块进行操作,如此完成整个系统的工作流程,直到管理员退出系统。 3 系统架构设计 3.1系统软件架构分析 在开发项目前,首先要对软件的结构进行设计,也称之为软件架构。此过程是对软件整体结构的设计,如软件的逻辑分层结构、结构的实现、数据库等,特别是在Java的大型项目中,还需要设计出程序中的包结构及接口等,非常复杂,需要程序员进行全面的考虑。本医药管理系统由4层结构组成,并遵循MVC结构进行设计。4层结构分别为表示层、业务逻辑层、持久层与数据库层,如图3-1所示: 医药管理系统 表示层 (Struts框架) 业务逻辑层 (Struts框架) 持久层 (Hibernate框架) 数据库层 (MySQL数据库) 图3-1 逻辑分层 其中,表示层与业务逻辑层均由Struts框架组成,表示层用于提供程序与用户交互的界面,项目中主要通过JSP、ActionForm及Struts标签库进行展现;业务逻辑层用于处理程序中的各种业务逻辑,项目中通过Struts框架的中央控制器及Action对象对业务请求进行处理;持久层由Hibernate框架组成,负责应用程序与关系数据库之间的操作;数据库层为应用程序所使用的数据库,本系统中为MySQL数据库。对于4层结构的具体实现如图3-2所示: 医药进销存管理系统 视图 JSP、ActionForm、Struts标签 控制器 Action、 struts-config.xml 持久化 Hibernate API、hibernate.cfg.xml MySQL数据 图3-2 逻辑分层具体实现 3.2系统技术分析 3.2.1 MVC模式 针对药品进销存管理系统在日常工作中所面向的服务对象的特点,本系统采用客户端、应用服务器、数据库服务器三层体系结构,通过局域网网络通信。由于整个系统涉及到用户交互、业务逻辑处理和数据库操作,因此,采用模型、视图、控制三层分离的MVC设计模式来进行系统设计和开发。 其体系结构如下图3-3所示。 视图 事件 更新 控制器 模型 更新 通知 图3-3 MVC三层架构 (1)视图层 视图是系统直接呈现给用户,方便用户与系统进行交互的部分。MVC将视图从逻辑中分离,使得代码层次清晰,而且在处理多个不同视图与业务逻辑时清晰明了。视图层主要负责将得到的数据呈现给用户,至于数据是如何得来的,视图层不关心。这就保证设计人员可以不用过多的担心对视图层的修改会影响其它层。 (2)模型层 模型层在本系统中是对数据库进行操作和管理。这一层主要是数据库操作的实现,将各种数据库操作以接口的方式统一设计,能够使得系统适应大量数据的更新和检索,并提高执行效率。采用视图和存储过程的统一设计方式,不仅可以减少数据库处理操作的代码重复量,还能提高数据库系统的安全性。 (3)控制层 控制层是整个系统的主体,它负责系统模型和视图之间的衔接,由控制层调用模型层提供的服务获取反馈数据,然后将数据传给视图层呈献给用户。 MVC的处理流程:首先,控制器接收用户的请求,根据操作动作映射,决定调用哪个模型来处理该请求,然后模型层处理该请求所涉及的业务逻辑,返回反馈数据,最后控制器调用相应的视图将数据显示给用户。 3.2.2 Struts、Hibernate框架 SSH框架是轻量级的Java应用程序开发框架,其为Struts、Spring、Hibernate三个框架组成。其中Struts主要用于B/S模式系统的开发,本文所设计系统采用B/S模式,所以使用Struts与Hibernate进行整合开发。 (1) Struts框架 Struts框架实际上是对MVC各部分组件都提供了现成的实现组件。Struts中的Controller控制器部分是通过特殊的Servlet来实现的,即Struts API中的ActionServlet实例。所有来自客户端的请求都统一由ActionServlet接收,再根据接收的请求参数和Struts配置文件(struts-config.xml)将请求发送至合适的Action(Action是Struts中比较重要的组件)去处理。在Action中,调用相应的模型组件来完成应用的业务,并将执行的结果以ActionForward对象的形式返回给ActionServlet组件,再由ActionServlet将其显示给视图层。本系统中Struts框架负责表示层和业务逻辑层的实现。 (2) Hibernate框架 Hibernate也是一个开源的框架,是一个纯Java的对象关系映射和持久性框架。它允许通过XML配置将对象模型表示的对象映射到SQL关系模型中,为数据的查询和获取提供了便利,大幅度减少了开发人员人工编码SQL和JDBC来处理数据的时间。Hibernate支持多种关系数据库,其在本系统中应用使得系统从一种数据库到另一种数据库迁移时很方便。 在没有使用Spring管理Hibernate的情况下,对Hibernate的管理仍然存在一定的难度,特别是在J2EE开发中,线程安全、SessionFactory对象、Session对象、Hibernate缓存及延迟加载等是程序设计中的难题,管理不当将会对程序造成极为严重的影响。在医药管理系统中,将SessionFactory对象、Session对象置于过滤器中,由过滤器对其进行管理,从而解决了这些问题。通过过滤器管理Hibernate的Session对象则可以避免此问题,其实现过程如图3-4所示。 init()方法 初始化SessionFactory doFilter()方法 过滤处理 业务处理 request response destroy()方法 销毁SessionFactory SessionFactory JSP页面 response 关闭Session 业务请求 request 图3-4 Hibernate过滤器实现 3.3 系统功能架构设计 根据对系统需求的分析,系统分为管理员登录子系统、药品信息管理子系统、类别信息管理子系统、销售信息管理子系统、进货/需求管理子系统和系统管理子系统,其中每个子系统又可以分为若干具体功能,系统功能具体划分如下图3-5 图3-5 系统功能架构 药品进销存管理系统 用户登录管理 药品信息管理 类别信息管理 销售信息管理 进货/需求管理 系统管理 增、删、改、查药品信息 增、删、改、查、统计类别 查询明细、明细统计、销售排行 增、删、改、查需求,修改库存 增、查管理员、修改密码、系统初始化 4 系统数据库设计 一个好的数据库设计,可以很好的优化数据库操作效率,提高数据库的安全性。现在较为流行的是建立在关系数据库模型基础上的关系数据库,其主要有以下几个特点: (1)数据高度结构化 关系数据库采用二维表作为数据结构,具有统一的结构类型,内部不存在复杂的连接关系,简洁,使用方便。 (2)开发设计方便 关系数据库系统与系统内部结构不相关,能够较方便的利于采用非过程化开发语言进行开发设计。通过应用程序和后台连接,方便了用户对数据的操作。 (3)便于访问数据 提供了诸如索引、存储过程、视图、触发器等对象,使得数据访问更方便、快捷。 (4)数据独立性高 关系数据库系统与物理存储和过程性因素无关,因此具有较高的物理独立性和程序独立性。 (5)功能强大 关系数据库系统能够采用多表处理的方式,对多个模型进行操作,通过关系模型,将不同的模型联系起来。此外,关系数据库的路径选择很灵活,存储结构也比较简单。访问权限的控制,使其较以往的数据库更安全。 (6)理论支撑 关系数据库是基于关系运算和关系模式设计理论的。在理论工具的支撑下,对关系数据库系统的进一步研究有了可靠保证。 4.1概念模型 针对本系统- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 医药 连锁店 管理 系统 库存
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文