1、武汉理工大学计算机能力拓展训练报告书学 号:课 程 设 计题 目基于Java环境的医院药品管理系统的设计学 院计算机科学与技术学院专 业计算机科学与技术专业班 级姓 名指导教师许毅2012年09月02日计算机能力扩展训练任务书学生姓名: 专业班级:指导教师: 许 毅工作单位: 计算机科学与技术学院 题 目: 初始条件:理论:.NET、Java、Linux、Android或Windows Phone环境, Oracle、SQLite、SQL Server、SQLServer CE或MySQL数据库, C、Eclipse、C+或其它合适、有效的开发工具,等等。实践:计算机科学系实验中心提供计算机及
2、软件开发环境.要求完成的主要任务:(1)系统需求分析:使用软件工程所学的知识对拟开发的系统进行数据需求和功能需求分析,确定开发环境和工具软件.(2)系统设计:根据系统需求分析进行概要设计和详细设计,在确定好的开发环境中利用确定的工具软件进行系统实现.(3)编制好程序后,设计若干测试用例,上机测试所设计的原型系统.(4)设计报告按格式要求书写.设计报告正文的内容应包括:1)系统描述 包括问题说明、数据需求和功能需求。2)系统设计 包括总体设计、数据库表结构、输入/输出设计、用户界面设计、处理过程设计。3)系统测试 包括测试用例的描述、测试方法和测试结果。4)设计的特点、不足、收获和体会。时间安排
3、:1、暑期完成。2、下学期开学第一周到计算机学院实验中心(三楼)检查程序、交课程设计报告、源程序(CD盘)。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日基于Java环境的医院药品管理系统的设计1、项目设计的背景及意义该内容主要是药品信息管理的库存管理、药品管理、入库单管理和出库单管理等模块的结合实现,使用java技术加以实现。通用此课题以及我们在以往学习数据库的基础上,灵活运用java和结构化查询语言SQL Server 2005,开发出基本上能供应使用的药品管理信息系统.应用所学的有关知识,更深入地学习NetBeans平台和SQL Server 2005数据库技术应用,将
4、所学的书面知识和实际应用结合起来,以达到学以致用的目的. 2、可行性分析可行性分析是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功.可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。(1)技术可行性:该系统采用了B/S技术结构,使用NetBeans开发软件,数据库服务器选用微软公司的SQL Server 2005数据库,它是目前能处理所有中小型系统最方便的流行数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能
5、。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。硬件方面,此系统是使用网页作为服务端的,所以对硬件没什么要求,安装有IE就够了。(2)经济可行性:本系统作为一个课程设计,因此无需考虑。(3)操作可行性:作为一个课程设计,要求很适中,而且都是完全根据所学的知识进行。因此,医院药品管理信息系统的开发是完全可行的。3、功能需求(一)功能划分药品管理系统分为系统用户管理、药品销售管理、药品库存管理、进货管理、职工管理、查询分析。(二)功能描述(1) 药品进货管理:当医院需要增加新的销售药品时,利用此模块可以添加新的药品信息,修改已存在的药品信息,提供所有与药品相关的各类信息,初始化库存。(2
6、)药品销售管理:药品统一的价格销售,对已查询销售单,可以对药品的价格进行控制。(3)用户管理: 对对职工进行增加,删除,查询等操作。(4)查询分析:此功能并未单独作为一个模块,而是分布在各个模块中,各个模块产生业务时,可以在各模块的相应功能按钮上选择查询.4、 性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,药品管理系统应该满足以下的性能需求:1、系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对信息处理的需求。2、系统的开放性和系统的可扩充性药品管理系统在开发
7、过程中,应该充分考虑以后的可扩充性.例如用户查询的需求也会不断的更新和完善.所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件.通过软件的修补、替换完成系统的升级和更新换代。3、系统的易用性和易维护性管理系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的
8、过程。4、系统的标准性系统在设计开发使用过程中都要涉及到很多计算机硬件、软件.所有这些都要符合主流国际、国家和行业标准。5、系统的先进性目前计算系统的技术发展相当快,做为药品管理系统工程,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后.这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成.另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品.6、系统的响应速度药品管理系统系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因
9、为速度问题而影响工作效率.5、 数据描述(数据流图+数据字典)经过调研,我们发现,一个医院药品管理最基本的工作流程是进货和销售。医院通过管理系统进行药品的销售及销售后的库存整理.图5.1 系统数据流图图5。2 详细数据流图6、 E-R图本系统涉及到以下实体:图6。1 用户E-R图图6。2药品ER图图6。3 库存E-R图图5。4入库E-R图图6。5 入库ER图图6。6 实体联系ER图7、数据库的逻辑设计药品管理管理系统主要涉及到4个表,即:药品信息表、药品入库表、药品出库表和库存表。药品信息表:这张表是用来存储药品信息的.药品添加以后它的信息就会储存到这张表中,其中包含:药品编号、名称、化学名称
10、、规格、类别、剂型、厂商。其中药品编号是主键,非空且唯一。其余信息可以为空,并在数据表建立的时候给他们相应的规定好数据类型.药品入库表:这张表是用来存储入库表单信息的,所有入库单信息都包含在这张表中.包括:表单号、药品编号、批号、入库日期、有效日期、进价、售价、数量及验收人.其中入库单号是主键,非空且唯一.药品出库表:这张表是用来存储出库表单信息的,所有出库信息都包含在这张表单中.它的字段有:表单号、药品编号、批号、数量、出库日期及验收人。其中出库单号是主键,非空且唯一。药品库存表:这张表是用来存储库存信息的,所有初始化的库存信息和出库入库信息改变后的信息都会被记录下来.它字段有:表单号、药品
11、编号、批号、名称、数量、入库时间、有效时间、进价、售价、验收人及状态.8、数据库的物理设计药品管理系统数据库中各个表的设计结果如下面几个表格所示。每个表格表示为数据库中的一个表.表8。1 药品信息表drugdrugnum(PK)Varchar(10)N药品编号nameVarchar(20)Y名称CnameVarchar(20)Y化学名称standardVarchar(20)Y规格sortVarchar(10)Y类别typeVarchar(10)Y剂型factorerVarchar(100)Y厂商表8.2 用户表userinfouserid(PK)Varchar(10)N用户名nameVarch
12、ar(100)Y姓名sexVarchar(10)Y性别idcardVarchar(50)Y身份证号tellVarchar(50)Y电话addressVarchar(100)Y地址passwordVarchar(10)Y密码表8。3入库表bargainbuyid(PK)Varchar(10)N表单号drugnumVarchar(10)Y药品编号numberVarchar(10)Y批号nameVarchar(20)Y名称amountIntY数量intimeDateY进货时间usefultimeDateY有效时间pricedecimal(7, 2)Y进价outpricedecimal(7, 2)Y售
13、价checkedVarchar(20)Y验收人表8。4 出库表sellstockid(PK)Varchar(10)N表单号drugnumVarchar(10)Y药品编号numberVarchar(10)Y批号amountIntY数量outtimeDateY出库时间checkedVarchar(20)Y验收人表8。5 货存表stockstockid(PK)Varchar(10)N表单号drugnumVarchar(10)Y药品编号numberVarchar(10)Y批号nameVarchar(20)Y名称amountIntY数量intimeDateY进货时间usefultimeDateY有效时间
14、pricedecimal(7, 2)Y进价outpricedecimal(7, 2)Y售价checkedVarchar(20)Y验收人stateVarchar(10)Y状态9、系统的处理流程图9.1 系统的处理流程图10模块算法10。1用户登录(1)功能流图图10。1用户登录功能流图(2)功能描述 用户根据已知的用户名和密码登录系统,只有登录成功才能进行系列的药品管理、库存管理、入库及出库管理的操作.10。2药品管理(1)功能流图图10。2药品添加功能流图(2)功能描述用户进入系统以后,首先需要添加药品信息,没有药品信息就无法进行库存管理了,更做不到药品入库和出库。药品信息作为库存管理的一部分
15、,是药品入库和出库的编号查询;还有为提供药品有效期的报警来源.10.3库存管理(1)功能流图图10。3库存初始化功能流图(2)功能描述用户登录进入库存管理页面,进行库存初始化。库存初始化是把现有的库存添加到库存表当中去,但是首先这些库存的药品信息已经都是被录入药品表.所以在查询到这些药品信息后便可以进行库存初始化了.10。4出库单管理(出库)(1)功能流图图10.4出库功能流图(2)功能描述用户在出库单管理的时候,出库要先根据已有的可以出库的药品信息才能出库,出库时候进行出库药品信息核对之后便可以完成药品出库了.10。5入库单管理(入库)(1)功能流图图10。5入库功能流图(2)功能描述用户在
16、入库单管理的时候,入库要先根据已有的药品信息才能入库,入库不能入没有名目的药品。入库时候进行入库药品信息核对之后便可以完成药品入库了。11、系统实现用户登录模块如下:图11。1登录界面图选择药品管理的功能可以进入添加新的药品信息,对药品必填的信息必须写入,然后会弹出窗口提示添加成功.图11。2药品信息添加图 图11。3药品列表显示图添加药品信息后,可以进行库存初始化,选择库存管理项目可以进行库存管理功能:首先进行库存初始化,并能在库存列表查看。图11。4库存初始化添加图图11。5库存列表图点入库单管理操作,可以实现药品入库处理,进行药品入库之后可以在入库单列表显示。在进行药品入库的时候,需要查
17、询药品编号,按照编号进行添加.图11。6入库单添加图点击出库管理操作,可以对出库单进行管理,添加出库单即是对药品进行出库.出库后可在出库单列表显示。 图11。7出库单添加图图11。8用户添加图12、系统测试12。1系统测试目的软件测试的目的是为了尽可能发现并改正被测试系统软件中的错误,增加系统软件的可靠性和正确性.作为系统完成的最后一个环节,它是系统能否实现功能的基础,我使用的测试方法为白盒测试。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。软件测试是软件质量保证的关键环节,直接影响着软件的质量评估。软件测试不仅要讲究策略,更要讲究时效性。验收测试作为软件
18、测试过程的最后一个环节,对软件质量、软件的可交付性和软件项目的实施周期起到决定性的作用。12.2系统测试用例表12。2。1测试用例表用例编号:1用户登录测试模块名称:登录模块功能:登录系统输入数据:1:输入数据库已存的用户名和密码信息2:输入数据库没有的用户名和密码信息预期结果:1:正常登录2:无法登录输出结果:1:正常登录2:无法登录用例编号:2药品信息添加测试模块名称:药品信息添加模块功能:添加药品信息输入数据:1:输入药品编号、名称、化学名称、规格、类型、剂型、厂商2:输入缺少项的药品信息预期结果:1:添加成功2:提示输入完整信息输出结果:1:添加成功2:添加失败,提示输入完整药品信息用
19、例编号:3药品列表显示测试模块名称:药品信息显示模块功能:显示药品信息输入数据:点击药品列表预期结果:1:显示药品信息输出结果:1:显示药品信息用例编号:4库存信息初始化测试模块名称:添加库存表模块功能:添加库存表信息输入数据:1:输入表单号、药品编号、批号、名称、数量、进货时间、有效时间、进价、售价、验收人信息2:输入缺少项目的数据预期结果:1:添加成功2:提示输入完整库存表信息输出结果:1:添加成功2:添加失败,提示输入完整库存表信息用例编号:5库存列表显示模块名称:库存列表显示模块功能:库存列表进行显示输入数据:点击库存列表,点击列表显示预期结果:1:显示库存列表输出结果:1:显示库存列
20、表用例编号:6药品入库测试模块名称:药品入库模块功能:增加药品入库输入数据:1:输入表单号、药品编号、名称、进货时间、有效时间、进价、售价、数量、验收人2:缺少项目数据的入库信息预期结果:1:添加入库单成功2:添加失败,提示缺少数据项输出结果:1:添加入库单成功2:添加失败,提示缺少数据项用例编号:7药品入库单显示模块名称:入库单显示模块功能:显示入库单信息输入数据:单击入库列表预期结果:1:显示入库单信息输出结果:1:显示入库单信息用例编号:8药品出库测试模块名称:药品出库模块功能:库存药品出库输入数据:1:输入药品编号、批号、数量、出库时间、验收人2:输入缺少项目的数据信息预期结果:1:添
21、加出库单成功2:添加失败,提示缺少数据项输出结果:1:添加出库单成功2:添加失败,提示缺少数据项用例编号:9药品出库单显示测试模块名称:出库单显示模块功能:显示出库单信息输入数据:点击出库列表,点击显示预期结果:1:显示出库单列表输出结果:1:显示出库单列表 13、结束语本系统能在Windows以上的操作系统下运行,采用java环境的SQL Server 2005为主要开发工具进行设计开发.因此,具备一定的通用性和扩展性;经过我大量的测试和试用,作者觉得本软件达到了方便和实用的设计目的,实现了系统软件界面、功能性和易用、实用等方面的结合.我也进一步的加深对基础理论知识的理解,扩大专业知识面;另
22、一方面对收集资料、查阅文献、方案制定等实践能力也得到了很好的锻炼,促进了我对所学知识的应用能力;同时,发现问题、分析归纳、综合比较的逻辑分析能力、处理问题等能力也得到了很好的提高。但在这次毕业设计过程中,还是发现了自己很多的不足之处,也遇到了许多棘手的困难,这些困难很多都是大学这几年不注重自己系统学习实践造成的,平时也更不注意学有所用的道理,这些都让我认识到系统的学习和锻炼的重要性;基础知识的掌握固然重要,但是如何灵活运用,如何整体的转变为实现,才是软件系统学习的关键。本科生课程设计成绩评定表班级:姓名:学号:序号评分项目满分实得分1学习态度认真、遵守纪律102设计分析合理性103设计方案正确性、可行性、创造性204设计结果正确性405设计报告的规范性106设计验收10总得分/等级评语:注:最终成绩以五级分制记。优(90100分)、良(80-89分)、中(7079分)、及格(6069分)、60分以下为不及格指导教师签名:201 年月日- 12 -