基于C#的库存管理系统的开发毕业论文(37页).doc

上传人:1595****071 文档编号:37156221 上传时间:2022-08-30 格式:DOC 页数:37 大小:243KB
返回 下载 相关 举报
基于C#的库存管理系统的开发毕业论文(37页).doc_第1页
第1页 / 共37页
基于C#的库存管理系统的开发毕业论文(37页).doc_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《基于C#的库存管理系统的开发毕业论文(37页).doc》由会员分享,可在线阅读,更多相关《基于C#的库存管理系统的开发毕业论文(37页).doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

2、变革的契机,我们必须在进行机构改革的同时,尽快使用现代化管理设备、管理手段、管理方法。计算机在企业管理中应用的普及,利用计算机实现库存管理势在必行。将计算机技术应用到库存管理中对于提高工作效率,有很大的帮助,特别是库存管理系统的应用,对于大中型企业来说,利用计算机支持企业高效率完成货物来往的复杂性,是适应现代企业制度要求、推动库存管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高库存管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,企业非常需要一套既有先进管理思想又适合国内企

3、业的库存管理系统,作为实现目标和提高现有水平的一种重要手段,库存管理系统是一个公司不可缺少的部分,它的内容对于公司的管理者来说至关重要, 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。第2章 系统分析2.1库存管理系统需求分析2.1.1.用例分析通过库存管理系统实际需求,进行详细的用例分析。库存管理系统用例分析如图2-1所示。图2-1库存管理用例图用例图建立完成,就需要编写用例描述,用例描述也就是对系统各个功能进行描述,这一部是进行系统设计前最重要的一个过程。准确地描述出系统的功能有助于清理自己的思路,更是和用户进

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

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

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

7、单据编码由字母“RK”、当前日期,和当天上一张单据编码后6位加1组成。第3章 数据库设计数据库是应用程序的核心。数据库设计师开发应用程序的重要组成部分。一个好的数据库结构可以使系统处理速度快、占用空间少、操作处理过程简单、查找容易等。数据商品库存管理系统的实际需要和数据流量的大小,数据库使用了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) 是 否入库时间 日期时间型合计数量 长整型合

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

10、分同名的供应商 名称 标记供应商名称简称 供应商名称的拼音缩写表3-7 库存信息表字段名称 描述 说明商品编号 标识一种商品 用来区分同名的商品库存数量 商品数量库存上限 仓库中可以容纳某种商品的最大数量库存下限 仓库中可以存在某种商品的最小数量表3-8 商品调拨表字段名称 描述 说明所在仓库 商品为调拨前所在仓库调拨仓库 商品到调拨到的仓库调拨数量 调拨商品的数量操作员 记录此操作的操作员编号第4章 程序模型设计4.1进入环境AppWizard的建立完毕,需要完成以下工作:在StdAfx.h中引入头文件#import ”C:Program FilesCommon FilesSYSTEMADO

11、MSADO15.dll”rename(”EOF”,”_EOF”)using namespace ADODB;声明全局变量_ConnectionPtr cnn;在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,adCmdUnspec

12、ified);4.2类模型分析本程序涉及27个类,主要类的说明如下表所示:表4-1 库存管理系统中的类及说明类名 派生自 说明CBaseComboBox CComboBox 添加数据源连接功能与回车移动功能的CcomboBox类CBaseEdit CEdit 添加回车移动焦点功能的CEdit类 CBaseDateTimeCtrl CDateTimeCtrl 增加回车移动焦点功能的CDateTimeCtrl类CBaseListBox CListBox 添加数据源连接功能与回车移动焦点功能ClistBox类CDAbate CDialog 过期商品查询模块CDAbout CDialog 关于模块CD

13、Adjust CDialog 调货管理模块CDCheck CDialog 库存管理模块CDCheckDlg CDialog 库存盘点模块CDClient CDialog 客户信息查询模块CDClient_Edit CDialog 客户信息管理模块CDClime CDialog 地域信息管理模块CDInput CDialog 商品出库模块CDLogin CDialog 登录模块CDOutput CDialog 商品输出模块CDProvider CDialog 供应商查询模块 CDStore CDialog 仓库信息管理模块CDunit CDialog 计量单位管理模块CDUser CDialog

14、 用户管理模块CDWare CDialog 商品信息查询模块CExtendEdit_Grid CListCtrl 增加绑定数据源功能的CListCtrl类CMainDlg CDialog 主程序界面对话框CMyApp CWinApp Windows应用程序基类的派生类CRxGrid CListCtrl 增加联想提示等诸多功能的CListCtrl类第5章 界面及主要模块设计5.1主程序界面开发步骤5.1.1模块描述主程序界面是应用软件中非常重要的模块,用户需要通过它来实现与其他功能模块的衔接。本程序的主界面由菜单栏、工具栏、状态栏模式组成。主程序界面的运行结果如图所示:图5-1 库存管理系统主界

15、面5.1.2菜单资源设计图5-2 菜单资源结构图5.1.3关键程序代码声明CToolCtrl类对象实体、CImageList类对象实体、CststusBarCtrl类对象实体。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)

