第三方物流管理系统的设计与实现客户管理系统Word文件下载.docx
- 文档编号:17488917
- 上传时间:2022-12-06
- 格式:DOCX
- 页数:17
- 大小:201.86KB
第三方物流管理系统的设计与实现客户管理系统Word文件下载.docx
《第三方物流管理系统的设计与实现客户管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《第三方物流管理系统的设计与实现客户管理系统Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
物流的发展一方面是为公司取得利益,物流另一个目的是实现对客户的更好服务,这样才能为公司带来更大的利益。
因此,制作客户管理系统也是物流发展的必然要求。
本文针对第三方物流系统的要求以及该部门实际的操作模式,阐述了客户管理系统的从设计到实现的整个过程。
本系统为第三方物流管理系统平台的子系统,提供对客户信息的全面管理服务,包括客户资料,客户合同及客户服务等功能。
对于客户系统来说,能够直观地表现和反映出客户活动记录[4],进而为物流下一步实施做出反馈,便是其意义所在。
1.3国内外基本情况
1.3.1国际上第三方物流的基本情况
第三方物流在发达国家整个物流产业中占有了较大的比重。
据统计,在欧洲物流服务市场约1/4是由第三方物流完成的[5]。
由于他们的国家重视物流技术的研究,并且政府的积极促进,使得第三方物流在他们的国家高速发展,前景一片光明。
第三方物流能够在发达国家飞速发展除了上述两条原因以外,最主要的原因是他们拥有一个完善的市场经济体制,这是第三方物流得以发展的最重要的保障。
在国际上第三方物流客户管理系统发展也相当完善,他们依靠强大的科技与国家体制的保证,使管理系统越来越完善,并且使客户利益,企业利益,产品选优三个方面的发展程度最大化[6]。
1.3.2国内第三方物流的基本情况
我国是发展中国家,由于市场经济体制刚刚完善,物流行业的发展也刚处于初级阶段,大部分还是靠人工管理来完成各大模块的运行的。
随着改革开放与计算机行业的发展,中国也开始发展第三方物流,但许多技术与实现方面,都处于初级阶段[7]。
中国引入第三方物流也仅仅几年时间,从现有方面来看,无论是实现到技术,从利益最大化到服务最全化,都仅仅处于初级阶段。
但从前景来看,中国物流又有巨大的前景,首先中国国内的客户群就是一个巨大的资源,服务国内市场就有巨大的利益可获,其次,中国还有其它地区没有发展,我们知道,中国发达的地方集中在中部和东部,而西部尚没有开发较大的市场,从这方面来说,中国的前景也是巨大的。
第三,中国加入了世界贸易组织,使得各国之间的产品得以相互买卖,并且跨国公司的进入中国,使得国外的技术在中国得以继承和发展,这更加为中国第三方物流发展做了强有力的铺垫[8]。
国内第三方物流客户管理系统的发展也处于初级阶段,并且客户管理系统从技术到板块完善也远远不及中国,但正如上面所说,中国物流前景巨大,因此,客户管理系统的完善与发展也必将实现。
1.4本论文所做的工作
本文在阐述客户管理系统的功能及国内外基本情况的基础上,设计并实现了一个基于.NET平台的客户管理系统,包括客户资料、客户销售、客户合同、产品信息、销售统计和用户信息等模块[9]。
第2章相关技术介绍
2.1.NET平台
.NET平台包括.NET框架和.NET开发工具等组成部分。
.NET框架是整个开发平台的基础,包括公共语言运行时和.NET类库。
.NET开发工具包括VisualStudio.NET集成开发环境和.NET编程语言。
其功能非常强大,可以开发的的应用程序和服务有:
控制台应用程序、Windows窗体WPF应用程序、ASP.NET应用程序、Web服务、Windows服务、使用WCF的面向服务的应用程序和WWF的启用工作流程的应用程序[10]。
2.1.1分层架构设计基本原则
(1)分层架构逐渐调用原则及单向调用原则。
假设N层架构的各层依次编号为1、2、…、H、…、N-1、N,其中层的编号越大,则越处在上层。
那么,我们设计的架构应该满足以下两个原则:
v第H(1<
H<
=N)层只准依赖第H-1层,而不可依赖其他底层。
v如果P层依赖Q层,则P的编号一定大于Q。
(2)开闭原则。
对扩展开放,对修改关闭。
具体到N层架构中,可以描述为:
当H-1层有了一个新的具体实现时,它应该可以在不修改H层的情况下,实现与H层的无缝链接,顺利交互。
(3)单一职责原则。
任何一个类都应该有单一的职责,属于单独的一层,而不能担负两种职责或数与多个层。
(4)接口平行原则。
某一个实体对应的接口组应该是平级且是平行的,而不应该跨越多个实体或多个级别。
(5)面向接口编程原则。
第H层不应该有H-1层的的类,而是依赖H-1层的接口。
(6)封装变化原则。
应用中需要变化的独立出来,不要和那些不需要变化的代码混杂在一起[11]。
2.1.2.NET分层结构
(1)表示层——位于最外层,离用户最近。
用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。
它对流入的数据的正确性和有效性负责,对呈现样式负责,对呈现友好的错误信息负责。
(2)业务逻辑层——处于数据访问层与表示层中间,在数据交换中起承上启下的作用。
对于数据访问层而言,它是调用者;
对于表示层而言,它是被调用者。
依赖与被依赖的关系都在业务逻辑层上。
(3)数据访问层——有时候也称为持久化层,其功能主要负责数据库的访问,可也访问数据表的SELECT、INSERT、UPDATE和DELETE操作[12]。
2.1.3模块划分及交互设计
综合以上分析,可在宏观上将整个系统分为以下几个模块:
v实体类模块——一组实体类的集合,负责整个系统中数据的封装及传递。
v数据访问层接口族——一组接口的集合,表示数据访问层的接口。
v数据访问层模块——一组类的集合,完成数据访问层的具体功能,实现数据访问层接口族。
v业务逻辑层模块——一组类的集合,完成业务逻辑层的具体功能,实现业务逻辑层接口族。
v表示层模块——程序及可视元素的集合,负责完成表示层的具体功能。
辅助类模块——完成辅助性功能[13]。
各个模块的划分及交互性如图1所示:
(其中单向箭头表示实泛化,双向箭头表示依赖与调用。
)
图1模块划分及交互图
2.2数据库的设计
2.2.1数据库的概念设计
E-R图是一种对实体型、联系和属性进行表现的方法并且是描述现实世界的概念模型,即实体-关系图(Entity-RelationshipDiagram)[14]。
实体型(Entity):
—般属性一样的实体都有着共同的性质和特点,那么就能够以实体名或其属性名的集合对一类的实体进行刻画和抽象;
如E-R图结构里,用矩形表示实体并将实体名写入矩形内部,像员工王某就属于实体。
属性(Attribute):
它是实体的某种特性,一般能够用许多属性来表示。
如E-R图结构里,以椭圆形来代表,使用直线把它与对等的实体相连,像员工的姓名、男女和年龄。
联系(Relationship):
联系对等于关系,用来表现实体内部和实体之间的关联性。
前者对应的是某个实体的属性的相互关系;
后者对应的是各个实体集的相互关系。
如E-R图结构里以菱形来代表,其框内标注关系名称,并用直线与对应实体相连接,同时在线上注明关系的类型。
系统总E-R图描述的是整个系统中各个实体,及各个实体之间的联系,根据系统的需求,不只是实体有属性,而且联系也可以有属性。
实体之间不仅有一对一的情况,还有一对多和多对多的情况。
本系统总体E-R图如图2所示:
图2数据库总体E-R图
对于此图的解释是:
一个客户可以订购多种产品,一种产品可以被多个客户订购。
一个客户只能预测一个销售机会,一个销售机会只能被一个客户预测。
客户人员可以分析多种销售机会,一个销售机会可以被多个客户人员分析。
这三组都是不同实体之间的一对一或者多对多关系。
实体内部也有多对多的关系,比如客户群之间,一个客户可以与其他多个客户存在联系。
2.2.2数据库的物理设计
客户管理系统的数据库采用SQLServer2008来设计,根据所需要的数据建立了
六个数据表,分别是合同表、合同明细表、客户表、客户销售表、产品表和用户表,如表1-表6所示:
表1合同表
列名
数据类型
允许NULL值
备注:
Contract-id
int
False
主键(合同编号)
Custom-id
True
客户编号
Contract-state
合同状态
Contract-start
datetime
合同签署态
Contract-send
合同执行态
Contract-finishi
合同完成态
Contract-person
Nvarchar(20)
合同签署人
Contract-price
Decimal(18,2)
合同签署价
表2合同明细表
允许Null值
Product-id
产品编号
Product-book
产品订购
Product-send
产品发货
Product-price
Decimal(19,2)
产品价格
表3客户销售表
ID
主键
Product-sale
产品销售
Product-date
产品日期
表4客户表
主键(客户编号)
Custom-name
客户姓名
Custom-charge
客户负责人
Custom-introduce
客户简介
Custom-level
客户级别
表5产品表
主键(产品编号)
Product-name
Nvarchar(50)
产品名称
Product-describe
Nvarchar(200)
产品描述
表6用户表
User-id
主键(用户编号)
User-Password
用户密码
User-name
用户姓名
User-Power
用户权限等级
第3章客户管理系统需求分析与功能设计
3.1客户信息管理
客户信息管理功能为最主要功能,用于管理客户各种信息。
注册账户所添加的所有用户均可使用。
该模块主要提供两方面功能:
客户基本信息管理、客户分类管理。
系统用途:
其中客户基本信息管理功能包括客户信息查询和客户基本维护。
客户信息查询是对客户基本信息及特定信息进行查询操作,找到相应的客户;
客户基本维护是对客户信息添加、删除、修改。
客户分类管理功能是为了能够迅速找到想要的客户信息,那么就必须对每个客户进行分类,客户可分为以下类别:
普通客户、重要客户、合作伙伴、消失客户。
对于客户的级别不同可以享受不同的优惠与待遇,使老客户能够保留,促使新客户不断购买产品[15]。
在查询客户时,可以根据客户的各种分类快速查询;
删除客户信息需要支持批操作;
客户分布统计结果的展现应该直观明了,即需要以图形结构的实行表示结果。
如图3所示:
图3客户管理信息模块
3.2客户合同管理
与客户建立合作的终极目标是签订合同,所以合同管理也是客户管理系统中不可缺失的功能模块。
合同管理模块包括合同管理、开票信息管理、交付管理和回款管理。
如图4所示:
合同信息管理:
包括合同信息查询和信息维护,合同相关信息的增加、删除、更改、查询操作[16]。
开票信息管理:
对票的记录进行增、删、改、查操作;
交付信息管理:
包括交付计划信息和叫记录信息的管理;
回款信息管理:
包括回款计划信息和回款记录信息的管理。
图4客户合同管理模块
3.3客户销售统计
客户销售统计模块的作用是为了统计客户在一个月或者一年内在本公司消费况,包括销售额统计和销售产品统计,其目的就在于为公司反馈有价值的信息,进而为公司下一步进货做出预判,以使公司在下一阶段的损失降到最低。
此外,此模块还设有录入新客户销售情况模块从而使客户不断积累与更新。
客户销售统计包括月销售额统计和年销售额统计,此模块的还有销售产品记录、客户编号、产品编号、销售数量、销售单价等。
各个模块之间存在相互依赖关系,依赖关系如图5所示:
图5客户销售统计
3.4销售统计
作为第三方物流客户管理系统,销售统计模块处于极其重要地位,它是公司进行利益损失统计的模块,以及新老客户级别判定的标准,若某个客户销售商品在一年内达到公司所定的客户级别标准,那么此客户将会升级客户级别,享受公司更多的利益。
销售统计最大的好处是,利用统计销售额[17],判断那种商品更受客户欢迎,公司从而可以为下一步进货有侧重点,使公司获得的利益更大。
销售统计中,销售产品、客户、以及日销售统计、月销售统计和年销售统计模块之间的关系如图6所示:
图6销售统计
3.5其它模块简介
除了上面介绍的主要功能模块以外,客户管理系统还包括下面模块:
用户信息模块。
此模块包括用户号、用户名、密码和用户类型四个板块,其中用户类型又包括管理员、合同部、销售部、客户部四个类型。
管理员可以登录用户信息模块对其进行增加删除操作,其余三个则没有这样的权限。
其余的只能登录相应的模块进行操作,而不能登录用户信息模块。
产品信息模块:
有产品名称、产品编号和产品描述三个板块。
其功能主要是显示产品信息即产品名称和产品出产地。
此模块还可以对产品进行增加删除、编辑操作。
修改密码模块:
此模块就是对原有密码改变。
用户须输入用户名和原始密码才能进行新密码的操作[18]。
第4章客户管理系统的实现
4.1系统界面的实现
系统界面的实现即客户管理系统的登录界面、用户信息、客户信息、产品信息、客户销售统计、销售统计、合同管理和修改密码界面的实现,由于板块太多,下面只
列出登录界面和合同管理中合同添加页面的实现。
其中登录界面的实现如图7所示:
图7客户管理系统登录界面
实现其功能的相关代码如下所示:
protectedvoidImageBtn_login_Click(objectsender,ImageClickEventArgse)
{
YS.BLL.UsersUserLogin=newYS.BLL.Users();
stringpwdMd5=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(Tbx_pwd.Text.Trim(),"
md5"
);
Stringstrsql="
User_name='
"
+Tbx_name.Text.Trim()+"
'
andUser_Password='
+pwdMd5+"
;
Session["
Login_UserID"
]=int.Parse(UserLogin.GetValue("
"
User_id"
).ToString());
if(UserLogin.Exists(strsql)==true)
{
Session["
User_Power"
]=UserLogin.GetList(strsql).Tables[0].Rows[0]["
].ToString();
if(Session["
].ToString()=="
0"
Response.Redirect("
users.aspx"
}
elseif(Session["
1"
contract.aspx"
2"
contract_stat.aspx"
else
customer.aspx"
Lbl_note.Text="
登录失败,请检查输入!
添加新合同管理界面的实现如图8所示:
图8添加合同登录界面
实现其功能的相关代码如下:
publicpartialclassaddcontract:
System.Web.UI.Page
{
SqlConnectioncn;
doublex;
protectedvoidPage_Load(objectsender,EventArgse)
Stringstrconn=Convert.ToString(ConfigurationManager.ConnectionStrings
["
SQLConnectionString"
]);
SqlConnectioncn0=newSqlConnection(strconn);
if(!
IsPostBack)
cn0.Open();
stringmysql="
select*fromcustomer"
SqlCommandcm0=newSqlCommand(mysql,cn0);
SqlDataReaderdr0=cm0.ExecuteReader();
while(dr0.Read())
Ddl_customer.Items.Add(newListItem(dr0["
Custom_Name"
].ToString(),
dr0["
Custom_ID"
].ToString()));
cn0.Close();
stringmysql1=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 物流 管理 系统 设计 实现 客户