《物资管理系统(含代码)》由会员分享,可在线阅读,更多相关《物资管理系统(含代码)(29页珍藏版)》请在金锄头文库上搜索。
1、青岛理工大学琴岛学院设计报告课题名称:物资管理系统学 院:青岛理工大学琴岛学院 专业班级:嵌入式技术与应用 14-1 班 学 号:生:指导教师:青岛理工大学琴岛学院教务处年 月 日学生指导教师课题名称物资管理系统设计时间设计地点8-212设计目的1. 使学生加深对讲授知识的理解、能够综合应用数组、函数、结构体、指 针、文件等知识解决实际问题;2. 培养学生独立调试程序的能力,团队协作的能力;3. 累积编程经验,书写设计报告的规范,为编写项目打下良好基础。指导教师评语系部教研室意见一、选题背景及意义物资管理是一般工业、商业企业生产管理环节中重要的一环,需要对物资基本信息管理 物资调配信息等进行完
2、整的监控。物资入库首先要登记物资的基本信息,包括物资的种类、 名称、型号、单位、单价等;然后登记物资入库信息,包括物资基本信息、入库地点、入库 人、经办人、数量等;根据物资的入库、出库过程的综合,得到各种物资的余额信息,方便 进行后续工作。因此物资管理信息系统需要纪录物资流通的全过程。加强物资管理,不但有算得出、看得到的效益,还可以大大提高管理队伍的素质,加强 职工的增产节约意识、爱护财产意识和学习科技的意识,使科学管理形成共识,并可以减少 物资设备各个环节上的矛盾。信息已成为继劳动力、土地、资本之后的又一大资源。谁控制的信息越多,谁利用信息 资源的效率越高,谁就会在各方面的竞争中占有一席之地
3、,谁就会有更多的优势。物资供应 部门是企业与生产单位之间的桥梁、纽带,是企业正常生产的物资保障部门。正因为供应部 门是关键的中转环节,建立一套物资管理信息系统对于如何有效的把本单位生产所需的生产 资料及时、保质保量的供应上去,有着重要的意义。从微观上讲,建立一套物资管理信息系 统能够加快物资的周转速度,提高生产效率,从而加强了管理的信息化手段,提高了本单位 的经济效益。从宏观上讲,顺应了社会的信息化、社会化潮流,缩短了整个社会化大生产的 周期。目前存在的主要问题是:(一)根据各三级单位所报材料明细逐个与库存账本对照查阅,进行库平,即库中有其 所需材料则开据料单从库中领取,若库中无,则通知采购人
4、员采购。库中物资种类繁多,查 对繁琐,易出错。(二)从开据发料单到每月结帐、清册都是手工操作,计算器加算盘,效率低且准确率 不高。单位配备的计算机仅局限于打字,做报表,不能开单据,计算机应有的功能没有充分 发挥。 所以想设计个系统来提高工作效率,为学校、企业节省大部分开支用来投资系统的开发,这 样以来节省了人力物力,也节省了资源的消耗,实现了低碳发展。二、需求分析学校的计算机不仅可以安装Windows和UNIX的运行环境,而且有足够的空间可以安装运 行平台JAVA虚拟机、数据库ORACLE、服务器TOMCAT和各类编程工具例如ECLIPSE,NETBEANS, 在编程环境上提供了可靠的支持;我
5、们编程人员方面,可以运用以前所学的各种开发软件的 计算机知识和管理知识,加上不断的学习,为系统的开发提供了必要的技术保障。我们就应 用了 JAVA EE企业级开发框架以及ORACLE数据库系统软件。根据系统功能、性能及实现系统的各项约束条件,根据新系统目标来衡量所需的技术是 否具备,本系统是一个数据库管理和查询的系统,现有的技术以较为成熟,硬件、软件的性 能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目 标。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发。系统的效益可以从经济效益和社会效益两方面考虑。对于物资管理系统则应着重分析其 社会效
6、益。例如,系统投入运行后可以使物资管理实现科学化、规范化。增强了工作人员对 物资管理能力、提高了工作效率。企业间的竞争说到底是人的竞争,但人力资源是企业中最 难管理的资源,它涉及到企业的组织机构、企业文化、人的心理等方方面面;从强调对物的 管理转向对人的管理,是企业管理的一个划时代的进步。如何刻意挖掘蕴藏在员工当中的巨 大能力,发掘充满活力和生机的人力资源,将人视为可以开发和增值的资源去投资和经营, 是当前企业急需解决的课题。 传统的人事管理对人力资源的管理是非量化的,是人事部门 最基础业务的信息管理;而真正的人力资源管理系统将人力资源管理过程数字化,并结合知 识管理、办公自动化、项目管理等技
7、术,将人力资源管理提升到战略级别的管理层次,是一 个针对企业人力资源的设计系统。 通过以上从技术、经济、实践三方面的研究与调查 我们可以确定该物资管理系统是可行的。三、概要设计1、数据库设计本系统中主要涉及数据表如下: 物资信息表:主要包含编号、物资名称、单价、数量等字段 其具体表结构如图所示:物资信息表字段名字段类型字段宽度字段说明num字符型10编号name字符型20物资名称price数值型5单价count数值型5数量total数值型20总金额2、系统功能模块概述本系统能够实现一个人机交互,操作简单的物资管理系统,主要分为两个用户角色,用各功能模块描述如下:(1)输入记录:本模块主要完成物
8、资记录的输入,主要包含编号、名称、单价和数量, 在输入过程中要注意各个字段的类型,并且要进行数据的合法性验证。(2)查找记录:主要用来查找物资的信息,该模块能够通过物资编号来查找物资记录信 息。(3)删除记录:通过物资编号来进行删除物资信息。(4)修改记录:通过编号修改物资信息。(5)排序记录:按总金额进行排序。(6)统计记录:统计物资数量。(0)退出系统。四、详细设计(一) 主函数一般是设计简洁,只提供输入,处理和输出部分的函数调用。(1) /*商品结构体*/struct commdityint num;/编号char name20; 商品名称 double price;/ 单价 doubl
9、e count;/ 数量 double total;/ 总金额;struct commdity comm50;定义结构体数组void in();输入物资信息函数 void show();显示物资信息函数 void order();按总金额排队函数 void del();删除物资信息函数 void modify。;/修改物资信息函数 void menu();/主菜单函数 void total();/统计总物资数函数 void search。;/查找物资信息函数void main()int n; menu(); scanf(%d,&n); while(n)数据类型case 1:in();/输入物资
10、信息 break;case 2:search。;/寻找物资信息 break;case 3:del(); /删除物资信息 break;case 4:modify。;/修改物资信息 break;case 5:order(); 排序物资 break;case 6:total();统计物资数量 break;default:break;getch();menu();返回菜单界面scanf(%d,&n);return ;二)各功能模块设计(1) /菜单模块 void menu() system(CLS); 清屏函数 printf(nnnnn);输入记录|n);查找记录|n);删除记录|n);修改记录|n)
11、;排序记录 (按总金额)|n);统计记录|n);退出系统|n);printf(tt |*物资管理系统* |n) printf(tt|t 1 printf(tt|t 2 printf(tt|t 3 printf(tt|t 4 printf(tt|t 5 printf(tt|t 6 printf(tt|t 0printf(tt|*|n); printf(ttt 选择(0-6):);(2) /显示模块/基本流程,先把文件中的数据依次读入到物资结构体中 /并依次显示void show()FILE *fp;int i,m=0;fp=fopen(data.txt,a+); while(!feof(fp)i
12、f(fread(&commm ,LEN,1,fp)=1) m+;fclose(fp);printf(“编号物资名称单价数量 总金额tn);for(i=0;im;i+)printf(FORMAT,DATA);/将信息按指定格式打印(3) /查找记录模块 /本模块的流程是先打开文件并读取里面的数据到物资结构体数组缓冲区中 /用户输入编号与物资结构体中缓冲区的数据进行比较,如果有则显示,没有则输出提示信息void search()FILE *fp;int num,i,m=0;char ch2;/以追加 和写的方式打开文件if(fp=fopen(data.txt,a+)=NULL)printf(不能打
13、开文件! n);return ; /把文件中的数据依次读入到结构体中,并关闭文件while(!feof(fp) if(fread(&commm,LEN,1,fp)=1) m+;fclose(fp);/如果没有记录,则返回,否则执行显示操作if(m=0)printf( 没有记录! n); return;else/用户输入编号printf(请输入编号:”); scanf(%d,&num);/用循环语句来比较用户输入的编号是否存在 for(i=0;im;i+)if(num=commi.num)printf(”已经找到该记录,是否显示?(y/n) ”); scanf(%s,ch);if(strcmp(
14、ch,y)=0|strcmp(ch,Y)=0)printf(编号物资名称单价 数量总金额tn);printf(FORMAT,DATA);break;elsereturn;/如果上面的循环语句执行完都没有找到 ,则会执行本判断语句 if(i=m)printf(”没有找到相关记录! n);( 4) /删除物资模块/本模块的流程为先打开文件,并把数据写到物资结构体数组缓冲区中去 /用户输入相关编号与结构体数组中的数据相比较,如果存在则把结构体数组缓冲区进行 修改/把修改后的结构体数组缓冲区再次写入文件void del()FILE *fp;int num,i,j,m=0;char ch2;/以追加和读的方式打开文件 if(fp=fopen(data.txt,a+)=NULL)printf(不能打开文件n)