基于C的库存管理系统的开发毕业论文.doc

上传人:牧羊曲112 文档编号:4957761 上传时间:2023-05-26 格式:DOC 页数:43 大小:667KB
返回 下载 相关 举报
基于C的库存管理系统的开发毕业论文.doc_第1页
第1页 / 共43页
基于C的库存管理系统的开发毕业论文.doc_第2页
第2页 / 共43页
基于C的库存管理系统的开发毕业论文.doc_第3页
第3页 / 共43页
基于C的库存管理系统的开发毕业论文.doc_第4页
第4页 / 共43页
基于C的库存管理系统的开发毕业论文.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《基于C的库存管理系统的开发毕业论文.doc》由会员分享,可在线阅读,更多相关《基于C的库存管理系统的开发毕业论文.doc(43页珍藏版)》请在三一办公上搜索。

1、第1章 序言随着计算机技术的不断发展,公司、企业和机关的计算机自动化管理已经十分普与,计算机技术已经深入到企业管理的各个方面。一般小型企业的库存管理大部分还是手工操作,工作起来效率很低,并且不能与时了解库存的具体情况。同时,由于不可避免的人为因素,造成库存商品数量与价格的错报和漏报等情况。本文设计的库存管理系统实现了仓库的计算机量化管理,利用它可以安全、可靠的管理仓库物品来往业务,不仅可以保障仓库安全和商品数量的透明,更可以提高公司的管理水平和对外形象。库存管理是企业各项工作的重点,市场经济的高速发展给企业带来了很多变革的契机,我们必须在进行机构改革的同时,尽快使用现代化管理设备、管理手段、管

2、理方法。计算机在企业管理中应用的普与,利用计算机实现库存管理势在必行。将计算机技术应用到库存管理中对于提高工作效率,有很大的帮助,特别是库存管理系统的应用,对于大中型企业来说,利用计算机支持企业高效率完成货物来往的复杂性,是适应现代企业制度要求、推动库存管理走向科学化、规化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、性好、寿命长、成本低等。这些优点能够极提高库存管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,企业非常需要一套既有先进管理思想又适合国企业的库存管理系统,作为实现目标和提高现有水平的一种重要手段,库存管理系统是一个公司不可缺少

3、的部分,它的容对于公司的管理者来说至关重要,随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。第2章 系统分析2.1库存管理系统需求分析2.1.1.用例分析通过库存管理系统实际需求,进行详细的用例分析。库存管理系统用例分析如图2-1所示。图2-1库存管理用例图用例图建立完成,就需要编写用例描述,用例描述也就是对系统各个功能进行描述,这一部是进行系统设计前最重要的一个过程。准确地描述出系统的功能有助于清理自己的思路,更是和用户进行有效沟通的保障。(1) 基础信息管理在基础信息管理中应包括供应商信息、客户信息管理、仓库信息

4、管理、地域信息管理、计量单位管理。供应商信息管理、客户信息管理、仓库信息管理、商品信息管理都应该具备添加、修改、删除、浏览功能;地域信息管理应以树状视图形式显示。(2) 日常业务管理在日常业务管理模块中应包括入库管理、出库管理、调货管理、库存盘点。各模块允许一次对多种商品进行操作,并可自动核算合计数量与合计金额,最好可以提供联想输入提示功能。(3) 查询统计管理在查询统计管理中包含过期商品查询,它的功能是实现自动筛选过期商品。(4) 系统管理系统管理模块包括用户信息管理模块。2.2业务流程商品库存管理系统的业务流程如图2-2所示。图2-2业务流程图2.3系统目标1)完成入库、出库业务,且允许一

5、单据涉与多种商品。2)跟踪仓库中每种商品的库存数量,且可以对其进行盘点。3)提供过期商品查询功能。4)可以满足多仓库需要。5)支持联想输入设计。2.4系统总体设计系统总体设计工作应该由上而下的进行。首先设计总体结构,然后逐层深入,直到进入每一个模块的设计。总体设计主要是指在系统分析的基础上,对整个系统的划分、软硬件配置、数据存储以与整个系统实现等方面的合理安排。2.4.1系统功能结构设计通过前面的系统分析工作,下面将库存管理系统划分为4部分,它们是基础信息管理、日常业务管理、查询统计管理、系统信息管理。结构图如图2-3所示。图2-3系统结构图2.4.2编码设计编码设计是管理信息系统过程中的一个

