《药品管理系统需求分析.doc》由会员分享,可在线阅读,更多相关《药品管理系统需求分析.doc(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date药品管理系统需求分析药品管理系统需求分析安徽工业大学毕业设计(论文)任务书课题名称药店管理系统设计与实现学 院 计算机学院专业班级网络工程 网061班姓 名王义龙学 号069074228毕业设计(论文)的主要内容:一、进行调研,了解、分析用户对“药店管理系统”的设计要求。二、熟练掌握一种程序设计语言,掌握其数据库开发、访问技术。三、根据课题要求,软件完成如下功能:1,
2、 对系统用户的增删改查等操作的实现;2, 对职工的人事管理;3,对药品的进销存;特殊情况的处理,还有根据用户权限的不同设置模块的功能开放.四、要求软件设计界面友好、使用方便,程序执行安全、可靠。五、完成与设计内容有关的外文资料翻译,译文约5000字。六、撰写毕业论文并提交设计软件及清单一份。起止时间:2010年3月1日至2010年6月7日共14周指 导 教 师签 字系 主 任签 字院 长签 字-目录第一章 概述51.1 系统开发背景和意义51.2 开发环境5第二章 需求分析72.1 任务概述72.2 功能需求72.3 性能需求72.4 数据描述(数据流图+数据字典)8第三章 系统总体设计143
3、.1 业务流程143.2 系统功能模块图143.3 系统流程图16第四章 详细设计184.1 程序流程图184.2 程序输入输出描述234.2.1 用户管理模块234.2.2 职员管理模块234.2.3 销售管理模块234.2.4 进货管理模块234.2.5 货存转移模块234.2.6 财务信息模块234.3 数据库的设计244.3.1 数据库的概念结构设计和ER图244.3.2 数据库的逻辑设计264.3.3 数据库的物理设计27第五章 测试分析报告476.1 什么是软件测试476.2软件测试的目的476.3 测试计划和要点476.3.1 药品以及药品管理模块测试要点476.3.2 销售管理
4、测试要点476.3.3 进货管理测试要点476.3.4 职工信息测试要点466.4 部分测试图476.5 测试结论49总结50参考文献51 第一章 概述如何利用现代信息技术使企业拥有快速、高效的市场反映能力和高度的效率,已是医药经营企业,特别是医药连锁经营企业特别关心的问题。尽快建立一个功能齐备的药品进、出库管理系统,完善现代企业的信息化管理机制,已成为医药企业生存发展的当务之急。通过开发这个药品管理系统,使药品进销存管理工作系统化,规范化,自动化,从而达到提高管理效率的目的。本系统开发设计思想是实现药品管理的数字化。尽量采用现有软硬件环境,及先进的管理系统开发方案,提高系统开发水平和应用效果
5、的目的。系统应符合企业管理的规定,满足日常管理的需要,并达到操作过程中的直观、方便、实用、安全等要求,系统采用模块化程序设计方法,这样既便于系统功能的各种组合,又便于未参与开发的技术维护人员补充,维护。系统应具备数据库维护功能,及时根据用户需求进行数据的添加,删除,修改等操作。1.1 系统开发背景和意义此次毕业设计的选题是由我校计算机学院统一选题。本次的毕业设计是一个可以充分地锻炼自己的动手实践能力以及考核四年大学所学知识的积累的机会。针对我的实际情况,结合四年来对计算机软件的熟练程度以及对数据库的了解,经过与指导老师以及小组成员的协商,我选择了药品管理系统软件设计与开发这个课题。这是一个属于
6、实际的课题,如果顺利,我们所设计的药品管理系统将实际应用到中国最广大的售药系统中去,对于初涉社会的我们来说,无疑是一个非常好地锻炼机会。考虑到该系统属于一个规模较大、较为复杂的数据库系统,对计算机的性能要求较高,决定使用MyEclipse7.0开发此系统。此次毕业设计选题范围是相当广泛且实用的,含盖了目前大部分计算机软件类开发的课题,给我们很大的自由发展的空间。可以每个学生挑选出最合适的课题,更适合同学们的兴趣和价值取向。选择此课题对我来说有着不同的意义,应该来说此课题更接近于实际开发的全过程。同时对编程、数据库调用、结构化查询语言STRUCTURED QUERY LANGUAGE等方面是一个
7、比较综合的考验。让我在此过程中得到很好的锻炼。随着医疗制度改革的进行,药品招标采购的逐年规范和扩大,药品管理已经成为药剂科乃至整个医院管理的重要内容。传统的管理模式已经跟不上顾客对快节奏生活的要求了!随着计算机的普及和计算机软件的不断发展,越来越多的医疗机构开始注视计算机这个辅助工具为自己带来的效益了。医院的售药机构需要通过计算机提高自已工作效率、对药品实现进销存管理和职工管理,提高经济效益本次毕业设计我们秉承良好的治学之风,除了严格按照毕业设计进度表来安排我的设计情况,同时加强我与指导李老师联系和交流。同时这是一个面向实际应用的课题,和基础调研更是尤为显得重要,为最终能够成为一个成功的案例而
8、努力。 1.2 开发环境开发环境的选择会影响到数据库的设计,所以在这里给出图书管理系统开发与运行环境的选择如下:开发环境:Window 7 旗舰版开发工具:MyEclipse7.0数据库版本: MySql 5.0.87数据库引擎: MyISAM第二章 需求分析 2.1 任务概述药品管理系统是为了加强药品管理,以便更好地对药品进行监督和管理,对售药机构人员的工作,起到了高效性、准确性管理而开发。本系统主要包含系统用户管理模块、药品管理模块、销售管理模块、进货管理模块、存货转移管理模块。药品管理系统是以合理、全面、准确的药品编码体系为基础,提供了对药品数量、金额、有效期的全面管理,统一的药价管理机
9、制规范了药品的价格。系统能随时提供药库的库存、药品流向和消耗,还能根据现有库存,药品有效期提供采购计划或应暂停采购的药品清单,以提高资金的利用率,避免不必要的损失,方便快捷的途径对药基本信息进行定期的更新和删除等管理。 2.2 功能需求一功能划分药品管理系统分为系统用户管理、药品销售管理、药品库存管理、进货管理、职工管理、查询与报表分析。二功能描述(1)系统用户管理:允许添加删除用户(只有管理员才可以修改),任意权限的用户允许更改自己的密码,添加或删除职工,修改职工,对药品进行销售和库存的控制的资料。(2) 药品进货管理:当企业需要增加新的销售药品时,利用此模块可以添加新的药品信息,删除旧的药
10、品信息,修改已存在的药品信息,提供所有与药品相关的各类信息,初始化库存,初始化供应商相关信息。(3)药品销售管理:药品统一的价格销售,对已查询销售单,可以对药品的价格进行控制。(4)库存转移管理:实际生活中容易发生药品过期和损毁,此时利用此模块对过期的药品和损毁的药品进行清理。(6)职工管理: 对药品企业进行职工的管理,对职工进行增加,修改,删除,查询等操作。(7)查询与报表分析:此功能并未单独作为一个模块,而是分布在各个模块中,各个模块产生业务时,可以在各模块的相应功能按钮上选择查询。2.3 性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,药品管理系统应该满足以下的性能需求:1、
11、系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对信息处理的需求。2、系统的开放性和系统的可扩充性药品管理系统在开发过程中,应该充分考虑以后的可扩充性。例如用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。3、系统的易用性和易维护性图书管理系统是直接面对使
12、用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。4、系统的标准性系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。5、系统的先进性目前计算系统的技术发展相当快,做为药品管理系统工程,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中
13、,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。6、系统的响应速度药品管理系统系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。2.4 数据描述(数据流图+数据字典)经过调研,我们发现,一个药店最基本的工作流程是进货和销售。消费者选择药店进行购物,药店通过我们的药店管理系统进行药品的销售及销售后的库存整理。流程简介:2.4.1 要求A.为每种药品设置编号,输入药品的信息,以便于管理人员对药品进行管理,也便于核对修改B.为职工设置库,便于操作员对职工进行管理
14、C.为供货商设置库,便于操作员及时与供货商联系货源D.设置系统权限E.药品价格分为进货价、零售价和批发价2.4.2 目标A.使药品销售的信息能及时得到统计、查询B.方便操作员的操作,达到简单、易用的效果C.提高操作员的工作效率D.提高操作的正确率E.提高系统的可靠性及安全性管理人员顾客药品管理系统图2.1 药品管理系统基本流程以上便是我们这个药品管理系统的总体数据流程图,通过上述的这幅图片,我们可以清楚地了解到该系统的大致情况,有两个数据源/终点,分别是客户、用户。而该系统进一步地功能显示在下图中可以得到解释。控制信息管理人员统计信息销售统计管理进出货管理职工管理图2.2 管理人员的数据流图销
15、售人员通过输入药品编号,查出系统中存在的药品,通过医生看病以及配药,考虑所售药品的价格,将病人所要购买的药品列入药品清单中,最后的销售入库存系统将此次的交易数据保存到数据库中,最终完成交易,将药品交给病人手中。经过对数据流程分析,提示出现行系统具有4个主要模块:药品信息系统、药品库存管理系统、供应商管理系统、药品销售系统。通过它们我们的药品管理系统才成为了一个能够成功的软件。首先是药品信息系统:在这个模块中由用户或管理员输入所有药品的基本信息即药品的初始化。第二个是药品库存管理系统:在这里这个系统有两个功能,一是查出现有药库中的所有过期药品,更新现有的数据库;二是实现药品入库,避免药品空缺造成
16、的销售问题。第三个是供应商管理系统:供应商是药品进货时,从何处购得的一种记录方法,通过供应商可以方便的再次进货。最后一个是药品销售系统:在这个模块中,管理人员可以很方便地对销售情况进行查看,显示当天的销售金额并备份所有的数据库表。药品管理系统与3个外部实体有关:顾客、药房销售人员和系统管理员。其中系统管理人员拥有所有信息资料添加、删除和修改的权限,而药房销售人员只具有普通权限不能对信息资料做任何的删除操作。以上只是整个系统的总体流程,大概显示了一次一个用户完整交易的全部过程。在这里我们还要对这个数据流程进行进一步详细的分解。反馈结果购药要求消费者购药及退货图2.3 消费者的数据流图消费者通过选
17、购,选购好合适的药品,到管理者处登记结账,发生销售管理。管理者通过药品编号,录入系统需要销售的数量,系统生成仓库中是否有足够的药品。发生销售之后产生销售单和销售金额,消费者付款拿货。销售管理完成。当消费者发现购买的药品不符合要求,管理者在认真核实之后,予以退款,发生退货。此时管理者要在系统的坏货转移中,将不合格药品转移到不合格仓库中。图2.4 系统数据流图图2.5 详细数据流图2.4.3 数据字典数据流项目:1.名字:用户信息(admin)别名:无流量:每天上十次来源:用户基本信息表去向:核对用户信息定义:用户信息用户名用户密码+权限2.名字:药品信息别名:无流量:每天上十次来源:药品表去向:
18、核对药品库存初始化、核对出库信息、核对入库信息定义:药品信息药品编号 + 药品名称 + 药品建成 + 药品规格 + 药品产地 + 批号 +进价 + 批发价 + 零售价 + 供应商 + 类别 + 有效期 + 备注.3.名字:库存信息别名:无流量:每天上十次来源:库存表去向:核对药品库存查询、核对进货单、核对销售单定义:库存信息ID 药品编号 + 药品名称供应商编号 + 单价 + 数量 + 入库日期 + 仓库类别.4.名字:供应商信息别名:无流量:每天上十次来源:供应商表去向:反馈给用户,核对进货单定义:供应商信息ID供货商编号供货商名+地区+备注5.名字:销售单单信息别名:无流量:每天上十次来源
19、:销售单单表去向:反馈给用户定义:销售单信息ID药品编号 + 药品名称 + 数量 销售日期 + 销售数量 + 销售收入2.4.4 存储条目:1.文件名:用户基本信息表别名:无存储方式:随机存储存储频率:每天上十次定义:用户基本信息表用户名用户密码 + 权限2.文件名:药品表别名:无存储方式:随机存储存储频率:每天上十次定义:药品表药品编号 + 药品名称 + 药品建成 + 药品规格 + 药品产地 + 批号 +进价 + 批发价 + 零售价 + 供应商 + 类别 + 有效期 + 备注.3.数据项条目:项名:药品类型别名:无描述:用户输入试题的类型定义:药品类型所有药品规定类型位置:药品表4.处理条目
20、:1.处理名:药品添加处理逻辑:用户添加药品信息执行频率:每天上十次2.处理名:库存初始化处理逻辑:用户初始化药品库存表执行频率:进货上十次3.处理名:入库处理逻辑:用户添加进货单执行频率:每天上十次4.处理名:销售处理逻辑:用户添加销售单执行频率:每天上十次第三章 系统总体设计3.1 业务流程根据需求分析的得到的现行业务处理流程,在用户反复研究后,首先确定目标系统的业务流程,其处理流程如图3.1。用户验证药品登记管理员登陆 合法用户登记后的药品销售和库存整理管理员退出登陆图3.1 药品管理系统的业务流程针对业务流程,现具体描述其功能如下:1.用户登录:系统对用户合法性进行检查。2.药品入库:
21、对新购进的药品分类进行编号,并把药品基本信息录入计算机。3.药品销售:对已入库的药品,销售人员可以进行销售。4.药品进货:对已入库的药品,管理人员可以进行货存控制。5.存货转移:对于已经过期或者损坏的药品,可以进行处理。 6.信息查询:对药品的各种变动情况的查询。7.职员管理:对药店的职工进行管理。3.2 系统功能模块图药品管理系统模块是用JAVA SWING进行设计,MYSQL作为后台数据库管理系统。系统管理模块分为用户登录、进货管理、销售管理、职工管理和坏货转移;用户管理模块主要是新增用户,修改用户,查询用户,删除用户;进货管理模块主要有供应商创始,进货,进货单查询,药品创始;销售管理模块
22、主要有销售,修改价目表,销售单查询;职工管理有添加职工,处理职工。系统体系结构框图如下图:药品管理系统销售管理进货管理坏货转移职工管理用户管理过期处理损毁处理处理职工添加职工销售单查询修改价目表销售药品创始进货单查询进货供应商创始删除用户修改用户新增用户查询用户图3.2 药品管理系统功能模块图3.3 系统流程图依据软件工程的基本原理,综合以上分析给出系统流程图如图3.4所示。用户登陆药品创始库存创始进货登陆销售退出图3.2 系统的处理流程图 说明: 用户通过登陆界面登陆系统时,第一次使用系统时需要进行药品的创始,即将各个药品的详细信息依次录入系统,第一次使用系统时同样要初始化库存,将现有的药品
23、情况录入系统,接下来通过进货模块进行进货,进货时要为每一个供应商进行供应商创始,当发生销售时销售药品,并对库存进行相应的出来,退出时推出系统。第四章 详细设计4.1 程序流程图依据软件工程的基本原理,详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。具体来说就是把经过总体设计得到的各个模块详细的加以描述。本系统采用支持面向对象的Eclipse作为开发工具,运用了J2SE的SWing的技术,更加的方便了程序员的工作。程序对系统配置要求较高。在此给出软件系
24、统的主要模块,如图4.1所示。职工管理销售管理进货管理坏货转移用户管理图4.1 主程序模块图 根据以上主程序的模块图,我们可以得出下面的关于各个模块的程序流程图,如图4.2所示。 开始用户类型管理员系统管理员职工管理坏货转移进货管理销售管理用户管理退出系统结束图4.2 总体流程图说明:用户登陆系统时,系统判断用户的级别,如果为系统管理员,则可以进行用户的用户管理,如果是管理员,则可以进行相应的销售管理,进货管理,坏货转移,职工管理,管理员点击退出按钮时,退出系统。用户登陆 失败用户核对操作成功成功用户管理用户管理操作图4.3 用户登陆流程说明:用户根据已知的用户名和密码登录系统,只有登录成功才
25、能进行系列的用户管理、库存管理、销售管理,职工管理的操作。用户登陆药品添加录入药品核对药品信息失败药品表 成功成功图4.4 药品创始流程用户登陆库存管理输入库存库存创始操作成功操作失败成功库存表图4.5 存货创始流程用户 登陆销售管理操作失败 销售单录入核对信息操作成功成功库存表图4.6 销售流程用户 登陆坏货转移核对信息 录入坏货信息操作失败操作成功 成功库存表图4.7 坏货转移流程说明:用户登陆后进行药品的相关管理,通过药品创始,为系统初始化一些药品及添加新的代售药品。通过存货创始将具体进货的药品录入库存中,销售成功则对库存做相应的修改。当药品损坏或者过期时,应当对库存做相应的调整。用户用
26、户登陆职员管理核对信息录入职员信息操作成功成功职员列表失败图4.7 职员管理说明:管理员通过职工管理模块进行职工的管理,添加职工后,录入到职员列表中。4.2 程序输入输出描述4.2.1 用户登陆模块1.输入项目:输入用户名及密码。2.输出项目:打开系统。4.2.2 用户管理模块1.输入项目:与用户相关的所有信息。2.输出项目:操作结果的显示,出错弹出对话框。4.2.3 销售管理模块1.输入项目:选择药品编号,药品的进销价格。2.输出项目:操作结果的显示,出错弹出对话框。4.2.4 进货管理模块1.进货项目:供应商的详细信息,仓库的详细信息,药品的数量。2.输出项目:药品的有关资料的显示,进货单
27、列表4.2.5 坏货管理模块1.输入项目:发生意外无法使用的药品编号。2.输出项目:操作结果的显示。4.2.6 职工管理模块1.输入项目:职工的详细信息。2.输出项目:根据用户的输入显示相应的结果。4.3 数据库的设计4.3.1 数据库的概念结构设计和ER图在需求分析阶段已完成该系统所有的数据分析。根据该阶段所建立的概念模型,已经得出满足系统设计要求的几个关系描述,该阶段的主要工作就是把前一阶段的成果转化为具体的数据库。概念结构设计就是要找出实体和他们之间的联系,去除非本质的东西。实体是名词,在ER 图中设计中就是所说的表。比如“药品”,“库存”。 行为是动词,在ER 图中设计时一般不考虑行为
28、,它是业务逻辑,在详细设计才有设计,是方法。比如 “销售”,“进货”等等。 在设计ER图时时强调的是不同实体之间关系,不是行为。比如:药品 销售 库存,“转移”是一种关系,不是行为。在某种情况下,“销售”是一个关系表,将“药品”和“库存”联系起来。 在找出实体后,我们要根据分析来定义实体的属性,就是表的列。比如药品有ID,名称,进价,销价,简介等等; 库存有ID,名称,数量等等。 “库存”可拥有 0-MANY 的“药品”,而药品同样属于0-MANY 的库存。所以是多对多的关系根据以上的分析给出下面的概念结构设计得E-R图如图4.3所示。用户表权限用户名用户名图4.8 用户E-R图有效期 零售商
29、别名药品表零售价ID批发价药品名备注进价产地规格类别图4.9 药品E-R图供应商 备注地区编号供应商名图4.10 供应商E-R图库存表 药品名药品编号零售价数量供应商编号图4.11 库存E-R图价格销售单销售单编号数量药品名药品ID图4.12 供应商E-R图职工表邮编职工号地址证件号电话性别职工名图4.12 职员E-R图零售商有效期规格产地别名ID进价类别零售价批发价药品表备注药品名n供货销售单编号1备注库存初始化地区药品IDm销售单供应商药品名供应商名m销售进货编号价格n数量n库存表n1药品编号零售价数量药品名供应商编号图4.13 实体联系E-R图4.3.2 数据库的逻辑设计药品管理管理系统
30、主要涉及到4个表,即:药品信息表、药品入库表、药品出库表和库存表。药品信息表:这张表是用来存储药品信息的。药品添加以后它的信息就会储存到这张表中,其中包含:药品编号、药品名称、化学名称、规格、药品类别、剂型、批号及厂商。其中药品编号是主键,非空且唯一。其余信息可以为空,并在数据表建立的时候给他们相应的规定好数据类型。药品入库表:这张表是用来存储入库表单信息的,所有入库单信息都包含在这张表中。包括:入库单号、药品编号、批号、入库日期、有效日期、进价、预售价、数量、整量单位、散量单位及验收人。其中入库单号是主键,非空且唯一。药品出库表:这张表是用来存储出库表单信息的,所有出库信息都包含在这张表单中
31、。它的字段有:出库单号、药品编号、批号、数量、出库日期及验收人。其中出库单号是主键,非空且唯一。药品库存表:这张表是用来存储库存信息的,所有初始化的库存信息和出库入库信息改变后的信息都会被记录下来。它字段有:库存号、药品编号、批号、药品名称、数量、整量单位、散量单位、入库日期、有效日期、进价、预售价、库存下限及验收人。4.3.3 数据库的物理设计 数据库设计有几个范式,一般我们要做到的是第三范式,即数据表中没有冗余字段以及同一个表中的字段没有函数依赖关系,冗余字段即在一个表中已经保存过的信息,在另一个表中就不应该存在,如果需要的话,可以通过表间的关联来得到,函数依赖性就是一个表中的字段间不应该
32、有计算关系,如一个表中有单价字段、数量字段,就不应该有一个总金额字段。如果程序运行过程中需要总金额,可以实时计算。不过在一些较常用的表中,我们可以适当地保留冗余字段,这样,在程序运行过程中可以减少由于表间互相关联而使用速度降低等问题。这就是所谓的第四范式。数据表设计时,最好不要使用用户输入的信息作为主键,每一个数据表自己定义一个主键,添加信息是由程序自动添加,这样就可以减少数据更新时产生的错误。表与表相关联的外键最好是由程序自动生成的主键,这样数据库就比较规范了。另外,数据表设计时一般都应该有一些标志字段,标志字段可以定义成CHAR(1)或BIT型。建议实际应用中定义成CHAR(1)字段可以存
33、储多种可能的状态,在最初设计时,可能我们没有考虑到的一些情况,在程序后来的开发中,可以通过设计标志字段为不同的 值来解决,这样就避免了修改数据库结构。 数据库初期设计时一定要谨慎,把所有可能的情况都考虑进去,即使当时没有用到,也要将它留在数据库中作为备用字段以便将来扩充。 程序一旦开始编码,就应该尽量避免再修改数据库。因为如果数据库结构一旦改变,所有与修改的数据表相关的业务都有可能受到影响,而某些影响还很难看到,这样就容易形成一个恶性循环。错误越改越多,越改越乱,最终导致程序的失败。PB的数据窗口与其他语言的数据控件不一样,它的很多东西是预编译的。即使你一个模块已经调试无误,但只要数据库结构改
34、动。相应的模块就一定要重新修改,否则一定会出问题。药品管理系统数据库中各个表的设计结果如下面几个表格所示。每个表格表示为数据库中的一个表。表4.14 药品信息表Medicine数据类型允许空值默认值描述mid(PK)Varchar(8)N药品编号mnameVarchar(40)N药品名称mshortnameVarchar(10)Y药品建成mnorsVarchar(4)N规格mareaVarchar(40)N药品产地mlotVarchar(10)N批号minprifloatN0进价mwprifloatN0批发价mprifloatN0零售价MconVarchar(8)N供应商McateVarcha
35、r(20)N类别Musetimedecimal(10,0)N有效期memoVarchar(40)Y备注表4.15 用户表User列名数据类型允许空值默认值描述Username(PK)Varchar(20)N用户名passwordVarchar(8)N密码rankintN1权限表4.16 供应商表Supplier列名数据类型允许空值默认值描述spid(PK)Varchar(8)N供应商编号spnameVarchar(8)N供应商名SpareaVarchar(8)N地区SpmenoVarchar(40)Y备注表4.17 销售单表SalesOrder列名数据类型允许空值默认值描述Soid(PK)Va
36、rchar(8)N销售单编号midVarchar(8)N药品编号MnameVarchar(40)N药品名SnumintN0数量pricedoubleN0单价表4.18 职工表Staff列名数据类型允许空值默认值描述Staffid(PK)Varchar(8)N职工编号staffnameVarchar(20)N职工名称Staffsexvarchar(2)N性别stafftelvarchar(12)N电话staffaddvarchar(40)Y地址Staffcardvarchar(40)N身份证staffzipvarchar(6)Y备注表4.19 货存表Stock列名数据类型允许空值默认值描述Mid
37、(PK)Varchar(8)N职工编号mnameVarchar(20)N职工名称mpricefloatN性别mnumintN电话spidvarchar(8)Y地址timedatetimeN身份证statusintN存货类别 第五章 测试分析报告6.1 什么是软件测试 软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控 制条件应包括正常条件与非正常条件。 软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应 该出现的时候没有出现。从本质上说,软件测试是“探测”,在“探测”中发现软件的毛病。 软件测试贯穿于软件定义与开发的整个周期 ,软件的
38、需求规格说明书 ,结构设计及程序编 码,都属于软件测试的对象。 软件测试包含白盒测试与黑盒测试,白盒测试是针对程序代码进行正确性检验的测试工作, 黑盒测试独立于程序代码,从用户的角度,通过一定的测试步骤与测试案例,验证软件功能、 性能等指标能否满足实际应用需求的测试作。6.2软件测试的目的 软件测试的目的是为了保证软件产品的最终质量,在软件开发的过程中,对软件产品进行质量控制。一般来说软件测试应由独立的产品评测中心负责,严格按照软件测试流程,制定测试计划、测试方案、测试规范,实施测试,对测试记录进行分析,并根据回归测试情况撰写测试报告。测试是为了证明程序有错,而不能保证程序没有错误。6.3 测
39、试计划和要点 软件测试的本质是针对要测试的内容确定一组测试用例。在讨论之前,我先把要测试各个模块的计划和要点列出:6.3.1 药品以及药品管理模块测试要点 用户的登录用户名和密码的核对,药品创始信息格式的判断,防止不规范的数据和错误的数据插入数据库。例如,已经存在的用户不可被再次注册,用户的生日和email格式等。6.3.2 销售管理模块测试要点发生销售时,库存的变动情况,是否减少,药品为零则禁止销售。6.3.3 进货管理模块测试要点录入数据时对数据格式的限制,防止不正确的数据进入数据库。6.3.4 职工信息测试要点防止脏数据进入数据库。6.4 部分测试图1. 用户名或密码错误图6.1 (登陆
40、)用户名或密码错误提示2.用户注册模块 图6.2 (注册) 用户已存在提示3.药品录入数据格式的限制图6.3 药品录入数据格式的限制6.5 测试结论 1 测试目标完成 ;2 测试已经通过;3 可以进入下一阶段项目目标; 总结不知不觉,三个月的设计结束了。在这三个月的设计,让我受益非浅。自我学计算机专业以来,始终认为一个完整的程序就相当于一个优秀的软件产品,只要程序编得精致、具体、详细,所开发的软件就绝对完美、实用。在这次设计药品管理系统中,我积极查阅各种资料,实地调研,在李老师的帮助下完成了这个系统的全部设计。刚开始设计时遇到了一些困难,因为之前自学过的Java Swing已经忘了差不多了,再加上自己还要参加其他单位的实习,时间的安排上也很紧迫,编程的进度比较缓慢。在设计中还会遇到一些功能不知该如何实现的困难,在同学们,同事们的热情帮助下,我渐渐的复习了Java Swing控件的使用方法、Java Swing的编程语法,之后的编程过程也相对得心应手,基本完成了预期计划的要求。但是系统功能还没有