版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 TOC o 1-5 h z 药店管理系统毕业论文1目录第1章绪论 1第2章 系统开发技术基础2关于开发语言C# 2关于本系统的关系数据库设计2第3章 药店销售管理系统总体设计3药店销售管理系统结构设计3药店销售管理系统数据结构和数据库设计6需求分析6概念结构设计9概要设计10第四章药店销售管理系统的实现12登陆界面及主界面12销售统计模块12窗体界面12药品入库*II块13窗体界面13库存维护模块14窗体界面14功能描述14采购计划*II块16窗体界面16算法描述16入库统计卞II块16窗体界面16功能描述17主要存储过程设计17生成安装与部署程序19结论 20致谢 21参考文献22第1章绪
2、论目前国内药店经营管理手段落后,而国家对这些药店规范管理,实施 GSP认证已是大势所趋,为提高自身竞争力和顺利达标,使用专业管理软件是这些药店的必由之路,所以说药店管理软件市场潜力巨大,商机无限 .本系统是根据国内药店的实际运营情况及国家药监局GSP认证规范与XXXX药店联合设计开发,适合各种规模的国内药店使用,加强药品进销存的规范化管理.该软件是目前针对国内药店最专业、最实用的管理软件,可以帮助药店由原来的手工处理改为通过计算机处理从而提高药店的工作效率,规范经营,为顺利通过GSP认证提供强有力的保障.另外,Visual Studio.Net是微软推出的新一代开发平台,拥有许多特性,其中一些
3、特性是对先前版本的增强,另一些是新增特性-包括单一地集成开发环境,新的 Microsoft VisualBasic .NET面向对象特性,以及整个开发周期所使用的工具。作为微软.NET战略中的关键组成部分,Visual Studio .NET其高度集成的可视化开发环境能够为开发人员极大的 提高开发速度。所以本系统的开发使用Visual C#这个开发平台。本药店销售管理系统主要包括中、西药品信息输入,中、西药药品统计以及药品信息查询。不仅能显示一个客户购买的全部药品信息(包括药品的编号,名称,单价,数量,金额,销售类型,销售员和销售日期,并由此向销售记录表中添加一条记录,以供以后进行销售时用.)
4、另外,本系统还实现了对指定时间段内的销售情况进行统计,根据此数据对每种药品的销售情况仅进行分析,产生每种药品的销售金额和数量,确定药品的最高库存量和最低库存量。该金额与入库统计得到的金额进行比较得到利润。另外,当这些记录无用时可以删除以释放磁盘空间.最后,由于水平有限,有些地方可能会有疏漏和不足,希望各位批评指正,以便在今后的软件开发过程中不断完善。第2章 系统开发技术基础关于开发语言C#Visual C# (读作 C sharp )被设计成一种创建.NET 应用程序的方便而快捷的方法。用 Visual C#编写的应用程序是在公共语言运行库的各种服务的基础上生成的,并且全面利用了 .NET F
5、ramework。而.NET框架组件的本意是,便是将开发人员、管理员和用户实施的 一组范围广泛、灵活性高的安全选项结合在一起。NET Framewor开发技术优的越性.NET Framework 是一种新的计算平台,它简化了在高度分布式Internet环境中的应用程序开发。.NET Framework 具有两个主要组件:公共语言运行库和.NET Framework类库。公共语言运行库是.NET Framework的基础。可以将运行库看作一个在执行时管理代码的 代理,它提供核心服务(如内存管理、线程管理和远程处理),这些优越性使得编程变得相 当的方便和快捷。类库是一个综合性的面向对象的可重用类型
6、集合,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序。关于本系统的关系数据库设计关系型数据库是支持关系模型的数据库系统。关系模型由关系数据结构,关系操作集合和关系完整性约束三部分组成。在本系统中通过利用 SQL Server服务管理器启动、停止和暂停服务器上的Microsoft SQL Server 2000组件。本系统中设计数据库时按照关系数据库中的范式规则,将表中的重复字段和不相关字段划分合理,设计出来的数据库表格符合第二范式,减少了数据操作时的错误。关系操作集合设计本系统通过SQL标准语句中定义的各种对关系数据库的操作,编写一些合理,实用,功 能
7、完善的语句对数据库进行操作。关系完整性约束设计本系统通过对外键的控制,在存储过程中编写一些合理,实用,功能完善的操作语句对数据库进行操作。第3章 药店销售管理系统总体设计3.1药店销售管理系统结构设计系统开发的总体任务是实现药店销售管理的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成的。经过细致的系统分析得到药店销售站管理系统需完成的 功能:1)药品销售包括药品零售和药品批发,零售价和批发价不同,输入药品的编号,数量和选择销售类型进行销售.能显示一个客户购买的全部药品信息(包括药品的编号,名称,单价,数量,金额,销售类型,销售员和销售日期, 并由此向销售记录表中添加一条
8、记录,以供以后进行销售时用.),给出应付的金额.由于某种原因,可以让用户退药 .2)销售统计对指定时间段内的销售情况进行统计,根据此数据对每种药品的销售情况仅进行分析,产生每种药品的销售金额和数量,确定药品的最高库存量和最低库存量.该金额与入库统计得到 TOC o 1-5 h z 的金额进行比较得到利润.另外,当这些记录无用时可以删除以释放磁盘空间3)药品信息维护添加药品基本信息包括药品的编号,药品名称,药品简码,单位,规格,主要成分,功能与主治,用法用量.其中药品的编号是唯一的, 不同的药品不能有相同的编号,药品的简码根据药品的名称制定修改药品基本信息当发现有药品的基本信息错误时可以进行修改
9、,执行此操作应能同时修改其他表(销售登记表、库存表、入库登记表)的相应药品的编号,确保数据的一致性删除药品基本信息当某种药品的信息不需要时可以删除,同时能删除其他表(销售登记表、库存表)中与此药品对应的信息,确保数据一致 .4)药品基本信息浏览浏览所有药品的基本信息,可以按药品的编号、简码、名称进行排序,也可以根据药品的简码或编号进行模糊查找,快速浏览指定药品的信息5)制定采购计划查找库存表,根据药品的最高库存量, 最低库存量和现存量, 对现存量小于最低库存量的药 品制定采购计划,方法是:需要采购的数量=最高库存量-现存量6)药品入库购入药品之后把所购药品的情况记入入库记录表中,供以后进行入库
10、统计时用.需要记录的信息包括药品的编号,入库数量,单位,单价,金额,入库员,入库日期,有效日期和进货 地址.对于已经入库的药品,由于某种原因可以将药品退还给商家7)入库统计对指定时间段内药品的入库信息进行统稔t,得到每种药品的入库总金额得到的金额与销售统计得到的金额进行比较得出药品的销售利润.当这些记录信息无用时可以删除以释放磁盘空间.8)库存维护添加库存信息包括药品编号,库存量,零售价,批发价,最高库存量,最低库存量.药品编号要与药品信息表中的药品编号相对应,如果药品基本信息表中没有这种药品应该先添加该药品的基本信 息再添加该药品的库存信息.在此添加的库存信息J勺库存量应为0.最低库存量不能
11、大于最高库存量,批发价不能大于零售价 .修改库存信息可以修改药品的现存量,零售价,批发价,最高库存量,最低库存量.最低库存量不能大于最高库存量,批发价不能大于零售价.删除库存信息当不卖某种药品时可以删除该药品的库存信息,以避免在制定采购计划时产生无用的记录9)存货浏览浏览所有药品的库存信息,可以根据药品的编号、名称、简码、库存量、零售价、批发价、最低库存量和最高库存量进行排序,也可以根据药品的简码或编号进行模糊查找快速浏览指定药品的库存信息.10)系统安全用户需通过登陆进行身份验证,验证通过时才可以进入系统。药品销售管理系统功能模块图为:图3-1功能模块图3.2药店销售管理系统数据结构和数据库
12、设计需求分析用户的需求具体体现在各种信息的输入、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及合理组织数据处理的流程,然后 形成一份详尽的数据流图和数据字典,就能为以后的设计提供依据。在仔细分析医药信息需求的基础上,将得到如图4-2所示的顶层数据流图。针对药店销售管理系统的顶层数据流图,图3-2销售数据流图,设计如下所示的数据项:购药单表3-1数据流条目1数据流名称购药单来源顾客去向药店销售系统组成药品名称、数量销售单表3-2数据流条目2数据流名称销售单来源药店销售系统去向 仓库组成药品编号、药品名称、销售数量、销售日期、销售单价、销售员、销售类
13、型(零售,批发)缺货单表3-3数据流条目3数据流名称缺货单来源药店销售系统去向 采购员组成药品名称、数量统计表表3-4数据流条目5数据流名称统计表来源药店销售系统去向 经理组成药品名称、数量、金额、单位再根据顶层数据流图设计第0层数据流图图3-3药品处理数据流图第0层数据流图主要包括:处理购药单后得出可销售药品单和缺货单;处理缺货单得到销售单和购药单,追后进行销售统计。第1层数据流图2 -处理供货根据可销售药品单制定销售单,然后登记入库,开销售单图3-4处理供货第1层数据流图3 -处理进货图3-5处理缺货流程图根据进货单修改库存记录中的药品现存量,生产核对后的进货单。根据缺货记录和核对后的进货
14、单生成可销售购药单第1层数据流图4 -处理缺货图3-6处理缺货流程图先根据进货单修改库存再根据进货单修改库存记录中的药品现存量,生产核对后的进货单第1层数据流图5 -销售统计图3-7销售统计数据流图在这里允许用户进行统计选择,比如:按日期或按药品名称概念结构设计得到上面的数据项以后,就可以设计出能够满足用户需求的各种实体,以及他们之间的关系。图3-8 E-R图本系统根据上面的设计规划出实体的E-R图如上。概要设计在需求分析文档的基础上进行分析设计产生出药店销售系统的初步设计,特点是要清楚的反映出系统设计者对药店销售系统设计前 (人工系统)与设计后(计算机系统)之间的区别,着重 表达出在设计的新
15、系统与现行人工系统上的不同。本系统共分为4个模块如下:药品销售:包括零售、批发和顾客退药。将销售或退药记录写入数据库。库存管理:包括药品入库、商家退货、过期查询、存货浏览和库存维护, 修改药品的库存记录,更新库存。药品维护:包括添加、修改和删除药品的基本信息,修改数据库,更新药品信息药品统计:包括销售统计和入库统计,统计后删除销售记录和入库记录,释放磁盘空 间。四个模块关系描述如下:药品维护模块添加、修改、删除药品的基本信息。库存管理模块对库存信息进行添加,修改,删除,查询。药品销售模块完成药品销售和顾客退货功能。药品统计模块对销售记录和入库记录进行统计。各模块之间不存在相互调用关系, 因此这
16、四个模块之间是平行的。总体机构如右图:数据库设计现在需要将上面的数据库概念结构转化为SQL Server2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。药店销售管理系统数据库中各个表的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。下面只给给出我在这次任务中所用到的表(一),(三)和设计的表(二)(一)药品信息表(medicine ) 表3-5列名长度空值备注IDvarchar10非空主键名称varchar50非空简码varchar20允许单位varchar4非空规格varchar10允许主要成分varchar100允许功能主治varchar200允许用法用里 v
17、archar30允许注:对该表的更新,删除操作将会级联更新和删除库存信息表、销售记录表、入库记录表(二)库存信息表(kucun )表3-6列名类型长度空值 备注ID Varchar 10 非空 主键数量 Float 8 非空零售价Float8非空批发价Float8非空最低量Float8非空最高量Float8非空(三)用户表(users)表3-7列名类型长度空值 备注Name Varchar 20 空 主键Pwd Varchar 20 非空以上各表为本系统所使用的数据库中的基本关系表。其中药品信息表是药店销售系统中最为基本的表,它存储药品基本的信息,整个系统的功能中所要访问的数据库操作都与该表有
18、关。用户表是药品销售人员或者药店管理者所要使用的基本表,在本软件的功能实现中体现为对销售人员或者药店管理者进行身份识别。第四章药店销售管理系统的实现详细设计在这里给出药店销售管理系统设计的一些关键编程技术。这里所列出的登录以及查询等部分的代码已经全部通过测试。为以后软件维护人员进行软件维护的重要依据。登陆界面及主界面选择用户名,输入密码登录,如果密码不正确提示密码错误,如果正确成功登录。初始用户为admin密码为123456 ,该用户为系统用户,可以添加和删除其他用户,其他用户不能执行这两个操作。图4-1系统登陆用户admin不能删除。本模块最主要的部分就是实现用户的身份识别。这一点在实际的使
19、用中体现为药店的销售人员(即普通用户)与药店的管理人员(系统用户)本身在药店的管理上是有差异的。主界面如右图所示:主界面即系统的操作界面。本系统所有的基本操作都能在主界面中图4-2主界面显现出来。标题栏与菜单栏分开,错落有致。因为主界面要尽量的简洁,新颖。使用户在使用中对计算机管理有一种方便,高效的感觉。销售统计模块窗体界面销售统计模块界面如右图所示:图4-3销售统计输入开始时间和终止时间。输出各药品的销售信息、销售的药品的种类总数和销售总金额功能描述查看功能用户可以通过选择起止时间来查看在该时间段内对各种药品的销售状况。这样就可以为采购员提供一个制定采购计划的很好的帮助文档。在程序中通过执行
20、存储过程XSHTJ_Select检索数据用listview显示;用label显示总品种和总金额。删除功能当采购员采购回药品或者该药品不再进货则需删除或更新该药品的销售记录在程序中执行存储过程XSHTJ_Del删除选中药品的销售记录;将总品种减1,总金额减去删除药品的销售金额;由于该表独立所以该删除不会对销售统计造成影响。药品入库模块窗体界面1)药品入库模块界面如右图所示:输入药品编号、入库数量、购进单价、进货地址,图4-4药品入库有效日期。输出药品的库存信息,入库信息4.3.2模块功能描述1) 输入药品编号文本框的 TextChanged事件先清空label的文本;以输入药品编号文本框的内的文
21、本为参数执行存储过程Idselect查找药品,如果找到用label显示该药品的库存信息; 2)入库按钮的功能:先检查输入的药品编号、入库数量、购进单价、有效日期不能为空。其中药品编号为主码,但对于一种药品而言有效日期是至关重要不可或缺,而入库数量、购进单价是十分重要的销售信息对采购人员尤为重要。如果为有一个为空则返回;如果 label的文本为空则一样返回;执行存储过程rukudengji将该药品入库。向listview里添加该药品的入库信息;修改label文本中库存量的值重新显示;4.4库存维护模块窗体界面库存维护模块界面如下图所示:4.4.4 功能描述药品添加图4-5库存维护先检查输入:编号
22、、库存量、零售价、批发价、最低量、最高量不能为空,因为这些都是药 品销售的必需数据,如果为空则在程序中出错返回;而后再进行逻辑检查,如果零售价小于批发价则出错返回,如果最低量大于最高量则出错返回,这些逻辑上的检查不仅是程序本身完整性的体现,也从用户角度考虑减少了用户不必要的错误和麻烦;最后检查kucun表中有没有该药品的库存记录,如果有则提示已经有该药品的库存记录并返回,此时需用修改功能;执行存储过程 KucunAdd添加该药品的库存记录。2)药品修改检查输入:库存量、零售价、批发价、最低量、最高量不能为空,如果为空则出错返回;如果零售价小于批发价则出错返回;如果最低量大于最高量则出错返回;执
23、行存储过程KucunMDY修改该药品的库存记录。3)药品删除在执行该功能前一定要给药品销售人员提示,如在本程序中先提示确实要删除该药品的库存信息吗?;如果按下确认需请用户再次确认是否要删除该药品的库存记录。注意:这种重复提示在程序中是十分必要的,执行该功能,将从库存表中删除,而删除也会照成药品维护表中数据删除,在实际的使用中用户一旦执行了该操作系统将会从数据库中删除该数据并且 无法再恢复。所以执行这种删除时要格外慎重。以该药品的编号为参数执行存储过程KucunDel删除该药品的库存记录。4)药品浏览这个功能是在药品添加、删除、修改之后对入库的最终结果进行浏览,使用该功能时可 以对入库的药品进行
24、排序,例如:按编号排序、按简码排序或按名称排序,这样可以使用户能够从不同的角度对入库的药品进行统计和浏览。采购计划模块窗体界面采购计划模块界面如下图所示:图4-6采购计划输出需要采购的药品的信息、需要购买的药品种数算法描述由于该模块功能简单且实现容易因此这里只给出算法描述 窗体的load事件private void caigoujihua_Load(object sender, System.EventArgs e) (执行存储过程 CaiGou检索数据,用listview显示; 用label显示需要购买的药品种数入库统计模块窗体界面入库统计模块界面如右图所示:主要控件的功能说明DateTim
25、ePicker:选择进行统计的起止时间Listview :显示统计时图4-7入库统计间段内;药品的入库记录 输入统计的起止时间。输出药品的入库记录和入库总金额 4.6.2功能描述) 查看功能:本功能比较类似于销售统计模块,也是从起止时间对入库的药品进行统计,所以使用该功能的用户可以是药店的管理员,也可以是药品销售人员。具体执行的步骤:先清空listview 的内容;以起止时间为参数执行存储过程RKTJ_Select检索数据,然后调用数据库库存表,计算并用listview显示。用label显示统计时间段内的入库总金额。) 删除的功能:此删除功能比较简单,仅仅从入库统计表中,删除一个表项,同时修改
26、总金额,但并不修改库存记录表,而且也不会导致级联删除。系统先检查用户是否选中listview中的一行,如果没有则返回。如果用户选中一项则要提醒用户,因为记录一旦被删除则不能恢复。例如:用DialogResult b=MessageBox.Show(确实要删除该药品的入库记录吗?,确认。请用户确定是否要删除选择的入库记录,如果不是则返回,是的话直接删除不再给出任何提示。.7主要存储过程设计 4.7.1 rukudengji 设计ALTER PROCEDURE dbo.rukudengji ( ypid varchar(10), amount float, danjia float, rukuyu
27、an varchar(20),youxiaoriqi datetime, goujindizhi varchar(200) ) AS update kucun set 数量=数量+amount where ID=ypid insert into rukujilu (ypid,数量,单价,入库员,有效日期,进货地址) values(ypid,amount,danjia,rukuyuan,youxiaoriqi,goujindizhi) RETURN4.7.2KucunAdd 设计ALTER PROCEDURE dbo.KucunAdd(ID varchar(10), lingshoujia fl
28、oat, pifajia float, zuidiliang float, zuigaoliang float, success char(1) output ) ASif not exists (select *from medicine where ID=ID)-检查medicine表中是否有该药品的信息 beginselect success=2 return endif exists (select *from kucun where ID=ID)-检查 Kuncun 表中是否有该药品的信息 begin select success=0end else begininsert into
29、 kucun(ID,零售价,批发价,最低量,最高量)values (ID,lingshoujia,pifajia, zuidiliang,zuigaoliang)select success=1 endRETURN.8生成安装与部署程序完成了药店销售管理系统开发阶段的编程和调试工作,接下来就是制作安装与部署项目。与以往的开发工具相比较,Visual C#可以更方便的生成安装与部署项目。安装:本系统不用安装 初始化:新建一个数据库(YDXSH),用程序目录下的 YDXSH文件还原数据库:在系统目 录下的ServerName.txt文件第一行输入服务器名即可。 结论通过这次毕业设计,使我从中得到许多经验和教训。在这个系统的开发过程中,我们用到了软件工程、数据库、计算机网络和程序设计等多门课程的知识,使得我们在课堂上所学的理论用到了实际的系统开发过程中,更加深了我们对所学理论的理解,也对我所学课程的综合总结。这套药店销售管理系统的主要功能包括药品销售、药品维护、库存管理、药品统计以及与数据库的连接。在整个开发过程中,也使我领会到了要用软件工程的思想来进行需求分 析和设计系统。我深刻体会到只有采用工程化的思想和设计方法才能更合理有效的开发软 件,从而缩短软件开发的周期
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 锅炉除灰、脱硫、脱硝设备检修工安全培训效果强化考核试卷含答案
- 中药灸熨剂工岗前生产安全效果考核试卷含答案
- 塑料制品烧结工班组评比知识考核试卷含答案
- 涂料合成树脂工安全实践水平考核试卷含答案
- 保险箱柜制作工安全生产意识水平考核试卷含答案
- 2026年坚果原料质量检测合同协议
- 2026八年级上《轴对称》考点真题精讲
- “‘外研社杯’全国英语阅读大赛”样题版
- 护士妇产科试题及答案
- 《大功率直流接触器性能综合测试系统》技术方案说明书
- 2026届广东广州市普通高中毕业班综合测试(二)数学(含答案)
- 2025-2030中国数字多用表行业发展分析及竞争格局与发展趋势预测研究报告
- 2026届东北三省三校高三第二次联合模拟考试物理试题(含答案解析)
- 初中物理八年级下册《功与机械能》单元教学设计:探究“功”的内涵、计算与意义
- 医疗器械质量安全风险会商管理制度
- 2026年青少年国防教育专题竞赛题库
- 交银金科校招笔试题库
- 2026年长春中考艺术常识测试题及答案
- 铁路防胀知识培训
- 截桩头施工方案
- 《商标品牌价值评估规范》团体标准-征求意见稿
评论
0/150
提交评论