快递管理系统.docx
《快递管理系统.docx》由会员分享,可在线阅读,更多相关《快递管理系统.docx(43页珍藏版)》请在冰点文库上搜索。
![快递管理系统.docx](https://file1.bingdoc.com/fileroot1/2023-5/20/814f029d-52e5-462b-9bb1-ea30a804db24/814f029d-52e5-462b-9bb1-ea30a804db241.gif)
快递管理系统
快递公司管理系统
目录
1项目管理1
1.1项目简介1
1.2甘特图………………………………………………………………1
2.需求分析2
2.1业务分析2
2.1.1票据管理3
2.1.2分公司管理3
2.1.3分站管理……………………………………………………………………….....4
2.1.4投递员管理……………………………………………………………………….5
2.1.5接货管理……………………………………………………………………….....6
3.数据库设计6
3.1基本原则6
3.1.1数据库设计的基本原则............................................7
3.1.2逻辑结构设计…………………………………………………………………….8
4.概要设计10
4.1体系结构设计…………………………………………………10
4.1.1B/S模式的体系结构..............................................10
4.1.2三层结构工作原理...............................................10
4.1.3B/S模式的体系结构的特点........................................11
4.2各模块工作描述……………………………………………………………….11
5.详细设计…………………………………………………………....13
5.1.系统的设计与实现……………………………………………13
5.1.1系统登录界面……………………………………………………………………13
5.1.2票据分发........................................................15
5.1.3单据分发查询……………………………………………………………………20
5.1.4货运单填写………………………………………………………………………23
5.1.5货运单查询………………………………………………………………………36
5.1.6分公司查询………………………………………………………………………36
5.1.7客户管理…………………………………………………………………………40
6.项目测试…………………………………………………………………………………...43
6.1登录测试43
6.1.1登录失败界面………………………………………………………………….....43
6.1.2登录成功界面…………………………………………………………………….44
6.1.3客户货运单填写………………………………………………………………….44
6.1.4客户信息填写………………………………………………………………….....45
7.安装手册……………………………………………………………..46
7.1安装环境…………………………………………………………………………………...46
8.使用手册47
8.1使用说明47
8.1.1使用步骤………………………………………………………………………...47
9总结47
参考文献……………………………………………………………….48
1项目管理
1.1项目简介
随着快递公司业务的发展,业务量不断增多,跨区域工作的需求,客户需要一种能够运行于B/S模式的网络数据管理系统。
本软件能满足快递公司与客户之间的业务需求和快递公司与承运人之间的业务需求,并能对业务数据进行统计和管理,最后以报表的形式体现出来。
本系统新增了客户服务,使快递公司与客户之间能随时沟通。
1.2项目甘特图
项目甘特图如图1-1所示:
图1-1项目甘特图
2.需求分析
2.1业务需求
2.1.1:
票据管理
1.功能描述:
票据管理的主要功能是对票据本的分发,查询,修改和删除。
2.流程图如图2-1所示:
图2-1票据管理流程图
2.1.2:
分公司管理
1、功能描述:
分公司管理的主要功能是对分公司的添加、删除、查询。
2、流程图如图2-2所示:
图2-2分公司流程图
2.1.3分站管理
1、分站管理的功能是对分站的添加、删除、查询和修改的管理
2、流程图如图2-3所示:
图2-3分站管理流程图
2.1.4投递人员管理
流程图如图2-4所示:
图2-4投递人员流程图
2.1.5接货管理
1、功能描述:
接货管理的主要功能是填写一份货运单合同,该合同的内容包括货运单编号、发货客户信息、收货客户信息、运费、保险费等。
在货物列表中,添加货物,主要填写货物的名称、重量、体积、货物价值等信息。
2、流程图如图2-6所示:
图2-6接货管理流程图
3.数据库设计
3.1.1数据库设计的基本原则
数据库的规划和设计在整个软件工程中占有非常重要的地位,它在整个系统中不但起着存储各种信息,供统计、查询、分析等使用的作用,而且协调各个子系统之间的数据接口。
数据库设计应具有合理性、规范性以及适应性,数据库之间的关系及设置直接关系到系统的优劣。
设计数据库系统时应首先需要充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。
为了提高系统开发的质量和效率,基础数据管理和查询维护子系统的数据库设计遵循以下原则:
(1)层次分明,布局合理。
数据库系统必须层次分明,合理布局,数据信息进行浓缩、归纳、合并,减少冗余,提高数据共享程度。
(2)保证数据结构化、规范化、编码标准化。
这是建立数据库系统和进行业务部门内、外信息交换的基础。
在每一个数据库设计之前都有一个充分的、详细的数据分析、数据格式及较为统一的编码,为减少数据的冗余量,应尽量避免数据库结构的重复,并保证整个数据库设计的完整性。
(3)数据的独立性和可扩展性。
做到数据库的数据具有独立性,独立于应用程序,使数据库的设计及其结构的变化不影响程序,反之亦然。
此外,由于业务也是在不断变化的,所以数据库设计需考虑其扩展接口,使系统增加新的应用或新的需求时,不会引起整个数据库系统的重新改写。
(4)共享数据的完整性、正确性和一致性。
应充分考虑数据资源的共享,合理建立公共数据库。
采用数据库分层管理,使不同层次的信息数据共享。
另外,由于共享数据是面向多个程序或多个使用者的,多个用户存取共享数据时,必须保证数据的正确性和一致性。
(5)减少不必要的冗余
建立数据系统后,应避免不必要的数据重复和冗余。
(6)保证数据的安全可靠。
数据库是整个信息系统的核心,它的设计要保证其可靠性和安全性,不能因某一数据库的故障导致整个系统的瘫痪。
做好对数据库访问的授权设计,对数据的非法访问,病毒侵扰和软、硬盘故障破坏,采取相应的保密措施。
3.1.2逻辑结构设计
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。
设计逻辑结构时一般要分三步进行,首先是将概念结构转换为一般的关系、网状、层次模型,其次是将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换,最后是对数据模型进行优化。
基于web的投稿与稿件处理系统采用的是将E-R图向关系数据模型转换。
关系模型的一个重要特点就是用二维表格表示实体集,用关键码表示实体间联系的数据模型。
表3.1Account_User
表3-2BillMgt_BillDetail
表3-3Print_CustomerAmount
表3-4TransferMgt_CompanyInfor
4.概要设计
4.1体系结构设计
4.1.1B/S模式的体系结构
B/S这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器(Browser)。
浏览器通过WebServer同数据库进行数据交互。
基于web的投稿与稿件处理系统采用三层级体系结构的B/S结构模式。
4.1.2三层结构工作原理
B/S模式是一种以Web技术为基础的新型MIS平台模式,它将传统的C/S模式中的服务器分解成一个数据服务器和一个或多个应用服务器,从而构成一个三层结构体系。
第一层客户层,包括客户端和管理端,采用的是标准的浏览器。
浏览器将HTML转换为图文并茂的网页,并提供一定的交互能力,允许用户输入信息提交给后台,提出处理要求。
这个后台也就是第二层的应用服务器。
第二层应用层,主要依靠应用服务器来完成工作。
在客户层提出请求后,应用服务器将启动相应的进程响应,并动态生成一串HTML代码,其中包含处理结果,返回给客户的浏览器。
如果客户端提交的请求包括数据的存取,那么应用服务器还需要与数据服务器交互完成这一处理。
第三层数据层,负责数据的存储、响应和更新处理。
位于数据层的数据服务器应客户请求独立进行处理,而后将数据库结果返回应用服务器,再传回客户端或管理端,完成整个请求、应答过程。
4.1.3B/S模式体系结构的主要特点
采用基于三层体系结构的B/S模式较以前的C/S模式有以下特点:
(1)资源利用率高。
在C/S模式下,大部分运算在客户端完成,因此客户端配置要求较高,同时,导致服务器空闲。
而在B/S模式下,大部分运算在服务器端完成,因此客户端配置要求不高,仅需能够正常显示网页即可。
(2)可维护性好。
在C/S模式下,各种应用的主要部分安装在客户端,维护起来很不方便。
而在B/S模式下的维护工作主要在服务器上,而且支持远程维护,客户端只运行浏览器,无需特别维护。
(3)安全机制完善。
在C/S模式下,主要利用操作系统和数据库系统的安全机制,较难提供数据加密和身份验证功能。
而在B/S模式下不仅可以解决以上问题,还可以利用WebServer的安全机制或防火墙技术进行访问控制,利用cookie进行身份验证,极大地完善了安全机制。
(4)网络实时性强。
在C/S模式下,数据库直接与客户端进行事务处理,一般需要做多次交互,数据更新过程繁琐。
而在B/S模式下,事务处理在应用服务器上进行,数据的多次交互限定于应用服务器和数据服务器之间,网络传输量少,数据的实时更新性好。
4.2各模块功能描述
(1)首页模块功能
登录页面的入口连接了各个登录页面的连接
(2)票据管理模块功能
实现了票据查询、分发的功能
(3)接货管理模块功能
包括了货运单的填写、货运单查询以及状态查询三个功能
(4)到货管理模块功能
包括了客户查询和新到货物查询
(5)分公司管理模块功能
包括了分公司填写、查询,分站填写和查询
(6)应用管理模块功能
主要包括了客户信息、线路信息、分公司信息
(7)投递人员管理模块功能
主要包括投递人员的信息
5.详细设计
5.1系统的设计与实现
5.1.1系统登录界面
这是管理系统的首页,客户、员工、管理员都可以通过此页面登录。
登录界面如图5-1所示:
图5.1登录界面
相关代码:
namespaceLight.EXP.WebUI.SystemFrame
{
publicpartialclassLogin:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,System.EventArgse)
{
if(!
IsPostBack)
{
//移除身份验证
FormsAuthentication.SignOut();
//消除会话状态中的所有值
HttpContext.Current.Session.Clear();
//取消当前会话
HttpContext.Current.Session.Abandon();
}
}
protectedvoidlgnUserLogin_LoggedIn(objectsender,EventArgse)
{
Session["LoginID"]=this.lgnUserLogin.UserName;
}
#regionWebFormDesignergeneratedcode
overrideprotectedvoidOnInit(EventArgse)
{//
//CODEGEN:
ThiscallisrequiredbytheASP.NETWebFormDesigner.
//
InitializeComponent();
base.OnInit(e);
}
///
///RequiredmethodforDesignersupport-donotmodify
///thecontentsofthismethodwiththecodeeditor.
///
privatevoidInitializeComponent(){}
#endregion
}
}
5.1.2票据分发
投递人员根据货运单号进行分发,其界面如图5-2
图5-2票据分发界面
相关代码:
namespaceLight.EXP.WebUI.Bill
{
publicpartialclassBillDispenseCreate:
PageBase
{///
///页面载入
///
///
///
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
BindBillDispensePersonsInfor();
}
}///
///绑定有关票据人员信息
///
privatevoidBindBillDispensePersonsInfor()
{//声明票据业务类对象
BillBusinessbillBusiness=newBillBusiness();
//绑定领票人下拉框
drdlReceiveBillPerson.DataTextField="Employee";
drdlReceiveBillPerson.DataValueField="Employee";
drdlReceiveBillPerson.DataSource=billBusiness.GetBillEmployees();
drdlReceiveBillPerson.DataBind();
drdlReceiveBillPerson.Items.Insert(0,newListItem("[请选择]",""));//绑定分发人下拉框
drdlReleasePerson.DataTextField="Employee";
drdlReleasePerson.DataValueField="Employee";
drdlReleasePerson.DataSource=billBusiness.GetBillEmployees();
drdlReleasePerson.DataBind();
drdlReleasePerson.Items.Insert(0,newListItem("[请选择]",""));
}///
///添加按钮单击事件
///
///
///
protectedvoidimgbCreate_Click(objectsender,ImageClickEventArgse)
{
if(Int32.Parse(txtbBillStartCode.Text)>Int32.Parse(txtbBillEndCode.Text))
{
Utility.AlertMsg(this.Page,"单据开始号必须小于单据结束号!
");
return;
}
//声明票据实体类对象
BillDispensebill=newBillDispense();
//为票据实体类对象的各个属性赋值
bill.BillType=drdlBillType.SelectedItem.Text;
bill.BillStartCode=txtbBillStartCode.Text;
bill.BillEndCode=txtbBillEndCode.Text;
bill.ReceiveBillPerson=drdlReceiveBillPerson.SelectedValue;
bill.AcceptStation=txtbAcceptStation.Text;
bill.ReceiveBillTime=Utility.ToDateTime(txtbReceiveBillTime.Text);
bill.ReleasePerson=drdlReleasePerson.SelectedValue;
//声明票据业务类对象
BillBusinessbillBusiness=newBillBusiness();
//增加票据分发信息
intrtnCode=billBusiness.CreateBillDispense(bill);
if(rtnCode>0)
{
Response.Redirect("BillDispenseList.aspx");
}
else
{
stringerrorMessage="";
switch(rtnCode)
{
case0:
errorMessage="增加票据分发信息操作失败!
";
break;
case-1:
errorMessage="票据开始编号已经存在!
";
break;
case-2:
errorMessage="票据结束编号已经存在!
";
break;
}
Utility.AlertMsg(this,errorMessage);
}
}///
///取消按钮单击事件
///
///
///
protectedvoidimgbCancel_Click(objectsender,ImageClickEventArgse)
{
Response.Redirect("BillDispenseCreate.aspx");
}
}
}
5.1.3单据编号分配
记录工作人员分发票据的情况,界面如图5-3所示:
图5-3编号分配界面
相关代码
namespaceLight.EXP.WebUI.Bill
{
publicpartialclassBillDispenseList:
PageBase
{///
///页面载入
///
///
///
protectedvoidPage_Load(objectsender,EventArgse)
{
BindGridView();
}///
///每个需要分页查询的页面都需要实现此方法
///此方法为分页控件提供分页数据的读取.
///
///当前要读取的页,从1开始
///总的数据行数(不分页时)
///一页数据
privateDataSetGetPagerData(intpageIndex,refInt64recordCount)
{
stringbillStatus=drdlBillStatus.SelectedItem.Text=="[全部]"?
"":
drdlBillStatus.SelectedItem.Text;
stringreceiveBillPerson=txtbReceiveBillPerson.Text;
//获取数据源
BillBusinessbillBusiness=newBillBusiness();
intpageSize=10;
DataSetdsBill=billBusiness.GetBillDispenses(receiveBillPerson,billStatus,pageIndex,pageSize,refrecordCount);
returndsBill;
}///
///绑定票据分发列表
///
privatevoidBindGridView()
{
intpageSize=10;
this.dtpBillDepense.BindDataPage(this.GetPagerData,pageSize);
}///
///搜索按钮单击事件
///
///
///
protectedvoidimgbQuery_Click(objectsender,ImageClickEventArgse)
{
BindGridView();
}
}
}
5.1.4货运单填写界面
客户填写详细的货运单,界面如图5-4所示:
图5-4货运单
相关代码:
namespaceLight.EXP.WebUI.Accept
{
publicpartialclassCarryBillCreate:
PageBase
{
protectedvoidPage_Load(objectsender,System.EventArgse)
{
if(!
IsPostBack)
{
CarryBillBusinesscarryBillBusiness=newCarryBillBusiness();//起点站数据绑定
DataS