16、;/ Set small iconTBBUTTON button10;int i=0,nStringLength;CString string;TCHAR * 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_I

17、CON4,IDI_ICON5,IDI_ICON6,IDI_ICON7,IDI_ICON7,IDI_ICON8;for(i=0;i10;i+)m_ImageList.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_

18、StatusBar.SetParts(2, &width0);m_StatusBar.SetText(GUSONG2009,0,0);return TRUE; 5.2商品信息管理5.2.1功能分析商品信息管理应该包括查询和管理两部分。在查询部分中,以列表形式显示商品信息,且允许用户根据不同字段、不同条件进行查询。当用户在表格中双击某条商品记录时,进入管理部分;管理部分以卡片形式显示某种商品的信息,允许用户对记录进行添加、修改、删除等操作。商品信息管理模块运行结果如图5-3所示。图5-3 商品信息管理效果图5.2.2商品信息管理模块查询部分详细设计向项目中添加一个新的Dialog资源,资源ID为

19、IDD_WARE。在IDD_WARE对话框资源中单击鼠标右键,执行弹出快捷菜单的“Properties”菜单命令,打开“DialogProperties”对话框。在“Dialog Properties”对话框中选择General选项卡,更改其【Caption】文本框内容为“商品信息查询”;单击【Font】按钮,将Dialog资源更改为宋体、9号。从Controls面板上向Dialog资源中添加3个Static、2个Combo Box、1个Edit、1个Button和1个ListControl,更改资源的属性,并为资源设置相对应的变量。如下表所示。表5-1 资源设置ID Properties M

20、embers Variables Type MemberIDC_COMFIELD Sort FLASE CBaseComboBox m_ComField Data 编号 名称 产地 计量单位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_

21、t)rst-GetCollect(编号);sKeepTime=(char*)(_bstr_t)rst-GetCollect(保质期);m_EdtID.SetWindowText(sID);this-m_EdtLetterName.SetWindowText(SLatterName);this-m_EdtName.SetWindowText(sName);this-m_EdtSpec.SetWindowText(sSpec);this-m_ComUnit.SetWindowText(sUnit);OutfactoryTime=theApp.CStringTOCTime(sOutfactoryTi

22、me);KeepTime=theApp.CStringTOCTime(sKeepTime);this-m_DatOutFactoryTime.SetTime(&OutfactoryTime);this-m_DatKeepTime.SetTime(&KeepTime);int nProducing=theApp.NumberTOName(地域信息表,名称,sProducing);Clime(nProducing);rst-Close();单击【添加】按钮时,在编号文本框中自动生成编号;清空其他编辑控件,系统进入编辑状态。void CDWare_Edit:OnBUTAdd() CString Ne

23、wID;Enabled(true);ClearFrom();NewID=theApp.AutoNumber(商品信息表,SP,1);this-m_EdtID.SetWindowText(NewID);m_EdtName.SetFocus();AddOrChange=true;用户单击【修改】按钮,系统进入编辑状态,名称文本框获得焦点。void CDWare_Edit:OnBUTChange() Enabled(true);m_EdtName.SetFocus();AddOrChange=false;用户单击【保存】按钮时,判断用户在此前按下的是【添加】还是【修改】,如果是【添加】就插入一条记录

24、,如果是【修改】,就更新原纪录。void CDWare_Edit:OnBUTSave() int a=MessageBox(确定保存记录吗?,系统提示,MB_ICONQUESTION|MB_OKCANCEL);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_DatOutFact

25、oryTime.GetTime(time);sOutFauctryTime=theApp.CTimeToCString(time);m_DatKeepTime.GetTime(time);sKeepTime=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 Int

26、o商品信息表values (%s,%s,%s,%s, %d,%d,#%s#,#%s#),sID,sName,sLetterName,sSpec,nTown,nUnit,sOutFauctryTime,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,N

27、ULL,adCmdText);this-Enabled(false);用户单击【撤销】按钮时,程序进入只读状态,并且显示用户在查询模块双击的记录。void CDWare_Edit:OnBUTUndo() this-Display(this-DisplayNumber);this-Enabled(false);5.4出库管理5.4.1.功能分析出库管理模块主要完成商品出库的操作,在本系统中,采用表格式录入数据,这样便可以实现一张出库单据可出库多种商品。细节方面,具备快捷提示功能,只要通过几个字母,系统便可以找到用户所需要的数据,并且支持自动核算功能。运行结果如图5-6所示。图5-6 出库管理模块

28、图5.4.2 详细设计向项目中添加一个新Dialog资源,资源ID为IDD_DIAOUTPUT。在IDD_DIAOUTPUT对话框资源中单击鼠标右键,执行弹出快捷菜单的“Properties”菜单命令,打开“DialogProperties”对话框。在“DialogProperties”对话框中选择General选项卡,更改其“Caption”文本框内容为“出库管理”;单击【Font】按钮,将Dialog资源字体更改为宋体9号。从Controls面板上向Dialog资源中添加7个Static、3个Edit,4个Button、和1个ListControl,更改资源的属性,并为资源设置相对应的变量。如下表所示。表5-3 资源设置ID Properties Members

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