1、安徽工业大学毕业设计(论文)任务书课题名称 药店管理系统设计与实现学 院 计算机学院专业班级 网络工程 网 061班姓 名 王义龙学 号毕业设计(论文)的主要内容:一、进行调研,了解、分析用户对“药店管理系统”的设计要求。二、熟练掌握一种程序设计语言,掌握其数据库开发、访问技术。三、根据课题要求,软件完成如下功能:1, 对系统用户的增删改查等操作的实现;2, 对职工的人事管理;3,对药品的进销存;特殊情况的处理,还有根据用户权限的不同设置模块的功能开放.四、要求软件设计界面友好、使用方便,程序执行安全、可靠。五、完成与设计内容有关的外文资料翻译,译文约 5000 字。六、撰写毕业论文并提交设计
2、软件及清单一份。起止时间:2010 年 3 月 1 日至 2010 年 6 月 7 日共 14 周指 导 教 师签 字系 主 任签 字院 长签 字摘要大家只要看了新闻,就可以了解到 21 世纪是信息的世纪,信息化正以极快的速度取代传统的效率低下的人工作业。随着小型计算机,微型计算机的成本的不断下降,性能的不断提升,使得计算机作为当今最重要的信息产品,成为人民大众必不可缺的工具。计算机技术已经广泛应用于日常办公,企业管理,文字处理、电子报表以及进行简单的人事管理、财务管理等,大大提高了我们的工作效率,节省许多资源,使管理更加规范化,系统化,科学化。目前随着计算机技术的发展和普及,各行各业的管理机
3、构开始使用计算机处理大量信息。在我国药品品种繁多,规模甚大,以往的手工记载、查询操作容易出错且工作效率低,已经不能适应时代发展的要求,从管理的角度来看,对管理者会造成诸多的不便,还有可能疏忽一些细节,让不法商家逃脱罪责。所以,市场迫切需要一款简单实用的药品管理系统。 经过前期的调研,在反复的修改和综合考量后,笔者觉定使用 JAVA SWING 技术,ECLIPSE J2SE 开发平台,MYSQL5.0 数据库开发药品管理系统。药品管理系统的设计理念是,让企业能够拥有更高效的管理工具,使企业在 21 世纪异常激烈的竞争中脱颖而出。国外的管理系统有许多优秀的经验,但是并不完全符合我国的国情,我国的
4、最广大药品销售的企业是分布在全国各地的中小型销售企业。所以,此次开发的药品管理系统功能乃是汲取了外国优秀管理工具的优秀功能,同时又创新了更符合我国用户需求的功能的一个综合信息管理系统。药品管理系统分为五大模块,分别为系统用户模块,职工信息管理模块,进货管理模块,销售管理模块,库存转移管理模块。该五大功能模块设计合理,功能全面,同时界面友好,非常符合我国各大小型药品销售企业的管理需求。但由于时间仓促以及笔者找工作实习的原因,系统还不是很完善,和市场上一些成熟的产品比较仍然有不足之处。今后笔者将利用工作休息时间,学习新的技术和设计理念,对药品管理系统进行深入的二次迭代开发,目标是在今后三个月使代码
5、更加规范,界面更加美观,程序的可拓展性进一步增强,更加与市场接轨,然后发布到 China Java World 上开源供大家免费下载使用和学习。关键词:JAVA SWING、MYSQL5.0、JDBC、药品管理管理系统、药品管理安徽工业大学 毕业设计(论文)说明书共 65 页 第 1 页装订线AbstractIf you see the news, they can understand the 21st century is the century of information, Information technology is with great speed instead of tr
6、aditional inefficient artificially assignments. With small computer, microcomputer cost of declining, performance, makes the computer as the most important information product, become indispensable for the masses of tools. Computer technology has been widely used in daily office, enterprise manageme
7、nt, word processing, spreadsheets and simple personnel management, financial management, and greatly improve our work efficiency, saving many resources, make management standardization, systematization, more scientific. Now with the development of computer technology and popularization of the manage
8、ment institution, tencent started using computer processing of information. In our country, the great variety of scale, past records, query operation manual and low working efficiency error-prone, already can not adapt to the development of The Times, from management point of view, the manager will
9、cause many inconvenience, there may be some details, let the illegal businessmen to escape. Therefore, a simple and practical drug management system is very much in line with the needs of the market.Through the research on the modification, and comprehensive considerations repeatedly, the author det
10、ermined after use JAVA SWING technology, MYSQL5.0 ECLIPSE J2SE JAVA development platform, the drug administration system database development. Drug management system is designed, make enterprise can have more efficient management tools, enterprise in the 21st century the fierce competition. Foreign
11、management system has many excellent experience, but not completely accord with the national condition of our country, Chinas vast drug sales enterprise is distributed in the small and medium-sized enterprises nationwide sales. Therefore, the development of medicine management system function is abs
12、orbed foreign outstanding management tools and excellent function, the innovation of our customers demand more accord with a comprehensive functions of information management system. Drug management system is divided into five modules, respectively, the worker system user information management modu
13、le, stock management module, modules, stock transfer sales management module management module. The five function module design is reasonable, comprehensive functions, and friendly interface, very large pharmaceutical sales in conformity with the requirements of the enterprise management. But due to
14、 lack of time and the practice of the job, system is not perfect, and some mature products on the market is still has some shortcomings. Future work will use the rest time, learning new technology and design concept of drug administration system, further development iteration, the second goal in the
15、 next three months are more standard code, the interface of the program can be more beautiful, expanding further strengthens, more with market, and then released to the China open for World Java on learning and using free download.Key words:Java Swing、Mysql5.5、JDBC、MedMgrSystem、Medicine sales 库存有 ID
16、,名称,数量等等。“库存”可拥有 0-MANY 的“药品”,而药品同样属于 0-MANY 的库存。所以是多对多的关系根据以上的分析给出下面的概念结构设计得 E-R 图如图 4.3 所示。图 4.8 用户 E-R 图图 4.9 药品 E-R 图用户表用户名 用户名权限药品表ID药品名别名规格 产地进价批发价零售价零售商有效期类别备注图 4.10 供应商 E-R 图图 4.11 库存 E-R 图图 4.12 供应商 E-R 图图 4.12 职员 E-R 图供应商编号供应商名地区备注库存表药品编号供应商编号 数量零售价药品名销售单销售单编号药品 ID 药品名数量价格职工表职工号职工名 性别电话地址证
17、件号邮编安徽工业大学 毕业设计(论文)说明书共 65 页 第 25 页装订线n1mmnnn1图 4.13 实体联系 E-R 图4.3.2 数据库的逻辑设计药品管理管理系统主要涉及到 4 个表,即:药品信息表、药品入库表、药品出库表和库存表。药品信息表:这张表是用来存储药品信息的。药品添加以后它的信息就会储存到这张表中,其中包含:药品编号、 药品名称、 化学名称、规格、药品类别、剂型、药品表ID药品名别名规格 产地进价批发价零售价零售商有效期类别备注库存表药品编号供应商编号 数量零售价药品名销售单销售单编号药品 ID药品名数量价格供应商编号供应商名地区备注销售进货供货库存初始化批号及厂商。其中药
18、品编号是主键,非空且唯一。其余信息可以为空,并在数据表建立的时候给他们相应的规定好数据类型。药品入库表:这张表是用来存储入库表单信息的,所有入库单信息都包含在这张表中。包括:入库单号、 药品编号、 批号、 入库日期、有效日期、进价、预售价、数量、整量单位、散量单位及验收人。其中入库单号是主键,非空且唯一。药品出库表:这张表是用来存储出库表单信息的,所有出库信息都包含在这张表单中。它的字段有:出库单号、药品编号、批号、数量、出库日期及验收人。其中出库单号是主键,非空且唯一。药品库存表:这张表是用来存储库存信息的,所有初始化的库存信息和出库入库信息改变后的信息都会被记录下来。它字段有:库存号、药品
19、编号、批号、药品名称、数量、整量单位、散量单位、入库日期、有效日期、进价、预售价、库存下限及验收人。4.3.3 数据库的物理设计数据库设计有几个范式,一般我们要做到的是第三范式,即数据表中没有冗余字段以及同一个表中的字段没有函数依赖关系,冗余字段即在一个表中已经保存过的信息,在另一个表中就不应该存在,如果需要的话,可以通过表间的关联来得到,函数依赖性就是一个表中的字段间不应该有计算关系,如一个表中有单价字段、数量字段,就不应该有一个总金额字段。如果程序运行过程中需要总金额,可以实时计算。不过在一些较常用的表中,我们可以适当地保留冗余字段,这样,在程序运行过程中可以减少由于表间互相关联而使用速度
20、降低等问题。这就是所谓的第四范式。数据表设计时,最好不要使用用户输入的信息作为主键,每一个数据表自己定义一个主键,添加信息是由程序自动添加,这样就可以减少数据更新时产生的错误。表与表相关联的外键最好是由程序自动生成的主键,这样数据库就比较规范了。另外,数据表设计时一般都应该有一些标志字段,标志字段可以定义成 CHAR(1)或 BIT型。建议实际应用中定义成 CHAR(1)字段可以存储多种可能的状态,在最初设计时,可能我们没有考虑到的一些情况,在程序后来的开发中,可以通过设计标志字段为不同的 值来解决,这样就避免了修改数据库结构。数据库初期设计时一定要谨慎,把所有可能的情况都考虑进去,即使当时没
21、有用到,也要将它留在数据库中作为备用字段以便将来扩充。程序一旦开始编码,就应该尽量避免再修改数据库。因为如果数据库结构一旦改变,所有与修改的数据表相关的业务都有可能受到影响,而某些影响还很难看到,这样就容易形成一个恶性循环。错误越改越多,越改越乱,最终导致程序的失败。PB 的数据窗口与其他语言的数据控件不一样,它的很多东西是预编译的。即使你一安徽工业大学 毕业设计(论文)说明书共 65 页 第 27 页装订线个模块已经调试无误,但只要数据库结构改动。相应的模块就一定要重新修改,否则一定会出问题。药品管理系统数据库中各个表的设计结果如下面几个表格所示。每个表格表示为数据库中的一个表。表 4.14
22、 药品信息表Medicine列名 数据类型 允许空值默认值 描述mid(PK) Varchar(8) N 药品编号mname Varchar(40) N 药品名称mshortname Varchar(10) Y 药品建成mnors Varchar(4) N 规格marea Varchar(40) N 药品产地mlot Varchar(10) N 批号minpri float N 0 进价mwpri float N 0 批发价mpri float N 0 零售价Mcon Varchar(8) N 供应商Mcate Varchar(20) N 类别Musetime decimal(10,0) N 有效期memo Varchar(40) Y 备注表 4.15 用户表User列名 数据类型 允许空值默认值 描述Username(PK) Varchar(20) N 用户名password Varchar(8) N 密码rank int N 1 权限