物流信息管理系统.docx
《物流信息管理系统.docx》由会员分享,可在线阅读,更多相关《物流信息管理系统.docx(20页珍藏版)》请在冰豆网上搜索。
物流信息管理系统
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2011年秋季学期
面向对象课程设计
题目:
物流信息管理系统
专业班级:
计算机科学与技术1班
姓名:
程文鑫
学号:
10240127
指导教师:
年福忠
成绩:
目录
一、摘要3
二、需求分析4
2.1引言4
2.1功能分析4
2.2方案分析5
三、概要设计6
3.1数据结构6
3.2逻辑结构与物理结构6
3.3功能模块划分6
3.4抽象数据类定义8
四、详细设计9
4.1数据类型定义9
4.2主要模块内部设计9
4.2.2更改信息设计9
4.2.3查找信息设计10
五、实现与调试分析11
六、测试分析12
七、设计总结15
参考文献16
附录:
源代码17
一、摘要
【摘要】
伴信息时代的到来,使社会的各个行业领域都发生了巨大的变化,物流业也在时代大背景的影响之下,整个行业朝着信息化方向发展。
有效整合业内资源,使个体的、单一的企业物流运输,还是集团化的大企业都朝着高效、可持续发展的方向发展。
作为物流行业的主体,物流集团性质的企业在跟随整个行业的对企业发展方向进行整体调整的同时,对企业内部的一系列资源等也进行全面的整合,而企业管理成为在整合、调整过程中主要调整对象。
作为物流企业的管理者,早已充份的认识到管理在企业整个企业运作过程中的重要性,通过计算机管理系统对企业进行管理,解决传统管理方法中运作节奏和企业内部资源不能及时作出匹配和调整的问题,进而对企业内物流设施、物流资源等进行更有效的管理,统一按排,降低企业资源的闲置与浪费;大大的提高了企业资源的利用率,减轻管理者的劳动强度,适应现代物流运作的需要,进而提高企业的工作效率和经济效益。
从国内外物流节点管理经验看,一个完善的信息管理系统是检验企业物流管理能否适应现代物流发展的最基本条件。
【关键词】物流管理系统;客户
二、需求分析
2.1引言
2.1.1编写目的
随着社会发展的日新月异,商业往来日渐广泛,物资多样化,以及计算机的普及,对于企业物流配送管理要求逐渐变大,从而开发本物流配送管理系统,来更好的对仓库进行管理。
本报告读者对象为研发中心领导和主管技术人员,以及项目设计和开发人员。
2.1.2项目背景
待开发的软件系统名称:
物资仓库管理系统
本项目的任务提出者:
企业仓库管理人员
本项目的任务开发者:
物流配送管理系统软件开发小组
用户及实现该软件的计算中心或计算机网络:
企业计算机
2.1功能分析
1、业务(收入、支出)处理模块:
配送业务的开票、收款、收空包、核对入帐等。
2、查询汇总:
业务流水记录、组合方式的汇总统计。
3、排行榜:
与应收、实收、欠收及日期段任意组合,按配送员、客户、商品排序。
4、报表输出:
5、费率设置:
多种客户销售价格以及配送工报酬计算方式。
6、人员信息:
包含软件操作员、员工、客户等基本信息。
7、数据库处理:
新套帐的建立、数据备份及还原、数据提交与回滚等。
。
8、系统开发的总体任务是实现企业仓库各种信息的系统化、规范化和自动化。
9、主要完成功能:
企业部门提出购买计划交给仓库,仓库通过与现有库存作比对。
如有必要进货,就将此购买计划交给采购员,由采购员进行采购。
采购员与供应商进行谈价,达成协议,填写预订单(供应商留下的叫做订单)。
供应商带着订单送到公司,企业仓库拿出预订单进行核对,核对无误后确认有效托收,托收进行检验入库,入库同时填写好入库登记表。
企业各部门根据自身需求向仓库提出生产活动所必须的物质申请,并填写好出库申请表。
企业仓库根据现有物质判断是否该出库,如果可以就填写好出库表。
仓库管理员根据出库表核对并如实的发放仓库内的物质。
2.2方案分析
2.2.1将所有功能归结为四个模块:
(1)业务:
包括入库,配送出库,两个常用功能。
(2)查询,查询库存记录,配送记录等。
(3)数据处理,对已存在的数据进行操作,如,备份还原,费率设置等
(4)人员信息,所有与人有关的信息。
2.2.2定义每个版块的函数功能,以及子函数的确定。
2.2.3整个系统的功能排版,以及如何使其人性化。
三、概要设计
3.1数据结构
数据元素包括:
管理员(操作员)员工客户货物数据处理系统票据
管理人员:
读入,修改基本信息
员工:
负责送货
客户:
配送是终端,货物接收者
货物:
管理者,员工,及客户间的联系载体
数据处理:
处理各种数据管理的平台
票据:
交易的凭证
3.2逻辑结构与物理结构
逻辑结构:
用线性结构来处理数据元素之间的关系,将元素一项项的写下去;
物理结构:
采用顺序存储的方式来储存所有的数据。
3.3功能模块划分
3.3.1结构框图
3.3.2程序流图
3.3.3模块功能分析及外部设计
功能分析外部设计
即时业务:
基本的功能实现,入库,出库操作。
数据处理:
处理已有的数据,备份,还原,回交,费率设置。
人事处理:
对员工和客户查看。
3.4抽象数据类定义
数据对象:
Price,CarType,CarNum,Time,Destination,StartTime
基本操作:
Init();
Show();
ChangPrice(intp0);
ChangCar(charn[],chart[]);
ChangTime(inta,intb,intc);
Find(chard1[]);
Position(charn1[]);
GetCarNum();
GetCarType();
GetDestination();
GetPrice();
GetStartTime();
四、详细设计
4.1数据类型定义
价格(price)货号(unm1)员工编号(unm2)客户编号(num3)日期(time)数量(qua)
4.2主要模块内部设计
4.2.1.1.实现算法
cs.Init();
c.push_back(cs);
ch=getchar();
4.2.1.2流程图
4.2.2更改信息设计
4.2.2.更改信息
实现算法:
for(i=0;i{
if(c[i].Position(n))
{
cout<<"输入更改的费率:
";
cin>>p1;
c[i].ChangPrice(p1);
c[i].Show();
f=0;
break;
}
elsef=1;
}
4.2.3查找信息设计
4.2.3.查出信息
实现算法:
cout<<"输入要查询货物编号:
";
cin>>d1;
for(inti=0;i{
if(c[i].Find(d1))
{
c[i].Show();
f=0;
break;
}
else
f=1;
}
if(f)
cout<<"没有此货物编号"<五、实现与调试分析
实现环境:
系统WindowsXP系统
操作平台MicrosoftVisualC++6.0
语言c++
调试分析:
通过对系统的调试,完成了最初的设计要求,
使各个模块的功能得以实现。
六、测试分析
1.进入前管理员验证
2简洁的功能选择界面
3.入库操作
4、配送操作
5.费率设置
6.人员信息处理
七、设计总结
在为期近两周的C++课程设计中,我体会颇多,学到了很多东西。
我加强了对C++程序设计这门课程的认识,并且复习了自己以前学习到的知识。
这些都使得我对计算机语言的学习有了更深入的认识!
总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。
像职工信息表这样的程序设计,经历了平时在课堂和考试中不会出现的问题和考验。
而这些问题,这并不是我们平时只靠课本,就可以轻易解决的。
所以,锻炼了我们挑战难题,学会用已掌握的知识去解决具体问题的能力,进一步培养了独立思考问题和解决问题的能力。
特别是学会了在VisualC++中如何调试程序的方法。
当然,老师的指导和同学的帮助也是不可忽视的,他们给了我许多提示和帮助,教会了我编译复杂程序的方法。
总的来说,课程设计是让我更好的在学习和巩固一下我们所学的知识,俗话说:
学而致用,读万卷书不如行万里路就是这个道理。
参考文献
毕硕本、卢桂香编著《软件工程案例教程》北京大学出版2007年8月第一版
陈明编著《软件工程课程实践》清华大学出版社2009年8月第一版
施一萍编著《软件工程及软件开发应用》清华大学出版社2009年9月第一版
郑阿奇编著《VisualC++.NET程序设计教程》机械工程出版社2007年6月第一版
许家珆、白忠建、吴磊编著《软件工程——理论与实践》高等教育出版社2009年10月第二版
王珊编著《数据库系统概论》高等教育出版社2006年5月第四版
附录:
源代码
#include
#include
#include
#include
#include
classdata{
public:
intprice;
intnum;
};
classdata2:
publicdata
{
public:
intclientnum;
intxprice;
char*date;
};
classman{
charnum[10];
charname[10];
charsex[10];
public:
man(char*nu="",char*na="",char*se="")
{
strcpy(num,nu);
strcpy(name,na);
strcpy(sex,se);
}
friendostream&operator<<(ostream&out,constman&s)
{
out<returnout;
}
};
voidapp()
{
system("cls");
cout<<"1.即时业务办理"<cout<<"2.查询汇总处理"<cout<<"3.数据更改操作"<cout<<"4.人员信息处理"<cout<<"请输入你需要的操作:
";
intq=0;
cin>>q;
switch(q)
{
case1:
{
cout<<"1.入库"<cout<<"2.配送"<cout<<"请输入你需要的操作:
";
intw=0;
cin>>w;
if(w=1)
{
dataone;
cout<<"请输入此货物的价格:
";
cin>>one.price;
cout<<"请输入此货物的货号:
";
cin>>one.num;
app();
}
else{
data2two;
cout<<"请输入要配送的物品的货号:
";
cin>>two.num;
cout<";
cin>>two.price;
cout<";
cin>>two.clientnum;
cout<";
cin>>two.xprice;
cout<cin>>two.date;
}
app();
}
case2:
{
system("cls");
cout<<"1.按时间查询"<cout<<"2.按编号查询"<cout<<"3.显示库存"<cout<<"4.显示配送记录"</*intp=0;
cout<<"请输入你需要的操作:
";
cin>>p;
if(p==1)
{
char*qq;
cout<<"请输入日期";
cin>>qq;
if(qq==*/
app();
}
case3:
{
system("cls");
cout<<"1.建立套账"<cout<<"2.数据备份还原"<cout<<"3.数据提交回滚"<cout<<"4.费率设置"<intfa=0;
cout<<"请输入你需要的操作";
cin>>fa;
switch(fa)
{
case1:
{
cout<<"已建立套账"<app();
}
case2:
{
cout<<"已建立备份还原"<app();
}
case3:
{
cout<<"数据已经提交回滚"<app();
}
case4:
{
cout<<"请输入费率";
intff=0;
cin>>ff;
cout<<"费率已经设置为:
"<app();
}
}
app();
}
case4:
{
system("cls");
cout<<"1.操作员信息建立"<cout<<"2.操作员信息查看"<inte=0;
cout<<"请输入你需要的操作";
cin>>e;
if(e==1)
{
ofstreamout("people.dat");
manabc[10]={man("A45926","陈阿梅","女"),
man("B89757","刘卫东","男"),
man("C78532","金城武","男"),
man("F12598","木婉清","女"),
man("D12482","王大宝","男")};
out.write((char*)abc,sizeof(man)*5);
out.close();
cout<<"文件已经建立"<getchar();
}
if(e==2)
{
manbcd[10];
intii=0;
ifstreamin("people.dat");
while(!
in.eof())
in.read((char*)&bcd[ii++],sizeof(man));
cout<<"编号"<<"\t\t"<<"姓名"<<"\t\t"<<"性别"<for(intjj=0;jjcout<in.close();
getchar();
}
app();
}
}
}
voidmain()
{
cout<<"欢迎保用物流配送管理系统"<inti=0;
cout<<"请输入操作员的编号:
";
cin>>i;
cout<<"请确认你的操作编号是"<
charch;
cin>>ch;
if(ch=='y')
app();
}