第一章系统需求分析1.1系统的背景介绍A、B、C、D家物流公司拟共同出资在大学城建立一个快递集散中心,解决大学城交通不方便,但是快递需求大的问题。
公司在大学城建立一个仓库用于中转和暂存,仓库流转率较高。
仓库接收各物流公司送过来的快件并通过条形码、RFID等信息化设备完成入库,同时可根据大学城单位或社区为目的地进行分类存储,方便安排送货。
仓库存储时间不能超72小时。
仓库暂存客户送来的快件,并按客户选择的物流公司存储。
存储时间不能超过48小时。
为保证配送准确性减少配送引起的纠纷。
要求仓库按先进先出原则进行配送。
入库出库数据必须定期审核备查。
对车辆配载情况,使用情况等进行跟踪。
人员、物件、车辆信息必须进入数据库统一管理,并可根据股东要求报送相关报表。
为了完成上述快递集散中心的运行,现设计大学城快递集散中心物流信息管理系统,方便日常事物的开展。
1.2系统的可行性研究数据库设计是为了有效地存储数据及信息的查询更新删除等管理操作而设计的数据环境。
1.需求分析阶段准确了解与分析用户需求如数据、处理。
建立一个检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低的物流管理信息系统减轻工作人员的负担。
2.概念结构设计阶段通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
3.逻辑结构设计阶段将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
4.数据库物理设计阶段为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
5.数据库实施阶段运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果。
建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
6.数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行。
在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
作为一个实际存在的业务,系统设计的目的,以及所包括的信息内容功能都能够比较清晰地获得。
通过合理的系统分析,能够基本上获得系统的需求,并且按照系统的需求进行之际的系统设计工作。
1系统描述本系统是以计算机软件技术为基础,利用VisualFoxpro编程技术进行编程设计的软件系统。
2系统功能本系统具有输入、输出、查找、配送等功能,完成信息的显示。
3系统用户及其特点本系统的使用对象是企业的管理人员和库存工作人员,只要懂得计算机的基本操作就能够使用本系统。
4系统运行环境Windows2000以上操作系统,VF软件系统,需要懂一定编程知识人员。
5技术可行性分析本企业拥有足够量的必须计算机软硬件,并且拥有熟悉计算机技术员工,因此本企业具备本系统的运行条件。
1费用估计(1)计算机若干台以及必要支持软件(2)系统的开发费用及安装费用(3)人员培训费用(4)系统日常运行耗费2效益估计(1)直接效益本系统的应用可以减少信息处理的成本,提高企业运营效率,降低运营成本。
(2)间接效应本系统的应用可以改善信息获得性,提高执行者的办事效率。
本系统的特点是成本较低,给企业所带来的效益要高于系统应用的费用,因此,本系统在经济上是可行的。
1.3系统业务流程的调查和分析本系统服务于快递公司的业务。
处理单据,数据统计,报表打印,单据查询以及数据库维护等系统功能有:1数据的添加、删除和修改2派送单查询、接收单查询、投诉单查询以及未派送的快件查询等查询功能。
3对某一段时间内的数据进行统计4打印详细报表5基本资料维护及用户权限等6数据库的备份与还原图1-1快递管理业务流程图图1-2快递管理业务流程简图1.3.2系统规划单据处理、数据统计、单据查询、报表打印、数据库维护、权限管理1)数据的录入(添加、删除和修改)2)派送单、接收单、投诉单等的查询3)某一段时间内的数据进行统计4)打印详细报表5)基本资料的维护6)数据库的备份与还原7)权限管理1.4系统数据流程的调查和分析图1-3快递管理数据流程图1.5数据库设计1.5.1概念结构设计(1)数据库表图4-1数据库表(2)E-R图收件单(接收单号,发站,运输方式,…,快递员号)派送单(派送单号,接收单号,发站,运输方式,…,快递员号,)中转单(中转单号,发站,运输方式,…,快递员号)投诉单(投诉单号,派送单号,接收单号,货物编号,原因)快递员(编号,姓名,手机,住址,宅电)品名维护(编号,品名,备注)备注维护(编号,备注)(1)创建数据库使用vf创建数据库“KD”再在数据库KD中新建9张数据表。
综合快递物流信息系统表汇总(2)设计数据表表名:fj_lr派送单记录表表名:js_lr接收单记录表表名:ts_lr 投诉单记录表表名:Sender 品名信息表表名:Memo 备注信息表表名:zz_lr 中转记录表表名:User1 用户信息表表名:Kuaidiyuan 快递员信息表1.6数据字典数据字典的组成数据字典有6类条目:数据项、数据结构、数据流、数据处理、数据存储和外部实体。
(1)数据项是数据的最小单位,是不可再分的数据单位。
如学号,姓名等。
对数据项的描述一般包括:数据项的编号、名称、别名和简述,数据项的类型、长度和取值范围等。
表一:数据项描述—派送单编号表二:数据项描述—运输方式(2)数据结构数据结构描述了数据项之间的关系,由数据项或者数据结构组成。
一个简单的数据结构由数据项组成,而复杂的数据结构则包含了其他数据结构对数据结构的描述包括:数据结构的编号、名称、简述、数据结构的组成等。
表三:数据结构描述—品名信息表四:数据结构描述—快递员信息表五:数据结构描述——用户信息表六:数据结构描述——备注信息(3)数据流数据流用来描述数据的流动过程,由一个或一组固定的数据项组成。
可以是一个已定义的数据结构,也可以由若干数据项组成。
表七:数据流描述—派送单表八:数据流描述—接收单表九:数据流描述—投诉单表十:数据流描述—中转单第二章系统设计2.1功能结构图图2-1系统功能结构图2.2代码设计接收单号代码表派送单号代码表投诉备注代码表货物代码表2.3输入输出设计(1)输入设计的任务根据具体业务要求,确定适当的输入形式,使信息系统获取管理工作中产生的正确信息。
(2)输入设计的内容1.输入界面设计。
根据具体业务要求确定(详见主界面设计和各模块设计)。
2.输入设备选择:键盘--磁盘输入装置。
数据录入员通过工作站录入,经拼写检查和可靠性验证后存入磁记录介质。
图2-2信息录入界面(1)输出设计的内容1.输出信息使用情况。
信息的使用者、业务统计、业务查询、信息量等。
2.输出信息内容。
派送单据、业务单据、统计业务量等。
3.输出格式。
如表格、报告等。
4.输出设备和介质,设备:如打印机、显示器等;介质:如磁盘、磁带、纸张等。
图2-3信息查询输出图第三章系统实现3.1登录模块设计启动程序,首先进入登录模块,该模块用来确认用户身份,保证数据的安全性。
在该模块中使用了TDBLookupListBox组件,该组件能将被查找字段的值自动添加到它的列表中,用户可以在该组件中选取用户名进行登录。
1)新建窗体,设置BorderStyle属性(边框类型)为“bsNone”,在窗体上放置一个TImage组件,设置其Stretch属性为“true”图片放大或缩小以TImage组件边框为准,pictures属性选择图片(背景图片)。
2)在TImage组件上放置一个TDBLookupListBox组件,设置Ctl3D属性为“False”;设置ListSourse属性为“dm.dsuser1table”;设置KeyField属性为“name”;设置ListField属性为“name”。
在窗体上添加一个TEdit组件,设置Ctl3D属性为“False”;设置passwordChar属性为“*”。
3)在TImage组件上放置两个TBitBtn组件,为了按钮的美观,设置其Glyph 属性加载按钮图片。
主要的代码在单击【登录】按钮和【取消】按钮。
单击【登录】按钮,系统在数据库中查找与用户输入的“用户名”和“密码”相符的记录。
如果有,则用户可以登录,如果没有且输入3次都不正确,系统将自动退出。
单击【取消】按钮,退出系统。
(代码详见附录)3.2主界面设计主窗体设计在系统中占据很重要的地位,因为只有界面友好、操作方便的软件才能被用户所接受。
本系统使用TSpeedButton组件作为工具栏按钮,使用TTreeView组件作为功能目录树,使用TStatusBar组件显示当前系统状态信息。
3.3数据模块设计数据模块是将连接和处理数据的数据库组件统一规范管理的模块,在设计期间数据模块是以窗口的形式显示在界面中的。
但是不可以向数据模块中加入可视化组件,因为该模块不会在系统运行时显示出来。
使用数据模块进行数据库设计与数据处理有以下优点:1.便于数据库的移植?2.增加了程序的清晰性3.可以最大程度的实现代码重用总之,可以将数据集全部放在数据模块中,这样可以方便地设置数据关联等,而且数据处理起来也相对方便,因为不需要在工程文件中去寻找对应的数据集。
?3.4信息录入模块设计信息录入模块包括快件接收录入、快件派送录入、快件中转录入和客户投诉录入等板。
图3-8快件派送录入界面图3-9快件接收录入图3-10快件中转录入图3-11客户投诉录入3.5信息统计模块设计信息统计模块包括快件接收统计、快件派送统计、快件中转统计、客户投诉统计和大客户运量统计等板块。
其中未派送统计是多表联系查询统计。
派送统计:主要负责功能是统计在某一段时间内的派送的物品的重量和派送费用并且有相应的打印模块可以打印报表。
相应的主要代码:procedureTtj_paisong.BitBtn1Click(Sender:TObject);beginifthenbeginmessagebox(self.Handle,'起始日期不能大于终止日期','提示信息',mb_iconinformation);Exit;end;););;sum(weight)''总重量'',sum(fjfee)''派送费合计''fromfj_lrwhereps_date>=cast(:date1asdatetime)'+'andps_date<=cast(:date2asdatetime)';););dbedit1.DataSource:=dm.dssearch0;dbedit1.DataField:='总重量';dbedit2.DataSource:=dm.dssearch0;dbedit2.DataField:='派送费合计';end;图3-12派送统计界面接受统计:主要负责对一段时间内的收件进行显示和重量计算。