企业物流管理系统计算机毕业论文.doc
企业物流管理系统摘要该系统采用的是PowerBuilder9.0开发的一个数据库管理系统。通过对企业物流基本架构和基本流程的了解。并通过需求分析、系统概念设计、系统逻辑和物理设计、系统实现和维护几个主要的步骤完成本系统的设计。系统从整体入手,从而从本质上提高了企业管理水平;操作简便灵活,系统不仅设置了菜单快捷键,而且提供了与windows风格相同的工具栏,使用户在操作时方便快捷。此外,系统包含多级别的数据保护和权限控制机制,使得用户的业务资料在任何时候都能保持正确和完整。从总的来说,该系统基本满足了用户在物流管理方面的需求。精心细致的画出了各个窗体并给出了相应的事件和代码,以实现各个窗体的作用,并且各个窗口我们要求做到最简。在系统的设计过程中,采用了模块独立设计法,比较详细的展现了各个模块的功能。关键字: PowerBuilder 系统架构 管理 功能模块目 录25引 言1第一章 系统概况及需求分析21.1企业物流管理系统开发的意义21.2企业物流管理系统功能分析2第二章 系统的设计32.1 系统开发设计思想32.2企业物流管理系统主功能的设计32.3系统功能模块设计42.4 数据流程图设计52.4.1 采购管理数据流程图52.4.2 销售管理数据流程图62.5数据表设计6第三章 系统具体模块设计及实现103.1资料管理103. 2 采购管理123. 3 销售管理153. 4 库存管理183. 5 系统管理20第四章 系统测试与评价234.1系统测试234.2系统评价23总结与展望24致 谢25参 考 文 献26引 言在经济和信息化快速发展的时代,信息资源已成为各个部门的重要财富和资源。建立一个满足各部门信息处理要求的行之有效的信息系统成为一个企业或组织生存发展的重要条件。随着市场竞争和企业的发展,企业的信息也会越来越多,物流企业也是如此,为了克服现在企业物流管理中统计与查询效率低下和实际管理等问题,利用计算机的高效性对庞大的信息进行有效的管理,不仅可以提高了工作效率,而且大大的提高了其安全性。企业物流管理系统可以对确保信息的时效性、正确性,而且要提高信息处理的速度和准确性,使物流企业的工作规范化,系统化,程序化。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。这就需要一个可靠的开发程序对系统进行设计,PowerBuilder正是这样一种高效而快捷的集成开发环境,它提供了可视化的、面向对象的、基于客户/服务器的开发环境,能够方便的构建和实现分布式系统。利用PowerBuilder开发的物流管理系统能够方便的完成各种功能。本系统注重信息的利用、收集、处理、传递和管理。对象主要是业务信息,能够提高企业科学而有效的管理,方便快捷地查询和管理供应商、客户资料和采购、入库、销售与的各种问题。是解决企业物流管理方面问题的重要途径。第一章 系统概况及需求分析1.1企业物流管理系统开发的意义随着经济的全球化的深入,中小企业面临着越来越激烈的市场竞争,因此唯有创新、加强管理,同时改善企业整个物流系统中供应链各环节的管理、调度及资源配置,迅速适应客户的新需求和市场新机遇的能力,才是企业赢得竞争胜利的必胜之道。所以,在信息技术广泛应用的背景下,如何有效地进行物流管理已经是在中小企业生存和发展的头等要事。在企业中,由于物品种类、数量繁多,企业的各级管理人员需要及时了解客户信息、内部信息,物流是作为一种能力在企业内部进行定位的。信息化对物流的发展发挥了重要作用,但它不能给物流系统带来创新价值,唯有系统管理才具有创新功能,使物流系统发生质的变化。因此借助于信息管理技术,使用企业物流管理系统来实现物流管理的需求。1.2企业物流管理系统功能分析企业物流管理系统能够记录并统计企业存货的出入库,及时准确地掌握商品库存的情况,并可动态反应存货资金的增减变动,为企业的决策提供基础数据,同时通过集中式的信息数据库,将“进、销、存”等企业的经营业务有机地结合起来,达到数据共享、降低成本、提高效率、改进服务等目的,并且它能够降低采购成本,准确及时地了解采购情况和销售动态,及时调整营销策略,为管理者提供决策依据,加强了对商品资料的管理及价格管理,加速了资金周转,提高了资金利用率。第二章 系统的设计2.1 系统开发设计思想通过对企业物流管理系统的应用,克服现在企业物流管理中统计与查询效率低下和实际管理等问题,提高企业科学而有效的管理,方便快捷地查询和管理供应商、客户资料和采购、入库、销售与的各种问题。从而使企业物流管理工作系统化、规范化、自动化,达到提高物流管理效率的目的。系统开发的宗旨是使用户可以方便地使用物流系统完成物流管理的任务。系统应适应企业物流的具体情况,满足企业管理人员日常使用的需要,并达到操作过程中直观、方便、实用、安全的要求。利用企业现有的软硬件环境,采用创新的管理系统开发方案,从而达到充分利用企业现有资源,提高系统开发水平和应用效果的目的。系统采用模块化程序设计方法,便于系统功能的各种组合和修改,同时便于根据具体情况进行补充和删减。系统还应当具备数据库维护的功能,以适应企业复杂的操作环境,保证企业重要数据不会丢失。2.2企业物流管理系统主功能的设计企业物流的是用计算机对企业物流信息进行日常的管理,如企业的“进、销、存”管理,及时准确地完成各种信息的统计计算和汇总工作,针对系统服务对象的具体要求,一个完善的企业物流管理系统的功能主要包括以下几项(详见图2-1)(一) 资料管理:主要负责管理供应商资料、商品资料和客户资料等,同时能够实现对供应商、商品和客户各种信息的插入、修改、删除、保存和查询等的操作。(二)采购管理:主要负责对采购单、采购入库和采购查询的管理,实现采购单的基本编辑和查询。(三) 销售管理:主要负责对销售单、销售出库、销售查询、销售利润的管理以及销售单和利润的基本编辑和查询。(四)库存管理:主要负责对库存维护、价格管理、库存盘点的管理,并能实现对数据的准确核对。(五) 系统管理:主要负责管理用户信息、密码维护、重新登录和初期建账等,是管理员以及用户对系统维护的重要途径。图2-1 企业物流管理系统流程图 2.3系统功能模块设计系统的分析和系统的设计思想,一个标准的企业物流管理系统应该包含五大模块,具体如图2-2所示:企业物流管理系统资料管理采购管理销售管理库存管理系统管理供应商资料商品资料客户资料采购单采购入库采购查询销售单销售出库销售查询库存维护价格管理库存盘点密码维护初期建账重新登录用户管理销售利润 图2-2 企业物流管理系统功能2.4 数据流程图设计2.4.1 采购管理数据流程图工作人员采购单信息填写采购单采购单采购单表选择采购单采购入库采购单商品库存表采购查询查询结果工作人员查询条件库存 图 2-3采购管理数据流程图2.4.2 销售管理数据流程图工作人员销售单信息填写销售单销售单销售单表选择销售单销售入库销售单商品库存表销售查询(销售利润)查询结果工作人员查询条件库存图 2-4销售管理数据流程图2.5数据表设计本系统采用BowerBuilder9.0进行设计,创建库lj07.dba,系统中一共分为8张表,分别是采购单表、销售单表、供应商资料表、商品资料表、客户资料表、盘点明细表、商品库存表、用户信息表。1. 商品资料表 :商品编号 char(6),商品名称varchar(50),条形码 char(10),计量单位 char(10),供应商编号 char(4),供应商地址varchar(50),商品说明 varchar(100)。 图 2-5商品资料表2供应商资料表:供应商编号 char(4),供应商名称 varchar(50),地址 varchar(50),电话 varchar(50),传真 varchar(50),信誉等级 char(2)(优、良、差),提供商品 varchar(50),简介 varchar(100)图 2-6 供应商资料表3. 销售单表: 销售单号 char(6), 客户编号 char(4),商品编号 char(6), 销售日期 date,销售员 varchar(50),是否核销 char(6),操作人员 char(6),销售数量 float,销售单价 float,成本单价 float,总共金额 float,不含税价 float,税价 float。图 2-7销售单表4.采购单表:采购单号 char(6),供应商编号char(4), 商品编号 char(6), 采购日期 date,采购员 varchar(50),是否核销 char(6),操作人员 char(10), 采购数量 float,采购单价 float,总共金额 float,不含税价 float,税价 float 。图 2-8采购单表5.客户资料表: 客户编号 char(4)(共4位,以KH开头),客户名称 varchar(50),地址 varchar(50),电话 varchar(50),传真 varchar(50),信誉等级 char(2),所需商品 varchar(50),简介 varchar(50)。图 2-9客户资料表6.盘点明细表:编号ID char(10),商品编号 char(6), 调整数量 float,成本价 float,调整总金额 float,操作日期 date,操作人员 char(4), 标志 char(4)。图 2-10盘点明细表7.商品库存表:商品编号 char(6), 商品状态 char(8),成本价 float,销售价 float,库存数量 float,库存总金额 float,最低储备 float,正常储备 float,最高储备 float,最近操作日期 date,操作人员 char(4), 备注 varchar(50)。图 2-11商品库存表8.用户信息表: 用户ID char(10), 用户名称 char(10), 用户类别 char(10),密码 char(10), 权限 char(10),身份证 char(18), 性别 char(10), 住址 varchar(50),电话 varchar(50),邮箱varchar(50)。图 2-11用户信息表第三章 系统具体模块设计及实现根据上述的ER图和系统结构图对系统进行详细的设计,并体现出具体的数据、代码及操作界面。3.1资料管理 供应商资料资料管理商品资料客户资料 图 3-1 资料管理功能模块(一)供应商管理供应商资料功能是负责维护供应商的基本信息。良好的供应商资料管理有助于企业对采购的管理和控制,降低企业的采购成本,对采购而言非常重要,是企业物流管理系统的重要资料。主要包括供应商编号、供应商名称、地址、电话、传真、信誉等级、提供商品、简介等。图 3-2供应商管理添加代码:pb_8.Enabled=truedw_2.Enabled=truelong newrow,nowrownowrow=dw_1.GetRow()if nowrow<>-1 THennewrow=InsertRow(dw_2,nowrow+1) dw_2.ScrollToRow(newrow)end ifstring kehu_haoSELECT max("供应商资料表"."供应商编号" ) INTO :kehu_hao FROM "供应商资料表" ;if isnull(kehu_hao) then kehu_hao ="GY01"else kehu_hao = "GY"+string(integer(right(kehu_hao,2) + 1,"00")end if dw_2.setitem(newrow,1, kehu_hao)open事件:dw_1.settransobject(sqlca)dw_1.retrieve()dw_2.settransobject(sqlca)dw_2.retrieve()(二)商品资料商品资料功能是负责维护商品基本信息。这类信息主要包括商品编号、商品名称、条形码、计量单位、供应商编号、供应商地址、商品说明等。不同的行业,不同的企业,所需要的商品资料差异很大。图 3-3商品资料基本代码和供应商资料相似,不另附(三)客户资料客户资料功能是负责维护企业客户的基本信息。客户是企业生存的根本,可以是个人或企业,客户信息是企业需要重点维护的资料。客户资料变动比较大,开发系统时要注意系统的可扩展性和可维护性。客户资料主要包括客户编号、客户名称、地址、电话、传真、信誉等级、所需商品、简介等。图 3-4客户资料 基本代码和供应商资料相似,不另附3. 2 采购管理 采购单采购入库采购管理采购查询图3-5 采购管理功能模块(一) 采购单采购单负责录入采购单基本信息和采购单明细,采购单包括采购单号、供应商编号、采购日期、采购员、是否核销、操作人员、总共金额、不含税价、税额等;采购单明细包括编号ID、采购单号、商品编号、采购数量、采购单价、总共金额、不含税价、税额等,是对采购单的补充。图3-6采购单添加代码:long newrow,nowrownowrow=dw_2.GetRow()if nowrow<>-1 THennewrow=InsertRow(dw_2,nowrow+1) dw_2.ScrollToRow(newrow)end ifpb_4.Enabled=truedw_2.Enabled=truenowrow=dw_1.GetRow()if nowrow<>-1 THennewrow=InsertRow(dw_2,nowrow+1) dw_2.ScrollToRow(newrow)end ifstring kehu_haoSELECT max("采购单表"."采购单号" ) INTO :kehu_hao FROM "采购单表" ;if isnull(kehu_hao) then kehu_hao ="CG0001"else kehu_hao="CG"+string(integer(right(kehu_hao,4)+ 1,"0000")end if dw_2.setitem(newrow,1, kehu_hao)(二)采购入库采购入库功能负责管理商品的采购入库。采购入库时,需要将采购单明细中的采购数量添加到商品库存中去,同时库存中的商品成本价将进行移动平均处理,即成本价=(原库存总金额+采购总金额)/(原库存数+采购数量),而采购单的“是否核销”也同时变成“已核销”。图3-7 采购入库(三)采购查询采购查询功能负责查询采购单信息以及采购单核销情况。图3-8采购查询查询代码:string ls_filter,ls_column_name/关闭重绘功能,目的是减少屏幕闪烁dw_1.SetRedraw(false)ls_column_name=ddlb_1.Textls_filter= ls_column_name+"='"+sle_1.text+"'"/st_4.text="查询条件为:"+ls_filter/设置过滤参数dw_1.SetFilter(ls_filter)/执行过滤dw_1.Filter()/打开重绘功能,刷新屏幕dw_1.SetRedraw(true)Retrieve(dw_1)if ddlb_1.text="" or sle_1.text="" thenmessagebox("提示","查询项目和内容不能为空!")returnend if销售出库3. 3 销售管理销售管理销售查询销售利润图3-9 销售管理功能模块(一)销售单销售单功能负责录入销售单和销售单明细。销售单主要包括销售单号、客户编号、销售日期、销售员、是否核销、操作人员、总共金额、不含税价、税额等;销售单明细主要包括编号ID、销售单号、商品编号、销售编号、成本单价、销售单价、总共金额、不含税价、税额等。图3-10销售单添加代码:long newrow,nowrownowrow=dw_2.GetRow()if nowrow<>-1 Then newrow=InsertRow(dw_2,nowrow+1) dw_2.ScrollToRow(newrow) end ifpb_5.Enabled=true dw_2.Enabled=true /long newrow,nowrow nowrow=dw_1.GetRow() if nowrow<>-1 THennewrow=InsertRow(dw_2,nowrow+1) dw_2.ScrollToRow(newrow) end ifstring kehu_hao SELECT max("销售单表"."销售单号" ) INTO :kehu_hao FROM "销售单表" ;if isnull(kehu_hao) then kehu_hao ="XS0001" else kehu_hao = "XS"+string(integer(right(kehu_hao,4) + 1,"0000") end if dw_2.setitem(newrow,1, kehu_hao)(二) 销售出库销售出库功能负责管理商品的销售出库。销售出库时需要将商品库存数量减去销售单明细中的销售数量,同时销售单的“是否核销”标志变成“已核销”。图3-11销售出库(三) 销售查询销售查询功能负责查询销售单信息,以及销售单核销情况,便于统计信息。图3-12销售查询查询代码:string ls_filter,ls_column_name/关闭重绘功能,目的是减少屏幕闪烁dw_1.SetRedraw(false)ls_column_name=ddlb_1.Textls_filter= ls_column_name+"='"+sle_1.text+"'"/st_4.text="查询条件为:"+ls_filter/设置过滤参数dw_1.SetFilter(ls_filter)/执行过滤dw_1.Filter()/打开重绘功能,刷新屏幕dw_1.SetRedraw(true) Retrieve(dw_1)if ddlb_1.text="" or sle_1.text="" thenmessagebox("提示","查询项目和内容不能为空!") returnend if3. 4 库存管理 销售单 库存维护库存管理价格管理库存盘点图3-13 库存管理功能模块(一)库存维护 库存维护功能主要用于维护商品库存信息。库存维护通常只对商品状态、最低储备、正常储备、最高储备进行维护,其他信息只有在第一次初始化系统时进行维护。主要包括商品编号、商品状态、成本价、销售价、库存数量、库存总金额、最低储备、正常储备、最高储备、最近操作日期、操作人员、备注等。图3-14库存维护 (二) 价格管理价格管理功能主要用于维护商品的销售价。根据成本价、市场行情和利润等因素来制定和管理销售价。图3-15价格管理(三) 库存盘点库存盘点功能主要用于管理企业商品库存的盘点工作,即将实际盘存的商品数量和库存数量进行核对,统计盘盈、盘亏信息。针对盘盈和盘亏情况要求能够提供盘点调整,盘盈时做入库处理,盘亏时做出库处理。主要包括编号ID、商品编号、调整数量、成本价、调整总金额、操作日期、操作人员、标志。图3-16库存盘点3. 5 系统管理 用户管理密码维护系统管理重新登录初期建账图 3-17 系统管理功能模块(一) 用户管理用户管理功能负责管理用户信息的相关内容。主要包括用户ID、用户名称、用户类别(管理员和一般用户)、密码、权限、身份证、住址、电话、邮箱等。图3-18用户管理(二) 密码维护密码维护功能负责维护用户密码信息,提供修改、设置密码信息等功能。·图3-19密码维护(三) 重新登录图3-20重新登录重新登录功能主要为用户提供重新登录的权限,满足不同用户的切换。Open事件代码:/使用数据存储对象获得用户信息long row string newitemdatastore ds_myuser /申请数据存储对象变量ds_myuser=create datastore /创建数据存储对象变量ds_myuser.dataobject= "dw_yuangong" /利用数据存储对象关联数据窗口对象ds_myuser.settransobject(SQLCA) ds_myuser.retrieve() /检索数据/把数据窗口对象dw_myuser_name的值添加到下拉列表框for row=1 to ds_myuser.rowcount() newitem=ds_myuser.getitemstring(row,1)ddlb_1.additem(newitem)nextdestroy ds_myuser /销毁数据存储对象/初始化输入框ddlb_1.text="袁振华"(四) 初期建账图3-21 初期建账初期建账功能主要为用户提供初期建账的权限,可以有选择性的初始化数据。第四章 系统测试与评价4.1系统测试本系统主要利用Power Builder9.0自带的Debug进行断点测试和单步测试和系统的整体测试。经测试本系统在如下配制中能够流畅运行。机器配制为:CPU: AMD 4200+ 2.4G内存: 1G硬盘: WD 160G显卡: NVIDIA GeForce 7300 SE4.2系统评价在对管理信息系统的开发过程有了基本了解后,本人使用PowerBuilder 9.0开发了这个“企业物流管理系统”。系统基本实现了企业物流管理系统化、规范化和自动化。由于时间有限,此系统还存在一些功能不全面的问题,望体凉。本系统中还具有许多不足,因此还要对其中许多功能进行完善。比如:对界面的美化,对用户操作的简单化,以及对等等。这些说要求我要更为熟练的掌握更多sql语句,学会PB中更强大功能的使用,提高自己的水平。而且随着信息技术的快速发展,基于编程软件的进步。网络的应用将会越来越广泛,因此如果将该系统与网络对接,则会加强信息处理的及时性和交互性。总结与展望一个完整的企业物流管理系统,需要各个功能模块的完整性以及功能的实现。此系统基本完成了各个功能模块的设计。如在资料管理模块中,充分将各种细节做足,让用户能对要查询的内容一目了然。而且各种资料在采购查询和销售查询中可以显示,各种数据的删除、插入、修改都可以进行操作,对历史数据也可以进行追查。这次毕业设计让我受益匪浅,特别是得到老师和同学的热心帮助,让我能够把所学理论知识与实际相结合。在毕业设计后,我进行了总结,希望这些经验能给自己今后的工作提供借鉴。一、在此次系统设计中,由于前期准备工作不足加上对物流的不了解,导致在系统设计中总是对功能的设计不能完全把握。经过设计的深入,逐步了解了物流的功能,才慢慢的了解了物流的流程。这导致了时间的浪费,不利于系统的设计。二、具体设计过程中,一些代码的复杂和困难使系统设计遇到了很大的挫折,也容易将问题复杂化,经过老师的指导尽量简化代码,采用简单易懂的代码代替复杂的代码同样可以取得相同的效果。因此在以后的设计当中要采用多种方法,不要认准一条道。三、再将所有的功能模块合成并测试后,发现一些功能重合,而另一些功能根本不需要用,因此在设计初始一定要细心的对模块进行认真的分析。经过此次的毕业设计,锻炼了我的独立设计思想和解决问题的能力,由于水平有限和时间的仓促。该系统还存在许多的问题,还有许多问题没有解决,因此希望在以后可以对系统进行修改,使企业物流管理系统更加的完美。 参 考 文 献1 张学文,刘自昆,汪世娟 PowerBuilder9.0实用教程与实训 北京:北京大学出版社,20062 李玉林 Visual Basic毕业设计指南与项目实践 北京:清华大学出版社,20043 肇峰兰 PowerBuilder程序设计实例 北京:北京大学出版社,20064 黄江海 企业物流管理的流程 北京:电子工业出版社,20045 郎彦 数据库原理与应用 北京:高等教育出版社,20026 袁振华(David Yuan) 计算机应用系统剖析 美国:自然与科学, 2000