药品库房管理系统毕业设计.doc
《药品库房管理系统毕业设计.doc》由会员分享,可在线阅读,更多相关《药品库房管理系统毕业设计.doc(33页珍藏版)》请在三一办公上搜索。
1、学校代码:12904学 号:1004109112中图分类: 密 级:无吉林农业工程职业技术学院毕 业 论 文药品库房管理系统学生姓名: 指导教师: 所在学院(系):信息工程系学科专业:计算机信息管理吉林农业工程职业技术学院中国四平2013年5月题 目:药品库房管理系统摘 要在药店里,药品库房管理是一项非常重要的工作,使用人工方式管理各项品信息不仅效率低下,而且容易出错、安全性很差。并且在实际操作中,数据的查找和维护都不容易实现。药品库房管理系统,就是为了解决这些问题而设计的。其目的是实现药品信息管理和出入库记录的快速高效检索,使操作简单安全,提高工作效率和质量。本系统的主要功能是完成品库房管理
2、的日常工作,包括材料的入库、出库以及库存材料信息的管理维护等。目 录第一章 技术背景和分析.1第二章 系统实施.1 2.1 系统设计.1 2.1.1系统分析.2 2.1.1.1用户需求分析.2 2.1.1.2系统可行性分析.2 2.1.2系统功能模块划分.3 2.2数据库设计.4 2.2.1数据库需求分析.4 2.2.2数据库逻辑设计.4 2.2.3数据库实现.5 2.3表单设计.7 2.3.1材料信息维护表单.7 2.3.2材料信息查询表单.14 2.3.3出入库管理表单.15 2.3.4用户向导制作报表.23 2.3.5主表单设计.25 2.4主控程序设计.26第三章 问题讨论.27 3.
3、1系统功能设计的不完善.27 3.2代码维护.27 3.3数据维护.27 3.3.1数据库的安全问题.27 3.3.2数据的安全问题.27第四章 总结.284.1论文总结 284.2工作展望 28参考文献 29 致谢30第一章 技术背景和分析Visual FoxPro是为数据库结构和应用程序开发而设计的功能强大的面向对象的软件。无论是组织信息、运行查询、创建集成的关系型数据库系统,还是为最终用户编写功能全面的数据管理应用程序,Visual FoxPro都可以提管理数据所需的工具,可以在应用程序或数据库开发的任何一个领域中提供帮助。本系统使用Visual FoxPro来设计开发的原因是Visua
4、l FoxPro具有三大特点。一、强大的管理功能VFP提了一种称为“项目管理器”(program manager)的管理工具,可供用户对所开发项目中的数据、文档、源代码和类库(class library)等资源进行集中高效的管理,开发与维护均更加方便。二、大量使用可视化的界面操作工具VFP 6.0提供向导(wizard)、 设计器(designer)、生成器(builder)等3类界面操作工具,达40种之多。它们普遍采用图形界面,能帮助用户简便快捷地完成各种查询和设计任务。VFP的设计器普遍配有工具栏和弹出式的快捷菜单。每个工具按钮对应一项功能;用户可通过它们方便地完成操作或设计控件,不必编程
5、或很少编程即可实现美观实用的应用程序界面。大多数设计器还提快捷菜单,内含最常用的菜单选项,供用户随时调用。三、支持面向对象的程序设计VFP除继续使用传统的面向过程的程序设计外,还支持面向对象的程序设计。允许用户对“对象”(object)和“类”(class)进行定义,并编写相应的代码。由于VFP预先定义和提供了一批基类,用户可以在基类的基础上定义自己的类和子类(subclass),从而利用类的继承性(inheritance),减少编程的工作量,加快软件的开发过程。使用结构化的程序设计,同时应用面向对象的程序设计,构成了VFP程序设计的特点,同时为用户的编程带来了很大的方便。第二章 系统实施2.
6、1系统设计本系统设计包括两个部分:系统分析和系统功能模块设计。2.1.1系统分析2.1.1.1用户需求分析某药店根据业务发展的要求,选定建立一个“药品库房管理系统”,以取代人工管理。开发目的如下:l、必须要指定的专门人员才能对药品仓库的日常事务进行管理。2、能够对药品库房内的有关各种药品材料的数据进行输入、修改与查询。3、当有药品入库或出库时,能够更新药品的数据进行输入、修改与查询。4、要求有专门的报表存储药品材料的出入库信息,能够打印报表。2.1.1.2 系统可行性分析1、四项基本内容的实现用户在该药品库房管理系统中需要的四项基本内容完全可以利用VFP进行的相关设置(主要是表单设置)来加以实
7、现。例如可以用VFP进行登录界面设计,在表单上添加命令按钮以实现对用户身份的验证,达到用户要求的“必须要指定的专门人才对药品仓库的日常事务进行管理”的目的。2、数据库分析药店中所有药品材料的信息都可以在VFP项目管理器的数据库中建立与维护。该药品仓库管理系统查询药品信息只需要两张数据表(即材料信息表和出入库信息表)就可以满足需求。3、系统的发布及其运行环境。(1)系统的发布:VFP项目管理器提供了一个管理应用系统的集成环境,而且VFP提供的安装向导,支持用户为所开发的项目创建一套“安装(磁)盘”,供系统发布使用。(2)系统的运行环境:操作系统Windows9x系列、用户自定义安装需要85MB硬
8、盘空间,完全安装需要90MB硬盘空间,内存要求16MB以上。推荐使用VGA或更高分辨率的显示器。2.1.2 系统功能模块划分根据以上分析,可以进行系统的功能模块划分,如图21所示: 图21系统功能模块功能模块划分图中各个模块的功能如下:1、登录界面通过输入管理员的用户名和密码进入系统。2、主表单用户可以在主表单上根据需要进行选择以实现各种不同的操作。3、库存材料信息的维护新材料入库时,系统允许管理员添加新材料的记录。材料出库或产品过期需要清除时,管理员可以删除产品信息。记录有误时管理员可以修改数据表中的记录。4、库存材料信息的查询信息查询是仓库管理系统的重要组成部分。用户可以按照材料编号和材料
9、名称等查询条件查询仓库中的材料信息。5、材料的入库、出库新产品或材料需要出入库时,管理员可以直接进行出入库操作;出入库操作后,程序自动修改库存材料的信息。6、报表打印功能可以打印库存表,出入库记录的报表。2.2 数据库设计2.2.1数据库需求分析根据上一节的系统分析,本系统主要是实现仓库药品信息和出入库信息的管理。因此,该药品仓库管理系统的数据关系比较简单,只需要两张数据表:材料信息表和出入库记录信息表。2.2.2 数据库逻辑设计本系统中需要两个数据表:材料信息表和出入库信息表,数据表的字段和结构如表1和表2所示:表1材料信息表表2出入库信息表2.2.3 数据库实现本系统开发中,首先创建库房管
10、理系统的数据库,然后在数据库中创建需要的数据表,为数据表添加记录。如果需要,还可以设计视图和存储过程以及触发器等。下面设计本系统数据库,详细步骤如下:1、创建项目文件“库房管理.pjx”,保存路径为project库房管理系统。2、在该项目中新建数据库“仓库管理”,保存路径为project仓库管理系统data。3、在数据库中新建材料信息表,保存路径为project仓库管理系统data材料信息.dbf。在Table Designer的Fields选项卡中根据表1的内容设置数据表的字段及其属性,如22图所示:图22 “材料信息”表的字段设置切换到Indexes选项卡,设置表索引。如图23所示。将“材
11、料编号”设置为主索引,索引类型为Primary。将“材料名称”设置为普通索引,索引类型为Regular。图23 “材料信息”表的索引设置关闭Table Designer,在“材料信息”表中添加记录。具体做法是:在Project Designer中选中材料信息表,单击Browse按钮,浏览数据表。然后在Visual FoxPro 6.0的主窗口中选取Table | Append New Record菜单命令,在数据表中添加新的记录。出入库信息的创建方法与材料信息表相似,保存路径也与材料信息表相同。表的字段设置和索引分别如图24、图25所示:图24 “出入库信息”表的字段设置图25 “出入库信息”
12、表的索引设置表建立完成后,打开Database Designer,创建数据表之间的关联关系。其结果如图26所示。其中,材料信息表和出入库信息表之间通过索引“材料编号”相关联。图26 数据表的关联关系至此,数据库和数据表的设计完成。下面进入库房管理系统的表单设计。2.3 表单设计本系统主要功能模块的实现由4个表单完成,分别是:材料信息维护表单、材料信息查询表单、出入库管理表单和用于选择操作类型的主界面。2.3.1 材料信息维护表单材料信息维护表单的功能主要是完成材料信息的添加、修改和删除等操作。1、材料信息维护表单设计在项目中新建表单,保存路径为“project仓库管理系统forms材料信息.s
13、cx”,在表单的Data Environment中添加“材料信息”表。在表单上添加控件并设置控件的属性,得到如图27所示的表单。图27材料信息维护表单整个“材料信息维护”表单分为3部分,最上面的一部分是在一个Container控件中显示当前材料记录的信息,如材料编号、材料名称、规格、单位和单价等。中间是4个命令按钮分别表示第一条记录、上一条记录、下一条记录、和最后一条记录。下面是维护操作功能按钮,包括添加、修改、删除、保存和退出5种功能按钮。2、添加响应代码下面为表单添加响应代码,实现上述各项功能。“首记录”按钮。单击按钮时,显示“材料信息”表的第一记录。即表中第一条记录被设为当前记录。该按钮
14、的Click事件代码如下:Go topThisform.Refresh“末记录”按钮。单击按钮时,显示“材料信息”表的最后一条记录,即表中最后一条记录被设置为当前记录。该按钮的Click事件代码如下:Go bottomThisform.Refresh“上一条”按钮。单击按钮时,显示当前记录上一条记录。该按钮的Click事件代码如下:thisform.text1.readonly=.t.thisform.text2.readonly=.t.thisform.text3.readonly=.t.thisform.text4.readonly=.t.thisform.text5.readonly=.
15、t. thisform.text6.readonly=.t. thisform.text7.readonly=.t.thisform.text8.readonly=.t.thisform.edit1.readonly=.t.&设置各Text Box和Edit的ReadOnly属性if eof() go bottomelse skip 1endifthisform.refresh“下一条”按钮。单击按钮时,显示当前记录的下一条记录。该按钮的Click事件代码如下:thisform.text1.readonly=.t.thisform.text2.readonly=.t.thisform.text
16、3.readonly=.t.thisform.text4.readonly=.t.thisform.text5.readonly=.t.thisform.text6.readonly=.t.thisform.text7.readonly=.t.thisform.text8.readonly=.t.thisform.edit1.readonly=.t.&设置各Text Box控件的属性if eof() go topelse skip 1endifthisform.refresh“添加”按钮。单击按钮时,完成材料添加功能,在材料信息表中加入一条新记录。该按钮的Click事件代码如下:go bott
17、omtempnum=val(材料信息.材料编号)&获取最后一条记录的材料编号字段append blankgo bottomreplace 材料信息.材料编号 with alltrim(str(tempnum+1)&在表尾添加一条新记录mand1.enabled=.f.mand2.enabled=.f.mand3.enabled=.f.mand4.enabled=.f.mand5.enabled=.f.mand6.enabled=.f.mand7.enabled=.f.mand8.enabled=.f.mand9.enabled=.f.&设置各按钮的有效状态,在添加新记录的过程中,为防止出错,应
18、设置除“保存”按钮之外的其他按钮为无效。这样,在输入完成后,只能使用“保存”按钮来保存记录。thisform.text1.readonly=.f.thisform.text2.readonly=.f.thisform.text3.readonly=.f.thisform.text4.readonly=.f.thisform.text5.readonly=.f.thisform.text6.readonly=.f.thisform.text7.readonly=.f.thisform.text8.readonly=.f.thisform.edit1.readonly=.f.&设置各TextBox
19、控件的属性thisform.refresh“修改”按钮。单击按钮时,修改当前记录。该按钮的Click事件代码如下:mand1.enabled=.f.mand2.enabled=.f.mand3.enabled=.f.mand4.enabled=.f.mand5.enabled=.f.mand6.enabled=.f.mand7.enabled=.f.mand8.enabled=.f.mand9.enabled=.f.thisform.text1.readonly=.f.thisform.text2.readonly=.f.thisform.text3.readonly=.f.thisform.
20、text4.readonly=.f.thisform.text5.readonly=.f.thisform.text6.readonly=.f.thisform.text7.readonly=.f.thisform.text8.readonly=.f.thisform.edit1.readonly=.f.thisform.refresh&本段代码主要功能是设置表单上各控件的可读写状态。“删除”按钮。单击按钮时,删除表中当前记录。该按钮的Click事件代码如下:tempstr=messagebox(“是否删除记录?”,4+32+256,”删除对话框”)if tempstr=6set exclus
21、ive ondeletepackset exclusive offthisform.refreshendif&在删除记录之前,首先设置表的操作方式为Exclusive(独占方式),然后用Delete语句为当前记录加上删除标记,最后使用Pack语句删除有标记的记录。“保存”按钮。单击按钮时,将表单中用户输入的信息保存到“材料信息”表。该按钮的Click事件代码如下:dimension aaa(9)&定义数组aaa(1)=thisform.text1.valueaaa(2)=thisform.text2.valueaaa(3)=thisform.text3.valueaaa(4)=thisform
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 药品库房管理系统 毕业设计 药品 库房 管理 系统
链接地址:https://www.31ppt.com/p-3992114.html