【《仓库管理系统设计的系统设计案例》2600字】_第1页
【《仓库管理系统设计的系统设计案例》2600字】_第2页
【《仓库管理系统设计的系统设计案例》2600字】_第3页
【《仓库管理系统设计的系统设计案例》2600字】_第4页
【《仓库管理系统设计的系统设计案例》2600字】_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

仓库管理系统设计的系统设计案例目录TOC\o"1-3"\h\u4724仓库管理系统设计的系统设计案例 1273421.1系统总体设计 1154991.1.1系统目标设计 1203221.1.2开发设计思想 1300511.1.3系统功能分析 2173421.1.4系统功能设计 2173511.1.5系统各模块说明 3158271.2数据库设计 4283921.3系统主窗体设计 553591.1.1创建工程项目—仓库管理子模块 5292421.1.2公共模块设计 5150141.1.3主窗体设计 81.1系统总体设计前面完成需求分析、形成了可行性报告,形成了软件的设计思想之后,下一步设计系统的功能和数据库。1.1.1系统目标设计本软件开发的总体实现目标是仓库管理的规范化、简化工作流程、计算机自动化,从而仓库管理的工作人员的工作效率得到了提高,人力成本降低了,查询方便快捷了。1.1.2开发设计思想仓库管理主要是物料的管理。实现原料验收入库,原料出库、原料的退货、原料的退库、原料的请购单、及各种信息数据报表的查询。根据需要按照品种进行统计分析和查询、按日期进行统计分析和查询,按照品种和日期组合统计分析和查询,产生相应报表查询。仓库管理过程中要处理的信息量非常大,仓库的原料种类繁多,每天发生入库单、出库单、退库、请购单等单据信息量非常大,仓库管理相关联信息多,查询和统计数据量大。给仓库管理实现起来有一定的困难,给数据的查询和汇总增加难度。在管理的过程中经常会出现信息的重复传递。1.1.3系统功能分析本仓库管理模块需要完成的功能主要有以下几点:实现仓库管理各种信息的输入,包括原料代码初始化、原料入库、原料出库、原料还库、采购退货、请购单的输入、查询条件的输入等。实现仓库数据操作过程中各种信息的增加、修改、删除操作。实现仓库管理过程中各种信息的查询、修改及维护,通过输入查询条件进行查询。通过对原料的价格、供货的产品质量、到货及时性进行分析,实现供货渠道最优化采购。原料采购报表的生成。库存管理引进了最高库存和最低库存字段,对仓库的库存情况实现监控和报警,通过现有库存与最高库存和最低库存进行比较来自动生成原料自动请购单。实现物资需求和管理。实现临近保质期物料的监控和报警,通过输入临近的天数来查询指定临近天数的物料的保质期情况。1.1.4系统功能设计通过上面系统的功能分析的基础上,结合仓库管理的功能需求,结合VisualC++开发环境程序编制的特点,得到如图3-1所示的系统功能模块图。仓库管理模块仓库信息模块仓库管理模块仓库信息模块查询模块系统登录模块原料代码管理原料入库管理原料出库管理采购退货管理原料退库管理原料请购单库存报警管理临近保质期管理原料入库列表查询采购退货列表查询原料退库列表查询原料出库列表查询原料出库列表查询现有库存查询供货渠道分析库管理模块仓库信息模块查询模块系统登录模块原料入库管理1.1.51.1.5原料出库管原料请库存报临近保质期管原料入库采购退货列表查询原料退库列表查询原料出库列表查询原料出库列表查现有库存查询图3-1系统功能模块图1.1.5系统各模块说明1、原料代码管理模块包括原料信息的增加、修改、删除。2、仓库信息模块原料的入库和退货管理。原料的出库和退库管理。根据现有库存低于最低库存时,申请采购物资。通过以往的数据的价格、供货质量级别、供货的及时性对供货渠道进行分析。3、查询模块输入起始日期和截止日期,按输入的日期进行查询,既可以查到这一时段内的出入库信息。按原料查询,直接输入原料名进行查询,也可以根据原料名称和日期组合查询。4、系统登录管理1.2数据库设计通过分析实际仓库管理的内容和仓库管理流程,设计的数据项和数据结构如下:原料代码信息:包括的数据项有id、原料的编号、原料的名称、计量单位、最低库存、最高库存原料入库信息:包括的数据项有id、供应商编号、供应商名称、入库日期、原料的编号、入库数量、单价、生产日期、保质期、制表人、质量级别、供货周期等原料出库信息:包括的数据项有id、出库日期、原料的编号、出库数据、生产日期、领料人、制表人等采购退货信息:包括的数据项有id、退货日期、供应商编号、供应商名称、原料编号、退货的数据、单价、生产日期、制表人等原料退库信息:包括的数据项有id、归还时间、归还的原料编号、归还的数量、生产日期、归还人、制表人等原料的自动采购信息:包括的数据项有id、需求的部门、需求原料、需求数量、需求时间、制表人等原料的采购申请信息:包括的数据项有id、需求的部门、需求原料、需求数量、申请日期、需求日期、申请人等模块登录信息:包括id、用户名、密码8、实体和实体之间的关系E-R图如图3-9所示:现有库存现有库存出库入库还库部门需求原料采购最低、最高库存图3-9为实体和实体之间的关系E-R图1.3系统主窗体设计1.1.1创建工程项目—仓库管理子模块打开VisualStudio2010后,单击文件→新建→项目→VisualC++→MFC应用程序→输入项目名→基于对话框,将这个工程项目命名为TEST1。1.1.2公共模块设计使用ADO技术用于连接数据源,并对数据库的数据进行处理一些命令和事务,在使用ADO技术访问数据库之前,必须先创建一个ADO连接对象,然后才能通过该对象打开到数据库的连接,相当于在程序与数据库服务器之间建立一条的通路。为了简化程序的操作,把ADO对象封装到类中。这样做的好处是在程序的不同模块中操作数据库时,只要引用封装类的头文件,即可使用封装过的ADO对象。在使用ADO连接访问数据库时,把连接代码封装成一个类,这样在程序的各个模块中想调用数据库时都可以使用,可以降低代码的重复使用,本实例封装了一个CMyDBWork类,该类的主要功能是完成数据库的连接、数据库的打开和关闭,记录集的打开与关闭操作,CMyDBWork类的头文件如下:classCMyDBWork{public: CMyDBWork(); virtual~CMyDBWork();public: boolBindingRecord(CADORecordBinding*RsObject,char*szSQLStr); boolConnDB(void); //连接数据库 int GetConnStr(char*szConnStr,intnBuffSize); //获得连接数据库的字符串 boolSetConnStr(void); //设置连接数据库的字符串 boolSetConnStr(char*szConnStr); //设置连接数据库的字符串 bool SelectSQL(constchar*szSQL); //执行select语句 boolExecuteSQL(constchar*szSQLStr,long&nRefreshNum);//查询数据的SQL语句 boolOpenDB(void); voidCloseDB(void); //关闭记录集、连接对象 voidCloseRecord(void); };CMyDBWork类中的成员函数ConnDB用于连接数据库,在该函数中调用ADO连接对象//连接SQLServer数据库boolCMyDBWork::ConnDB(void)//{if(strlen(m_szConnStr)<5) if(!SetConnStr()){AfxMessageBox(L"数据库连接子串设置错误");returnfalse;} boolbResult=false; if(NULL==m_pConn||adStateClosed==m_pConn->State){ if(strlen(m_szConnStr)>0){try {//Connecting if(!FAILED(m_pConn.CreateInstance(_uuidof(Connection)))){//设置连接超时时间 m_pConn->CommandTimeout=30; //insecondsif(!FAILED(m_pConn->Open((_bstr_t)(m_szConnStr),"","",adModeUnknown))) { bResult=true; //AfxMessageBox(L"打开数据成功"); } } } catch(_com_errore){ charszLog[MAX_BUFF];memset(szLog,0,MAX_BUFF); sprintf_s(szLog,"连接数据库错误:%s\n",(char*)(e.Description())); m_WriteLog.WriteLog(szLog,strlen(szLog),LOG_ERR); }} } returnbResult;}//执行select语句boolCMyDBWork::SelectSQL(constchar*szSQL){ boolbResult=false; if(strlen(szSQL)>0&&strlen(m_szConnStr)>0){ if(NULL!=m_pRecord/*||adStateClosed!=m_pRecord->State*/) m_pRecord->Close(); try { if(!FAILED(m_pRecord.CreateInstance(__uuidof(Recordset)))){ HRESULThr=0; if(NULL==m_pConn||adStateClosed==m_pConn->State) hr=m_pRecord->Open((_bstr_t)szSQL,_variant_t(m_szConnStr),adOpenKeyset,adLockOptimistic,adCmdText); else hr=m_pRecord->Open((_bstr_t)szSQL,m_pConn.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText); if(SUCCEEDED(hr)) bResult=true; } } catch(_com_errore) { charszLog[MAX_BUFF];memset(szLog,0,MAX_BUFF); sprintf_s(szLog,"执行SQL查询命令错误:%s[%s]",(char*)(e.Description()),szSQL); m_WriteLog.WriteLog(szLog,strlen(szLog),LOG_ERR); } } returnbResult;}1.1.3主窗体设计仓库管理子模块的主窗体效果如图3-10所示:图3-10为仓库管理子模块的主窗体效果主窗体设计步骤如下:启动VisualStudio2010,单击文件→新建→项目→VisualC++→MFC应用程序→输入项目名→基于对话框,将这个工程项目命名为TEST1;单击确定按钮进入MFC应用程序,选中“基

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论