6、重要容。设计一个好的编码,可以使信息统计和查询变得更方便。编码一般由数字和字符组成,用来代表事物的实体类别和属性的特定符号或记号。在库存管理系统中,需要对出、入库单进行编码,以入库单为例,入库单据号用来标记入库单的单号,具有唯一性。通过该编码,可以判断某一入库单是哪年、哪月、哪日第几单据。程序模块设计如下:首先,判断入库信息表中是否有记录,如果无记录,则说明要录入的入库单是本天的第一入库单据。该单据编码由字母“RK”、当前日期的“年”“月”“日”,再加“000001”组成;如果有记录,那么该单据编码由字母“RK”、当前日期,和当天上一单据编码后6位加1组成。第3章 数据库设计数据库是应用程序的

7、核心。数据库设计师开发应用程序的重要组成部分。一个好的数据库结构可以使系统处理速度快、占用空间少、操作处理过程简单、查找容易等。数据商品库存管理系统的实际需要和数据流量的大小,数据库使用了Microsoft Access。下面介绍数据库的创建过程。3.1创建数据库库存管理系统采用了Microsoft Access作为后端数据库,创建数据库名称为“spkc.mdb”3.2创建数据表与数据库逻辑结构设计库存管理系统共使用13数据表,分别为仓库信息表、出库明细表、出库信息表、入库信息表、入库明细表、入库信息表、地域信息表、供应商信息表、客户信息表、计量单位表、库存信息表、商品调拨表、商品信息表、用户

8、信息表。表3-1 供应商信息表字段名称 字段类型 主键 外键 允许为空 默认值编号 文本型(10) 是 否名称 文本型(40)简称 文本型(20)地址 文本型(40)地区编号 长整形 是 文本型(13) 文本型(13)联系人 文本型(13)联系人 文本型(10)银行 文本型(20)账号 文本型(15)纳税人 文本型(8)地址 文本型(40)表3-2 入库信息表字段名称 字段类型 主键 外键 是否为空 默认值票号 文本型(15) 是 否入库时间 日期时间型合计数量 长整型合计金额 货币型操作员 长整型 是表3-3 入库明细表字段名称 字段类型 主键 外键 是否为空 默认值票号 文本型(15) 是

9、商品编号 文本型(10)入库仓库 长整型数量 长整型表3-4 库存信息表字段名称 字段类型 主键 外键 是否为空 默认值商品编号 文本型(10) 是库存编号 长整型 是库存数量 长整型库存上限 长整型库存下限 长整型单价 货币型销售价格 货币型表3-5 商品调拨表字段名称 字段类型 主键 外键 是否为空 默认值商品编号 文本型(10) 是所在仓库 长整型调拨仓库 长整型掉拨数量 长整型操作员 长整型表3-6 供应商基础信息表字段名称 描述 说明编号 标记一个供应商 用来区分同名的供应商 名称 标记供应商名称简称 供应商名称的拼音缩写表3-7 库存信息表字段名称 描述 说明商品编号 标识一种商品

10、 用来区分同名的商品库存数量 商品数量库存上限 仓库中可以容纳某种商品的最大数量库存下限 仓库中可以存在某种商品的最小数量表3-8 商品调拨表字段名称 描述 说明所在仓库 商品为调拨前所在仓库调拨仓库 商品到调拨到的仓库调拨数量 调拨商品的数量操作员 记录此操作的操作员编号第4章 程序模型设计4.1进入环境AppWizard的建立完毕,需要完成以下工作:在StdAfx.h中引入头文件#import”C:Program FilesCommon FilesSYSTEMADOMSADO15.dll”rename(”EOF”,”_EOF”)using namespace ADODB;声明全局变量_Co

