2021-2022年收藏的精品资料企业进销存管理系统需求分析报告.doc
企业进销存管理系统需求分析报告组 长:王明组 员:莫宏飞、易果版本1.0目录1 背景31.1 问题的提出.31.2 问题分析.32 目标32.1 系统设计的长期目标.32.2 系统设计的短期目标.33 系统总体设计.33.1 系统设计思想.33.2 功能模块设计.33.2.1 资料管理.43.2.2 采购管理.53.2.3 销售管理.63.2.4 库存管理.63.2.5 应付款管理.73.2.6 应收款管理.83.2.7 帐务管理.93.2.8 统计分析.93.2.9 零售管理.103.2.10 系统管理.113.3 数据库设计.113.3.1 E-R图113.3.2 数据模型.123.3.3 数据字典.141 背景在市场经济中,销售是企业运作的重要环节。为了更好的推动销售,不少企业建立分公司后实行代理制,通过分公司或代理把产品推向最终用户。这些分公司或代理商大都分1.1 问题的提出传统的信息传递和管理方式工作效率低下,企业内部沟通不良,仓库管理不合理,不能根据需要调整库存等问题。1.2 问题分析企业是一个利用资源,为客户创造价值的组织。企业资源计划就是对这些资源进行计划、调度、控制、衡量、改进的管理技术和信息系统。现今的企业并不只人力资源、资金和产品的组合,它还应该包括供应、销售、市场营销、客户服务、需求预测和其它更多的东西。如果一个企业资源计划系统真正想要最大限度地提高其生产能力,它必须能够非常融洽地和其它关键性的商务领域进行交流。2 目标2.1 系统设计的长期目标2.1.1 系统运行集成化;2.1.2 业务流程合理化2.1.3 绩效监控动态化2.1.4 合理改善持续化2.2 系统设计的短期目标2.2.1 提高企业经济效益,增强企业市场竞争力2.2.2 降低企业信息系统的总体拥有与使用成本,增强企业活力系统设计的近期目标是实现企业进销存管理系统的系统化、规范化和自动化。a) 建立基本资料信息库,规范所有资料信息;b) 物料控制半自动化,加强了各部门之间的关系;c) 高库存管理的服务水平,最大限度地降低库存量,以减少在库存上的资金积压;d) 最大限度地保证订货任务的按期完成;e) 提高计划的可行性,实现均衡生产;f) 集成管理职能,提高管理效率。3 系统总体设计3.1 系统设计思想l 尽量采用现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。l 系统应符合生产、销售、库存的规定,满足公司日常工作需要,并达到操作过程中直观、方便、实用、安全等要求。l 系统采用两层体系结果,CLIENT(客户端)负责提供表达逻辑、显示用户界面信息、基本操作;SERVER(服务器端)负责实现数据服务。l 系统采用模块化程序设计方法,既便于系统功能的公共化和修改,又便于技术维护人员后期补充和维护;l 系统应具备数据库维护功能,及时根据用户需求进行增删改查等操作,能够对数据库表格进行备份。3.2 功能模块设计根据对进销存管理内容和进销存管理系统的分析,一个标准的进销存管理系统应该包括如图1.0所示的几大功能。图1.0 进销存管理系统应包括的基本功能其中每个功能都由若干相关联的子功能模块组成。下面将对这些模块一一进行介绍。图5.1 进销存管理系统应包括的基本功能3.2.1 资料管理企业经营的基础资料是一个企业最基本、最重要的信息,脱离了基础资料(包括商品资料、供货商资料和客户资料等),进销存系统就无法运行。“资料管理”功能模块就用于维护这些基础资料,其中所包含的子功能模块如图1.1所示。图1.1 “资料管理”功能模块“商品编码设置”用于设置商品编码的方法。进销存系统的每一条商品信息都具有惟一的一个编码,作为该商品信息的主键,该编码具有一定的规律“商品资料维护”用于维护(增加、修改、删除、查询)企业经营商品的基本信息。其中拼音编码是商品名称的拼音简称,目的是使程序可以通过拼音编码方便地查询到所需要的商品。“供货商资料维护”用于维护企业供货商的基本信息。“客户资料维护”用于维护企业客户的基本信息。“业务员信息维护”用于维护企业销售业务员的基本信息。在销售开票时,业务员属性可以直接从业务员清单中获取所有业务员的名字作为辞典供用户选择。“仓库信息维护”用于维护企业的仓库信息。企业的商品一般都是存放在不同的仓库或同一仓库的不同货位中,这样在填写商品进货单和销售单时用户需要指定入库或出库的是哪个仓库的货物。“采购合同管理”用于维护企业与供货商签订的采购合同。合同的内容对业务可以产生影响,例如合同规定了进价,在填写采购单时系统就会自动生成进价。“销售合同管理”用于维护企业与客户签订的销售合同。3.2.2 采购管理“采购管理”功能模块用于管理企业的采购业务,所包含的子功能模块如图1.2所示。图1.2 “采购管理”功能模块“采购订单”用于录入企业的采购订单。一般来说,采购订单、入库单、销售单等单据根据第二范式都分为主从两张表来存放数据,主表“采购订单”,从表“采购订单明细”。(一个采购订单明细记录对应一种货物,一个采购订单对应多个采购订单明细记录。)“进货单”用于录入企业的进货单,也分为主从两张表,主表“进货单”,从表“进货单明细”。根据企业的规模和管理方法,可以直接作进货单而不用作采购订单,但对于较大规模的企业,采购部门和库房部门一般是分开的,由采购部门填写采购订单,货物运输到库房后由库房验收人员填写进货单。填写进货单后商品的库存才会增加并产生应付款。“退货管理”用于录入企业进货时的退货单。进货的退货有两种方法,一是直接在进货单中填写负数的进货数量(退货基于库存)。“进货价格调整”用于调整历史进货单的价格。“进货单位调整”用于调整历史进货单的供货商。“历史查询”用于查询商品采购、进货的历史。一般可以让用户按照任何条件查询,如按照供货商、日期、商品货号、商品拼音等。3.2.3 销售管理“销售管理”功能模块用于管理企业的销售业务,所包含的子功能模块如图1.3所示。图1.3 “销售管理”功能模块“销售订单”用于录入企业的销售订单,主表“销售订单”,从表“销售订单明细”。“销售单”用于录入企业的销售单,主表, “销售单明细”从表。“销售退货单”用于录入企业销售退货单。“调整历史售价”用于调整历史销售单的价格。“历史查询”用于查询商品销售的历史。一般可以让用户按照任何条件查询,如按照客户、日期、商品货号、商品拼音、业务员等信息查询。3.2.4 库存管理“库存管理”功能模块用于管理企业的库存信息,所包含的子功能模块如图1.4所示。图1.4 “库存管理”功能模块“库存查询”用于查询企业商品的库存,可以查询总库存和各分仓库库存。“库存转库”用于将一个仓库的商品转移到另一个仓库,或者连锁店之间的商品调拨,内容包括编号、源部门、目的部门、货号、数量、单价、合计金额、调拨日期、制单人、调货原因等。“库存盘点”用于管理企业的库存盘点工作,将实际盘存的商品数量输入计算机,计算机自动与数据库中的库存数量进行核对,并产生盘盈盘亏统计信息(核对库存、查盈利)。(扩展)“报损报溢”用于管理企业商品库存的损溢,内容包括编号、货号、仓库、数量、库存单价、金额、日期、责任人、制单人等。“上下限设定”用于设置库存的上限和下限,当商品库存的数量超出指定的范围时系统可以自动报警,内容包括序号、仓库号、货号、上限、下限、最佳存量、备注等。“库存上下限报警”根据当前商品库存和指定的库存上下限自动列出低于下限或高于上限的商品,并可以直接根据最佳库存量直接生成采购订单。“历史查询”用于查询各种转库、盘点、损溢的历史数据。3.2.5 应付款管理“应付款管理”功能模块用于管理企业的应付款业务,包含的子功能模块如图1.5所示。图1.5 “应付款管理”功能模块“预付款管理”用于管理企业的预付款信息,内容包括供货商号、预付款总额等。填写付款单时可以选择付款的方式,如果是“减预付款”,则“预付款”表中的“预付总额”将自动减少。“应付款明细”用于查询企业所有的应付款,对应到每一笔进货的明细。“应付款汇总”用于查询企业所有的应付款,对应到每一个供货商。“付款单”用于录入企业支付货款的凭证和应付款。“已付款明细”用于查询企业历史的所有已经支付的款项。“历史查询”用于查询付款单历史。“应付款帐簿”用于查询应付款科目的明细分录,属于财务上的概念。每一笔进货或者付款发生时,系统都会在帐簿中自动产生一笔记录,以借方、贷方、余额的形式存在,可以直接将查询的结果输出作为财务软件的凭证。“应付款帐龄”用于分析应付款的帐龄,即在不同时间段内应付款分布的情况,作为付款依据。(扩展)3.2.6 应收款管理“应收款管理”功能模块用于管理企业的应收款业务,包含的功能模块如图1.6所示。图1.6 “应收款管理”功能模块“预收款管理”用于管理企业的预收款信息,内容包括客户编号、预收款总额等。填写收款单时可以选择收款的方式,如果是“减预收款”则“预收款”信息表中的“预收总额”自动减少。“应收款明细”用于查询企业所有的应收款,对应到每一笔销售的明细。“应收款汇总”用于查询企业所有的应收款,对应到每一个客户。“收款单”用于录入企业收回货款的凭证和应收款。“已收款明细”用于查询企业历史的所有已收回的款项。“历史查询”用于查询收款单历史。“应收款帐簿”用于查询应收款科目的明细分录,每发生一笔销售或收款业务,系统都会在帐簿中自动产生一笔记录,以借方、贷方、余额的形式存在。可以直接将查询的结果输出作为财务软件的凭证。“应收款帐龄”用于分析应收款的帐龄,即在不同时间段内应收款分布的情况,作为收款依据。(扩展)3.2.7 帐务管理“帐务管理”功能模块用于管理企业的结帐业务,所包含的功能模块如图1.7所示。一般商业企业每个月都要进行一次结帐操作,确定该财务月份所有商品成本的进、销、结存情况,为财务管理提供数据。图1.7 “帐务管理”功能模块“结帐日期设定”用于设置企业每月结帐的日期,动态指定。“模拟结帐”用于进行模拟结帐操作。因为结帐操作不可逆,即正式结帐后商品进销存汇总的数据就无法更改了,因此在正式结帐前往往要进行模拟结帐,以查看结帐数据是否正确。“正式结帐”用于进行结帐操作,用于计算进销存汇总报表。“进销存汇总”用于查询本次结帐的结果。“历史查询”用于查询历史结帐结果。3.2.8 统计分析“统计分析”功能模块用于统计和分析企业的经营数据,供企业决策者作为决策依据。常用的功能如图1.8所示。图1.8 “统计分析”功能模块“采购统计”是对企业采购的历史数据进行统计分析。“销售统计”是对企业销售的历史数据进行统计分析。“库存统计”是对企业库存的历史数据进行统计分析。按各种条件精确或模糊地将以上这些数据的分析结果以直观的表或图表的形式表现出来。3.2.9 零售管理流通企业分为批发企业和零售企业,零售企业又分为单门店企业和连锁企业。对于零售企业,其自身的特点必然导致进销存系统与批发企业的系统不一致。最大的区别就是零售销售的界面,还有连锁门店的管理。“零售管理”功能模块包括的子功能模块如图1.9所示。图1.9 “零售管理”功能模块“零售收款”用于门店的POS收款管理。正如前面所说的,零售企业不管把东西卖给了谁,也不会产生应收款。而由于顾客收款排队,需要保证最快的收款速度,因此“零售收款”的功能要简单便捷,往往只输入商品的货号、数量和收款的总金额即可。“班次结帐”用于零售企业的结帐管理。零售企业一般都是分班次销售的,一天一个班次或两个班次,各班次的人员之间交班前需要将收款的金额点清,并和计算机统计的金额一致后,选择“班次结帐”功能模块,确定并清除该班次的收款信息,将其放入历史记录,从而实现顺利交班。“销售日报统计”用于统计零售企业日销售的信息。“连锁要货申请”用于管理连锁门店向配送中心请求配货。“连锁来货入库”用于管理连锁门店在接收到配送中心的货物时进行入库确认。“会员管理”用于管理企业的会员信息,可以增加新会员、维护现有会员信息、查询会员消费明细、设置会员折扣等。“数据传输”用于管理连锁门店、配送中心和企业总部之间的数据传输,传输的操作应该简单安全。3.2.10 系统管理系统管理是每个系统都必须具备的功能,包括的子功能模块如图1.10所示。图1.10 “系统管理”功能模块“参数设置”用于设置系统定义的一些基础参数或开关。“权限设置”用于设置各操作员使用系统的权限,为了方便设置,一般的应用系统都是可以将操作人员分组的,将通用的权限赋予整个组,个别的权限单独赋予个人,这样可以大大减少权限管理的工作量。“数据备份”用于备份系统数据库。“数据恢复”用于恢复系统数据库。“日志管理”用于维护系统的使用日志。一个好的应用系统会对任何操作员进行的所有操作进行日志记录,“日志管理”可以查询、导出和删除历史的日志。“更改密码”供用户更改自己的密码。3.3 数据库设计根据以上需求分析,一个基本的进销存管理系统数据库中大致包括29张表3.3.1 E-R图3.3.2 数据模型3.3.3 数据字典表清单(30):表 名 称表 用 途用户清单保存系统使用者的信息权限清单保存系统使用者的权限信息,可以指定到菜单级权限商品清单保存企业经营商品的资料信息供货商清单保存企业供货商的资料信息客户清单保存企业客户的资料信息业务员清单保存企业业务员信息仓库清单保存企业仓库设置信息门店清单保存企业门店资料信息采购合同保存企业与供货商签订的采购合同库存库保存企业商品库存的数量、金额等信息采购订单采购订单主表,填写采购订单时使用采购订单明细采购订单从表进货单进货单主表进货单明细进货单从表进价调整单进价调整时保存进价调整的信息销售订单销售订单主表销售订单明细销售订单从表销售单销售单主表销售单明细销售单从表销退货单填写销售退货单时使用该表调拨单填写调拨单时使用该表报损报溢填写报损报溢单时使用该表上下限对照表保存各仓库的库存上、下限数量应付款保存企业应付款明细数据应收款保存企业应收款明细数据预收款保存企业预收款数据预付款保存企业预付款数据进销存汇总表保存每月结帐的结果销售日报保存零售的销售数据调货申请门店填写调货申请时使用该表各表结构如下:用户清单表(user_bill):字段名字段类型字段描述备注user_idnumber(8)用户编号primary keyuser_namevarchar2(20)用户名user_passwordvarchar2(20)用户密码Popedom_idvarchar2(8)用户权限编号用户权限表外键用户权限表(popedom_bill):字段名字段类型字段注释备注u_pdm_idPope_idnumber(8)权限编号primary keyPope_namevarchar2(20)权限名商品清单表(commodity_bill)字段名字段类型字段描述备注Comm_idnumber(8)货物编号primary keyComm_bar codevarchar2(20)条形码Comm_namevarchar2(20)商品名Comm_spell_codevarchar2(20)拼音编码Comm_standardvarchar2(20)规格Comm_unitvarchar2(20)单位Comm_producing_areavarchar2(20)产地Comm_sortvarchar2(20)类别purchase_pricenumeric(10,2)进货价sale_price1numeric(10,2)销售价1sale_price2numeric(10,2)销售价2lowest_sale_pricenumeric(10,2)最低售价供货商清单表(Suppliers_bill)字段名字段类型字段描述备注supp_idnumber(8)供货商编号primary keysupp_spell_codevarchar2(20)拼音编码supp_shortnamevarchar2(20)简称supp_namevarchar2(20)名称supp_addressvarchar2(20)地址supp_postcodevarchar2(20)邮编supp_sortvarchar2(20)类型supp_telvarchar2(20)电话supp_faxvarchar2(20)传真supp_bankvarchar2(20)开户行supp_ibanvarchar2(19)银行帐号supp_storage_addressvarchar2(20)库房地址supp_storage_telvarchar2(20)库房电话oper_idnumber(8)业务员编号业务员清单表外键客户清单表(client_bill)字段名字段类型字段描述备注clie_idnumber(8)客户编号primary keyclie_ spell_codevarchar2(20)拼音编码clie_shortnamevarchar2(20)简称clie_namevarchar2(20)名称clie_linkmanvarchar2(20)联系人clie_addressvarchar2(20)地址Clie_ postcodevarchar2(20)邮编Clie_telvarchar2(20)电话Clie_faxvarchar2(20)传真Clie_bankvarchar2(20)开户行Clie_ibanvarchar2(19)银行帐号Clie_sortvarchar2(20)性质oper_idnumber(8)业务员业务员清单表外键Clie_CreditLimt varchar2(20)授信额度业务员清单表(operator_bill)字段名字段类型字段描述备注oper_idnumber(8)业务员编号primary keyoper_spell_codevarchar2(20)拼音编码oper_namevarchar2(20)姓名oper_sexvarchar2(20)性别oper_telvarchar2(20)电话oper_mobile_telvarchar2(20)手机oper_addressvarchar2(20)地址oper_postcodevarchar2(20)邮编oper_ID_numbervarchar2(20)身份证号oper_sortvarchar2(20)类别仓库清单表(depot_bill)字段名字段类型字段描述备注depo_idnumber(8)仓库编号primary keyDepo_namevarchar2(20)仓库名Depo_sortvarchar2(20)类别depo_descvarchar2(20)备注门店清单表(store_bill)字段名字段类型字段描述备注Stor_idnumber(8)门店编号primary keyStor_namevarchar2(20)门店名Stor_addressvarchar2(20)门店地址Stor_descvarchar2(20)备注采购合同表(purchase_contract )字段名字段类型字段描述备注pc_idnumber(8)合同编号primary keysupp_idnumber(8)供货商编号供货商清单表外键Comm._idnumber(8)货物编号商品清单表外键Purc_pricenumeric(10,2)进价Pc_pay_methodvarchar2(20)付款方式Pc_pay_periodvarchar2(20)帐期Pc_datedate签订日期Pc_periodvarchar2(20)合同期限库存表(stock)字段名字段类型字段描述备注comm_idnumber(8)货物编号商品清单表外键amountvarchar2(20)商品数量moneynumeric(10,2)商品金额depo_idvarchar2(20)存放库仓库清单表外键采购订单表(purchase_order)字段名字段类型字段描述备注po_idnumber(8)订单编号primary keySupp_idnumber(8)供货商编号供货商清单表外键Po_datedate订货日期Po_begain_datedate有效起日Po_end_datedate有效止日Oper_idnumber(8)业务员编号业务员清单表外键cbillvarchar2(20)制单人采购订单明细表(purchase_order_items)字段名字段类型字段描述备注poi_idnumber(8)订单项编号primary keyPo_idnumber(8)订单编号供货商清单表外键Comm._idnumber(8)货物编号商品清单表外键Poi_amountnumber(8)订货数量Purc_pricenumeric(10,2)进价进货单(purchase_in_bill) 字段名字段类型字段描述备注pib_idnumber(8)进货单编号primary keySupp_idnumber(8)供货商编号供货商清单表外键Pib_datedate进货日期Oper_idnumber(8)业务员编号业务员清单表外键cbillvarchar2(20)制单人inspectorvarchar2(20)验收员keepervarchar2(20)保管员进货单明细表(purchase_in_items) 字段名字段类型字段描述备注pii_idnumber(8)进货单项编号primary keypib_idnumber(8)进货单编号进货单清单表外键Comm._idnumber(8)货物编号商品清单表外键Pii_amountnumber(8)进货数量Purc_pricenumeric(10,2)进价进价调整单(update_purchase_price)字段名字段类型字段描述备注upp_idnumber(8)进价调整单编号primary keypii_idnumber(8)进货单项编号进货单明细表外键upp_amountnumber(8)进货数量old_purchase_pricenumeric(10,2)旧进价new_purchase_pricenumeric(10,2)新进价upp_date date调整日期cbillvarchar2(20)制单人销售订单表(sale_order)字段名字段类型字段描述备注so_idnumber(8)销售订单编号primary keyClie_idnumber(8)客户编号客户清单表外键So_datedate销售日期So_begain_datedate有效起日So_end_datedate有效止日Oper_idnumber(8)业务员编号业务员清单表外键cbillvarchar2(20)制单人销售订单明细表(sale_order_items)字段名字段类型字段描述备注soi_idnumber(8)销售订单项编号primary keyso_idnumber(8)销售订单编号销售订单表外键Comm._idnumber(8)货物编号商品清单表外键So_amountnumber(8)销售数量Sale_pricenumeric(10,2)销售价销售退货单(sale_mrb)字段名字段类型字段描述备注sm_idnumber(8)销售退货单编号primary keyso_idnumber(8)销售订单编号销售订单表外键Sm_amountnumber(8)退货数量Sale_pricenumeric(10,2)销售价depo_idnumber(8)退货仓库编号仓库清单表外键调拨单(cargo_transfer_bill) 字段名字段类型字段描述备注ctb_idnumber(8)调拨单编号primary keyStor_idnumber(8)门店编号门店清单表外键Comm._idnumber(8)货物编号商品清单表外键Ctb_amountnumber(8)调货数量Ctb_datedate日期isCtbboolean调拨状态报损报溢表(report_profit_loss)字段名字段类型字段描述备注rpl_idnumber(8)报损报溢编号primary keyComm._idnumber(8)货物编号商品清单表外键depo_idnumber(8)仓库编号仓库清单表外键Rpl_amountnumber(8)货物数量损(负) 溢(正)rpl_moneynumeric(10,2)货物金额Rpl_datedate制单日期duty_ personvarchar2(20)责任人cbillvarchar2(20)制单人上下限对照表(upper_lower_limit)字段名字段类型字段描述备注ull_idnumber(8)对照编号primary keydepo_idnumber(8)仓库编号仓库清单表外键Comm._idnumber(8)货物编号商品清单表外键Ull_uppernumber(8)上限数量Ull_lowernumber(8)下限数量Ull_optimalnumber(8)最佳存量varchar2(20)备注应付款表(account_payable) 字段名字段类型字段描述备注ap_idnumber(8)应付款编号primary keyAp_INVnumber(8)发票号Ap_ INV_datedate填票日期pib_idnumber(8)进货单编号进货清单表外键Comm._idnumber(8)货物编号商品清单表外键Supp_idnumber(8)供货商编号供货商清单表外键Ap_comm_amountnumber(8)数量Ap_ purchase_pricenumeric(10,2)进货单价Ap_moneynumeric(10,2)应付款金额Ap_datedate付款日期Ap_descvarchar2(20)详细说明isApboolean状态dp_idnumber(8)(减)预付预付款表外键应收款表(account_receivable) 字段名字段类型字段描述备注ar_idnumber(8)应付款编号primary keyAr_invnumber(8)发票号Ar_inv_datedate填票日期so_idnumber(8)销售单编号销售清单表外键Comm._idnumber(8)货物编号商品清单表外键Clie_idnumber(8)客户编号客户清单表外键Ar_comm_amountnumber(8)数量Ar_sale_pricenumeric(10,2)销售价Ar_moneynumeric(10,2)应收款金额Ar_datedate收款日期Ar_descvarchar2(20)详细说明Ar_sale_datedate销售日期isArboolean状态dr_idnumber(8)(减)预收预收款清单表外键预收款(Deposit_received)字段名字段类型字段描述备注dr_idnumber(8)预收款编号primary keyDr_invnumber(8)发票号Dr_inv_datedate填票日期Clie_idnumber(8)客户编号客户清单表外键Dr_moneynumeric(10,2)预收款总额Dr_datedate收款日期预付款表(Deposit_payment)字段名字段类型字段描述备注dp_idnumber(8)预付款编号primary keydp_invnumber(8)发票号dp_inv_datedate填票日期Clie_idnumber(8)客户编号客户清单表外键Dp_moneynumeric(10,2)预付款总额Dp_datedate付款日期进销存汇总表(jxc_gather) 字段名字段类型字段描述备注jg_idnumber(8)结帐编号primary keyJg_datedate结帐日期Comm._idnumber(8)货物编号商品清单表外键Last_checkout _amountnumber(8)上期结帐数量Last_checkout _moneynumeric(10,2)上期结帐金额Debit_amountnumber(8)借方数量Debit_moneynumeric(10,2)借方金额Credit_amountnumber(8)贷方数量Credit_moneynumeric(10,2)贷方金额now_checkout _amountnumber(8)本期结存数量now_checkout _moneynumeric(10,2)本期结存金额Jg_descvarchar2(20)备注销售日报表(posa ) 字段名字段类型字段描述备注posa_idnumber(8)日期编号primary keyStor_idnumber(8)门店编号门店清单表外键Posa_posnumber(8)收款机号Comm._id