物流配送管理系统.docx

上传人:b****6 文档编号:6333363 上传时间:2023-01-05 格式:DOCX 页数:21 大小:27.02KB
下载 相关 举报
物流配送管理系统.docx_第1页
第1页 / 共21页
物流配送管理系统.docx_第2页
第2页 / 共21页
物流配送管理系统.docx_第3页
第3页 / 共21页
物流配送管理系统.docx_第4页
第4页 / 共21页
物流配送管理系统.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

物流配送管理系统.docx

《物流配送管理系统.docx》由会员分享,可在线阅读,更多相关《物流配送管理系统.docx(21页珍藏版)》请在冰豆网上搜索。

物流配送管理系统.docx

物流配送管理系统

数学与计算机学院

课程设计说明书

课程名称:

软件工程课程设计

课程代码:

8404131

题目:

物流配送管理系统

年级/专业/班:

09软件工程(04)

学生姓名:

学  号:

开始时间:

2011年05月27日

完成时间:

2011年06月12日

课程设计成绩:

学习态度及平时成绩(30)

技术水平与实际能力(20)

创新(5)

说明书(计算书、图纸、分析报告)撰写质量(45)

总分(100)

指导教师签名:

年月日

软件工程课程设计任务书

学院名称:

数学与计算机学院课程代码:

____8404131__________

专业:

软件工程年级:

09

一、设计题目

物流配送管理系统

二、主要内容

1、业务(收入、支出)处理模块:

配送业务的开票、收款、收空包、核对入帐等。

?

2、查询汇总:

业务流水记录、组合方式的汇总统计。

?

3、排行榜:

与应收、实收、欠收及日期段任意组合,按配送员、客户、商品排序。

?

4、报表输出:

5、费率设置:

多种客户销售价格以及配送工报酬计算方式。

?

6、人员信息:

包含软件操作员、员工、客户等基本信息。

?

7、数据库处理:

新套帐的建立、数据备份及还原、数据提交与回滚等。

三、具体要求及应提交的材料

1.分析设计要求,给出解决方案(要说明设计实现所用的原理,采用的数据结构);

2.模块化程序设计,画出程序的基本结构框图和流程图;

3.对程序的每一部分要有详细的设计分析说明;

4.程序执行的每个步骤要有具体的提示内容或输出;

5.源代码格式规范(锯齿型书写格式),注释不少于三分之一;

6.设计合适的测试用例,对得到的运行结果要有分析;

7.设计中遇到的问题,设计的心得体会。

设计结束后,每位同学必须上交如下材料:

1.《课程设计说明书》打印稿一份;

2.《课程设计说明书》电子文档及课程设计的程序源代码刻盘

电子文档

1、课程设计报告

2、课程设计任务书

3、程序说明文件

4、总结报告

5、程序源代码

四、主要技术路线提示

首先根据要解决的问题进行分析和总体设计,得到要定义的数据结构和函数,然后进行

详细编码,在主函数中对各功能函数进行测试。

五、进度安排

序号

设计内容

天数

1

分析设计内容,给出解决方案

4

2

创建数据库及建表

2

3

可视化界面设计

4

4

对所建数据库进行设计,整理设计思路,编码、测试,写出课程设计报告

4

5

指导老师检查设计结果并做成绩评定

4

总计

20

六、推荐参考资料(不少于3篇)

[1]张海藩.软件工程导论(第五版)[M].北京:

清华大学出版社,2008

[2]王红梅,胡明,王涛.数据结构(C++版)[M].北京:

清华大学出版社,2005

[3]王珊,萨师煊.数据库系统概论[M].北京:

高等教育出版社,2006

[4]BainServer2000数据仓库[M].北京.电力出版社,2003

[5],

指导教师签名日期年月日

系主任审核日期年月日

1前言

物流配送是销售公司企业的主要后备力量的机构,势必要在物资方面加以严格有序的管理,对各种资源进行信息化管理。

这样企业在可以放心的生产和出售产品了。

经济效益有大幅度提高,本系统就是针对企业的迫切需要而设计的。

在与对我们设计的仓库管理系统进行可行分析,要求对市场、经济、社会、法律等综合的一个最优方案。

我们的项目名称为物质仓库管理系统。

物资仓库信息管理系统就是把仓库的进货信息、销售信息、客户信息进行信息化管理,通过它的管理,可以将信息直观的提供给管理人员,加强对企业用人的优化分配,充分发挥人的作,提高仓库整体工作效率,……