11、nnectionPtrn;在bool CmyApp:InitInstance()中初始化数据库连接:CoInitialize(NULL);cnn=NULL;cnn.CreateInstance(_uuidof(Connection);cnn-ConnectionString=uid=admin;pwd=111;DRIVER=Microsoft Access Driver (*.mdb);DBQ=spkc.mdb;cnn-Open(L,L,L,adCmdUnspecified);4.2类模型分析本程序涉与27个类,主要类的说明如下表所示:表4-1 库存管理系统中的类与说明类名 派生自 说明CBa

12、seComboBox CComboBox添加数据源连接功能与回车移动功能的CcomboBox类CBaseEdit CEdit添加回车移动焦点功能的CEdit类CBaseDateTimeCtrl CDateTimeCtrl增加回车移动焦点功能的CDateTimeCtrl类CBaseListBox CListBox添加数据源连接功能与回车移动焦点功能ClistBox类CDAbate CDialog 过期商品查询模块CDAbout CDialog关于模块CDAdjust CDialog调货管理模块CDCheck CDialog 库存管理模块CDCheckDlg CDialog 库存盘点模块CDCli

13、ent CDialog 客户信息查询模块CDClient_Edit CDialog 客户信息管理模块CDClime CDialog 地域信息管理模块CDInput CDialog 商品出库模块CDLogin CDialog登录模块CDOutput CDialog 商品输出模块CDProvider CDialog 供应商查询模块CDStore CDialog 仓库信息管理模块CDunit CDialog计量单位管理模块CDUser CDialog用户管理模块CDWare CDialog商品信息查询模块CExtendEdit_Grid CListCtrl 增加绑定数据源功能的CListCtrl类C

14、MainDlg CDialog 主程序界面对话框CMyApp CWinApp Windows应用程序基类的派生类CRxGrid CListCtrl 增加联想提示等诸多功能的CListCtrl类第5章 界面与主要模块设计5.1主程序界面开发步骤5.1.1模块描述主程序界面是应用软件中非常重要的模块,用户需要通过它来实现与其他功能模块的衔接。本程序的主界面由菜单栏、工具栏、状态栏模式组成。主程序界面的运行结果如图所示:图5-1 库存管理系统主界面5.1.2菜单资源设计图5-2 菜单资源结构图5.1.3关键程序代码声明CToolCtrl类对象实体、CImageList类对象实体、CststusBar

15、Ctrl类对象实体。CToolBarCtrl m_ToolBar;CImageList m_ImageList;CStatusBarCtrl m_StatusBar;在OnInitDialog成员函数中添加工具栏和状态栏。BOOL CMainDlg:OnInitDialog()CDialog:OnInitDialog();SetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small iconTBBUTTON button10;int i=0,nStringLength;CString string;TCHAR

16、* pString; m_ImageList.Create(32,32,ILC_COLOR32|ILC_MASK,0,0); m_ToolBar.EnableAutomation();m_ToolBar.Create(WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,ID_TOOLBAR);UINT Resource10=IDI_ICON1,IDI_ICON2,IDI_ICON3,IDI_ICON4,IDI_ICON4,IDI_ICON5,IDI_ICON6,IDI_ICON7,IDI_ICON7,IDI_ICON8;for(i=0;i10;i+)m_ImageL

17、ist.Add(:LoadIcon(:AfxGetResourceHandle(),MAKEINTRESOURCE(Resourcei); m_ToolBar.SetImageList(&m_ImageList); for(i=0;iGetWindowText(TipText);TipText=TipText+ 当前用户:+UserName+ ;this-SetWindowText(TipText);int width=150,800;m_StatusBar.SetParts(2, &width0);m_StatusBar.SetText(GUSONG2009,0,0);return TRUE

18、; 5.2商品信息管理5.2.1功能分析商品信息管理应该包括查询和管理两部分。在查询部分中,以列表形式显示商品信息,且允许用户根据不同字段、不同条件进行查询。当用户在表格中双击某条商品记录时,进入管理部分;管理部分以卡片形式显示某种商品的信息,允许用户对记录进行添加、修改、删除等操作。商品信息管理模块运行结果如图5-3所示。图5-3 商品信息管理效果图5.2.2商品信息管理模块查询部分详细设计向项目中添加一个新的Dialog资源,资源ID为IDD_WARE。在IDD_WARE对话框资源中单击鼠标右键,执行弹出快捷菜单的“Properties”菜单命令,打开“DialogProperties”对

19、话框。在“Dialog Properties”对话框中选择General选项卡,更改其Caption文本框容为“商品信息查询”;单击Font按钮,将Dialog资源更改为宋体、9号。从Controls面板上向Dialog资源中添加3个Static、2个Combo Box、1个Edit、1个Button和1个ListControl,更改资源的属性,并为资源设置相对应的变量。如下表所示。表5-1 资源设置ID Properties Members Variables Type MemberIDC_COMFIELD Sort FLASE CBaseComboBox m_ComField Data 编

20、号 名称 产地 计量单位IDC_COMEMBLEM Sort FLASE CBaseComboBox m_ComEmblem Data LIKE = = Execute(_bstr_t)sSQL,NULL,adCmdText);catch(.)if(theApp.GetRecordCount(rst)0)rst-MoveFirst();CTime OutfactoryTime,KeepTime;sID=(char*)(_bstr_t)rst-GetCollect(编号);sKeepTime=(char*)(_bstr_t)rst-GetCollect(保质期);m_EdtID.SetWindo

21、wText(sID);this-m_EdtLetterName.SetWindowText(SLatterName);this-m_EdtName.SetWindowText(sName);this-m_EdtSpec.SetWindowText(sSpec);this-m_ComUnit.SetWindowText(sUnit);OutfactoryTime=theApp.CStringTOCTime(sOutfactoryTime);KeepTime=theApp.CStringTOCTime(sKeepTime);this-m_DatOutFactoryTime.SetTime(&Out

22、factoryTime);this-m_DatKeepTime.SetTime(&KeepTime);int nProducing=theApp.NumberTOName(地域信息表,名称,sProducing);Clime(nProducing);rst-Close();单击添加按钮时,在编号文本框中自动生成编号;清空其他编辑控件,系统进入编辑状态。void CDWare_Edit:OnBUTAdd() CString NewID;Enabled(true);ClearFrom();NewID=theApp.AutoNumber(商品信息表,SP,1);this-m_EdtID.SetWin

23、dowText(NewID);m_EdtName.SetFocus();AddOrChange=true;用户单击修改按钮,系统进入编辑状态,名称文本框获得焦点。void CDWare_Edit:OnBUTChange() Enabled(true);m_EdtName.SetFocus();AddOrChange=false;用户单击保存按钮时,判断用户在此前按下的是添加还是修改,如果是添加就插入一条记录,如果是修改,就更新原纪录。void CDWare_Edit:OnBUTSave() int a=MessageBox(确定保存记录吗?,系统提示,MB_ICONQUESTION|MB_OK

24、CANCEL);if(a=1)CTime time;CString sID,sSQL,sName,sLetterName,sUnit,sSpec,sTown,sOutFauctryTime,sKeepTime;int nUnit,nTown;m_EdtID.GetWindowText(sID);m_EdtLetterName.GetWindowText(sLetterName);m_DatOutFactoryTime.GetTime(time);sOutFauctryTime=theApp.CTimeToCString(time);m_DatKeepTime.GetTime(time);sKe

25、epTime=theApp.CTimeToCString(time);m_EdtName.GetWindowText(sName);if(sName.IsEmpty()MessageBox(请输入商品名称!,系统提示,MB_OK|MB_ICONSTOP);m_EdtName.SetFocus();return;if(this-AddOrChange=true)sSQL.Format(Insert Into商品信息表values (%s,%s,%s,%s, %d,%d,#%s#,#%s#),sID,sName,sLetterName,sSpec,nTown,nUnit,sOutFauctryTi

26、me,sKeepTime);elsesSQL.Format(UPDATE 商品信息表 SET 名称=%s,简称=%s,规格=%s,产地=%d,计量单位=%d,出厂日期=#%s#,保质期=#%s# WHERE 编号=%s,sName,sLetterName,sSpec,nTown,nUnit,sOutFauctryTime,sKeepTime,sID);cnn-Execute(_bstr_t)sSQL,NULL,adCmdText);this-Enabled(false);用户单击撤销按钮时,程序进入只读状态,并且显示用户在查询模块双击的记录。void CDWare_Edit:OnBUTUndo

27、() this-Display(this-DisplayNumber);this-Enabled(false);5.4出库管理5.4.1.功能分析出库管理模块主要完成商品出库的操作,在本系统中,采用表格式录入数据,这样便可以实现一出库单据可出库多种商品。细节方面,具备快捷提示功能,只要通过几个字母,系统便可以找到用户所需要的数据,并且支持自动核算功能。运行结果如图5-6所示。图5-6 出库管理模块图5.4.2 详细设计向项目中添加一个新Dialog资源,资源ID为IDD_DIAOUTPUT。在IDD_DIAOUTPUT对话框资源中单击鼠标右键,执行弹出快捷菜单的“Properties”菜单命令

28、,打开“DialogProperties”对话框。在“DialogProperties”对话框中选择General选项卡,更改其“Caption”文本框容为“出库管理”;单击Font按钮,将Dialog资源字体更改为宋体9号。从Controls面板上向Dialog资源中添加7个Static、3个Edit,4个Button、和1个ListControl,更改资源的属性,并为资源设置相对应的变量。如下表所示。表5-3 资源设置ID Properties Members Variables Type MemberIDC_STAID Caption CK040224_000001 CStatic m_StaIDIDC_STADATE Caption 2004-02-24

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号