药店系统 AgileEAS.NET平台开发案例分析
创始人
2024-07-25 20:01:31
0

  首先我们来看看一般的软件开发流程吧:

传统的软件开发流程 

  这是传统的软件开发流程,无非目前的不管是迭代开发、增量开发、敏捷开发无非都是基于传统开发模式的一些变种。迭代开发是基于传统的软件开发流程之上的一种基于原型的迭代开发,开发完成后进行集成测试。增量开发是将每个模块都走从设计-编码-测试的流程,最后完成集成测试。敏捷开发是迭代开发+增量开发的合成体。

  关于不同的开发模式及开发流程方面的内容,我们后面会详细的阐述,单独讲述AgileEAS.NET敏捷开发平台的软件工程思想的真实体现。不管我们开发什么样的软件或者多小的软件,我们必须先了解需求,才能继续进行后续的需求分析及详细设计等后续的流程,所以我们知道了需求的重要性,那么我们本篇就将药店系统的需求来分析和业务梳理下,整理成需求文档。

  药店业务流程

  下面我们就来分析下药店的业务流程,当然如果说你对药店的领域非常的熟悉,你也可以使用DDD来进行开发和设计。我还是按照我对药店的理解来简单的分析下,可能还有部分的业务细节我这里没有体现,还请大家继续补充,当然如果你对药店业务特别的熟悉,那么也欢迎大家多多交流。

  那么我们就来看看药店具有的业务流程的主线。

  一、药品入库

药品入库 

 

  二、药品出库

药品出库 

 

  三、药店退药-供应商

药店退药-供应商 

 

  四、顾客退药

顾客退药 

 

  五、药品报损

药品报损

 

  六、药品调价

药品调价

 

  七、药店盘点:

  盘点对应药店的重要性想必是非常重要的,我想上软件系统的主要目的之一就是为了查看药店的所有的资金的流向,那么通过盘点来完成,盘点主要是盘点药品的主要流

  向和消耗的实际对比等等,都能体现。

药店盘点

 

  上面我们基本上分析了药店系统中主体的业务流程,当然我们这里没有包含一些模块:药品采购计划等,为了简单期间,我们把这些步骤给省略了,下面来看看我们的需求分析过程吧。

#p#

  需求分析

  上面我们分析了药店系统的业务流程,并且给出图形的描述,相信大家对药店系统的业务流程有了简单的认识,下面我们来分析药店系统的详细功能需求吧。

  1、基础数据维护

  首先、必须有药品字典:

  该功能是药店管理系统中的基础数据信息,如果没有药品字典的维护,那么后续的对药店的进销存就无从谈起,药品字典是在药品入库管理模块中使用的,将采购的药品,通过软件中的药品入库功能,选择药品字典中的药品,填写相应的库存信息,即可完成入库的操作。所以该模块是后续模块的一个业务流的输入条件。

  其次、必须有供应商:

  入库时必须选择供应商,否则在后期的供应商退药时,无法确认退药给哪个供应商。

  再次、药品类型:

  没有药品类型,那么药品的类型无法维护和管理,最后在做收支报表等都无法谈起。

  2、药品入库

  维护基本的药品入库信息,具体的信息内容,请参考数据库详细设计。

  需记录供应商。

  购买日期,购买数量等购买信息。

  能方便的维护药品入库的信息,并且可以查看,统计等。

  3、药品库存管理功能:

  药品库存功能,用于维护药店中的药品库存的一个管理,是该系统的核心,由于药店中的所有数据信息都以药品为流转,所以药品的库存管理尤为重要,管理好了药品的出入库,报损等功能,可以算是一个微小型规模的简易ERP,当然功能没有那么全面和强大。

  下面,我们来看下药品库存的具体功能:

  库存的盘点与查看功能。

  库存编辑及修改,删除等相应的操作记录,必须可以查看相应的维护信息。

  具体的模块交互需求:

药品库存管理

  药品库存是这些模块信息存储及信息流的核心。

  4、药品出库(顾客发药)

  药品出库的理解是,将药品从药店库存中出库或者是顾客零售的功能,主要负责,从药店库存中选择要出库或零售的药品,输入相应的数量,直接有结算的功能,就完成 了,药品的出库或零售。

  该模块应该具备的功能:

  从库存中选择库存>0的药品。

  自动减去库存,记录出库的药品记录信息。

  记录操作员及出库操作信息。

  查询出库记录并可打印。

  该模块与其他模块之间的关联:

药品出库

 

  具体的信息,请参考“数据库详细设计”。

  5、顾客退药

  顾客退药与药品出库是二个反向的操作,药品退库,是将药品走一个退库流程,记录退库的原因及退库的操作信息,并且自动将药店库存进行更新,该退库流程,可审核也可以不考虑这块的内容,一般来说,HIS系统中,都会有审核,药店一般就不用设计这块的内容了,所以这里记录药品退库的原因,数量,日期,操作员等等相关信息,方便 统计和查询。并且在统计分析模块,提供相应的报表。

  该模块与其他模块之间的关系:

顾客退药

  上面给出了药品退库模块与库存及统计分析之间的关系。

  6、药品调价

  该模块主要是对现有库存中的部分药品的售价进行调整,那么我们必须记录调价前的价格及调价后的价格,并且要记录调价后的数量,并且判定,如果调价后的药品在药店库存表中存在,则直接累加库存,并且将调价前的药品的库存数量进行拆检,否则会造成不一致的情况。

  1、选择要条件的药品,必须支持查询和检索功能。

  2、将选择条件的商品选择后,可以输入调价的价格和数量,当然简单的做法就是全部都条件,目前药店的系统是这样做的,相对来说这样的处理方式简单,但是不灵活。

  3、要保持数据的一致性,调价信息必须记录:旧售价,新售价,调价数量,调价日期,调价原因等。

  4、程序必须能够满足调价后扣除原始价格的库存,并且在库存表中如果存在新价格的药品,则累加出新调价后的药品数量,否则插入一条新的药品库存记录。

  7、药品报损

  药品报损一般是因为药品失效或者打开后无法再次使用等等,或者其他的原因等等,我们要对库存中的药品进行报损的操作,那么首先我们可以分析下其应该具备的功能。

  1、可查询,不同类型的药品,按关键字查询等。

  2、从选择的数据源中输入要报损的数量及报损的原因等。

  3、报损信息必须记录下:除了包含基本的药品信息外,必须还记录报损原因,报损数量,报损日期等。

  4、在报损操作时,同步更新库存,将报损的数量从现有的库存量的基础上去掉。

  5、具有打印的功能。

  8、药品盘点

  做过医疗相关行业的朋友,应该都比较了解盘点的作用,盘点主要是为了记录管理系统中的账目库存与实际药品的物理库存之间的一个对比和同步的过程,如果发现系统中的账目库存叫物理库存大,我们需要在整理完相关的原因之后,进盘盈或者盘亏,然后在这个盘存的间隔的时间段内记录资金的流入与流出是否平衡等等,都是通过盘点能够体现出来的东西。所以,一般来说盘点功能是重中之重。

  1、必须提供药品库存的盘存功能。

  2、基于盘存的库存副本基础之上进行具体的物理库存的更新。

  3、具有账目库存与实际物理库存之间的同步功能。

  4、具有打印功能。

  5、统计分析报表功能。

【编辑推荐】

  1. 微软发布.NET增强预览版 面向多云多平台开发
  2. Novell推Mono for Android平台开发.NET
  3. 谈基于.Net平台开发中的模式窗体
  4. Novell推Mono for Android平台开发.NET

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...