……

……

可行性研究的前提

功能:

本系统主要对仓库有五个部分的功能(采购、检验、入库、出库、对比),以及打出一系列的报表和账单。

性能:

在短时间内查看仓库信息及准确的数据报表;定期对数据库数据备份。

输出:

订单及预订单、入库单及现有库存表、出库单现有库存表、还库单及惩罚表。

输入:

计划单编号、预订单编号、入库单编号、出库申请编号、出库单编号。

安全与保密要求:

企业应用我们开发的系统,只对本企业内部开放信息。

基于不参与互联网很少受到病毒的攻击以及定期维护,所以本系统是安全准确的。

与软件相关的其他系统:

仓库管理系统、物流管理系统。

2需求分析

引言

随着社会发展的日新月异,商业往来日渐广泛,物资多样化,以及计算机的普及,对于企业物流配送管理要求逐渐变大,从而开发本物流配送管理系统,来更好的对仓库进行管理。

本报告读者对象为研发中心领导和主管技术人员,以及项目设计和开发人员。

待开发的软件系统名称:

物资仓库管理系统

本项目的任务提出者:

企业仓库管理人员

本项目的任务开发者:

物流配送管理系统软件开发小组

用户及实现该软件的计算中心或计算机网络:

企业计算机

功能分析

1、业务(收入、支出)处理模块:

配送业务的开票、收款、收空包、核对入帐等。

?

2、查询汇总:

业务流水记录、组合方式的汇总统计。

?

3、排行榜:

与应收、实收、欠收及日期段任意组合,按配送员、客户、商品排序。

?

4、报表输出:

5、费率设置:

多种客户销售价格以及配送工报酬计算方式。

?

6、人员信息:

包含软件操作员、员工、客户等基本信息。

?

7、数据库处理:

新套帐的建立、数据备份及还原、数据提交与回滚等。

系统开发的总体任务是实现企业仓库各种信息的系统化、规范化和自动化。

主要完成功能:

企业部门提出购买计划交给仓库,仓库通过与现有库存作比对。

如有必要进货,就将此购买计划交给采购员,由采购员进行采购。

采购员与供应商进行谈价,达成协议,填写预订单(供应商留下的叫做订单)。

供应商带着订单送到公司,企业仓库拿出预订单进行核对。

核对无误后确认有效托收,托收进行检验入库,入库同时填写好入库登记表。

企业各部门根据自身需求向仓库提出生产活动所必须的物质申请,并填写好出库申请表。

企业仓库根据现有物质判断是否该出库,如果可以就填写好出库表。

仓库管理员根据出库表核对并如实的发放仓库内的物质。

更新仓库现有库存。

方案分析

1.将说有功能归结为四个模块:

(1)业务:

包括入库,配送出库,两个常用功能。

(2)查询,查询库存记录,配送记录等。

(3)数据处理,对已存在的数据进行操作,如,备份还原,费率设置等

(4)人员信息,所有与人有关的信息。

2.定义每个版块的函数功能,以及子函数的确定。

3.整个系统的功能排版,以及如何使其人性化

3概要设计

随着经济发展的日新月异,公司企业日益增多,对仓库的需求也变多。

于是,对仓库的管理要求也提高,管理系统由此产生。

本阶段完成系统的大致设计并明确系统的数据结构与软件结构。

在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总体概貌。

本概要设计说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。

本报告读者对象为项目设计和开发人员,以及技术人员。

项目名称为:

物资仓库管理系统。

本项目的任务提出者为数计学院软件工程课程设计小组,并由组员共同开发,本项目设计过程中参考了基于Windows系统的数据库管理系统。

数据结构

数据元素包括;管理员(操作员)员工客户货物数据处理系统票据

管理人员:

读入,修改基本信息

员工:

负责送货;

客户:

配送是终端,货物接收者

货物:

管理者,员工,及客户间的联系载体。

数据处理:

处理各种数据管理的平台;

票据:

交易的凭证。

货物

价格

客户

员工

编号

管理员

系统板

票据

编号

日期

结构E-R图

员工

管理员

物流配送

系统

客户

逻辑结构与物理结构

逻辑结构:

用线性结构来处理数据元素之间的关系,

将元素一项项的写下去

物理结构:

采用顺序存储的方式来储存所有的数据

功能模块划分

物流配送系统

即时业务

人员信息

数据处理

查询汇总

客户信息

员工信息

操作员

数据提交

数据备份及还原

数据备份

