版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、题目20 “库存管理系统设计”1、问题描述 超市中商品分为四类,分别是食品、化妆品、日用品和饮料。每种商品都包含商品名称、价格、库存量和品牌等信息。 定义一个管理类,主要完成对商品的销售、统计和简单管理。 2、功能要求 (1)进货功能。按要求添加相应商品的信息到库存中。添加进货日期、生产厂家、进货价等信息。 (2)出货功能。出货时,先输入商品类别,然后输入商品名称,并在库存中查找该商品的相关信息。如果有库存量,输入出货的数量、出货日期,计算销售额和利润。如果库存量不够,给出提示信息,结束出货。 (3)统计功能。 输出当前库存中所有商品的总数及详细信息;能统计每种商品一周时间内的销售额和利润;能
2、统计每类商品的一周时间内的销售额和利润。输出统计信息时,要按从大到小进行排序。 (4)商品简单管理功能。 添加功能:主要完成商品基本信息的添加。查询功能:可按商品类别、商品名称、生产厂家、进货日期进行查询。若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该记录不存在!”。 修改功能:可根据查询结果对相应的记录进行修改。 删除功能:主要完成商品信息的删除。先输入商品类别,再输入要删除的商品名称,根据查询结果删除该物品的记录,如果该商品不在物品库中,则提示“该商品不存在”。 商品信息存盘:将当前程序中的商品信息存入文件中。 读出信息:从文件中将商品信息读入程序。 3、问题的解决方案 根据
3、系统功能要求,可以将问题解决分为以下步骤: (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; (2)分析系统中的各个实体及它们之间的关系; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述; (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试; (8)完成系统总结报告。 目录1绪论31.1项目背景及意义31.2开发环境和工具32.需求分析42.1 业务流程分析42.2 功能分析43 系统设计53.1 系统功能模块设计53.2 数据库设计63.2.1 系统数据流图63.2.2 数据库逻辑设计73.2.3 数据库物理设计84.系统
4、实现105.总结17超市库存管理系统设计与实现1绪论1.1项目背景及意义 随着我国经济持续发展,人们的生活水平不断提高,人们对生活物品的需要大大提升,大大小小的超市随着人们的需求而出现,超市中的商品数目以及样式急剧增加,有关商品的各种信息量也成倍增长。超市时时刻刻都需要对商品各种信息进行统计分析。因此对超市管理有了更高的要求,尤其对于库存商品的管理要求更高。现在的超市库存商品数量很大,品种规格很多,传统的手工业务处理,大大降低了效率,而且容易出错,商品需求的计算较复杂,采用人工来处理费时费力,效率低且难免出错,产品规格、型号、品种较多,商品品种多且零碎,造成库存管理复杂,无法随时了解物品的收发
5、存储情况,商品的出入库、物料移动、盘点、货物补订等业务处理过程,非常复杂、繁琐,依靠传统的手工处理或者个别部门电脑处理,不仅浪费大量的人力、物力、时间,而且精确程度低,再加上盲目采购,造成大量的库存积压或者短缺,商品的基础数据复杂而繁多,企业传统的卡片式管理,显然已不能适应高效率的商品更换,需求,储备动态变化的要求,不能监控商品的存储数量和商品的安全存储时间,不能及时准确的了解需要补充的库存商品名称及其数量,也不能及时的得知需要盘点的商品以及其盘点结果未能随时对现存的商品进行模拟预算,并且不能再保证销售的前提下,最大程度的降低库存,不能及时得知某种商品的收、发、存的状况;不能及时对库存的商品进
6、行销售配比的模拟预算。社会在不断进步,科学技术和管理也在迅速发展,这使得超市企业得到了前所未有的发展机遇,但是同时也必须面对市场竞争的严重挑战,在日趋激烈的竞争环境下,超市企业要求发展,就需要对其进行科学的管理,尤其是在超市运营中起着关键作用的库存管理。现在一般的超市都采用计算机智能化管理,采用计算机作为工具的实用的计算机超市库存管理程序来帮助管理员进行更有效的超市库存管理工作。用现今很发达的计算机科学来处理商品库存内部的信息流通和使用,这样就可以实现数据信息的共享,控制好数据,使得库存有统一的管理,提高信息的利用率,而且大大节省了人力物力,这样就可以很大程度的提高超市的企业的经营效率。1.2
7、开发环境和工具由于本系统是基于Visual C+平台的,所以采用C+技术作为主要开发工具,系统前台界面采用常用的Microsoft Visual C+6.0开发软件,后台数据库采用Microsoft Access 2003。2.需求分析2.1 业务流程分析订货单采购入库单入库货架货品检查缺货通知单递交处理仓库检查存货出货单出库超市的库存管理业务流程如下:当超市货架某商品缺货时,发出缺货通知,然后检查仓库是否有该商品。如果仓库有货,领取商品,并记录库存台账,统计报表;如果仓库没有货物,或者检查货物存量低于安全库存,发出订货单并采购货物。商品入库,记录库存台账,并统计
8、报表。业务流程图如图1所示: 无 有图1 超市库存管理流程图2.2 功能分析功能分析的任务是弄清楚客户对于目标系统的功能需求。超市库存管理主要是为了更好更高效率的帮助超市管理好超市的库存商品,及时的补充商品能够在超市的行业竞争中有优势。其中包括商品的查询,能够及时的了解商品的需求情况;商品的信息,了解商品的总体数量以及商品的详细分类;供货商的信息,能够准确无误的找到最好的商品来源;报表信息,能够清晰的看到整个经营过程的盈亏,及时做出正确的营业决定。根据对系统目标和业务流程的分析,本系统的功能需求可以归纳为以下具体功能:(1)库存商品信息查询功能:对于商品的各信息的及时了解掌握,才能更加有效率的
9、管理好超市的运营情况。该模块主要用于用户对于超市货架上的物品在一段时间的运营后查询货架上的物品的数量剩余,以此确定需要补充的货物;仓库的商品储存的查询以及运营报表的查询。可按商品的类别、商品名称、生产厂家进行查询。如存在则输出相应的信息,如不存在则提示不存在并提示修改已有商品信息,对于不再需要存储的商品也可删除物品的记录。(2)超市商品管理功能: 该功能主要完成商品从供货商处运达后的商品入库检验,商品分类,以及商品的入库登记;当货架商品不足时,从库存商品调用的商品数量,商品类型等的统计以及管理。商品分类包括:商品名称,品牌,类型,保质期,价格,生产厂家,供货来源等详细信息。(3)供货商信息管理
10、功能: 由于每种商品的代理商都不止一家且相同供货商之间提供的商品质量也不是完全相同所以通过该功能记录各供货商的电话,地址,能够提供的商品类型,提供商品质量优劣等情况。在商品不足需要订购的时候,给用户最合适的供货来源。(4)部门管理功能:该模块主要实现对采购部,销售部人员基本信息管理的功能。对所以员工的信息进行登记管理,包括添加、修改、删除、查询操作。3 系统设计3.1 系统功能模块设计从前面的业务流程与功能分析可以设计六个功能模块,分别是销售部信息管理模块、库存商品信息管理模块、入库商品信息管理模块、出库商品信息管理模块、供货商信息管理模块、采购部信息管理模块。系统整体功能如图2所示:超市库存
11、管理系统库存商品信息管理模块供货商信息管理模块入库商品信息管理模块销售部信息管理模块出库商品信息管理模块采购部信息管理模块图2 系统整体功能图其中各模块的功能包括:库存商品信息管理模块:查询商品库存总量、商品库存状况。入库商品信息管理模块:登记入库商品信息、修改入库商品信息、删除入库商品信息。出库商品信息管理模块:登记出库商品信息、修改出库商品信息、删除出库商品信息。供货商信息管理模块:添加供应商信息、修改供应商信息、删除供应商信息、查询供应商信息。采购部信息管理模块:添加采购部人员信息、修改采购部人员信息、删除采购部人员信息、查询采购部人员信息。销售部信息管理模块:添加销售部人员信息、修改销
12、售部人员信息、删除销售部人员信息、查询销售部人员信息。3.2 数据库设计3.2.1 系统数据流图货架缺货通知仓库库存统计统计出库出库商品信息采购通知采购信息供应商入库入库商品信息不足数据流图是用来描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。对超市库存管理系统及各功能模块进行数据流程分析,可得到超市库存管理系统的各个模块处理数据的过程,如图3所示:图3 系统数据流程图3.2.2 数据库逻辑设计概念模型是数据库系统的核心和基础,在管理信息系统中,概念模型:体现了设计者对现实世界的认识,描述了软件系统的整体概括。人们研究把现实世界中的事物抽象为不依赖与具体
13、机器的信息结构,又接近人们的思维,并具有丰富语义的概念模型,然后再把概念模型转换为具体的机器上DBMS支持的数据模型。概念模型的描述工具通常是使用E-R模型图。该模型不依赖于具体的硬件环境和DBMS。概念模型设计的常用方法是实体关系方法(E-R方法)。用实体关系方法对具体数据进行抽象加工,将实体集合抽象成实体类型,用实体间的关系反映现实世界事物间的内在关系。首先可以进行局部E-R模型,然后把各局部E-R模型综合成一个全局的E-R模型,最后对全局E-R模型进行优化,最后得到的。在需求分析和逻辑设计之间增加概念设计阶段,可以使设计人员仅从用户的角度看待数据及处理要求和约束。表达概念设计的结果称为概
14、念模型,对概念模型有以下要求:(1)有丰富的语义表达能力,能表达用户的各种需求。(2)易于交流和理解,从而可以用它和不熟悉计算机的用户交换意见。(3)要易于更改。当应用环境和应用要求改变时,概念模型要能很容易的修改和扩充以反映这种变化。(4)易于向各种数据模型转换。超市库存管理系统的E-R图如图4所示:m11mm供货商名称姓名出库销售部门电话人员编号供货商编号仓库商品商品名称仓库编号库存量入库日期出库日期销售人员编号采购人员编号供应商编号供应商名称供应商电话商品编号供应商供应商地址供应商邮编银行账号供应采购存储姓名电话采购部门人员编号供货价格商品名称1图4 系统E-R图结合E-R图可得到数据库
15、管理系统的关系模型如下:(1)供应商信息表:(供应商编号、供应商名称、地址、电话、邮编、银行账号)(2)入库信息表:(商品编号、名称、入库数量、单价、入库日期、供货商、采购部门编号)(3)出库信息表:(商品编号、名称、出库数量、销售部门编号、出库日期)(4)采购部人员信息表:(编号、姓名、电话)(5)销售部人员信息表:(编号、姓名、电话)以上括号外的名称是表名,括号内为字段名。3.2.3 数据库物理设计根据在数据库概念设计中给出的数据库驾校管理系统的关系模型,可以设计数据表结构。其中包括以下表:Supplier,GoodsIn, GoodsOut,Buy,Sell。下面具体介绍数据库中各表的结
16、构:(1)表名:Supplier,即:供应商信息表,存蓄供应商的相关信息,其结构如表1所示。表1 供应商信息表 字段名称字段类型字段长度字段属性是否为空sup_novarchar50供应商编号NOT NULLsup_namevarchar50供应商名称NOT NULLsup_addressvarchar50供应商地址NOT NULLsup_numvarchar50供应商电话NOT NULLpro_namevachar50商品名称NOT NULLsup_prisevarchar50供货价格NUT NULLpro_novarchar50商品编号NOT NULLsup_postvarchar50供应
17、商邮编NOT NULLsup_bankvarchar50银行账号NOT NULL(2)表名:GoodsIn,即:商品入库信息表,存蓄入库商品的信息,其结构如表2所示。表2 商品入库信息表字段名称字段类型字段长度字段属性是否为空GoodsNOvarchar50商品编号NOT NULLGoodsNamevarchar50商品名称NOT NULLQuantityvarchar50入库数量NOT NULLPricevarchar50单价NOT NULLSupplier_novarchar50供货商编号NOT NULLSupplier_namevarchar50供货商名称NOT NULLPurchase
18、UnitNovarchar50采购人员编号NOT NULLDatavarchar50入库日期NOT NULL(3)表名:GoodsOut,即:商品出库信息表,存储商品出库的相关信息,其结构如表3所示。表3 商品出库信息表字段名称字段类型字段长度字段属性是否为空GoodsNovarchar50商品编号NOT NULLGoodsNamevarchar50商品名称NOT NULLQuantityvarchar50出库数量NOT NULLSalesUnitNovarchar50销售人员编号NOT NULLDatavarchar500入库日期NOT NULL(4)表名:Sell,即:销售部门人员信息表,
19、存储销售部门的相关人员信息,其结构如表4所示。表4 销售部门人员信息表字段名称字段类型字段长度字段属性是否为空sell_novarchar50工号NOT NULLsell _namevarchar50名称NOT NULLsell _numvarchar50电话NOT NULL(5)表名:Buy,即:采购部门人员信息表,存储采购部门的相关人员信息,其结构如表5所示。表5 采购部门人员信息表字段名称字段类型字段长度字段属性是否为空buy_novarchar50工号NOT NULLbuy_namevarchar50名称NOT NULLbuy_numvarchar50电话NOT NULL4.系统实现(
20、1)数据库连接,数据源名Database Example For C+,下面是连接数据库信息表的代码:CString CBuySet:GetDefaultConnect()return _T("ODBC;DSN=Database Example For C+");/连接数据库信息表BuyCString CSellSet:GetDefaultConnect()return _T("ODBC;DSN=Database Example For C+");/连接数据库信息表SellCString CSupplierSet:GetDefaultConnect()r
21、eturn _T("ODBC;DSN=Database Example For C+");/连接数据库信息表SupplierCString CProInSet:GetDefaultConnect()return _T("ODBC;DSN=Database Example For C+");/连接数据库信息表GoodsInCString CProOutSet:GetDefaultConnect()return _T("ODBC;DSN=Database Example For C+");/连接数据库信息表GoodsOut(2)添加入库商
22、品信息的代码CProInAddDlg dlg; /调用添加的编辑对话框if(dlg.DoModal()=IDOK)CProInSet m_pSet1;m_pSet1.Open(); /打开商品入库信息表while(!m_pSet1.IsEOF()if(dlg.m_GoodsNo1=m_pSet1.m_GoodsNO)/商品编号重复MessageBox("已存在此货品!");return ;m_pSet1.MoveNext();m_pSet1.AddNew();/增加一个入库商品信息的记录m_pSet1.m_Data=dlg.m_Data1;m_pSet1.m_GoodsNa
23、me=dlg.m_GoodsName1;m_pSet1.m_GoodsNO=dlg.m_GoodsNo1;m_pSet1.m_Quantity=dlg.m_Quantity1;m_pSet1.m_PurchaseUnitNo=dlg.m_PurchaseUnitNo1; m_pSet1.m_Price=dlg.m_Price1;m_pSet1.m_Supplier=dlg.m_Supplier1;m_pSet1.Update();m_pSet1.Requery();/刷新记录集m_pSet1.Close();m_in_list.InsertItem(nItem,dlg.m_GoodsNo1);
24、/添加当前记录的字段信息m_in_list.SetItemText(nItem,1,dlg.m_GoodsName1);m_in_list.SetItemText(nItem,2,dlg.m_Quantity1);m_in_list.SetItemText(nItem,3,dlg.m_Price1);m_in_list.SetItemText(nItem,4,dlg.m_Supplier1);m_in_list.SetItemText(nItem,5,dlg.m_PurchaseUnitNo1);m_in_list.SetItemText(nItem,6,dlg.m_Data1);添加入库商品
25、信息的过程(3)修改入库商品信息的代码if(nItem=-1) /没选择要修改的商品入库信息AfxMessageBox("请选中需要修改的商品入库信息");return ;CProInAlterDlg dlg;/调用修改的编辑对话框if(dlg.DoModal()=IDOK)if(m_Goods_No!=dlg.m_GoodsNo2)MessageBox("不能修改编号");return ;CProInSet m_pSet1;m_pSet1.Open(); /打开商品入库信息表while(!m_pSet1.IsEOF()if(dlg.m_GoodsNo2
26、=m_pSet1.m_GoodsNO)/商品编号重复 m_pSet1.Edit();m_pSet1.m_GoodsNO=dlg.m_GoodsNo2;m_pSet1.m_GoodsName=dlg.m_GoodsName2;m_pSet1.m_Quantity=dlg.m_Quantity2;m_pSet1.m_PurchaseUnitNo=dlg.m_PurchaseUnitNo2;m_pSet1.m_Data=dlg.m_Data2;m_pSet1.m_Price=dlg.m_Price2;m_pSet1.m_Supplier=dlg.m_Supplier2;m_pSet1.Update(
27、);break;m_pSet1.MoveNext(); /刷新记录集m_pSet1.Close(); /关闭记录集 修改入库商品信息的过程(4)删除入库商品信息的代码void CProInDlg:OnInDel() int nItem=m_in_list.GetSelectionMark();/得到列表的选择项if(nItem=-1) /没选中要删除的入库商品信息AfxMessageBox("请选择待删除的入库商品信息");return ;CString s;int choose=MessageBox("确定删除选择的出库商品信息","提问&q
28、uot;,MB_YESNO|MB_ICONQUESTION);/是否删除该入库商品信息 if(choose=IDYES)/选择该行的第一列数据CString strItem=m_in_list.GetItemText(nItem,0);m_in_list.DeleteItem(nItem);CProInSet m_pSet;m_pSet.Open();while(!m_pSet.IsEOF()if(m_pSet.m_GoodsNO=strItem)CRecordsetStatus s;m_pSet.GetStatus(s);m_pSet.Delete();if(s.m_lCurrentReco
29、rd=0) /不加这里会导致出现一个空记录m_pSet.MoveNext();elsem_pSet.MoveFirst();break;elsem_pSet.MoveNext();m_pSet.Close();删除入库商品信息的过程(5)库存商品信息管理模块查询的代码void CProCheckDlg:OnProcheck() CProInSet m_pSet,check;CProOutSet check1;int flag=0;UpdateData();m_procheck.TrimLeft();if(m_procheck.IsEmpty() /输入商品的编号进行查询MessageBox(&
30、quot;请输入要查询的商品编号");return;check.Open();check1.Open();while(!check.IsEOF()/开始查询记录if(check.m_GoodsNO=m_procheck)flag=1; /找到需要查询的记录 break;elsecheck.MoveNext(); /下移一条记录if(flag=0) /没有找到相关记录 MessageBox("要查询的编号不存在请重新输入"); return ;int num=atoi(check.m_Quantity.GetBuffer(3);int num2=atoi(check1.m_Quantity.GetBuffer(3);int sum=0;sum=num-num2; /计算剩余的库存商品数量CString S,b;S.Format("%d",sum);CString str;/保存当前字段的文本值for(int i=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 评审人员评审责任制度
- 学校安全检查责任制度
- 各岗位工作责任制度汇编
- 安全双控体系责任制度
- 幼儿园煤气间责任制度
- 社保基金岗位责任制度
- 社区病媒生物责任制制度
- 装修公司工地责任制度
- 护理教师专业发展
- 2025年昆明市盘龙区汇承中学招聘教师备考题库及一套参考答案详解
- GB/T 45880-2025单片陶瓷摩擦和磨损特性的测定球板法
- 2025年山西省中考英语试卷真题(含答案详解)
- 运输承运商管理制度
- 采购基础知识与技巧(第三版)课件:采购概述
- (高清版)DB36∕T 2070-2024 疼痛综合评估规范
- 《创伤性休克及急救》课件
- 中国石油企业文化课件
- 电力工程建设资源投入计划
- 事故后如何进行合理赔偿谈判
- T-CASMES 428-2024 商业卫星太阳电池阵通.用规范
- 新媒体技术应用 课件全套 曾琦 单元1-7 认知新媒体岗位及新媒体工具-拓展 AIGC概述 生成式人工智能
评论
0/150
提交评论