软件工程课程设计报告物流配送管理系统.docx
物流配送管理系统 青岛工学院软件工程课程设计报告书题 目物流配送管理系统学生姓名王硕 郭庆博 宋钊指导教师杨彦明系 部信息工程系专业班级2009级计算机科学与技术1班目 录摘 要4第一章 系统分析51.1 概述51.1.1 系统分析的含义和目标51.1.2 系统分析的任务51.1.3 系统分析的步骤51.2 现行系统主要问题分析61.3 可行性分析61.3.1 技术可行性分析61.3.2 经济可行性分析71.3.3 营运可行性分析7第二章需求分析82.1 数据字典82.1.1 数据流82.1.2 数据字典10第三章系统概要设计113.1数据库设计113.1.1 实体描述113.1.2 联系描述123.1.3 E-R图12第四章 系统详细设计134.1 数据库的逻辑设计134.2 数据库的实现144.3 程序流程图174.4 计算机系统配置方案204.4.1 计算机系统硬件配置204.4.2 计算机系统软件配置204.5 历史信息的管理204.6 人机界面的设计214.6.1 登录界面设计214.6.2 系统基本信息界面设计224.6.3 商品信息界面234.6.4 查询界面234.6.5 订购界面244.6.6 配货界面254.6.7 送货界面264.6.8 验收界面26第五章 系统实现275.1 概述275.2 编程工具与环境275.3系统测试275.4 系统运行与维护29第六章 结束语306.1 概述306.2 系统的功能306.3 系统的特点306.4 存在问题及改进方向306.5 系统开发的体会316.6 致谢3132摘 要物流信息管理系统是一个由人和计算机等组成的能进行信息收集、传输、加工、保存、维护和使用的系统。本系统主要通过使用管理信息系统(MIS)的方法,对日常业务处理和信息资源进行全面、系统的管理。在整个系统开发的过程中,运用了软件工程的基本概念、相关技术和方法。并且采用了系统生命周期的结构化程序设计方法,从而将整个系统开发各阶段(系统分析、系统设计、系统实施)的基本活动贯穿起来。本系统希望能够通过物流进管理信息系统的建立,理顺信息流程和流向,使管理更加完善,使管理人员在信息系统的辅助下进行工作,提高管理的整体水平。 本系统采用Delphi开发设计,数据库采用SQL Server 2008。关键词:物流配送信息系统 SQL Server 2008 Delphi2005 第一章 系统分析1.1 概述1.1.1 系统分析的含义和目标系统分析(systems analysis),是指在管理信息系统开发的生命周期中应用系统思想和系统科学的原理进行分析工作的方法和技术。系统分析阶段的目标:就是按系统规划所定的某个开发项目范围内明确系统开发的目标和用户的信息需求,提出系统的逻辑方案。1.1.2 系统分析的任务系统分析的任务是:尽可能弄清用户对信息的需求,调查原信息系统的资源、输入、处理和输出。完成新系统的逻辑设计,以满足业务发展要求。系统分析的具体工作内容包括:(1) 可行性分析;(2) 详细调查;(3) 系统性分析;(4) 提出新系统的逻辑模型1.1.3 系统分析的步骤系统分析阶段的主要活动是:系统的初步调查、可行性研究、系统的详细调查、新系统逻辑方案的提出。(1) 系统的初步调查:系统的初步调查是着重于系统的总体目标、总体功能和发展方向。(2) 可行性的研究:可行性的研究是进一步明确系统的目标、规模与功能,对系统发展背景、必要性和意义进行调查分析并根据需要和可能提出拟定开发系统的初步方案计划。(3) 现行系统详细调查:在可行性研究的基础上进一步对现行系统进行全面、深入的调查和分析,弄清楚现行系统运行状况,发现其薄弱环节,找出要解决的问题实质,确保新系统更有效。(4) 新系统逻辑方案的提出:主要明确用户的信息需求,确定新系统的逻辑功能,提出新系统的逻辑方案。1.2 现行系统主要问题分析1)基本信息表的查询(商品基本信息、员工基本信息、司机基本信息、订购客户信息表、供货客户表、库存表)2)订购客户下订单,即将订购客户订购详情打入数据库中3)采购环节,系统可对订单商品进行汇总。负责人则根据汇总情况安排人员采购4)采购完成后,采购员可把采购信息输入系统,同时负责人可安排查看需要发货的订单,并安排司机送货5)送货完成后,等待订购客户确认收货6)订购客户确认后,计算相应订单盈利,并送往订单盈利核算表中1.3 可行性分析在明确系统目标和环境的基础上,需要进一步对系统的可行性进行研究。此活动的主要目标是进一步明确系统的目标、规模与功能,对系统开发背景、必要性和意义进行调查分析并根据需要和可能提出拟开发系统的初步方案与计划。可行性研究是针对系统进行全面、概要的分析,主要包括三方面:技术可行性分析、经济可行性分析和营运可行性分析。1.3.1 技术可行性分析技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬、软件配置能否满足开发者需要等。本系统采用 Windows 7 Professional作为操作系统平台。本系统的数据库开发平台选用Microsoft公司的SQL Server2008,该数据库管理系统在Windows 7 Professional上能提供数据库之间的数据复制功能,可代替现有系统数据的手工传递工作,降低出错率,提高数据的可用性。本系统的应用软件开发工具选用的是开发人员熟悉的Delphi。1.3.2 经济可行性分析主要是对项目的经济效益进行评价。 1.3.3 营运可行性分析主要是管理人员对开发信息系统是否支持,现有设计是否科学,原始数据是否正确等。系统操作简单,易于理解,管理员经过短时间的培训就可以使用该系统。第二章需求分析这一阶段的主要目标是明确项目的需求,确定新系统的逻辑功能,提出新系统的逻辑方案,完成系统分析阶段的最终成果系统说明书的编写。2.1 数据字典上面讨论的数据流图只能给出系统逻辑功能的一个总框架而缺乏详细、具体的内容,因此我们还需要建立数据字典。建立数据字典是为了对数据流程图上各个元素做出详细的定义和说明。数据字典以一种准确的和无二义的方式定义所有被加工引用的数据流和数据存储。数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行描述,从而形成一个完整的说明。数据字典有助于数据的进一步管理和控制,为设计人员和数据库管理人员在数据库设计、实现和运行阶段控制有关数据提供依据。数据字典描述的主要内容有:数据流、数据元素、数据存储、加工外部项。2.1.1 数据流数据流是数据结构在系统内传输的路径。第一层DFD P2物流管理作业客户D1 库存信息D2订单信息客户基本资料库存变动供应商 P1物流决策管理库存帐订单存挡客户资料供应商发货 P2.1仓库管理 P2.2订单处理客户订单D2 订单信息管理员发货D7 派司机D6 配送信息订货单货款通知单发货单入仓单存档出仓单存档订单存档配送存档司机存档 P2.3配送管理 P2.4结算管理第二层DFD 第三层DFD供应商D1 入仓单P3.1入仓管理D4 入库数据D5 出库信息入仓单存档库存台帐等有货再发货订单P3.6库存控制P3.5出仓管理P3.4库存查询2.1.2 数据字典No名称数据类型null主键内容1商品编号Char(20)不允许是商品的编号2商品名称Char(20)不允许商品的名称3规格Char(20)允许商品规格4包装Char(20)允许袋装还是散装5单价Money(8)不允许(元/斤)6用户名Char(20)不允许是用户名称7密码Char(20)不允许用户的密码8权限Char(20)不允许用户的身份9客户编号Char(20)不允许是客户的编号10客户名称Char(20)允许客户公司的名称11公司类别Char(20)允许公司属于哪方面服务12传真Char(20)允许公司的传真13通信地址Char(20)不允许公司的地址14联系人Char(20)不允许公司的联系人15联系电话Char(20)不允许客户电话16订购编号Char(20)不允许是订购的编号17订购日期Char(20)不允许订购的日期18订购客户编号Char(20)不允许订购客户编号19商品编号Char(20)不允许订购物品的编号20商品数量Int(4)不允许订购物品的数量21状态Char(20)允许订单状态22员工编号Char(20)不允许是员工的编号23员工姓名Char(20)不允许员工的姓名24员工性别Char(20)不允许员工的性别25员工职务Char(20)不允许员工的职务26员工部门Char(20)不允许员工的部门27联系电话Char(20)不允许员工的联系电话28备注Char(20)允许特别的事项标记29司机编号Char(20)不允许是司机的编号30司机姓名Char(20)不允许司机的姓名31司机性别Char(4)不允许司机的性别32驾证类型Char(20)不允许驾证类型ABCD33驾照号码Char(20)不允许驾照号码34联系电话Char(20)不允许司机联系电话35车牌号码Char(20)不允许司机车牌号码36数量Char(20)不允许库存商品数量37送货编号Char(20)不允许是送货编号38盈利Money(8)允许盈利额39供货客户编号Char(20)不允许是供货客户的编号第三章系统概要设计3.1数据库设计数据库设计是开发数据库及其应用系统的技术,也是信息系统开发和建设的重要组成部分。具体的说,数据库设计是要在一个给定的应用环境中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式,建立数据库及其应用系统,满足用户的各种信息需求。在系统的数据库设计中,首先对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系,然后得出系统的关系模式。本系统用实体-联系图(简称E-R图)来描述系统的概念模型。E-R图由实体、属性、联系三部分组成,其符号如图4.6所示:实体 属性 联系E-R图图例3.1.1 实体描述本系统中所涉及的实体有4个,其结构如下:订购客户(客户编号、客户名称、地址、联系电话)供应客户(客户编号、客户名称、地址、联系电话)商品(商品编号、商品名称、销售单价、采购单价、仓库)库存(商品编号、商品名称、数量、仓库)3.1.2 联系描述各实体的联系属性如下:订购(订购编号、订购日期、订购客户编号、商品编号、商品名称、商品数量)配货(采购编号、采购日期、供货客户编号、采购员编号、商品编号、商品数量、商品名称、司机编号、商品单价)送货(订购编号、司机编号、目的地)验收(订购编号、收货人、收获时间)3.1.3 E-R图本系统的E-R图如图.7 所示:管理员仓库订购配货送货验收用户表库存表司机信息表供应客户表配货表验收表订购表送货表商品信息表11111nnm11mm1nn1n E-R图第四章 系统详细设计4.1 数据库的逻辑设计数据库的逻辑设计的任务就是把概念结构设计阶段的基本ER图转化为与选用具体机器上的DBMS产品所支持的数据模型相符合的逻辑结构,首先要实现的是ER图关系模型的转化。而为此要解决的问题是如何将实体和实体之间的联系转化为关系模式,如何确定这些关系模式的属性和码。对于实体,将每个实体转换为一个关系,实体的属性即为关系的属性,实体的码即为关系的码。对于实体间的联系,可以分成三种情况:1) 若实体间的联系是1:1,可以在两个实体转换成的两个关系中任意一个关系的属性中加入另一个关系的码。2) 若实体间的联系是1:n,则在n端实体转换成的关系中加入1端实体转换成的关系码。3) 若实体间的联系是n:m,则将联系转换为关系,关系的属性为诸个实体的码加上联系具有的属性,而关系的码则为诸实体的码的组合。本系统中所涉及到的关系的主码用下划线,外码用#标出:订购客户(客户编号、客户名称、公司类别、传真、通讯地址、联系人、联系电话、结账方式)供应客户(客户编号、客户名称、公司类别、传真、通讯地址、联系人、联系电话话)用户(用户号、权限、用户密码)司机(司机编号、司机姓名、司机性别、驾照类型、驾照号码、联系电话、车牌号码、状态、备注)商品(商品编号、商品名称、规格、包装、销售单价、采购单价、仓库)库存(商品编号#、商品名称、数量、仓库)订购(订购编号、订购日期、订购客户编号#、商品编号#、商品名称、商品数量、状态)配货(采购编号、采购日期、供货客户编号#、采购员编号#、商品编号#、商品数量、商品名称、司机编号#、商品单价、状态)送货(送货编号、订购编号#、司机编号#、目的地、结账方式)验收(验收编号、订购编号#、收货人#、收获时间)4.2 数据库的实现按照数据字典中的数据元素说明确定每个数据项的类型和长度,使每个关系都对应一个数据库表:1) 订购客户表列名数据类型长度允许空主键客户编号char20否是客户名称char20是公司类别char20是传真char20是通信地址char20否联系人char20否联系电话char20否结账方式char202) 供货客户表列名数据类型长度允许空主键客户编号char20否是客户名称char20是公司类别char20是传真char20是通信地址char20否联系人char20否联系电话char20否3)订购表列名数据类型长度允许空主键订购编号char20否是订购日期datetime8否订购客户编号char20否商品编号char20否商品名称char20否商品数量int4否状态char20否4) 配货表列名数据类型长度允许空主键采购编号char20否是采购日期datetime8是供货客户编号char20是采购员编号char20是商品编号char20否商品数量int4否商品名称char20否司机编号char20是商品单价char20是状态char20否5) 送货表列名数据类型长度允许空主键送货编号char20否是订购编号char20是司机编号char20是目的地char50是结账方式char20是6)验收表列名数据类型长度允许空主键验收编号char20否是订购编号char20是收货人char20是收货时间datetime8是7)用户表列名数据类型长度允许空主键用户名char20否是权限char20否用户密码char20否8)员工信息表列名数据类型长度允许空主键员工编号char20否是员工姓名char20否员工性别char4否员工职务char20否员工部门char20否联系电话char20否状态char20否备注char50是9)司机信息表列名数据类型长度允许空主键司机编号char20否是司机姓名char20否司机性别char4否驾证类型char20否驾照号码char20否联系电话char20否车牌号码char20否状态char20否备注char50是10)订单盈利核算表列名数据类型长度允许空主键订购编号char20否是商品编号char20是商品名称char20是盈利money8是日期datetime8是11)库存表列名数据类型长度允许空主键商品编号char20否是商品名称char20是数量int4否仓库char204.3 程序流程图程序流程图又称为程序框图,表示方法简单直观,在绘制程序流程图时使用的符号说明如下:处理 输入输出 判断 起始终止 控制方向(1) 主模块主模块输入密码YN重新输入密码正确Y输入选项N选项订购管理配货管理送货管理验收管理退出结束(2) 订购配货管理子模块开 始输入业务员编号输入口密码正确选择项选 择NY输入商品信息正确否修 改返 回输入采购信息条件满足采 购库存信息条件满足货物查看YYY4.4 计算机系统配置方案本系统采用Delphi来进行开发。基于软件开发工具的选择,并考虑到本系统的性能要求,对计算机系统具体配置如下。4.4.1 计算机系统硬件配置客户机:微机P866或以上档次,内存256MB以上,硬盘40G以上,集成Intel Pro 10/100网卡,8速AGP显卡,USB接口,3.5英寸软驱,48倍速CD-ROM,VGA 或更高分辨率的显示器,EPSON彩喷打印机;服务器:微机P2.0G或以上档次,内存256MB DDR以上,硬盘120G以上,24倍速最大CD-RW,7个热插拔 PCI-X插槽(64位/100MHZ),1个热插拔 传统插槽(32位/33MHZ),Intel Pro/1000XT服务器适配器,Smart-UPS;4.4.2 计算机系统软件配置Windows xp, Office 2003,前台开发软件Delphi, 后台数据库管理系统采用 Microsoft SQL Server 2008;4.5 历史信息的管理由于信息每天都在更新,而历史信息并不能随意丢弃,它必须保存。另外为了防止因意外情况(如突然断电、死机等)或用户的误操作而造成数据丢失或错误,系统需要定期备份数据库中的数据。采用两种方法:完全备份、增量备份。开始时一周执行一次增量备份,一个月执行一次完全备份以后根据用户对本系统的熟练程度,备份的时间间隔适当延长。为确保有效备份,采用了双重备份的方法,即在备份数据库中数据时,不但将数据备份到其他目录下,而且还将数据备份到移动硬盘上,这样就确保了数据的完整性,有效地管理了历史数据。4.6 人机界面的设计用户界面是指软件系统和用户交互的接口,良好的用户界面往往可以提高用户使用系统的热情,并刺激他们的积极性。4.6.1 登录界面设计为了保证系统的安全性,进入系统之前必须经过必要的安全性,简洁、清晰、友好是此设计的风格,如图所示: 用户登录界面如果输入的用户名或者密码错误,就会弹出下面的窗口,见所示:4.6.2 系统基本信息界面设计输入正确的用户名和密码后,即进入系统。系统的基本操作界面如图所示:系统基本操作界面系统的基本操作界面主要包括基本信息管理、订购管理、统计管理。其中基本信息管理中又可以分为商品信息管理、库存信息管理、客户信息管理、员工司机信息管理;订购管理又可以分为订购单信息管理、配货单信息管理、送货信息管理、验收信息管理;统计管理又可以分为订单盈利信息管理、月盈利信息管理;用户管理包括新增用户、用户管理。4.6.3 商品信息界面4.6.4 查询界面4.6.5 订购界面4.6.6 配货界面4.6.7 送货界面4.6.8 验收界面第五章 系统实现5.1 概述在管理信息系统的生命周期中,经过了系统规划、系统分析和系统设计等阶段以后,便开始了系统实施阶段。系统实施阶段要继承此前各阶段的工作成果,将技术设计转化成物理实现,因此,系统实施的成果是系统分析和设计阶段的结晶。同时,系统实施作为系统生命周期中的后期阶段,是把系统设计转化为可实际运行的物理系统的必然步骤。再好的系统设计,不通过系统实施也只能是不能带来现实效益的空中楼阁。系统实施作为系统的最后物理实现阶段,对于系统的质量、可靠性和可维护性等有着十分重要的影响。5.2 编程工具与环境编程过程又称程序设计或编写程序,按照详细设计阶段产生的程序设计说明书,用选定的程序设计语言书写源程序,在程序设计中,不仅要保证程序的正确性,而且要保证程序的可读性,必须采用结构化程序设计的方法,用一组单一入口和单一出口的基本控制结构及其反复嵌套。本系统采用Delphi作为程序界面设计软件。后台数据库所采用的软件是 Microsoft公司的 SQL Server 2008。SQL Server是一个高性能的,多用户关系型数据库管理系统,它被设计成支持高容量的事务处理以及需求较少的决策支持应用程序。它可以允许不同的用户通过不同的方式看同样的数据,保证了数据库的一致性和可恢复性。它的可靠性、质量和易用性使之成为很多数据库软件的首选。5.3系统测试软件测试是系统质量保证的主要活动之一。测试虽然不是质量保证的“安全网”。但它是不可缺少的,而且是重要的环节。因为,在系统开发的过程中,涉及一系列的活动,而在这个活动过程中,人们可能犯很多错误,错误可能发生在设计阶段,也可能发生在整个过程的开始阶段。系统测试的目标是:1) 测试是一个程序的执行过程,其目标在于发现错误。2) 一个好的测试用例能够发现至今尚未察觉的错误。3) 一个成功的测试则是发现至今尚未察觉的错误的测试。总之,测试是发现错误,这不只是从技术角度测试下定义。软件测试中最为重要的是,实际工作中人们的心理学和经济学问题。系统的测试分为单元测试、组装测试、确认测试和系统测试,每一步都是在前一步的基础上进行的。1 单元测试单元测试是指程序中的一个模块或一个子程序,是程序运行的最小单元,或是程序最小的独立编译单位,单元测试也称模块测试。例如对“登录”模块进行测试:获得用户登录名和密码。业务员信息中查找所有成员登录名和密码,核对是否有给定的用户登录名和密码,若给定的登录名和密码不存在,同显示错误信息“用户和密码不存在!”进行单元测试可以采用白盒测试方法。白盒测试将软件看作一个透明的白盒子,按照程序的内部结构处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符。本例采用白盒测试的条件覆盖标准,每一判定中的每个条件,分别按“真”、“假”至少各执行一次,得到以下测试结果。或者采用黑盒测试用例。将软件看作黑盒子,在完全不考虑程序的内部结构和特性的情况下,测试软件的外部特性。根据软件的需求规格说明书设计测试用例,从程序的输入和输出特性测试是否满足设定的功能。2 组装测试单元测试通过后,需要按照设计时作出的层次模块图把它们连接起来,进行组装测试。通常采用黑盒法自顶向下测试。按HIPO图从顶层模块自上而下地组装。每次只啬一个模块逐个安装系统。首先安装主菜单,并为主菜单添上下接子菜单,逐步进行最终将系统安装完毕。3 确认测试确认测试是进一步检查软件是否符合软件需求规格说明书的全部需求,因此又称为合格性测试,确认测试的内容主要包括以下几部分:(1) 功能测试(2) 性能测试(3) 配置审查(4) 用户资料(5) 系统分析资料(6) 系统设计资料(7) 源程序与测试材料4 系统测试系统测试也将整个软件作为测试对象,将信息系统的所有组成部分包括软硬件,用户及环境等综合在一起进行测试,以保证系统的各组成部分协调进行。经测试,未发现本软件有异常情况,能正常进行。5.4 系统运行与维护经过上述一系列测试通过后,系统就可以投入使用了。为了保证长期高效地工作,必须加强对运行的日常管理,日常运行管理包括系统每天运行状况、数据输入和输入情况以及系统的安全性,完备性能及时地如实记录和处置。这些工作主要由系统运行人员来完成。系统维护的目的是为了保证管理信息系统正常可靠地运行,并能使系统不断得到改善和提高,以充分发挥作用。系统应用程序维护:业务处理是通过程序进行的,一旦程序发生问题或业务发生变化就必然地引地程序的修改和调整。数据维护:需求为业务是不断在变化的,因此反映这种变化的数据也要求随之改变,包括内容增加及数据结构的调整。代码维护:系统的任何变化最终要通过修改代码实现。硬件设备维护:主要指主机及外设的日常维护和管理,以保证系统正常有效地运行。第六章 结束语6.1 概述物流管理信息系统是一个典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立 起数据一致性和完善性强,数据安全性好的库,而对于后者则要求应用程序功能完善,易使用等特点。物流信息管理系统,对客户信息、产品信息、提单信息进行了全面的管理,使得缩短了获取信息的时间,提高了工作效率。6.2 系统的功能本系统的内容涵盖了物流主要的和必要的业务内容,它由客服中心、仓库管理、签收管理、订单修改、查询操作、产品设置和用户管理组成,其系统功能基本符合用户需求。6.3 系统的特点本系统的每一个管理子系统均做到内容详备合理、界面安排真观、查询检索功能强大。采用数据累计保存,满足用户对历史资料的查询等优点。系统登录,需要使用者键入用户名和口令,以防止未经授权的用户查询修改数据。6.4 存在问题及改进方向虽然系统总体功能已经实现,但是由于时间的关系,数据验证还不完全,界面不够美观,还存在一些问题。6.5 系统开发的体会通过此次管理信息系统的开发遵循了标准软件开发的过程,由此对三年的学习进行了全面的回顾与总结。1. 系统分析的重要性系统分析工作的主要任务是明确问题、确定问题,了解用户的信息需求。由于对于用户信息需求的最大限度往往是软件开发成败的关键,而用户大都不是计算机专业人员,引导他们从规范和专业的角度考虑需求是重要的。由于明白这一点的重要性,在软件开发开始的时候就重视这一点,从而避免了多走弯路,加快了系统开发的进程。2. 严格按照既定规划进行系统的开发在系统开发的前半部分工作,如系统分析、系统设计为系统开发的后续工作制定了大量的规范。因此,一旦系统分析、系统设计经过大量的论证,与用户的协商、反复考虑后定稿,在系统的实施过程中就要严格遵循这些即定的规范去做,本人对这个问题不够重视,所以也造成了部分工作不得不重来。3. 注重吸收商用软件的优点在这点尤其要注重的是商用软件普遍具有的人性化的界面,友好的操作方法,方便、易用,这样才能促进用户选择使用。4. 广泛的积累素材一本好的参考资料往往能够使系统的开发工作事半功倍,并使我们眼界不至于只局限于一个特定的框架体。6.6 致谢在课程设计中,指导老师给予我们很大的帮助,从开始确定开发的思路,特别是在系统后期的调试过程中,给予我们指导和帮助,为我们提供了许多珍贵意见。为此,我们由衷的对老师的悉心指导表示深深的感谢!