套帐的建立

显示库存

配送记录

编号查询

按时查询

入库

配送

数量

开始

管理员身份验证

操作选择

输入库存

配送货物

查询数据

退出系统

输入选择操作

操作类型

人事查询更改

返回菜单

数据备份还原

建立套帐

记录业务

查业询务

功能分析外部设计

即时业务:

基本的功能实现,入库,出库操作。

数据处理:

处理已有的数据,备份,还原,回交,费率设置。

人事处理:

对员工和客户查看。

抽象数据类定义

数据对象:

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();

}ADTTicket

4详细设计

数据类型定义

价格(price)货号(unm1)员工编号(unm2)客户编号(num3)日期(time)数量(qua)

主要模块内部设计

();

(cs);

ch=getchar();

.信息输入设计

();

(cs);

ch=getchar();

开始界面

开始

输入所有内容

返回主界面

结束

更改信息设计

1.更改费率

实现算法

for(i=0;i<();i++)

{

if(c[i].Position(n))

{

cout<<"输入更改的费率:

";

cin>>p1;

c[i].ChangPrice(p1);

c[i].Show();

f=0;

break;

}

elsef=1;

}

结束

输入更改

输入费率

没有改信息

查找信息设计

实现算法

cout<<"输入要查询货物编号:

";

cin>>d1;

for(inti=0;i<();i++)

{

if(c[i].Find(d1))

{

c[i].Show();

f=0;

break;

}

else

f=1;

}

if(f)

cout<<"没有此货物编号"<

流程图

结束

查找

输入编号

没有改信息

输出结果

5实现与调试分析

实现环境

系统WindowsXP系统

操作平台MicrosoftVisualC++

语言c++

调试分析:

通过对系统的调试,完成了最初的设计要求,

使各个模块的功能得以实现;

6测试分析

编写目的

软件测试是为了发现程序中的问题。

本系统技术不很成熟,存在不少问题,测试变得非常重要。

软件测试的过程也是程序运行的过程,程序运行需要数据,为测试设计的数据称测试用例,设计测试用例的原则自然是尽可能暴露错误。

由于测试涉及问题很多,工作量又大,所以测试之前必须制订一个计划。

背景

由物流配送管理系统开发者开发出的系统进行测试。

测试内容

软件测试主要工作内容是验证和确认,下面分别给出其概念:

验证是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。

1)确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;

2)程序正确性的形式证明,即采用形式理论证明程序符号设一计规约规定的过程;

3)评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。

确认是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。

即保证软件以正确的方式来做了这个事件。

1)静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性;

2)动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。

软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期问各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。

软件测试的分类

黑盒测试

黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,

在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。

黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。

“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。

“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。

实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。

白盒测试

  白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。

“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。

“白盒”法是穷举路径测试。

在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。

贯穿程序的独立路径数是天文数字。

但即使每条路径都测试了仍然可能有错误。

第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。

第二,穷举路径测试不可能查出程序中因遗漏路径而出错。

第三,穷举路径测试可能发现不了一些与数据相关的错误。

单元测试又称模块测试,是针对软件设计的最小单位─程序模块,进行正确性检验的测试工作。

其目的在于发现各模块内部可能存在的各种差错。

单元测试需要从程序的内部结构出发设计测试用例。

多个模块可以平行地独立进行单元测试。

在单元测试时,测试者需要依据详细设计说明书和源程序清单,了解该模块的I/O条件和模块的逻辑结构,主要采用白盒测试的测试用例,辅之以黑盒测试的测试用例,使之对任何合理的输入和不合理的输入,都能鉴别和响应。

通常,在单元测试的基础上,需要将所有模块按照设计要求组装成为系统。

这时需要考虑的问题是:

1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;

2)一个模块的功能是否会对另一个模块的功能产生不利的影响;

3)各个子功能组合起来,能否达到预期要求的父功能;

4)全局数据结构是否有问题;

5)单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。

  确认测试又称有效性测试。

任务是验证软件的功能和性能及其它特性是否与用户的要求一致。

对软件的功能和性能要求在软件需求规格说明书中已经明确规定。

它包含的信息就是软件确认测试的基础。

1)在通过了系统的有效性测试及软件配置审查之后,就应开始系统的验收测试。

2)验收测试是以用户为主的测试。

软件开发人员和QA(质量保证)人员也应参加。

3)由用户参加设计测试用例,使用生产中的实际数据进行测试。

