仓库物资进出领用管理系统_第1页
仓库物资进出领用管理系统_第2页
仓库物资进出领用管理系统_第3页
仓库物资进出领用管理系统_第4页
仓库物资进出领用管理系统_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

{仓库规范管理}仓库物资进出领用管理系统诚信承诺何知识产权纠纷,本人将承担一切责任。学生签名:日期:仓储物资进出领用管理系统摘要完整的仓库资产领用归还系统,可以满足大多数中小型企业或者仓库管理的要求。次设计是以VisualC++及Access数据库平台为基础开发成的一个非常典型的MIS(信现。设计的仓储资产管理系统,可以满足,管理员,仓库操作员,员工三方不同的需求。关键词:仓储;物资;管理系统WAREHOUSEMANAGEMENTSYSTEMAbstractWarehousingandassetmanagementforapany'ssupplychainisavitalpart,ifnotcorrectandeffectivewarehousemanagementlogic,itispronetomultiplerecipientsemployees,recipientsandevenbogusrecipientsandotherlessseriousincidents,bringsalotofunnecessarytroubleforthedailyoperationofpaniesnowusealotofmanuallabormanagementsolutions,therearemanyproblemsinallotherrespectsandcostcontrol.Thissoftwareistosolvethesesortsofproblemsfortheproduction,registrationandoutoffocusstockassets,recipientsreturntheregistrationofexistingproblems,undertheauthorityofmanagers,requisitionedauthoritystaffandpeopleoutsidethepany'spermission,reasonablethepermissionsassignedtodifferentsoftwareandassetrequisitionedpermission.Therefore,thepanyhopestohavetohaveeffective,efficientwarehousemanagementsoftware,whichcanimprovetheefficiencyoftheusual,reducingtimecosts,andlaborcosts.Inthispaper,amethodforgeneralworkingstorageassetmanagementandworkflow,designedapletewarehouseassetsrequisitionedreturnsystemtomeetthemajorityofsmallandmediumenterprisesorwarehousemanagementrequirements.SeconddesignisbasedonVisualC++andAccess-baseddatabaseplatformtodevelopintoaverytypicalMIS(managementinformationsystem).Inthispaper,apleteaccountofthissoftwareanalysis,softwaredesign,codeimplementationoftheentireprocess,includingtheneedforfunctionalanalysis,functionalanalysismodule,analysisandimplementationofdatabasetypepattern,andfinallyachievethesystemcode.Warehousingandassetmanagementsystemdesignedtomeettheadministrator,warehouseoperators,employees’tripartitedifferentneeds.Keywords:Warehousing;Supplies;ManagementSystem目录摘要IABSTRACTII第一章绪论11.1开发背景11.1.1选题背景11.1.2选题意义11.2仓库管理的发展概况1第二章系统解决方案22.1设计方案的论证22.1.1设计方案的选择22.1.2设计工具的选择32.1.3前台开发技术的选择32.1.4后台数据库的选择42.2设计方案的说明42.2.1设计意义42.2.2系统总体描述42.2.3系统角色类型42.2.4系统规划52.2.5预期目的62.2.6技术要求6第三章系统详细设计73.1系统模块架构73.2系统功能说明83.2.1系统登陆模块83.2.2员工管理模块93.2.3资产管理模块133.2.4资产领用归还模块173.2.5管理员设置模块213.2.6系统查询模块233.3数据表243.3.1数据库的理论基础243.3.2系统E-R图253.3.3数据表25第四章系统各模块功能实现274.1实现功能的基础部分274.2登陆功能界面274.2.1重点难点及解决方案284.3员工信息登记模块294.4资产信息登记模块324.4.1重点难点及解决方案344.5资产领用模块354.6资产归还模块384.6.1重点难点及解决方案40第五章系统功能测试415.1测试概述415.2测试目的415.3测试过程及结果415.3.1测试用例415.3.2测试结论42第六章用户操作说明436.1软硬件环境436.2应用系统安装436.3操作方法43第七章结束语44致谢45参考文献(REFERENCE)46附录47第一章绪论1.1开发背景1.1.1选题背景的书籍或填写表格等脱颖而出,从而既费时又繁琐的注册,查询或修改不方便等诸多缺点,有时因为字迹模糊或不正确的登记,造成不必要的麻烦,浪费资源,如人力资源和时间。1.1.2选题意义时也需要及时,准确,快速地满足客户对物流服务的需求。1.2仓库管理的发展概况式被深深地烙上了“计划标记,以生产物料计划制定一个粗略指标,只有少数指定供应商计划,采购,使用,储备等管理环节后,取得了很大的进展和成果。ERP制,预测和决策支持功能。求,防止国有资产流失。第二章系统解决方案2.1设计方案的论证2.1.1设计方案的选择方案一:使用B/S架构建模B/S,是指“Browser/Server”(浏览器/服务器)应用模式,是过去一直使用的C/S(Client/Server)架构的发展,利用该模型设计的应用程序,不需要在用户的计算机上进简单,方便,而且这种应用架构的优势。其工作原理是在使用IE浏览器,火狐,Chrome和其他浏览器将运行用户提交的信息发出一个HTTP请求来改变,通过ASP和一些中间组件的Web服务器访问后端数据库到Web服务器的前面,经营业绩在HTML页面返回到前端浏览器。如图:图2.1B/S工作流程图但在发展水平方面,B/S架构在技术上还不是很成熟。方案二:使用C/S架构建模这里所说的C/S架构,是“Client/Server(客户机/服务器)”应用模式。请求另一计算机为之服务的计算机称为客户机(Client电脑化资料库被称为服务器(server;计算称为后端处理在服务器上执行,它是一个设备的资源管理数据和执行数据库引擎功能(如存储,操作和数据保护)的电脑。客户机/服务器的处理分布到工作站和服务器的处理可以仅涉及该处理接口,从而降低了工作的处理负担。工作流程图如下:图2.2C/S工作流程图两层客户/B/S命令数据结构最大的优点。方案的比较与选取(C/S/服务器,是非常受欢迎的当前数据库的应用,特别是在网络技术的全面是常见的电脑任务是由客户端和服务器端完成,这将有利于充分合理地利用系统源。而我们通常称为浏览器/服务器(B/S)C/S结构,使用浏览器作为系统的前端,以实现我们的理想客户机的基本思想。但是,系统并没有真正努力减少,但将努力在客户端的一部分的服务器来完成交货。考虑到技术问题的风险,系统2.1.2设计工具的选择命令数据选择设计工具系统的发展是非常供了友好的人机界面的能力,同时服务器数据库来可以很容易维护,改善和扩大。2.1.3前台开发技术的选择VisualC++是一个功能强大的可视化软件开发工具。自1993年该公司推出的MicrosoftVisualC++1.0VisualC++已经成为首选的专业程序员进行软VisualC++6.0不仅是一个C++Windows操作系统的可视化集成开发环境(集成开发环境,IDEVisualC++6.0由许多组件,包括一个组成部分叫做开发Studio集成开发环境。2.1.4后台数据库的选择现有大量现有数据库的SQLServer,Oracle和小型FoxPro和系统使用的MicrosoftAccessAccess可以使用数据表示图或自定义表单来收集信息。数据显示提供了如ExcelAccess允许您将数据库中AccessAccess作为关系的关系型数据库,而对于小的数据交换是非常容易使用。2.2设计方案的说明2.2.1设计意义的收件人进行快速查询;准确,便捷的资产管理需求。2.2.2系统总体描述该系统是一个典型的信息管理系统(MIS的资产信息,员工信息,以及信息接收者;与该系统的用户也可以查询以供参考。个设计秩序的形式设计和操作。2.2.3系统角色类型该系统共有两类用户,他们是:管理员和员工图2.3用户类别总图图2.4员工权限用例图的信息;修改各人员的权限以及登陆密码等。示意图如下:管理员图2.5管理员权限用例图2.2.4系统规划资产管理体系中的地位的必要性和可行性。产管理数据库就能满足存储需求,并且易于实现。资产管理系统可以通过用户权限征用和实现不同的功能分为两部分:检验人员的维护,但资产管理可以实现所有的管理功能,而雇员访问数据库,其中一些被阻塞的功能。下面列出了主要的功能规划系统:针对不同权限的用户设计不同的操作功能对所有用户开放的资产查询、员工查询以及领用查询根据领用情况对数据库进行操作根据归还情况对数据库进行操作维护员工、资产以及管理员信息2.2.5预期目的通过详细又快捷的查询、添加、删除和修改方式,提高仓库资产管理的工作效率达到全面高效的提高仓库的管理水平、降低人力资源消耗、提高工作效率的目的。2.2.6技术要求数据库满足设计要求数据库冗余度小,精简数据库绘制数据库各数据表之间的关系图建立数据库访问接口类,实现对数据库的访问完成功能模块中的一个较小的功能,以测试数据库接口的正确性第三章系统详细设计3.1系统模块架构系统整体架构图如下:图3.1系统模块架构图3.2系统功能说明3.2.1系统登陆模块开始系统登陆手动输入N判断用户名和密码是Y登陆到主界面图3.2系统登陆流程图(1)功能说明应权限的操作。(2)功能特性(3)输入、输出格式输入:系统登陆信息表用户名密码输出:判断是否可以进入系统3.2.2员工管理模块员工设置功能模块图3.3员工权限流程图(1)功能说明权限的员工,其能领用的数目有所不同。员工类型设置模块主要包括:添加员工类型模块修改员工类型模块删除员工类型模块(2)功能特性员工类型设置模块主要是用于设置不同权限用户的领用数量。(3)输入、输出格式输入:员工类型设置基本信息类型名称可领用数量输出:显示员工类型表单(4)前提条件用户必须是管理员权限的用户在能进行相应的增删改操作。结束员工档案管理功能模块开始添加员工手动输入删除员工手动输入手动输入Y是否存在是否存在是否存在NNN

Y是否删除修改信息

是否添加NY是否修改Y删除成功N添加成功Y修改成功图3.4员工档案管理流程图(1)功能说明以与工作人员联系,方便管理人员。员工档案管理模块主要包括:添加员工的基本信息修改员工的基本信息删除员工的基本信息(2)功能特性员工档案管理模块的主要功能是管理员工的基本信息。(3)输入、输出格式输入:员工档案基本信息编号,姓名,性别登记日期所在部门联系电话地址备注说明输出:显示员工档案基本信息表(4)前提条件用户必须是管理员权限的用户在能进行相应的增删改操作。3.2.3资产管理模块资产类型设置功能模块图3.5资产类别设置流程图(1)功能说明产领用一套合理的实际资产领用流程提供了更合理和灵活的解决方案。资产类型设置模块主要包括:添加资产类型修改资产类型删除资产类型(2)功能特性过程的效率。科学有效的资产分类,从而更有效地执行整个资产管理过程。(3)输入、输出格式输入:资产类别信息表资产编号资产类型名称输出:资产类型信息表(4)前提条件用户必须是管理员权限的用户在能进行相应的增删改操作。资产档案管理功能模块开始添加资产手动输入删除资产手动输入手动输入Y是否存在是否存在是否存在NNN

Y是否删除修改信息

是否添加NY是否修改Y删除成功N添加成功Y修改成功图3.6资产信息管理流程图(1)功能说明目的,以确保受助人资产的顺利进行。(2)功能特性是确保整个仓库资产管理系统资产和库存可视性信息透明度。(3)输入、输出格式输入:资产编号资产名称资产类别生产厂家供应商备注能否领用库存数量可领用天数输出:资产管理表(4)前提条件用户必须是管理员权限的用户在能进行相应的增删改操作。3.2.4资产领用归还模块资产领用功能模块图3.6资产领用流程图(1)功能说明还?完成领用后什么时间应该归还等等。(2)功能特性该模块的主要是功能是完成员工对资产的领用,并且该模块操作方便,界面人性化。(3)输入、输出格式输入:资产编码员工编码输出:显示领用操作已经成功!(4)前提条件用户必须是管理员权限的用户在能进行相应的增删改操作。资产归还功能模块开始归还资产输入编号N判断员工是输入权限Y显示员工检索员工信息显示资产判断资产是YN判断资产是YN归还资产结束图3.7资产归还流程图(1)功能说明本模块是建立在资产领用模块基础上的,主要用于完成员工对资产的归还[8],其中涉可归还资产。(2)功能特性完成员工对资产的归还。(3)输入、输出格式输入:资产编码输出:员工姓名领用日期资产归还信息超期天数(4)前提条件用户必须是管理员权限的用户在能进行相应的增删改操作。3.2.5管理员设置模块管理员信息管理模块图3.10管理员档案管理流程图(1)功能说明员人员的变迁十分的频繁,因此管理员的档案变动就很大,因此就非常需要这样一个模块,来对管理员的档案进行有效的管理。管理员档案管理模块主要包括:添加管理员信息修改管理员信息删除管理员信息(2)功能特性(3)输入、输出格式输入:管理员档案基本信息管理员条码管理员姓名输出:显示管理员档案表(4)前提条件用户必须是管理员权限的用户在能进行相应的增删改操作。3.2.6系统查询模块息的查询。查询资产基本信息模块输入查询条件信息是否存在N

Y图2.11资产信息查询流程图(1)功能说明顺利进行的目的。(2)功能特性进行。它的精髓和目的是保证整个资产管理系统中基本信息对员工的透明度和库存可见性。主要体现在:员工可以随时对仓库中相关情况进行查询,以方便员工的领用。(3)输入、输出格式输入:员工ID输出:仓库管理信息表(4)前提条件所以用户都可以使用该模块。3.3数据表3.3.1数据库的理论基础管理系统的数据库设计包括5负载测试。(1DFD图,并完成数据字典。(2DFD与关系的纲要表。(3E-R图与对应的纲要表出发,确定各个实体及关系的表名属性。(4将所有的表名与字段名英文化(现在很多软件能支持中文字段,如MSSQLServer,我就是用(5均可视为对数据库的加载测试工作。原则:基本表的个数越少越好主键的个数越少越好字段的个数越少越好所有基本表的设计均应尽量符合第三范式重点考虑的问题。3.3.2系统E-R图图3.1系统E-R图3.3.3数据表1.资产分类信息表如下:表3.1资产分类信息表序名称数据类型关键字号求1资产编码char8Y2生产厂家char103资产名称char204供应商char206生产日期datetime82.员工领用(归还)记录表如下:表3.2员工领用(归还)记录表序名称数据类型长度、精度要是否为关号求键字1员工条码int8Y2归还日期char103应还日期char104超出天数int105员工姓名char103.缴纳补款记录表如下:表3.3缴纳补款记录表序名称数据类型长度、精度要是否为关号求键字1员工条码int8Y2员工姓名char203超期天数int104应还日期datetime105归还日期datetime104.员工信息表如下:表3.4员工信息表序名称数据类型长度、精度要是否为关号求键字1员工编码int8Y2员工姓名char203身份证号int505.用户信息表如下:表3.5用户信息表图序名称数据类型长度、精度要唯一性要号求求1用户名char202用户编码int10Y3身份证号int504密码char205用户类型char10第四章系统各模块功能实现4.1实现功能的基础部分此次的功能设计,采用MicrosoftAccess数据库,操作简便,无需安装SQL。4.2登陆功能界面图4.1登陆功能界面演示编码明细:登录界面及功能核心代码:voidCLoginDlg::OnOk()//实现登陆键功能{CUserSetrecordset;CStringstrSQL;UpdateData(TRUE);//m_(m_strUser);m_(m_strPass);{////////////////////此处为用户名密码为空的验证机制,即本节重点BUG}//CLibraryApp*ptheApp=(CLibraryApp*)AfxGetApp();("select*fromAdminwhereuser='%s'ANDpasswd='%s'",m_strUser,m_strPass);//核对账号密码if(!(AFX_DB_USE_DEFAULT_TYPE,strSQL))//打开数据库{MessageBox("打开数据库失败!","数据库错误",MB_OK);}CLibraryApp*ptheApp=(CLibraryApp*)AfxGetApp();if(()==1){();MessageBox("密码错误,请重新输入!");m_strPass="";m_();UpdateData(FALSE);}else{//MessageBox("登陆成功!");();ptheApp->m_bIsAdmin=1;CDialog::OnOK();}4.2.1重点难点及解决方案BUG:用户名密码验证程序错误在代码设计最初,没有设定用户名及密码为空时的检测机制,当输入正确用户名密码时候,可以登录,输错则无法登陆。此处有一个BUG,是在后期测试中发现的,用户名及密码都为Course用户名和密码的组合,所以能够成功登陆。Solution:在验证机制中,添加如下代码:if(m_()){AfxMessageBox("请输入用户名!");m_();return;}//检查密码是否输入if(m_()){AfxMessageBox("请输入密码!");m_();return;}用户名和密码为空时,能够正常登陆的BUG,借此也能够提升软件安全系数,在添加用户和管理员时,用户名和密码必须设定,否则不能正常登陆。4.3员工信息登记模块图4.2员工信息登记模块界面演示操作说明:其他信息。定按钮提交时会有相对应的错误提示。若编号相同也有对应提示更改选项。按下确定按钮确认提交,弹出对话框,可选项继续登记下一员工或者取消。编码明细:实现登记功能的核心代码:voidCReaderNewDlg::OnOK(){//TODO:AddextravalidationhereUpdateData();//检查输入数据if(m_()){AfxMessageBox("请输入员工编号!");return;}if(m_()){AfxMessageBox("请输入员工姓名!");return;}if(m_()){AfxMessageBox("请输入员工类别!");return;}//保存员工信息到数据库中CStringstrSQL;("select*fromReaderInfowherecode='%s'",m_strCode);CReaderInfoSetrs;if(!(AFX_DB_USE_DEFAULT_TYPE,strSQL)){MessageBox("打开数据库失败!","数据库错误",MB_OK);return;}if(()!=0){();AfxMessageBox("该编号已经存在,请重新输入!");return;}();if(!(AFX_DB_USE_DEFAULT_TYPE)){MessageBox("打开数据库失败!","数据库错误",MB_OK);return;}//添加员工记录();rs.m_address=m_strAddress;rs.m_brief=m_strBrief;rs.m_code=m_strCode;rs.m_dept=m_strDept;rs.m_name=m_strName;rs.m_phone=m_strPhone;rs.m_reg_date=m_tmDate;rs.m_sex=m_strSex;rs.m_type=m_strType;();();//清空列表m_strSex=_T("");m_strType=_T("");m_tmDate=CTime::GetCurrentTime();;m_strAddress=_T("");m_strBrief=_T("");m_strCode=_T("");m_strDept=_T("");m_strName=_T("");m_strPhone=_T("");UpdateData(FALSE);if(IDOK==AfxMessageBox("员工登记成功!是否登记下一个员工?",MB_OKCANCEL))return;CDialog::OnOK();}4.4资产信息登记模块图4.4资产信息登记模块界面演示操作说明:用户直接查看。删除某一资产,直接在列表里选中相应项目,点击删除即可。编码明细:实现登记功能的核心代码:BOOLCNewBookDlg::OnInitDialog(){CDialog::OnInitDialog();//设置列表m_(0,"资产编号");m_(1,"资产名称");m_(2,"资产类别");m_(3,"供应商");m_(4,"生产商");m_(5,"资产价格");m_(6,"登记日期");m_(7,"备注说明");m_(0,60);m_(1,120);m_(2,80);m_(3,80);m_(4,80);m_(5,80);m_(6,80);m_(7,80);m_(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);//初始化资产类型CBookTypeSetrecordset;}voidCNewBookDlg::OnButtonNew(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData();if(m_()){AfxMessageBox("请输入资产编号!");return;}if(m_()){AfxMessageBox("请输入资产类型!");return;}if(m_()){AfxMessageBox("请输入资产名称!");return;}//添加资产记录m_();m_recordset.m_code=m_strBookCode;m_recordset.m_name=m_strBookName;m_recordset.m_type=m_strBookType;m_recordset.m_in_date=current;m_recordset.m_price=m_strPrice;m_recordset.m_press=m_strPress;m_recordset.m_writer=m_strWriter;m_recordset.m_brief=m_strBrief;m_recordset.m_isBorrow=FALSE;m_();m_();{/////////////////此处文本节问题解决方案代码—自动更新列表}}4.4.1重点难点及解决方案问题研究:在输入完毕资产信息后,点击“登记按钮,资产确实在数据库中有记录,但是矿口中的资产列表里面并没有显示,如要显示最新添加的资产记录,则需要点击显示全部,才能重新刷新列表,甚是繁琐。解决方案:在点击登记按钮(ButtonNew新列表代码:{CStringstrTime;m_(0,m_strBookCode);m_(0,1,m_strBookName);m_(0,2,m_strBookType);m_(0,3,m_strWriter);m_(0,4,m_strPress);m_(0,5,m_strPrice);("%d-%d-%d",(),(),());m_(0,6,strTime);m_(0,7,m_strBrief);}4.5资产领用模块图4.3资产领用模块界面演示操作说明:信息与资产信息会自动显示,点击领用,下面列表里会生成该用户已领用的资产。编码明细:voidCBorrowDlg::OnChangeEditBookCode(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData();//获取资产基本信息CBookInfoSetrs_book;CStringstrSQL;("select*fromBookInfowherecode='%s'",m_strBookCode);if(!rs_(AFX_DB_USE_DEFAULT_TYPE,strSQL)){MessageBox("打开数据库失败!","数据库错误",MB_OK);return;}if(rs_()==0){rs_();return;}if(rs_book.m_isBorrow){AfxMessageBox("此资产已借出!");rs_();return;}m_strBookName=rs_book.m_name;m_strBookType=rs_book.m_type;m_strBookPrice=rs_book.m_price;rs_();//根据资产类型获取资产可领用天数CBookTypeSetrs_bookType;("select*fromBookTypewheretype='%s'",m_strBookType);if(!rs_(AFX_DB_USE_DEFAULT_TYPE,strSQL)){MessageBox("打开数据库失败!","数据库错误",MB_OK);return;}if(rs_()==0){rs_();return;}m_nDays=rs_bookType.m_number;rs_();m_bBookEnable=TRUE;UpdateData(FALSE);}voidCBorrowDlg::OnOK(){//判断员工是否具有领用资格,以及资产是否可以被领用if(!m_bReaderEnable|!m_bBookEnable)return;CLibraryApp*ptheApp=(CLibraryApp*)AfxGetApp();//修改资产库存信息CBookInfoSetrs_book;CStringstrSQL;("select*fromBookInfowherecode='%s'",m_strBookCode);if(rs_()==0){rs_();return;}rs_();rs_book.m_isBorrow=TRUE;rs_book.m_reader_code=m_strReaderCode;rs_();rs_();//添加领用记录m_();m_recordset.m_book_code=m_strBookCode;m_recordset.m_book_name=m_strBookName;m_recordset.m_book_type=m_strBookType;m_recordset.m_borrow_date=CTime::GetCurrentTime();//m_recordset.m_operator=ptheApp->m_strOperator;m_recordset.m_price=m_strBookPrice;m_recordset.m_reader_code=m_strReaderCode;m_recordset.m_reader_name=m_strReaderName;m_recordset.m_return_date=CTime::GetCurrentTime()+m_nDays*24*3600;m_recordset.m_isReturn=FALSE;m_();m_();}4.6资产归还模块图4.4资产归还界面演示操作说明:输入资产编号,以下所有资产信息将会自动显示点击归还按钮即可实行归还操作。编码明细:实现归还资产功能代码如下:voidCReturnDlg::OnButtonReturn(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData();CLibraryApp*ptheApp=(CLibraryApp*)AfxGetApp();//修改资产库存信息CBookInfoSetrs_book;CStringstrSQL;("select*fromBookInfowherecode='%s'",m_strBookCode);if(!rs_(AFX_DB_USE_DEFAULT_TYPE,strSQL)){MessageBox("打开数据库失败!","数据库错误",MB_OK);return;}if(rs_()==0){rs_();return;}rs_();rs_book.m_isBorrow=FALSE;rs_book.m_reader_code=_T("");rs_();rs_();//修改领用信息("select*fromBorrowInfowherebook_code='%s'andisReturn=False",m_strBookCode);if(!m_(AFX_DB_USE_DEFAULT_TYPE,strSQL)){AfxMessageBox("打开数据库失败!");return;}{//////////////////////////////////////此处文本节重点--判断是否已经领用}m_();//保存归还资产信息到数据库中if(!m_(AFX_DB_USE_DEFAULT_TYPE)){AfxMessageBox("打开数据库失败!");m_(FALSE);return;}charbuffer[20];m_();m_ReturnSet.m_book_code=m_strBookCode;m_ReturnSet.m_book_name=m_strBookName;m_ReturnSet.m_book_type=m_strBookType;m_ReturnSet.m_borrow_date=m_tmBorrow;//m_ReturnSet.m_operator=ptheApp->m_strOperator;gcvt(m_fOther,7,buffer);m_ReturnSet.m_other=buffer;m_ReturnSet.m_price=m_strPrice;gcvt(m_fPunish,7,buffer);m_ReturnSet.m_punish=buffer;m_ReturnSet.m_reader_code=m_strReaderCode;m_ReturnSet.m_reader_name=m_strReaderName;m_ReturnSet.m_return_date=CTime::GetCurrentTime();gcvt(m_fTotal,7,buffer);m_ReturnSet.m_total=buffer;m_();m_();AfxMessageBox("资产归还成功!",MB_ICONINFORMATION);//恢复到初始状态OnButtonClear();}4.6.1重点难点及解决方案BUG:测试过程中发现可以“重复”归还未领用的资产,但是实际上未领用的资产属性并未改动,状态依然是未领用。Course:在登记归还资产之前,没有做所归还的资产信息校验。Solution:在登记归还按钮功能模块里,添加资产信息校验代码:if(m_()!=0){m_();m_BorrowSet.m_isReturn=TRUE;m_();}在添加以上代码以后,运行归还功能时候,会校验资产是否为“在库(即未领用或已第五章系统功能测试5.1测试概述的测试结果栏。5.2测试目的测试的重点是对各项功能的正常运转进行全面测试,检测软件的各子系统的协作能力。具体目的如下:确保系统达到需求功能的说明;确保系统满足性能需求;强度测试确认程序能够处理要求的负载;确保系统在要求的硬件和软件平台上工作正常。5.3测试过程及结果5.3.1测试用例本项目所做的测试列表如下:测试单元:资产信息管理单元测试类型:功能测试测试日期:20142表5.1资产管理测试用例表编号测试说明期望结果实际结果成功/失败1测试新资产新资产信息数据库中可成功信息添加是成功写入数以找到新添否成功据库加记录。2测试资产信将重新输入修改资产信成功息修改数据录入到息成功数据库中测试单元:领用资产单元测试类型:功能测试测试日期:20142表5.2资产领用管理测试用例表编号测试说明期望结果实际结果成功/失败1测试员工是能够领用成在数据库中成功否可以进行有员工领用第一次领用中显示领用记录信息测试单元:查询员工信息单元测试类型:功能测试测试日期:20142表5.3查询管理测试用例表编号测试说明期望结果实际结果成功/失败1测试员工的根据不同的显示查询结成功各项信息是查询信息对果否可以进行员工进行查查询询2测试多项的根据不同的显示查询结成功查询条件是查询条件对果否能进行查员工信息进询行查询5.3.2测试结论根据上面的测试,该系统各功能模块均能正常使用,此次设计完成。第六章用户操作说明6.1软硬件环境硬件配置:586以上档次的计算机,彩色显示器,内存>128M,硬盘>10G。软件配置:Windows98/XP操作系统,VisualBasic6.0数据库管理系统。6.2应用系统安装使用安装盘:本应用系统经过VisualC++6.0提供的安装向导生成安装软盘,使用时只须在Windows环境下直接安装即可。6.3操作方法1.直接启动应用系统2.运行程序即可3.主界面上有四个主菜单,而每一个主菜单上又有几个子菜单,用户可以跟据自己的要求点击上面的子菜单,进行相应的操作。第七章结束语本设计是一个面向仓库资产领用归还管理的,具有一定实用性的数据库信息管理系统。管理。本系统采用当前流行的面向对象的开发工具VisualC++以及数据库工具Access来完成整个系统的设计。VisualC++理解VisualC++的强大功能,而且还存在着许多不足之处。如:VC其数据库方面的优势。添加功能尚不够全面完善,不能动态生成员工编码和资产编码。完善。制的VisualC++致谢的无微不至的关怀和帮助。老师在课题阶段给予的指导,感谢和我同在一个课题组的同学,感谢他们在毕业设计期间对我的帮助,经常和他们一起讨论问题使我受益匪浅。没有他们,我不可能顺利完成设计和论文,感谢所有帮助过我的人。最后,谨向百忙之中审阅论文和参加答辩的每位老师表示由衷的谢意!参考文献(Reference)[1]XingCX,ZengC,LiC,ZhouLZ.Astudyonarchitectureofmassiveinformationmanagementfordigitallibrary.[J]JournalofSoftware,2004[2]LiuXM,BrodyT,HarnadS,CarrL,MalyK,ZubairM,NelsonM.Ascalablearchitectureforharvest-baseddigitallibraries:TheODU/Southamptonexperiments.D-LibMagazine,[J],2002,8(11).[3]WENJi-Rong2,LUANJin-Feng1,MAWei-Ying2,DONGYi-Sheng.AMethodtoQueryDocumentDatabasebyContentandStructureJournalofSoftware[J],软件学报2003[4]孟小峰,周龙骧,王珊.数据库技术发展趋势,[J],软件学报,2004[5]魏志强,王忠华,何敏等.[M],中国铁道出版社2000[6]BaldonadoM,ChangCK,GravanoL,PaepckeA.TheStanforddigitallibrarymetadataarchitecture.[M].InternationalJournalonDigitalLibraries,1997[7]XingCX,WuKH,LuoDY,ZhouLZ,LiuGL,QinYG.THADL:AdigitallibraryforChineseancientarchitecturestudy.In:Proc.ofthe12thInt'l.Conf.onNewInformationTechnology.[M].Beijing:TsinghuaUniversityPress,2001[8]张春林,马成勇,刘均.《数据库系统设计与开发》[M].清华大学出版社,2005[9]清华天则工作室编著.《编程技巧及故障排除即时通(VC篇)》[M].兵器工业出版社[10]梁普选.《VisualC++程序设计与实践》[M].清华大学出版社.2006[11]张瑞丰.《C++语言程序设计》[M],清华大学出版社,2006附录1.登陆窗口代码CLoginDlg::CLoginDlg(CWnd*pParent/*=NULL*/):CDialog(CLoginDlg::IDD,pParent){//{{AFX_DATA_INIT(CLoginDlg)m_strUser=_T("");m_strPass=_T("");//}}AFX_DATA_INIT}voidCLoginDlg::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CLoginDlg)DDX_Control(pDX,IDC_EDIT1,m_ctrPass);DDX_Control(pDX,IDC_COMBO1,m_ctrUser);DDX_CBString(pDX,IDC_COMBO1,m_strUser);DDX_Text(pDX,IDC_EDIT1,m_strPass);//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CLoginDlg,CDialog)//{{AFX_MSG_MAP(CLoginDlg)ON_BN_CLICKED(IDC_OK,OnOk)ON_BN_CLICKED(IDC_CANCEL,OnCancel)//}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////////CLoginDlgmessagehandlersBOOLCLoginDlg::OnInitDialog(){CDialog::OnInitDialog();CUserSetrecordset;CStringstrSQL;UpdateData(TRUE);strSQL="select*fromAdmin";if(!(AFX_DB_USE_DEFAULT_TYPE,strSQL)){MessageBox("打开数据库失败!","数据库错误",MB_OK);returnFALSE;}while(!()){m_(recordset.m_user);();}();returnTRUE;//returnTRUEunlessyousetthefocustoacontrol//EXCEPTION:OCXPropertyPagesshouldreturnFALSE}voidCLoginDlg::OnOk(){//TODO:Addyourcontrolnotificationhandlercodehere//TODO:AddextravalidationhereCUserSetrecordset;CStringstrSQL;UpdateData(TRUE);//m_(m_strUser);m_(m_strPass);if(m_()){AfxMessageBox("请输入用户名!");m_();return;}//检查密码是否输入if(m_()){AfxMessageBox("请输入密码!");m_();return;}//CLibraryApp*ptheApp=(CLibraryApp*)AfxGetApp();("select*fromAdminwhereuser='%s'ANDpasswd='%s'",m_strUser,m_strPass);//核对账号密码if(!(AFX_DB_USE_DEFAULT_TYPE,strSQL))//打开数据库{MessageBox("打开数据库失败!","数据库错误",MB_OK);}CLibraryApp*ptheApp=(CLibraryApp*)AfxGetApp();if(()==1){();MessageBox("密码错误,请重新输入!");m_strPass="";m_();UpdateData(FALSE);}else{//MessageBox("登陆成功!");();ptheApp->m_bIsAdmin=1;CDialog::OnOK();}}2.资产登记模块代码CNewBookDlg::CNewBookDlg(CWnd*pParent/*=NULL*/):CDialog(CNewBookDlg::IDD,pParent){//{{AFX_DATA_INIT(CNewBookDlg)m_strBookType=_T("");m_strBookCode=_T("");m_strBookName=_T("");m_strPrice=_T("");m_strPress=_T("");m_strWriter=_T("");m_strBrief=_T("");//}}AFX_DATA_INIT}voidCNewBookDlg::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CNewBookDlg)DDX_Control(pDX,IDC_COMBO_BOOKTYPE,m_ctrBookType);DDX_Control(pDX,IDC_LIST1,m_ctrList);DDX_CBString(pDX,IDC_COMBO_BOOKTYPE,m_strBookType);DDX_Text(pDX,IDC_EDIT_BOOK_CODE,m_strBookCode);DDX_Text(pDX,IDC_EDIT_BOOK_NAME,m_strBookName);DDX_Text(pDX,IDC_EDIT_BOOK_PRICE,m_strPrice);DDX_Text(pDX,IDC_EDIT_PRESS,m_strPress);DDX_Text(pDX,IDC_EDIT_WRITER,m_strWriter);DDX_Text(pDX,IDC_EDIT_BRIEF,m_strBrief);//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CNewBookDlg,CDialog)//{{AFX_MSG_MAP(CNewBookDlg)ON_BN_CLICKED(IDC_BUTTON_NEW,OnButtonNew)ON_BN_CLICKED(IDC_BUTTON_ALL,OnButtonAll)ON_BN_CLICKED(IDC_BUTTON_DELETE1,OnButtonDelete)ON_NOTIFY(NM_CLICK,IDC_LIST1,OnClickList1)//}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////////CNewBookDlgmessagehandlersBOOLCNewBookDlg::OnInitDialog(){CDialog::OnInitDialog();//设置列表m_(0,"资产编号");m_(1,"资产名称");m_(2,"资产类别");m_(3,"供应商");m_(4,"生产商");m_(5,"资产价格");m_(6,"登记日期");m_(7,"备注说明");m_(0,60);m_(1,120);m_(2,80);m_(3,80);m_(4,80);m_(5,80);m_(6,80);m_(7,80);m_(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);//初始化资产类型CBookTypeSetrecordset;if(!(AFX_DB_USE_DEFAULT_TYPE,"select*fromBookType")){MessageBox("打开数据库失败!","数据库错误",MB_OK);returnFALSE;}while(!()){m_(recordset.m_type);();}();returnTRUE;//returnTRUEunlessyousetthefocustoacontrol//EXCEPTION:OCXPropertyPagesshouldreturnFALSE}voidCNewBookDlg::OnButtonNew(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData();if(m_()){AfxMessageBox("请输入资产编号!");return;}if(m_()){AfxMessageBox("请输入资产类型!");return;}if(m_()){AfxMessageBox("请输入资产名称!");return;}CStringstrSQL;CTimecurrent=CTime::GetCurrentTime();("select*fromBookInfowherecode='%s'",m_strBookCode);if(!m_(AFX_DB_

温馨提示

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

最新文档

评论

0/150

提交评论