资产设备管理系统课程设计_第1页
资产设备管理系统课程设计_第2页
资产设备管理系统课程设计_第3页
资产设备管理系统课程设计_第4页
资产设备管理系统课程设计_第5页
已阅读5页,还剩201页未读 继续免费阅读

下载本文档

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

文档简介

目录 ……………………..……………………..……………………..…………..…………..…………..…………..…………试计划………………………………………………………………………………………………………………………………………………………………………………………试………………………………………………………………………………………………..……………………………………………………………………………..………………..………………..…………………...……………..……………………….争力,从而提高企业经济效益,使企业在市场竞争中立于不败之地。门的桥梁与纽带,起着核心作用。目前企业设备自动化管理个设备管理水平还是较低。高的要求。科技信息时代,陈旧的管理模式不是适应新时代的要求,它存在实现无纸化办公。2.设计说明常维护计划,力争降低装置因设备问题造成的非计划停工次数。(3)在设备发生事故的情况下,登记事故记录,并向技术人2.3.2软件配置LServer3.可行性研究随着科学技术的发展,社会进步,计算机技术迅速的发展,设备管理的方法也日新月异,以前全是由人工管理的方法现在存在很多的支e经济可行性是评价一个计算机信息系统是否可行的最基本的一社会可行性则在于本系统的开发和实现能为具有类似情况的学4.项目开发计划计说明、详细设计说明测试计划、测试分析报告(一天)(一天)(两天)(一天)目开发总结5.需求规格说明程序员测试员实施员最终用户[4]张海藩等.面向对象程序设计实用教程.清华大学出版社2007年1)管理员的用例图system_admin 帮助用户修改密码用户管理修改密码系统管理部门信息管理设备分类管理基本信息管理设备使用管理设备调设备使用管理stemadmin设备运作管理设备维护管理设备报废管理设备信息查询综合查询管理设备使用查询设备维护查询设备调设备维护查询设备保费查询2)用户的用例图设备信息管理设备信息录入设备使用查询设备信息查询综合查询管理设备调拨查询密码设备维护查询设备保费查询5.2.2.时序图1)管理员时序图系统登录界系统登录界系统主界面系统管理数据库2:验证用户信息的合法性户选择管理模块systemadmin面密码2)用户的时序图系统系统登录界系统主界面系统管理模数据库:user面块1:输入用户名和密码2:验证信息的合法性3:信息合法4:选择模块5.2.3.协作图1)管理员的协作图1:1:输入用户名和密码系统登录界面ystemadmin2:验证用户信息的合法性系统管理模块3:合法用户系统主界面4:选择管理模块数据库2)用户的协作图1:1:输入用户名和密码系统登录界面2:验证信息的合法性数据库系统管理模块系统主界面4:选择模块3:信息合法5.2.4.活动图按权按权限登录身份识别判断用户身份户部门信息管理查询检修记录、修复结果、设备检测记录录入设备信息添加部门信息显示结果信息系统管理员设备分类管理添加设备信息设备查询管理录入信息、删除改信息显示结果信息借取设备填写相关的借取信息填写设备基本信息、保费信息、备件信息5.2.5.状态图借出维修填写借取信息设备资源维修记录预定未使用报废记录报废5.3.其他非功能性需求5.3.1.可靠性5.3.2.可用性5.3.3.安全性信息正确后才能进入相应的页面。系统主界面5.3.4.可维护性6.概要设计说明6.1.系统功能图然在数据流程图中的某两个功能模块之间原来并没有通过数据文件设设备报废查询设备维护查询设备调拨查询设备使用查询设备信息查询设备报废管理设备维护管理设备调拨管理设备使用管理设备信息录入部门信息管理基本信息管理设备分类管理修改密码系统管理用户管理综合查询管理设备信息管理设备运作管理本模块通过多张表之间的关系进行有关设备信息的详细查询,包括设。6.2.数据库设计属性(Attribute):用椭圆形表示,并用无向边将其与相应的实无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型 实体的联系则在菱形外面再套菱形。用户实体用户类型用户密码部门实体部门名称部门编号型号购买日期设备信息实体设备数量设备编号设备名称设备价格设备型号使用人设备使用使用日期编号设备名称设备状态状态设备借入借出实体设备编号设备名称借出部门所在部门设备维护实体设备编号设备名称状态所在部门设备报废实体设备编号设备名称所在部门6.2.2.逻辑结构设计E-R转换为关系模型一般遵循的原则:一个实体型转换为一个关对于实体型图的联系则有以下不同的情况:性,该联系相连的各个实体的码以及联系本身的属性均转换为关系的属名数据类型许空4depIdnvarchar50不允许空depNamenvarchar50不允许空名数据类型许空4UserNamenvarchar4不允许空UserPwdUserTypenvarchar504不允许空不允许空名数据类型许空nvarchar50menvarchar50不允许空Modelnvarchar50不允许空icefloat8不允许空Dcount4不允许空umfloat8不允许空PurchaseDatedatetime8不允许空madeplacenvarchar0不允许空名数据类型许空eNonvarchar50不允许空DevIdnvarchar50DevNamenvarchar50不允许空Ucount4不允许空StatusStatusnvarchar50不允许空UseDatedatetime8不允许空nvarchar50不允许空名数据类型许空4DevIdnvarchar50不允许空Depname4不允许空Operationnvarchar50不允许空LendDeptNamedatetime8不允许空LendDatedatetime8不允许空LendMannvarchar50不允许空名数据类型许空4DevIdnvarchar50不允许空DevNDevNamenvarchar50不允许空DepNamenvarchar50不允许空MnDatedatetime8不允许空MnSumfloat8不允许空MnNamenvarchar50不允许空Statusnvarchar50不允许空Reasonnvarchar0不允许空huiDatedatetime8不允许空名数据类型许空nvarchar4不允许空DevIdnvarchar50不允许空DevTypenvarchar50名数据类型许空DevIdnvarchar50DevNamenvarchar50不允许空DepNamenvarchar50不允许空CreateDatedatetime8不允许空umfloat8不允许空Reasonnvarchar0不允许空UserNamenvarchar50不允许空7.详细设计说明7.1.登录界面设计7.2.用户管理界面设计。7.3.修改密码界面设计7.4.设备分类管理界面设计某一设备类型时,设备基本信息中的设备类型将自动更改为“空闲”。7.5.部门信息管理界面设计7.6.设备基本信息管理界面设计钮出现如图所示的界面,为了保证信息的准确性,此界面中的编号、7.7.设备使用信息管理界面设计功能。点击图中的“删除”按钮可以实现设备使用信息的删除功能。7.8.设备调拨信息管理界面设计7.9.设备维护信息管理界面设计7.10.设备报废信息管理界面设计用信息表中该设备的状态显示为“报废”状态。添加报废信息后设8.原程序代码及运行结果packagecom.DB;atementpublicclassDBManager{privatefinalstaticStringdriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";privatefinalstaticStringurl="jdbc:microsoft:sqlserver://:1433;DataBaseName=bbprivateConnectionconn;privateStatementst;privateResultSetrs;*创建连接*@returnpublicConnectiongetConnection(){try{Class.forName(driver);==DriverManager.getConnection(url,"sa","root");}catch(ClassNotFoundExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}publicStatementgetStatement(){try{st=conn.createStatement();}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}*执行更新操作publicintupdate(Stringsql){System.out.println(">>>>>>>>===="+sql);getConnection();st=getStatement();try{rows=st.executeUpdate(sql);}catch(SQLExceptione){e.printStackTrace();closeAll();}}*使用预处理publicintupdate(Stringsql,Stringdata[]){System.out.println(">>>>==="+sql);getConnection();try{=paredStatement=conn.prepareStatement(sql);pst.setString(++index,data[i]);}returnpst.executeUpdate();}catch(SQLExceptione){e.printStackTrace();closeAll();}}*执行查询操作publicResultSetgetQuery(Stringsql){System.out.println(">>>>>>>>===="+sql);getConnection();st=getStatement();try{rsst.executeQuery(sql);}catch(SQLExceptione){e.printStackTrace();}}*执行关闭publicvoidcloseAll(){try{}catch(SQLExceptione){e.printStackTrace();}}try{oseull}catch(SQLExceptione){e.printStackTrace();}}try{conn.close();conn=null;}catch(SQLExceptione){e.printStackTrace();}}}}9.测试计划9.1.概述9.1.1.编写目的9.1.2.背景9.1.3.定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。9.1.4.项目目标9.1.5.文档目标本测试计划主要有两类群众:测试管理人员(项目经理、客户指派人员)和测试人员。令项目经理根据该测试计划制定进一步的计划、安排(工作任务分配、时间进度安排)和控制测试过程;人员通过该测试计划了解测试过程和相关信息。.确定项目测试的策略、范围和方法;.使项目测试工作的所有参与人员理解测试控制过程;本文档是本项目测试整个过程进行的依据、规范和标准;9.1.6.文档摘要试策略;标;理;9.2.测试策略9.2.1.策略计划3.相对于项目要做的事情来说,时间进度非常紧(要建立一1.尽量做到在有限的时间里发现尽可能多的缺陷(尤其是严不会采用测试工具。9.2.2.风险分析范的制定、整套测试用例的设计和执行一轮完整的测试,时间进度非常紧张,可能导致测试设计工作不够完善。9.3.1.测试用例设计户对系统的介绍和自己对系统的理解按照系统层次结构组织编本系统案例的编写采用黑盒测试常用的分析方法设计用对于每一个测试用例,测试设计人员应为其指定输入(或操作)、预期输出(或结果);本次测试设计的所有测试用例均需以规范的文档方式保在整个测试过程中,可根据项目实际情况对测试用例进行测试用例中测试数据的准备,在客户的指导和协助下准备。按照系统的运行结构安排用例的执行;例9.3.3.测试方法令功能测试测试各功能是否有缺陷令性能测试测试系统在一定环境下的性能数据令测试人员要将测试执行过程记录到测试执行记录文档中。令测试人员要对测试中发现的问题记录到缺陷记录中。9.3.4.测试手段手工测试:就是由人去一个一个的输入用例,然后观察结9.4.测试内容模模块名称测试标识符模块功能1管理用户信息修改密码2修改自身密码设备管理3实现设备的增删查改部门信息管理4管理所有部门的信息设备信息录入5实现信息记录的添加设备维修管理6实现维修记录的增删查改设备使用管理7实现设备使用的记录管理调拨管理8实现对设备的调拨管理设备维护管理9实现对设备的维护设备报废管理实现对设备的报废的管理设备信息查询实现对设备信息的查询设备使用查询实现设备的使用情况设备调拨查询查询设备调拨的具体情况设备维护查询实现对设备维护情况的查询对设备的报废情况进行查询9.5.测试用例设计9.5.1.管理员注册、登陆界面测试XX3”码“123”为空XX3”www3”的结果提示错误界面提示错误提示错误提示错误XX3”码“123”为空密码“1234”,再次新密码“2345”所有密码为空显示所有用户信息,点击删点击“确定”显示所有用户信息,点击删点击“取消”提示错误界面提示错误提示错误提示错误显示成功信息,进入登录界面显示错误界面,返回上一次界面提示错误信息提示错误信息删除成功,返回用户信息界面9.5.2.用户管理界面测试点击“用户”点击“用户”为空点击“用户”密码“1234”,再次新密码“2345”期望的结果提示错误显示成功信息,进入登录界面显示错误界面,返回上一次界面提示错误信息用户9.5.3.修改密码界面测试密码“1234”,再次新密码“2345”所有密码为空密码“1234”,再次新密码“2345”期望的结果显示成功信息,进入登录界面显示错误界面,返回上一次界面提示错误信息提示错误信息显示成功信息,进入登录界面显示错误界面,返回上一次界面提示错误信息用户9.5.4.设备分类管理界面测试设备分类编号设备分类名称设备分类编号设备分类名称设备分类编号设备分类名称根据设备分类编号修改设备分类名称操作成功修改成功bbc9.5.5.部门信息管理界面测试期望结果号称a号称a根据部门编号修改号称部门名称a9.5.6.设备信息管理界面测试期望结果号称a号称a根据部门编号修改号称部门名称a9.5.7.设备使用信息管理界面测试商品数量减一,商品借到页面上点击“借”按钮点击“还”按钮备还设备9.6.资源需求数数据库服务器MySQL5.0.17windowxp客户端Celeron(R)CPU2.40GHzstepping01firefox应用服务器JDK1.5.0_06Apache2.2.0Tomcat5.5.15硬件环境硬件配置软件配置9.7.时间进度安排9.8.测试过程管理9.8.1.测试文档管理《测试计划》《测试需求表》《测试用例说明书》9.8.2.缺陷处理过程1114.测试结束时项目经理将所有缺陷整合成一个完整的缺陷文档,同其它测试文档一同提交给客户。10.测试分析报告10.1.概述10.1.1.背景本项目的程序是使在WindowsXP系统上在客户端以HTML,符合10.1.2.定义isplayedcannotbedisplayed错误✓系统定义不能重复的字段输入重复数据后,出现“Thepagecannotbedisplayed返回异常错误10.1.3.测试对象10.1.4.参考资料朱少民徐芳软件测试方法与技术软件工程与开发技术软件测试技术清华大学出版社西安电子科技大学出版社机械工业出版社10.2.测试目的10.3.测试结果10.3.1.管理员注册、登陆界面测试“XX”,密码“123”用户名为空用户名不为空,密码密码不相等“123”的结果显示登录页面提示错误界面提示错误提示错误提示错误显示主界面显示错误界面显示登录界面提示错误界面提示错误提示错误提示错误显示主界面显示错误界面添用户名为空加用户名不为空,密码用为空户密码不相等输入旧密码“123”,管输入新密码,再次输理入密码修输入新密码,再次输改入密码23”,再次新密码“2345”所有密码为空删显示所有用户信息,除点击删除,提示“确用定删除吗?”,点击户“确定”有用户信息,点击删除,提示“确消”面提示错误提示错误显示成功信息,进入登录界面显示错误界面,返回上一次界面提示错误信息提示错误信息面,返回用户信息界面提示错误提示错误显示成功信息显示错误界面提示错误信息提示错误信息显示删除成功界面10.3.2.用户管理界面测试输入“张三”,密码输入“李敏”,密码用户名为空,密码为空输入“张三”,密码输入旧密码“123”,输入新密码,再次输入密码输入新密码,再次输入密码期望的结果提示错误显示成功信息,进入登录界面显示错误界面,返回上一次界面提示错误显示成功信息显示错误界面用户输入旧密码“123”,提示错误信息提示错误信息4”,再次新密码“2345”10.3.3.修改密码界面测试输入新密码,再次输入密码输入新密码,再次输入密码”,再次新密码“2345”所有密码为空输入新密码,再次输入密码输入新密码,再次输入密码”,再次新密码“2345”期望的结果显示成功信息,进入登录界面显示错误界面,返回上一次界面提示错误信息提示错误信息显示成功信息,进入登录界面显示错误界面,返回上一次界面提示错误信息显示成功信息显示错误界面提示错误信息提示错误信息显示成功信息显示错误界面提示错误信息用户10.3.4.设备分类管理界面测试根据设备分类修改设备操作成功修改成功操作成功修改成功bbc10.3.5.部门信息管理界面测试实际结果部门编号001部门名称a部门部门编号001删除删除删除部门名称a成功成功根据部门编号部门编号002修改修改修改部门名称部门名称a成功成功10.3.6.设备信息管理界面测试实际结果部门编号001部门名称a部门部门编号001删除删除删除部门名称a成功成功根据部门编号部门编号002修改修改修改部门名称部门名称a成功成功10.3.7.设备使用信息管理界面测试备11.项目开发总结通过一个星期的准备和系统设计,经过指导老师的辛勤帮助和知识。在设计的初期是较为艰苦的,既要更深入的学习eclipse和SQLServer又要进行整体的策划。要想设计一个功能完整、操作简,经过不懈的努力,终于既完成了任务又提高了自身的水平。上发展。12.实验总结够磨练人的意志与耐心。13.附录13.1.团队人员表任务成绩组长a)系统分析员b)员员程序员d)员测试员e)界面设计员c)编写可行性研究报告、项目开发计划、项目开发总结,负目的需求规格说明、概要设计说明,编写相责本开发项目的详细设计及相关功能模块程序设计,编责本开发项目的测试计划、功能模块测试,编写测试分1设计内容和要求某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。b.按销售额对销售员进行排序,输出排序结果(销售员代号)2总体设计思路1)输入销售员的销售信息并将其保存在文件中2)从文件中读取销售员的销售信息3)计算每个人每种产品的销售额4)按销售额对销售员进行排序,输出排序结果(销售员代号)6)输出统计报表现了销售信息的记录功能(包括每个销售员每种产品的销售情况)、销售信息查询功能(按销售员查询、按销售总量查询等)和销售信息储存功能,以及输出统读读入数据从而达到对食品销售情况的管理。员输入保存YMenu_select()=1YLength=enter(rec);Break;NMenu_select()=2YSalor(rec,length);Break;NMenu_select()=3NYList1(rec,length);Break;nuselectYengYengNNMenuselNect()=5useltAreclengthY;engtNnuYuYNMenu_seleY3系统功能模块设计nenter本函数先通过system(“cls”)函数将主菜单界面清除;然后根据定义的3.5查询销售员销售额模块此部分用voidlist1()函数,首先定义两个数组,然后利用for结构销售额的求和4程序调试及分析1)开始时不能从文件中读取数据,每次输入的数据只能在本次函数调用中fscanf(fp,"%10d%7d%7d%7d%7d%7d",t[i].name,t[i].a1,t[i].a2,t[i].a3,t[i2)在Main()函数中开始少一个case结构,导致在voidlist2函数中3)在清单输入模块中,开始只能输入一天的销售记录,原因是少了循环的4)在求销售产品总和的模块中,忽略了将最后结果返回sum,虽不影响程5总结及体会不到的知识和自己动手的能力。谢好的去实践操作。的力量,如果班上的同学都只顾自己学习,同学之间遇见什么问题也不互相讨论,只靠只身的力量去解决学习中遇到的问题在很多参考文献源代码includestdioh输入输出函数*/includestdlibh*通用应用程序函数*/includestringh*/includectypeh数*/ruct{}voidsalorRECODEtintn明函数*/ntmvoidlistRECODEtintn声明函数*/voidlistRECODEtintn声明函数*/voidlistRECODEtintn声明函数*/voidsaveRECODEtintn明函数*/{printf人的代号");q{w]=w[0]+t[i].a1;w[1]=w[1]+t[i].a2;w[2]=w[2]+t[i].a3;w[3]=w[3]+tprintf("%d的销售情况bread:%dcake:%dpie:%dmilk:%ddrink:%d\n",q,w[0],w[1],w[2],w[3],w[4]);}}main()/*主函数*/{RECODErec;{switchmenuselect/{terrecbreakengthbreakengthbreakengthbreakhbreakengthbreakngthbreakdrecbreak}}}{printf("食品销售管理系统\n\n");printf("主菜单\n\n");printftt输入清单的天数\n");printftt销售员月销售额\n");printftt按销售额对销售员排序\n");printftt产品销售额\n");printftt查询销售情况\n");printftt统计表\n");printftt保存\n");printftt直接读入数据\n");printftt退出\n");printfendnnurnn}{{printf("输入所要写入的清单的天数:");/*输入所要写入的清单的天scanf("%d",&num);printf("销售员代号breadcakepiemilkdrink\n");for(j=0;j<num;j++){foriii)/*将所输入的条数存入结构体数组中*/{printf("\n\n\n");scanf("%d%d%d%d%d%d",&t[i].name,&t[i].a1,&t[i].a2,&t[i].a3,&t[i].a4,&t[i].a5);z++;}printfn\n\n\n");}}returnz;}voidsalorRECODEtintn{printf看的售货员的代号(1-4):");nfdsforiini售额求和*/{bti].a1;bti].a2;bti].a3;bti].a4;bti].a5;}printfbreadcakepiemilkdrink\n");printf\n");printfdd%-10d%-7d%-7d%-7d",s,b1,b2,b3,b4,b5);}ninte{foriini和*/{}turnsum}voidlistRECODEtintn){mii1;foriii额进行排序*/{mimj];mjs}printf("销售员的销售额(从高至低)\n");foriii*/printfdnm[i]);}voidlist(RECODEt[],intn){riiimii+1;foriiiforiini的销售额求总和*/{}foriii排序*/{{mjs}}printf的代号\n");printfcake0bread30pie40milk50drink\n");foriii和销售额*/printfntt0d%-10d\n",m[i]*10,c[i]);printf意键继续\n");}voidlistRECODEtintn){sumsumsumsumintcbbb},b4[4]={0},b5[4]={0};cisumtni额*/foriini的总销售额*/{{bj=t[i].a1;bj=t[i].a2;bj=t[i].a3;bj=t[i].a4;bj=t[i].a5;}}foriii售额*/{}printf("销售额清单\n\n\n");printfn");printf-breadcakepiemilkdrink总和\n\n");printf("%-10d%-10d%-10d%-10d%-10d%-10d%-10d\n",i+1,b1[i],b2[i],b3[i]合计%-10d%-10d%-10d%-10d%-10d%-10d",sum1,sum2,sum3,sum4,sum5,sum0printf("\n按任意键继续");}voidsave(RECODEt[],intn){if((fp=fopen("record.txt","wb"))==NULL)/*如果函数带回一个空指针值{printf("cannotopenfile\n");/*不能打开文件*/exit(1);}printf("\nSavingfile\n");fprintf(fp,"%d",n);fprintf(fp,"\r\n");for(i=0;i<n;i++){fprintf(fp,"%-10d%-7d%-7d%-7d%-7d%-7d",t[i].name,t[i].a1,t[i].a2,fprintf(fp,"\r\n");}printfsavesuccessnn");/*显示保存成功*/printf"按任意键继续");}{Efpif((fp=fopen("record.txt","rb"))==NULL)/*如果函数带回一个空指针值{printf("cannotopenfile\n");/*不能打开文件*/exit(1);}fscanf(fp,"%d",&n);for(i=0;i<n;i++)fscanf(fp,"%10d%7d%7d%7d%7d%7d",&t[i].name,&t[i].a1,&t[i].a2,&t[i].a3fclose(fp);printf("\n恭喜您已成功从文件中读出数据!!!\n");/*成功读入信息*/printf("按任意键继续\n\n");getch();returnn;}2012年度本科毕业生课程设计(报告)学院:琼州学院专业:计算计科学与技术2011专升本学生姓名:张坤2、学习使用某一种数据库服务,学会数据库应用程序编程,安装配置系统开发环境。(1)进、出库管理。对进、出库信息进行记录。(2)查询功能。仓库管理对查询要求高,分为按日期查询,按人员查询和按物品查询。(3)人员管理和库存报表生成。人员管理包括了操作员设置管理,人员设置管理,以及数据整理。库存报表主要是月报表。(4)交接班和临时离开。仓库管理系统设计了交接班管理,通过主菜单记录当前操作用户的真正变为从事一些信息的分析,判断,决策等创造性的工作。该系统主要分为四大功能:管理员功能、信息安全功能、一般用户功能、报表生成。出库管理、操作员设置、人员设置、库内信息整理、(2)信息安全功能:人员权限区分、临时离开密码管理、交接班管理。(3)一般用户功能:查询入库信息、查询出库信息、查询库内信息、库存统计。(4)报表生成:库存信息报表生成。[1]新编VisualBasic程序设计—————蔡树元编著[2]软件工程(第二版)——————李代平等编著清华大学出版社2008.1[3]数据库系统概论(第四版)————王珊萨师煊高等教育出版社2006.5[4]Access数据库技术与应用————谭浩强编著清华大学出版社2009.8总结第一章系统设计1.1任务描述11.2任务目标3第二章需求分析2.1需求分析的任务42.1.1功能需求42.1.2用户需求42.2数据流图42.3数据字典62.4数据库设计82.4.1数据库的概念模型8第三章总体设计3.1系统流程分析103.2功能模块图10第四章详细设计4.1程序流程图124.2数据库的逻辑结构设计12第五章编码实现5.1系统物理实施145.2创建仓库管理信息系统各界面并编写代码14第六章软件测试摘要随着公司业务两的逐渐增长,业务范围的不断扩大,特别是中国进入WTO之后,时常竞争尤其是IT行业的竞争日趋激烈,公司需要更多的人力、物力、财力来稳固并拓展公司第一章系统设计1.1任务描述之有效的管理系统,公司进行信息管理的主要方式是基于文本、表格等纸介质的手工处理,法,采用成熟、先进的信息技术和手段,支持仓库进、销、存管理工作的全过程,加强销售本系统初步调查采用的主要方式是系统分析人员与本公司各个主要管理人员进行交流,并到现场参观了解情况,主要参加人员是公司的销售部、采购部、库存部、MIS中心和行政部的样的直接后果就是信息传递、管理方式不仅效率低,到企业的“进、销、存”环节出现问题时,就已经远离了问题出现的时间和地点。发进销存管理系统非常有必要。1.2任务目标仓库管理信息系统主要是为公司的经营活动提供信息服务,它涵盖了仓库的各项管理工出货管理等信息提供存储、更新、查询、统计的功能,使公司能够合理控制进销存的各个环节,提高资金的利用率和结算速度,实现管理的高效率、实时性、安全性、科学化、现代化过程,加强各种信息资源的管理与运用,提高企业管理工作的现代化水平,优化人、财、物和信息资源在供、销等各环节的运行机制。了解各部门工作的进展情况。第二章需求分析2.1需求分析的任务2.1.1功能需求该系统主要分为三大功能:管理员功能、一般用户功能、信息安全功能。2.1.2用户需求根据用户需求,该系统应该实现以下功能:(2)查询功能。仓库管理对查询要求高,分为按日期查询,按人员查询和按物品查询。(3)人员管理和库存报表生成。人员管理包括了操作员设置管理,人员设置管理,以及数据(4)交接班和临时离开。仓库管理系统设计了交接班管理,通过主菜单记录当前操作用户的时离开时系统的安全。(5)由于计算机能存贮大量的数据,而且数据只要一次存入,便可多次重复使用,所以管理真2.2数据流图当数据在软件系统中移动时,它将被一系列“变换”所修改。数据流图(DFD)是一种系统逻辑功能的图形表示,即使不是专业的计算机技术人员也容易理解它,因此是分析员与用户之间极好的通信工具。本系统的数据流图如下所示:2.3数据字典详细的数据收集和数据分析所获得的主要成果。数据字典在数据库设计中占有很重要的地位。。件分析和设计的过程中给人提供关于数据的描述信息。没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。名字:入库操作定义:入库操作=产品基本信息+入库信息描述:目前库存产品的基本信息定义:产品基本信息=产品基本信息+产品规格名字:出库操作描述:库存产品出库多少的信息描述:管理员编号与姓名描述:仓库管理员权限与密码2.4数据库设计2.4.1数据库的概念模型用E—R图表示当前的数据库概念模型第三章总体设计3.1系统流程分析入库信息查询三个部分,其业务流程图如下:3.2功能模块图管理根据系统的业务流程和用户的需求分析可以得出,本系统应该包含产品基本信息管理、出入库管理、库存管理、系统管理、操作人员管理、查询、统计等几大功能,如下图所示:其中入库管理包括新物品初次入库(包含基本信息的入库)和非新物品入库。1)基本管理:具体用户是系统管理员,对于出库进库成功时系统直接算出该产品的余料。2)进库管理:主要完成对产品品名,规格型号,数量,单价,入库日期,入库人编号,入库人(入库人和编号为统一的,一入库人编号对应于一个入库人),经手人出库管理主要完成产品品名,规格型号,数量,单价,出库日期,出库人编号,出库人。3)交接班是为了便于用户交接班时不用退出系统就可以进行数据库用户更换4)修改密码必须先输入原始密码才让修改密码,防止用户离开时的疏忽而被其他人篡改用5)查询按日期:查询某个时间段的出入库信息。按人员:查询某个入料人或领料人的相关信息按物品:查询某种商品的出入库信息和余料。6)统计:提供一种统计方式,一般要求按月统计,可以查出该月内的出入库总次数,及相7)设置:该操作只允许数据库管理员进行设置,对于无该权限的数据库管理员进入系统后第四章详细设计4.1程序流程图详细设计的结果基本上决定了总终的程序代码的质量。结构程序设计技术是实现上述目标的关键技术,是详细设计的逻辑基础,用程序流程图来表示。描述程序处理过程的工具称为过程设计的工具,它们可以分为图形,表格和语言三类。掌握,它是历史最悠久,使用最广泛的描述过程设计的方法,然而它也是用得最混乱的一种方法,上图为本系统的程序流程图,直观地描述了上机管理系统。4.2数据库的逻辑结构设计表4-1入库表(InStorehouse)表4-3库存表(Stock)表4-5系统管理员表(Operater)表4-6入库人、出库人、借出人表(Person)第五章编码实现5.1系统物理实施(1)硬件选择。系统中计算机能够运行WindowsXP以上操作系统即可。(2)操作系统。WindowsXP以上操作系统。(3)开发工具。面向对象程序设计语言VisualBasic6.0。(4)数据库管理系统。MicrosoftAccess数据库管理系统。5.2创建仓库管理信息系统各界面并编写代码打开VisualBasic6.0后,单击FileNewProject菜单,在工程模板中选择“展示屏幕”将产体。与该窗体相关的程序PrivateSubM_ChangePassword_Click()ChangePassword.ShowPrivateSubM_ClearData_Click()FrmClearData.ShowPrivateSubM_DataBackup_Click()FrmDataBackup.ShowPrivateSubM_DataMake_Click()ataMakeShowPrivateSubM_Exchange_Click()Login1=1Login.Caption="交接班"Login.Show1nformShowPrivateSubM_Exit_Click()aa=MsgBox("退出前请确定数据是否保存!!",1+32)Ifaa=1ThenEndPrivateSubM_FindArticle_Click()FrmFindArticle.ShowPrivateSubM_FindDate_Click()FrmFinddate.ShowPrivateSubM_FindPerson_Click()FrmFindperson.ShowPrivateSubM_InStorehouse_Click()FrmInstorehouse.ShowPrivateSubM_ManSetup_Click()frmPerson.ShowPrivateSubM_OperaterSetup_Click()wPrivateSubM_OutStorehouse_Click()FrmOutstorehouse.ShowPrivateSubM_PrintDay_Click()taReportShowPrivateSubM_Printjgj_Click()Frmprintgz.ShowPrivateSubM_Printmustbuy_Click()DataReport3.ShowPrivateSubM_ProducePlan_Click()FrmProduceplanManage1.ShowPrivateSubM_Sparelist_Click()FrmSpareList.ShowPrivateSubM_StorehouseManage_Click()FrmStorehousemanage.ShowPrivateSubM_StorehouseSetup_Click()frmStorehouse.ShowPrivateSubM_TEMP_Click()frmTEMP.Show1teSubMTotalDayClickPrivateSubMTotalMonth_Click()PrivateSubMDIForm_Load()Mainform.BackColor=&H80000003MainformWindowState2str1="日一二三四五六"StatusBar1.Panels.Item(4).Text="星期"&Mid(str1,Weekday(Date),1)StatusBarPanelsItemTextDateStatusBar1.Panels.Item(1).Text="管理员:"&Operater1PrivateSubMDIForm_QueryUnload(CancelAsInteger,UnloadModeAsInteger)Cancel=MsgBox("退出前请确定数据是否保存!!",1+32)IfCancel=1ThenEndPrivateSubMDIForm_Resize()'Mainform.WindowState=2PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)SelectCaseButton.KeyCase"T_InStorehouse"CallM_InStorehouse_ClickCase"T_Calc"Shell(App.Path+"\calc.exe")Case"T_Exchange"CallM_Exchange_ClickpCallM_TEMP_ClickCase"T_Exit"CallM_Exit_ClickCase"T_OutStorehouse"CallM_OutStorehouse_ClickCase"T_StorehouseManage"CallM_StorehouseManage_ClickCase"T_FindPerson"CallM_FindPerson_ClickCase"T_FindArticle"CallM_FindArticle_ClickCase"T_ProducePlan"CallM_ProducePlan_Clicklect与该窗体相关的程序PublicrkAsString'入库的类型PublicreccountAsInteger'记录条数PublicrowAsIntegerlist返回的行数PrivateSubCommand1_Click()'补充数据'判断输入的数据是否都为空'补充出库信息IfTrimText))<>""OrTrim(Text1(14))<>""OrTrim(Text1(15))<>""OrTrim(Text1(16))<>henoutstorehouse.RecordSource="select*fromoutstorehousewhere编号="+outstorehouse.RefreshWithoutstorehouse.RecordsetxtxteldsTexteldsTextCallCommand2_ClickCommand1.Enabled=FalsendIf'PrivateSubCommand2_Click()'补充出库信息时的数据清零NextiPrivateSubCommand3_Click()'按确定按钮 eFalseThenIfTrimTextTextOrTrimTextTextThen'当不要补充出库的信息时xtSetFocusEndIfxtSetFocusEndIfxtOrTrimTextTextThenxtSetFocusEndIfIfTrimTextTextOrTrimTextText"Then'当要补充出库的信息时TextSetFocusEndIfxtSetFocusEndIfEndIfIfIsNumeric(Text1(4))=FalseThen'判断数量是否为数值extSetFocusEndIf''给进库表增加信息instorehouse.RecordSource="select*frominstorehouse"instorehouse.RefreshWithinstorehouse.RecordsetNew.Fields(6)=Date.Fields(11)=rkhCalllist1disp''给库存表增加信息stock.RecordSource="select*fromstockwhere品名='"+Trim(Text1(0))_+"'and规格='"+Trim(Text1(1).Text)+"'"'查找库中是否有该物品stock.RefreshIfstockRecordsetEOFTrueThenWithstock.RecordsetNewhWithstock.Recordset.Fields(4)=.Fields(4)+Text1(4)hEndIf''给出库表增加信息outstorehouse.RecordSource="select*fromstockwhere品名='"+Trim(Text1(0))_+"'and规格='"+Trim(Text1(1).Text)+"'"'查找库中是否有该物品outstorehouse.Refresh'CallclearzoreText=DateTextOperater1extSetFocusPrivateSubCommand4_Click()'取消CallclearzorextSetFocusPrivateSubCommand5_Click()'返回UnloadMePrivateSubcommand6_Click()'出库材料的查询'判断出库查询输入的数据IfTrimTextTextOrTrimTextText=""Then'当要补充出库的信息时TextSetFocusEndIfCalllist2dispCommand1.Enabled=False'PrivateSubForm_Load()Me.Top=(Mainform.Height-Me.Height)/2-800Me.Left=(Mainform.Width-Me.Width)/2Me.Caption="仓库管理系统→"&"入库操作"instorehouse.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Storehouse.mdb;PersistSecurityInfo=False"outstorehouse.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Storehouse.mdb;PersistSecurityInfo=False"person.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Storehouse.mdb;PersistSecurityInfo=False"stock.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Storehouse.mdb;PersistSecurityInfo=False"CallclearzoreCalloption1defCalllist2defCalllist1defCalllist1dispCommand1.Enabled=FalsePrivateSublist2_Click()row1=list2.Row'返回单击的行值Ifrow1<>0ThenCommand1.Enabled=TrueEndIfoutstorehouse.RecordSource="select*fromoutstorehousewhere编号="+outstorehouse.RefreshIfoutstorehouse.Recordset.EOF=FalseThenrameEnabledTrueWithoutstorehouse.RecordsetIfIsNull(.Fields(8))=TrueThenEndIfIfIsNull(.Fields(9))=TrueThenEndIfIfIsNull(.Fields(10))=TrueThenEndIfIfIsNull(.Fields(11))=TrueThenEndIfhFrame6.Enabled=FalsendIfPrivateSubOption1_Click()rk="初次入库"Calloption1defPrivateSubOption2_Click()rk="余料入库"Command1.Enabled=FalseCalloption2deflist2.Enabled=False'一开始就屏蔽list2的单击事件PrivateSubText1_GotFocus(IndexAsInteger)Text1(Index).BackColor=&HC0FFFFPrivateSubText1_LostFocus(IndexAsInteger)Text1(Index).BackColor=&HFFC0C0IfIndex=7Thenperson.RecordSource="select*frompersonwhere编号='"+Trim(Text1(7))+"'"nRefreshIfperson.Recordset.EOFThenonRecordsetFieldsndIfEndIfvateSublistdeflisttMatrixtMatrixlistTextMatrix"listTextMatrix="出库日期"tMatrixsttMatrixtMatrixtMatrixtMatrixtMatrixtMatrixlistTextMatrix"PrivateSuboption1def()'按option1屏蔽补充出库信息项list2.Enabled=FalseFrame6.Enabled=FalseFrame5.Enabled=FalsePrivateSuboption2def()'按option2打开补充出库信息项nabledTrueameEnabledTrueameEnabledTruePrivateSubclearzore()'将数据项初始化Text1(i).BackColor=&HFFC0C0Nextirk="初次入库"PrivateSublist2disp()DimrowwAsCalllist2defroww=1list2.rows=1outstorehouse.RecordSource="select*fromoutstorehousewhere品名='"+andTrimTextText)+"'"outstorehouse.RefreshIfoutstorehouse.Recordset.EOF=TrueThenlist2.Enabled=False'屏蔽list2的单击事件ledTrueEndIfoutstorehouse.Recordset.MoveFirstDoWhileoutstorehouse.Recordset.EOF=Falselist2.rows=list2.rows+1atrixrowwoutstorehouseRecordsetFieldsMatrixrowwoutstorehouseRecordsetFieldstMatrixrowwoutstorehouseRecordsetFieldstMatrixrowwoutstorehouseRecordsetFieldslistTextMatrixrowwStroutstorehouseRecordsetFields8))roww=roww+1outstorehouse.Recordset.MoveNextreccount=outstorehouse.Recordset.RecordCountPrivateSublist1disp()DimrowwAsInteger''行roww=1list1.rows=1Calllist1definstorehouse.RecordSource="instorehouse"instorehouse.RefreshIfinstorehouse.Recordset.EOF=FalseTheninstorehouse.Recordset.MoveFirstEndIfDoWhileinstorehouse.Recordset.EOF=Falselist1.rows=list1.rows+1rowwinstorehouseRecordsetFieldsrowwinstorehouseRecordsetFieldsrowwinstorehouseRecordsetFieldsixrowwinstorehouseRecordsetFieldsrowwinstorehouseRecordsetFieldsrowwinsto

温馨提示

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

评论

0/150

提交评论