4)在测试过程中,除了考虑软件的功能和性能外,还应对软件的可移植性、兼容性、可维护性、错误的恢复功能等进行确认。

5)确认测试应交付的文档有:

确认测试分析报告,最终的用户手册和操作手册,项目开发总结报告。

  系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。

  系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统的定义不符合或与之矛盾的地方

7用户手册

1.进入前管理员验证

2简洁的功能选择界面

3.入库操作

4配送操作

5.费率设置

6.人员信息处理

总结

本次实验可以说是毕业设计的模板,以往的课程设计和这相比只是一个小程序。

实验中对于系统的整体框架和功能,我们有过争论也有了共识。

经过多天团队的图书馆的资料查阅,网上资源的查找,遇到不能下载的例文不得不一页一页的截图,一切付出和努力终于有了成果。

本实验中我完成了概要设计部分,为了能够有效完成任务,参考了课本和相关资料中有关这一内容的部分;也在完成层次图和模块图的时候遇到了困难,不过经过不懈的努力最终完成。

在概要设计中,由于系统未成形,对于一些部分没有深入设计,只对其进行了文字描述。

这是我第一次做有整体性的系统性课程设计:

要考虑系统的整体功能,要配合团队的思想,对系统改进要配合队友的整体设计。

同时我也学到了很多:

对课程的设计要有我们自己的观点,要学会主动思考,不能局限于例文。

在系统功能设计时要多听取他人意见,要保证系统能带给使用者优越感和实用性,这些对将来毕业设计都有很大帮助。

经过本次设计,对毕业设计有了了解,我知道毕业设计比这次的要求更高,更严谨,系统设计的要更完善;不过,我有信心能够做的更好。

这次软件工程的课程设计持续的时间很长,让我们有足够多的时间去完成,但前期准备不足,没花多少时间在课程设计上,以至于到最后一周都还没做完,还好,能够如期完成本次课程设计。

通过本次课程设计学到了不少东西,能够将课堂上学到的知识用到本次课程设计中,但同时也发现了自己的不足,虽然上课都听了,笔记也记了,但做课程设计的过程中发现自己还有很多不会,不能灵活运用上课学到的知识,通过问其他同学,冰河本小组成员之间相互讨论,把问题解决了。

感谢老师,感谢同学,能够有这次机会做本课程设计,而学到一些东西。

在需求分析,详细设计,概率统计中,有很多地方是要画图,本小组以以人为主,互相之间讨论,得出结果,其他可行性分析,界面设计等因为比较简单,都由个人自主完成。

本课程设计由全体小组全部完成,都是不是认为自己能做好的,但我们做完了,很有成就感。

懂得,做事不投机取巧,尽量自己认真去完成。

这次的软件工程课程实验用时颇长,但我从这次的课程设计中得到了宝贵的经验和一些实验心得。

首先先说说作课程设计的一些经验。

在选择课程设计的题目时,首先先要和小组成员探讨一下哪些课题比较适合我们小组成员喜欢作的,然后大家在集体研究下该课题需要完成哪些功能,也就是说需要哪些知识,然后小组组长安排小组成员分别做哪些部分,这样就可以做到分工明确,每个小组成员都能做到一部分课程设计,以免个别成员偷懒。

接着,每个小组成员根据多分到的课程设计中的一部分,上网或者图书馆找相关的资料已完成所需的设计。

最后,各个小组成员然后在一起把所有的资料集中到一起分享,这样就可以得到关于课程设计的知识,以便更好的完成设计。

其次再说说自己的感想。

通过近1个月的课程设计,我发现了我在做课程设计这块上经验的缺乏,以及一些知识的匮乏,导致我前期做起来感到费劲。

通过仔细的看完和研究下《软件工程及软件开发应用》中的相关知识,我以前没学好的知识,如:

需求分析中的数据流程图和数据字典,总体设计中的结构图,尤其是我所做的那课程设计中的详细设计,让我更加的对程序流程图,N-S图,PAD图等构成设计的工具的了解和熟悉。

总的来说,课程设计是让我们更好的在学习和巩固一下我们所学的知识,俗话说:

学而致用,读万卷书不如行万里路就是这个道理。

参考文献

毕硕本、卢桂香编着《软件工程案例教程》北京大学出版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>>;

cout<<"请输入此货物的货号:

";

cin>>;

app();

}

else{

data2two;

cout<<"请输入要配送的物品的货号:

";

cin>>;

cout<

";

cin>>;

cout<

";

cin>>;

cout<

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1