物流管理物流配送管理系统.docx
- 文档编号:7294886
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:23
- 大小:97.21KB
物流管理物流配送管理系统.docx
《物流管理物流配送管理系统.docx》由会员分享,可在线阅读,更多相关《物流管理物流配送管理系统.docx(23页珍藏版)》请在冰豆网上搜索。
物流管理物流配送管理系统
(物流管理)物流配送管理系统
数学和计算机学院
课程设计说明书
课程名称:
软件工程课程设计
课程代码:
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]BainT.SQLServer2000数据仓库[M].北京.电力出版社,2003
[5]GoogleWebAPIsReference[EB/OL].http:
///api/reference,2005.5
指导教师签名日期年月日
系主任审核日期年月日
1前言6
1.2可行性研究的前提6
2需求分析6
2.1引言6
2.1功能分析7
2.2方案分析8
3概要设计8
3.1数据结构8
结构E-R图9
3.2逻辑结构和物理结构10
3.3功能模块划分10
3.4抽象数据类定义12
4详细设计13
4.1数据类型定义13
4.2主要模块内部设计13
4.2.信息输入设计13
4.2.2更改信息设计14
4.2.3查找信息设计15
5实现和调试分析17
6测试分析17
6.1编写目的17
6.2背景17
6.3测试内容18
6.4软件测试的分类18
7用户手册21
总结24
参考文献26
附录源代码27
1前言
物流配送是销售公司企业的主要后备力量的机构,势必要于物资方面加以严格有序的管理,对各种资源进行信息化管理。
这样企业于能够放心的生产和出售产品了。
经济效益有大幅度提高,本系统就是针对企业的迫切需要而设计的。
于和对我们设计的仓库管理系统进行可行分析,要求对市场、经济、社会、法律等综合的壹个最优方案。
我们的项目名称为物质仓库管理系统。
物资仓库信息管理系统就是把仓库的进货信息、销售信息、客户信息进行信息化管理,通过它的管理,能够将信息直观的提供给管理人员,加强对企业用人的优化分配,充分发挥人的作,提高仓库整体工作效率,……
……
……
1.2可行性研究的前提
1.2.1要求
功能:
本系统主要对仓库有五个部分的功能(采购、检验、入库、出库、对比),以及打出壹系列的报表和账单。
性能:
于短时间内查见仓库信息及准确的数据报表;定期对数据库数据备份。
输出:
订单及预订单、入库单及现有库存表、出库单现有库存表、仍库单及惩罚表。
输入:
计划单编号、预订单编号、入库单编号、出库申请编号、出库单编号。
安全和保密要求:
企业应用我们开发的系统,只对本企业内部开放信息。
基于不参和互联网很少受到病毒的攻击以及定期维护,所以本系统是安全准确的。
和软件关联的其他系统:
仓库管理系统、物流管理系统。
2需求分析
2.1引言
2.1.1编写目的
随着社会发展的日新月异,商业往来日渐广泛,物资多样化,以及计算机的普及,对于企业物流配送管理要求逐渐变大,从而开发本物流配送管理系统,来更好的对仓库进行管理。
本方案读者对象为研发中心领导和主管技术人员,以及项目设计和开发人员。
2.1.2项目背景
待开发的软件系统名称:
物资仓库管理系统
本项目的任务提出者:
企业仓库管理人员
本项目的任务开发者:
物流配送管理系统软件开发小组
用户及实现该软件的计算中心或计算机网络:
企业计算机
2.1功能分析
1、业务(收入、支出)处理模块:
配送业务的开票、收款、收空包、核对入帐等。
2、查询汇总:
业务流水记录、组合方式的汇总统计。
3、排行榜:
和应收、实收、欠收及日期段任意组合,按配送员、客户、商品排序。
4、报表输出:
5、费率设置:
多种客户销售价格以及配送工报酬计算方式。
6、人员信息:
包含软件操作员、员工、客户等基本信息。
7、数据库处理:
新套帐的建立、数据备份及仍原、数据提交和回滚等。
。
系统开发的总体任务是实现企业仓库各种信息的系统化、规范化和自动化。
主要完成功能:
企业部门提出购买计划交给仓库,仓库通过和现有库存作比对。
如有必要进货,就将此购买计划交给采购员,由采购员进行采购。
采购员和供应商进行谈价,达成协议,填写预订单(供应商留下的叫做订单)。
供应商带着订单送到公司,企业仓库拿出预订单进行核对。
核对无误后确认有效托收,托收进行检验入库,入库同时填写好入库登记表。
企业各部门根据自身需求向仓库提出生产活动所必须的物质申请,且填写好出库申请表。
企业仓库根据现有物质判断是否该出库,如果能够就填写好出库表。
仓库管理员根据出库表核对且如实的发放仓库内的物质。
更新仓库现有库存。
2.2方案分析
1.将说有功能归结为四个模块:
(1)业务:
包括入库,配送出库,俩个常用功能。
(2)查询,查询库存记录,配送记录等。
(3)数据处理,对已存于的数据进行操作,如,备份仍原,费率设置等
(4)人员信息,所有和人有关的信息。
2.定义每个版块的函数功能,以及子函数的确定。
3.整个系统的功能排版,以及如何使其人性化
3概要设计
3.1.1编写目的
随着经济发展的日新月异,公司企业日益增多,对仓库的需求也变多。
于是,对仓库的管理要求也提高,管理系统由此产生。
本阶段完成系统的大致设计且明确系统的数据结构和软件结构。
于软件设计阶段主要是把壹个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总体概貌。
本概要设计说明书的目的就是进壹步细化软件设计阶段得出的软件总体概貌,把它加工成于程序细节上非常接近于源程序的软件表示。
本方案读者对象为项目设计和开发人员,以及技术人员。
3.1.2项目背景
项目名称为:
物资仓库管理系统。
本项目的任务提出者为数计学院软件工程课程设计小组,且由组员共同开发,本项目设计过程中参考了基于Windows系统的数据库管理系统。
3.1数据结构
数据元素包括;管理员(操作员)员工客户货物数据处理系统票据
管理人员:
读入,修改基本信息
员工:
负责送货;
客户:
配送是终端,货物接收者
货物:
管理者,员工,及客户间的联系载体。
数据处理:
处理各种数据管理的平台;
票据:
交易的凭证。
结构E-R图
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();
}ADTTicket
4详细设计
4.1数据类型定义
价格(price)货号(unm1)员工编号(unm2)客户编号(num3)日期(time)数量(qua)
4.2主要模块内部设计
4.2.1.1.实现算法
cs.Init();
c.push_back(cs);
ch=getchar();
4.2.信息输入设计
4.2.1.1模块算法
4.2.1.输入信息
4.2.1.1.实现算法
cs.Init();
c.push_back(cs);
ch=getchar();
4.2.1.2流程图
4.2.2更改信息设计
4.2.2.更改信息
1.更改费率
实现算法
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<<"没有此货物编号"< 流程图 5实现和调试分析 实现环境 系统WindowsXP系统 操作平台MicrosoftVisualC++6.0 语言c++ 调试分析: 通过对系统的调试,完成了最初的设计要求, 使各个模块的功能得以实现; 6测试分析 6.1编写目的 软件测试是为了发现程序中的问题。 本系统技术不很成熟,存于不少问题,测试变得非常重要。 软件测试的过程也是程序运行的过程,程序运行需要数据,为测试设计的数据称测试用例,设计测试用例的原则自然是尽可能暴露错误。 由于测试涉及问题很多,工作量又大,所以测试之前必须制订壹个计划。 6.2背景 由物流配送管理系统开发者开发出的系统进行测试。 6.3测试内容 软件测试主要工作内容是验证和确认,下面分别给出其概念: 验证是保证软件正确地实现了壹些特定功能的壹系列活动,即保证软件做了你所期望的事情。 1)确定软件生存周期中的壹个给定阶段的产品是否达到前阶段确立的需求的过程; 2)程序正确性的形式证明,即采用形式理论证明程序符号设壹计规约规定的过程; 3)评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相壹致进行判断和提出方案。 确认是壹系列的活动和过程,目的是想证实于壹个给定的外部环境中软件的逻辑正确性。 即保证软件以正确的方式来做了这个事件。 1)静态确认,不于计算机上实际执行程序,通过人工或程序分析来证明软件的正确性; 2)动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存于问题。 软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期问各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象仍是源程序。 6.4软件测试的分类 6.4.1关心软件内部结构和具体实现的角度划分,可分为白盒测试和黑盒测试。 6.4.1.1黑盒测试 黑盒测试也称功能测试或数据驱动测试,它是于已知产品所应具有的功能,通过测试来检测每个功能是否均能正常使用, 于测试时,把程序见作壹个不能打开的黑盆子,于完全不考虑程序内部结构和内部特性的情况下,测试者于程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,且且保持外部信息(如数据库或文件)的完整性。 黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。 “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。 “黑盒”法是穷举输入测试,只有把所有可能的输入均作为测试情况使用,才能以这种方法查出程序中所有的错误。 实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且仍要对那些不合法可是可能的输入进行测试。 6.4.1.2白盒测试 白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否均有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。 “白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。 “白盒”法是穷举路径测试。 于使用这壹方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。 贯穿程序的独立路径数是天文数字。 但即使每条路径均测试了仍然可能有错误。 第壹,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。 第二,穷举路径测试不可能查出程序中因遗漏路径而出错。 第三,穷举路径测试可能发现不了壹些和数据关联的错误。 6.4.2从是否执行程序的角度,可分为静态测试和动态测试。 6.4.3从软件开发的过程按阶段划分,可分为单元测试、集成测试、确认测试、验收测试和系统测试。 6.4.3.1单元测试 单元测试又称模块测试,是针对软件设计的最小单位─程序模块,进行正确性检验的测试工作。 其目的于于发现各模块内部可能存于的各种差错。 单元测试需要从程序的内部结构出发设计测试用例。 多个模块能够平行地独立进行单元测试。 于单元测试时,测试者需要依据详细设计说明书和源程序清单,了解该模块的I/O条件和模块的逻辑结构,主要采用白盒测试的测试用例,辅之以黑盒测试的测试用例,使之对任何合理的输入和不合理的输入,均能鉴别和响应。 6.4.3.2集成测试 通常,于单元测试的基础上,需要将所有模块按照设计要求组装成为系统。 这时需要考虑的问题是: 1)于把各个模块连接起来的时候,穿越模块接口的数据是否会丢失; 2)壹个模块的功能是否会对另壹个模块的功能产生不利的影响; 3)各个子功能组合起来,能否达到预期要求的父功能; 4)全局数据结构是否有问题; 5)单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。 7.4.3.3确认测试 确认测试又称有效性测试。 任务是验证软件的功能和性能及其它特性是否和用户的要求壹致。 对软件的功能和性能要求于软件需求规格说明书中已经明确规定。 它包含的信息就是软件确认测试的基础。 6.4.3.4验收测试 1)于通过了系统的有效性测试及软件配置审查之后,就应开始系统的验收测试。 2)验收测试是以用户为主的测试。 软件开发人员和QA(质量保证)人员也应参加。 3)由用户参加设计测试用例,使用生产中的实际数据进行测试。 4)于测试过程中,除了考虑软件的功能和性能外,仍应对软件的可移植性、兼容性、可维护性、错误的恢复功能等进行确认。 5)确认测试应交付的文档有: 确认测试分析方案,最终的用户手册和操作手册,项目开发总结方案。 6.4.3.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<<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 物流 管理 物流配送 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)