基于SSM的愈康药店管理系统的设计与实现计算机科学和技术专业Word格式文档下载.docx
《基于SSM的愈康药店管理系统的设计与实现计算机科学和技术专业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于SSM的愈康药店管理系统的设计与实现计算机科学和技术专业Word格式文档下载.docx(43页珍藏版)》请在冰点文库上搜索。
药店管理系统主要是基于计算机的平台来进行运营管理,最大程度的对人员进行科学化的管理,合理安排,以求取得最大的经济效益。
近年来,药店间的竞争愈演愈烈,可能会淘汰一些没有大规模、独特的医疗技能、财务实力和先进的管理理念的药店。
因此,在互联网技术飞速发展的时代,为了适应市场之间的竞争,必须在药房管理中实现计算机管理。
功能强大的药店管理系统使管理员可以准确、快速地掌握药品信息,做出最正确的决策。
大大减轻了人工劳动强度,提高了工作效率。
本系统使药品信息管理工作系统化、规范化、自动化。
1.2研究现状
1.2.1国外研究现状
世界上信息化程度较高的国家和地区的管理信息系统发展迅速。
现已遍布欧美亚的部分发达地区。
这种现代网络信息销售模式已经迅速发展成为一种强有力的市场运作方式[1]。
随着现代信息技术的飞速发展,每一个现代企业都有必要选择这种网络化的进销存信息管理模式。
如今,美国医药界已进入因特网交易的时代,网上药店有1000多家,形成平均1700亿美元的市场规模。
在美国,网上药店一般是由大型连锁药店发展形成。
非药品零售企业也纷纷开展网上药品零售业务。
网上药店实行多元化经营,除了常用的一些药品,还经营各种保健品、婴儿用品、礼品等。
除此之外,他们还经营有与健康相关的书籍、健身器材、杂志。
真正做到了药店的多元化。
美国还拥有网上药学服务,各大药房的网站都非常重视与消费者的交流,重视药学服务网上数据库的建设。
在网页上,点击链接,就能看到常见疾病的基本知识。
非处方药物的使用介绍:
每个药品的使用说明书都可以在网上清楚的查看到,包括药品的用途、用法、不良反应、警告、交叉反应、储存以及服用过量或漏服时应采取的措施等。
从美国药店的现状,可以看到我国网上药店还存在许多缺陷,还需要改进。
1.2.2国内研究现状
目前,我国尚处于信息化发展的初级阶段,药品网络销售模式尚未普及。
很多药店都不通过电脑保存和处理药品销售信息,仍然采用人工纸质化管理。
这是由于我国是发展中国家,特别是我国幅员辽阔,人口众多,对药品的需求相当旺盛,使人工管理药店进销存的模式,很难满足人们日益增长的需求。
因此,在整个医药销售行业处于起步阶段的同时,如何抓住这一黄金机遇,吸收和借鉴先进国家的发展经验和信息化技术,成为我们首先需要解决的问题。
在我国,由于目前国家关于“电子处方”还没有出台相应的规范和运作模式,因此在网上药店禁止出售处方药。
也就是说,在网上药店销售的药品只能是连锁零售企业经营的非处方药。
目前我国大多数网上药店的经营品种主要以药品、保健品、医疗器械、化妆品以及两性用品等为主。
1.3开发目的
本药店管理系统的开发,是为了使药店的管理方式变成信息管理。
由于日常生活中去药店买药的人很多,而药店一直都是采用人工记录,存在着诸如工人工作量大和销售药品效率低下,日常药品销售中的数据频繁丢失,查询药品库存困难以及无法及时掌握客户的需求等诸多问题。
传统的药店管理模式已不能适应当今发展的需要,药店管理系统使药店管理更实用、更先进、更高效。
通过对药店药品质量管理实际应用情况的深入调查,进行了详细的药品市场需求研究分析,改进了我们目前现有的药品管理模式,开发了一个新的药店管理系统。
随着药品信息体系的不断完善,医疗用品管理会变得更加依靠于信息化管理。
因此,该系统的设计和开发将更加侧重于药店经营管理的实践和应用,使其更加能够快速地适应需要。
随着药店经营规模的进一步扩大,药店经营管理制度将会得到进一步的完善,
药店管理系统的使用具有如下意义:
第一,节省药品管理人员的管理时间。
第二,本系统可以让药店管理人员更加直观的掌握药品信息。
第三,通过电脑进行信息录入比手工记录更加方便、准确。
第四,实现了药店管理的信息化。
1.4论文结构
本论文包括六个章节:
第一章绪论简单介绍了本文的开发背景,研究现状,开发目的及论文结构。
第二章介绍了开发愈康药店管理系统所采用的技术和开发环境。
第三章对药店管理系统进行分析,包括可行性分析,系统非功能需求分析和系统功能需求分析。
第四章进行药店管理系统概要设计,主要介绍了系统架构设计以及数据库概要设计。
第五章介绍了系统详细设计。
第六章介绍了系统的实现与界面展示。
第七章进行了系统测试。
2系统开发环境
2.1Tomcat简介
Tomcat是Servlet容器,同时也是轻量级的Web服务器。
这是它的两个身份!
ApacheServer、MicrosoftIIS、ApacheTomcat都是Web服务器。
Tomcat作为Web服务器时,主要负责实现HTTP传输等工作。
Tomcat作为Servlet容器时,主要负责解析Request,生成ServletRequest、ServletResponse,将其传给相应的Servlet(调用service()方法),再将Servlet的相应结果返回。
Tomcat组成结构如图2-1所示。
图2-1Tomcat组成结构图
Server,代表整个Servlet容器组件,是Tomcat的顶层元素。
其中可以包含一到多个Service;
Service,包含一个Engine,以及一到多个Connector;
Connector,代表和客户端程序实际交互的组件,负责接收客户请求,以及向客户返回响应结果;
Engine,处理同一个Service中所有Connector接收到的客户请求;
Host,在Engine中可以包含多个Host,每个Host定义了一个虚拟主机,它可以包含一个到多个Web应用;
Context,一个Host中可以包含多个Context,每个Context代表了运行在虚拟主机上的单个Web应用。
Tomcat工作模式分为三种:
1、独立的Servlet容器
2、其他Web服务器进程内的Servlet容器
3、其他Web服务器进程外的Servlet容器
2.2B/S结构
B/S架构的全称为Browser/Server,即浏览器/服务器结构。
工作流程:
1.客户端发送请求:
用户在客户端浏览器页面提交表单操作,向服务器发送请求,等待服务器响应;
2.服务器端处理请求:
服务器端接收并处理请求,应用服务器端通常使用服务器端技术,如JSP等,对请求进行数据处理,并产生响应;
3.服务器端发送响应:
服务器端把用户请求的数据(网页文件、图片、声音等等)返回给浏览器。
4.浏览器解释执行HTML文件,呈现用户界面。
浏览器:
是阅读和浏览Web的工具,它是通过B/S方式与Web服务器交互信息的。
一般情况下,浏览器就是客户端,它要求服务器把指定信息传送过来,然后通过浏览器把信息显示在屏幕上。
浏览器实际上是一种允许用户浏览Web信息的软件,只不过这些信息是由Web服务器发送出来的。
服务器:
服务器(Server),它既是计算机硬件的称谓,有时又是计算机服务端软件的称谓,用户应该区分开它们,主要就是从语境上去区分。
(1)、服务器是一种计算机硬件:
服务器应该算是一种高性能的计算机,它作为网络的节点,存储、处理网络上的数据、信息,因此也被称为网络的灵魂。
(2)、服务器是一种计算机软件:
一般IIS服务器、Java服务器、NET服务器等名词,但是,这个服务器硬件上安装了服务器软件,例如IIS服务器、Java服务器、.NET服务器,它们负责接收用户的访问请求,并根据请求经过计算将数据返回给用户的客户端(浏览器)。
服务器软件分为两类:
一类是Web服务器;
另一类是应用程序服务器(简称为AppServer)。
IIS服务器和Apache是最常用的Web服务器软件;
Java服务器、.NET服务器、PHP服务器是最常用的应用程序服务器软件。
(3)、Web服务器:
Web服务器实际上是一种连接在Internet上的计算机软件。
它负责Web浏览器提交的文本请求。
Web应用程序:
最简单的Web应用程序其实就是一些HTML文件和其它的一些资源文件组成的集合。
Web站点则可以包含多个Web应用程序。
它们位于Internet上的一个服务器中,一个Web站点其实就对应着一个网络服务器(Web服务器).
2.3MYSQL数据库
MySQL最重要、最与众不同的是它的存储引擎架构这一特性,这种架构的设计将查询处理(QueryProcessing)及其他系统任务(ServerTask)和数据的存储/提取相分离。
这种处理和存储分离的设计可以在使用时根据性能、特性,以及其他需求来选择数据存储的方式。
MySQL最上层是连接组件。
下面服务器是由连接池、管理工具和服务、SQL接口、解析器、优化器、缓存、存储引擎、文件系统组成。
用户:
进行数据库连接的人。
支持接口:
是第三方语言提供和数据库连接的接口,常见的有jdbc,odbc,c的标准api函数等等。
管理工具和服务:
系统管理和控制工具,例如备份恢复、Mysql复制、集群等(见图)
连接层:
提供与用户的连接服务,用于验证登录服务。
连接池:
由于每次建立建立需要消耗很多时间,连接池的作用就是将这些连接缓存下来,下次可以直接用已经建立好的连接,提升服务器性能。
服务层:
完成大多数的核心服务功能。
有sql接口,解析器parser,优化器optimizer,查询缓存cache/buffer。
SQL接口:
接受用户的SQL命令,并且返回用户需要查询的结果。
比如select*from就是调用SQLInterface
解析器:
SQL命令传递到解析器的时候会被解析器验证和解析。
解析器是由Lex和YACC实现的,是一个很长的脚本。
其功能是:
a.将SQL语句分解成数据结构,并将这个结构传递到后续步骤,以后SQL语句的传递和处理就是基于这个结构的。
b.如果在分解构成中遇到错误,那么就说明这个sql语句是不合理的。
优化器:
查询优化器,SQL语句在查询之前会使用查询优化器对查询进行优化。
缓存器:
查询缓存,如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据。
通过LRU算法将数据的冷端溢出,未来得及时刷新到磁盘的数据页,叫脏页。
这个缓存机制是由一系列小缓存组成的。
比如表缓存,记录缓存,key缓存,权限缓存等
简而言之,服务层执行过程:
sql语句通过sql接口,服务器如果缓存cache有命中查询结果,直接读取数据。
如果没有命中查询结果,由解析器进行sql语句的解析,预处理,经过优化器进行优化后提交给引擎层。
通俗地说—>
服务层告诉引擎层要做什么。
引擎层:
提供各种存储引擎,真正的负责MySQL中数据的存储和提取。
常见有innodbmyisam。
innodb支持全文索引,事务(高并发),行锁,myisam性能优先。
mysql中查询引擎语句:
showengines.
通俗地说引擎层会转发服务层解析出来的sql语句告诉存储层要做什么(增删改查)并且告诉存储层要以何种方式做(innodbmyisam等等)。
存储层:
数据存储层,主要是将数据存储在运行于裸设备的文件系统之上,并完成与存储引擎的交互。
SQL的执行流程:
数据库通常不会被单独使用,而是由其它编程语言通过SQL支持接口调用MySQL。
由MySQL处理并返回执行结果。
首先,其它编程语言通过SQL支持接口调用MySQL,MySQL收到请求后,会将该请求暂时放在连接池,并由管理服务与工具进行管理。
当该请求从等待队列进入到处理队列时,管理器会将该请求传给SQL接口,SQL接口接收到请求后,它会将请求进行hash处理并与缓存中的数据进行对比,如果匹配则通过缓存直接返回处理结果;
否则,去文件系统查询:
由SQL接口传给后面的解析器,解析器会判断SQL语句是否正确,若正确则将其转化为数据结构。
解析器处理完毕后,便将处理后的请求传给优化器控制器,它会产生多种执行计划,最终数据库会选择最优的方案去执行。
确定最优执行计划后,SQL语句交由存储引擎处理,存储引擎将会到文件系统中取得相应的数据,并原路返回。
2.4SSM框架
ssm项目分层
目前所有企业基本都采用的这种分层标准,这种分层标准的好处就是让项目看起来整齐划一,每层都负责做自己的事情,方便开发者对代码进行管理与调试,让代码的可读性更强。
如果是springboot框架不采用这种分层项目可能还会报错,可见这种分层规则的重要性。
bean层
bean层:
存放数据表转化的类。
dao层
持久层(Dao层):
主要负责与数据库进行交互,一般为接口,简单说就是对数据库进行增删改查。
写好之后去Mapper.xml里配置和写sql语句。
这个层最好理解,需要数据库中的哪些功能就写哪些方法,而且先不需要去考虑去怎么实现,因为实现属于业务层的范畴,这也体现出ssm框架分层的好处,东西先有,之后再实现。
service层
业务层(service层):
这一层是最抽象的也是最难理解的,我对业务层的理解是它负责项目的核心业务,比如登录、注册、这些都是业务,通俗的说就是在业务层中把项目的核心方法都写出来,首先定义一个业务层的接口,然后用实现类去实现它,在这个实现类中调用DAO层的方法以对数据库进行增删改查,这样就直接把Spring模块和Mybatis模块串起来了,举个简单的例子,现在要实现登录功能,那要在service的实现类里面首先写一个dao层的对象(以调用MYbatis模块,对数据库增删改查)。
然后在下面的登录方法中调用dao层,实际上就是调用到了数据库,判断用户是否存在,然后再对这个方法完善,判断密码是否正确,就用ssm实现了这样一个简单的登录逻辑。
Controller层
前面两个模块都已经写好了,那现在差的就是再网页中如何把我们的刚才的登录信息显示出来,这里就用到了控制层(controller层):
属于springMVC模块,控制web访问,这一层也不难理解,它要与视图层联系起来,即前端页面发送请求,控制层接收请求并处理,最后返回数据到前端。
视图层(view层):
view层不需要单独建一个叫view的package来单独存放,直接放在webapp下面,这个层最简单,其实就是存放前端的网页,一般为jsp,html格式
结构图如图2-2所示。
图2-2结构图
3系统分析
3.1可行性分析
为了能够在尽量短的时间内用最简单的方法解决问题,减少时间,人力和资源的浪费,我们需要对问题的解决方法进行研究,也就是可行性研究。
可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
愈康药店管理系统基于B/S结构,采用JSP技术开发,使用MYSQL数据库来查询存储数据信息。
先从软件及硬件配置层面分析技术可行性:
1.硬件可行性分析
愈康药店管理系统对硬件配置没有特殊的要求,普通的计算机就可以支持本系统。
因此本系统具有硬件可行性。
2.软件可行性分析
愈康药店管理系统采用MYSQL数据库、JSP技术。
在校学习期间已学过相关的知识并掌握相关的知识。
在校学习期间,学习过软件工程,对uml建模也已经有一定了解,对于软件也已经有一定开发能力。
用JSP技术与MYSQL技术相结合来开发的愈康药店管理系统是可行的。
因此,愈康药店管理系统应该具备技术上的可行性。
3.1.1操作可行性
愈康药店管理系统的登录界面操作简单易懂,它是利用大众比较熟悉得登录页面样式来对其进行登录,通过计算机浏览器直接进行登录,只要用户对计算机有一定的了解就已经可以正常使用。
此次系统的研究和开发主要是利用JSP技术来开发,基于B/S架构,这些研究和开发的环境可以让整个系统变得更为完善。
本系统易操作、易管理。
因此本系统可以进行开发。
3.1.2发展可行性
随着企业的不断发展,药品管理事务逐渐增多,人工管理已经不能适应当今,必须使用完善的药店管理系统来管理药品信息。
最重要的是确保科学研究管理计划是增强长期发展趋势竞争力的必经之路。
因此,为了更好的进行改革创新,开发药店管理系统是可行的。
综上所述,药店管理系统在技术、实际操作和发展趋势方面都具有很高的可行性,有必要开发和设计该程序。
3.2系统非功能需求分析
1、完整性需求
要求各种药品信息,市场销售信息等记录的一致性,信息记录和其他内容不能为空,各种数据信息之间的联系应保持准确性,同一数据信息在不同记录中应保持一致。
2、性能需求
页面响应时间应该在3秒以内,最长不能超过4秒。
3、界面需求
系统界面要符合大众的习惯,操作简单易懂。
4、安全性需求
要充分保证系统的安全性、稳定性。
管理系统,必须输入正确的管理员账号和密码,账号密码正确,能够进入后台管理系统。
3.3系统功能需求分析
该系统是jsp+mysql实现的愈康药店管理系统,该系统可以对三种类型的用户使用实现:
1.对于游客,游客可以在网站进行浏览和查询药品信息,但是不能进行加购物车等操作。
注册登录之后,有普通用户权限。
2.对于普通用户,登陆之前可以浏览和搜索商品,登录成功后,可把商品加入购物车,可以在个人中心修改信息以及查看订单信息。
3.对于管理员来说,管理员可以对药品、药品类别信息进行信息添加、修改、删除等操作。
对用户信息进行修改或删除操作。
对已支付的订单进行发货处理。
3.3.1系统角色需求分析
用户的需求主要是以下四个方面:
1、登陆注册的需求:
用户可以在首页进行注册登录。
2、药品搜索的需求:
用户可以通过药品分类下的列表来选择自己需要的药品也可以通过搜索药品名称或者药品的功效来选择自己需要的药品。
3、药品下单购买的需求:
用户选择自己需要的药品以后,可以对想要购买的药品进行加入购物车的操作。
4、订单管理的需求:
用户可以在个人中心进入订单管理页面,可以在此页面查看自己的订单状态。
后台管理员的需求需要注重以下四点:
1、药品管理的需求:
管理员可以通过后台添加药品信息,对已有的药品进行修改或删除操作。
2、药品分类管理的需求;
管理员可以对药品进行分类,方便用户购买药品。
3、用户管理的需求:
管理员可以进行删除用户的操作,也可以修改用户密码。
管理员可以查看订单信息,可以对订单进行发货的处理。
3.3.2系统用例图和功能分析
用例图主要用来描述“用户、需求、系统功能单元”之间的关系。
它展示了一个外部用户能够观察到的系统功能模型图。
用户端用例图和功能
用户端主要的功能分为注册登录功能、药品搜索和查看功能、商品购买功能、订单管理功能等,用例图如图3-1所示。
1、注册登录功能
用户可以在首页进行注册登录,登陆成功以后可以在个人中心进行个人信息修改、密码修改等功能。
2、药品搜索和查看功能
点击药品可以查看药品的详细信息。
3、商品购买功能
用户可以把自己需要的药品加入购物车,可在购物车选择需要的数量,并进行支付。
4、订单管理功能
用户可以通过订单管理页面查看自己购买的药品的发货状态。
图