毕业设计(论文)-第三方物流管理系统的设计与实现--客户管理系统.doc_第1页
毕业设计(论文)-第三方物流管理系统的设计与实现--客户管理系统.doc_第2页
毕业设计(论文)-第三方物流管理系统的设计与实现--客户管理系统.doc_第3页
毕业设计(论文)-第三方物流管理系统的设计与实现--客户管理系统.doc_第4页
毕业设计(论文)-第三方物流管理系统的设计与实现--客户管理系统.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕 业 论 文(设 计)论文(设计)题目:第三方物流管理系统的设计与实现客户管理系统姓 名 学 号 院 系 专 业 年 级 指导教师 年 月 日目 录摘 要1ABSTRACT2第1章 绪论31.1 课题的来源与背景31.2 选题目的和意义31.3 国内外基本情况31.3.1 国际上第三方物流的基本情况31.3.2 国内第三方物流的基本情况41.4 本论文所做的工作4第2章 相关技术介绍52.1 .NET平台52.1.1 分层架构设计基本原则52.1.2 .NET分层结构62.1.3 模块划分及交互设计62.2 数据库的设计72.2.1 数据库的概念设计72.2.2 数据库的物理设计8第3章 客户管理系统需求分析与功能设计113.1 客户信息管理113.2 客户合同管理113.3 客户销售统计123.4 销售统计133.5 其它模块简介14第4章 客户管理系统的实现154.1 系统界面的实现15第5章 总结19参考文献20致 谢21摘 要现代经济的三大支柱已经发展成为物流、商流、信息流。很久以来,人们都惯于把关注成本的焦点放在生产方面,但随着现代化大生产的发展,这个焦点已经逐步转移到流通领域。由此我们看出物流在企业经营管理中的重要地位,经济学彼特卡拉甚至把物流被称为企业的“第三利润源泉”1。第三方物流是近几年才传到我国的,第三方物流相比以往传统的物流具有许多优点,因此第三方物流也势必将在我国得到发展。第三方物流包括仓储业、物流配送和客户管理等部分,而所有的服务的目的只有一个,那就是为客户服务。因此,在信息发达的现代社会,建设一个完善的客户管理系统,势必成为第三方物流必不可少的一部分2。本文在.NET平台下采用三层架构设计并实现了一个功能完善,便于维护的客户管理系统。关键词:第三方物流;客户管理系统;.NET ABSTRACTThe three pillars of modern economy has developed into logistics, business flow, information flow. For a long time, people used to put the focus of attention to cost in production; But with the development of modern production, the focus has gradually transferred to the circulation field. Thus we see that the important position of logistics in enterprise management, economics, Peter Carla even put logistics is referred to as the third profit source of the enterprise. Third-party logistics(3PL) was spread to China in recent years, 3PL has many advantages compared to traditional logistics, third-party logistics in China will also be developed.Third party logistics including warehousing, logistics, distribution and customer management section, and all the services have only one purpose, that is, for customer service, therefore, information developed modern society in order to build a complete customer management system, will become an integral part of the third-party logistics.Based on the .NET platform by using the three layer architecture design and implementation of a perfect function, convenient customer management system maintenance. Key words: Third Party Logistic; Customer Management System; .NET1第1章 绪论1.1 课题的来源与背景 随着计算机技术的发展,传统的管理已经逐渐被计算机代理,与传统的管理相比,它具有高效,花费低,节省劳力的优点,因此在管理行业,各大企业都正在努力实现由电脑代替人力管理的目标。作为服务行业的物流行业,在以往依靠人力进行管理,往往是耗费大量人力物力和财力,但最终为客户和公司提供了一个低效率的服务,前景不宜乐观。跟随计算机发展的大潮,物流行业管理果断向第三方物流方面进行发展,即用计算机管理代替传统的人力管理,并且运用到了各大模块,比如,仓储管理、物流配送管理、客户管理等3。但由于信息技术的有限性和文化的普及范围较为狭窄,许多人还对第三方物流不是多了解,或者有想法但由于技术实施的有限性,许多企业只能望而却步,因此,制作第三方物流管理系统,已经成为当前最主要也是最重要的任务。1.2 选题目的和意义物流的发展一方面是为公司取得利益,物流另一个目的是实现对客户的更好服务,这样才能为公司带来更大的利益。因此,制作客户管理系统也是物流发展的必然要求。本文针对第三方物流系统的要求以及该部门实际的操作模式,阐述了客户管理系统的从设计到实现的整个过程。本系统为第三方物流管理系统平台的子系统,提供对客户信息的全面管理服务,包括客户资料,客户合同及客户服务等功能。对于客户系统来说,能够直观地表现和反映出客户活动记录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开发工具包括Visual Studio.NET集成开发环境和.NET编程语言。其功能非常强大,可以开发的的应用程序和服务有:控制台应用程序、Windows窗体WPF应用程序、ASP.NET应用程序、Web服务、Windows服务、使用WCF的面向服务的应用程序和WWF的启用工作流程的应用程序10。2.1.1 分层架构设计基本原则(1)分层架构逐渐调用原则及单向调用原则。 假设N层架构的各层依次编号为1、2、H、N-1、N,其中层的编号越大,则越处在上层。那么,我们设计的架构应该满足以下两个原则:v 第H(1H=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所示:(其中单向箭头表示实泛化,双向箭头表示依赖与调用。) 表示层业务逻辑层数据访问层 数据源 IDAL 实体类 辅助类图1 模块划分及交互图2.2数据库的设计2.2.1 数据库的概念设计E-R图是一种对实体型、联系和属性进行表现的方法并且是描述现实世界的概念模型,即实体-关系图(Entity-Relationship Diagram)14。实体型(Entity):般属性一样的实体都有着共同的性质和特点,那么就能够以实体名或其属性名的集合对一类的实体进行刻画和抽象;如E-R图结构里,用矩形表示实体并将实体名写入矩形内部,像员工王某就属于实体。属性(Attribute):它是实体的某种特性,一般能够用许多属性来表示。如E-R图结构里,以椭圆形来代表,使用直线把它与对等的实体相连,像员工的姓名、男女和年龄。联系(Relationship):联系对等于关系,用来表现实体内部和实体之间的关联性。前者对应的是某个实体的属性的相互关系;后者对应的是各个实体集的相互关系。如E-R图结构里以菱形来代表,其框内标注关系名称,并用直线与对应实体相连接,同时在线上注明关系的类型。 客户预测销售机会客户联系订购分析 产品客户人员mn1m1nmn系统总E-R图描述的是整个系统中各个实体,及各个实体之间的联系,根据系统的需求,不只是实体有属性,而且联系也可以有属性。实体之间不仅有一对一的情况,还有一对多和多对多的情况。本系统总体E-R图如图2所示:图2 数据库总体E-R图对于此图的解释是:一个客户可以订购多种产品,一种产品可以被多个客户订购。一个客户只能预测一个销售机会,一个销售机会只能被一个客户预测。客户人员可以分析多种销售机会,一个销售机会可以被多个客户人员分析。这三组都是不同实体之间的一对一或者多对多关系。实体内部也有多对多的关系,比如客户群之间,一个客户可以与其他多个客户存在联系。2.2.2 数据库的物理设计客户管理系统的数据库采用SQL Server 2008来设计,根据所需要的数据建立了六个数据表,分别是合同表、合同明细表、客户表、客户销售表、产品表和用户表,如表1- 表6所示:表1 合同表列名数据类型允许NULL值备注:Contract-idintFalse主键(合同编号)Custom-idintTrue客户编号Contract-stateintTrue合同状态Contract-startdatetimeFalse合同签署态Contract-senddatetimeTrue合同执行态Contract-finishidatetimeTrue合同完成态Contract-personNvarchar(20)True合同签署人Contract-priceDecimal(18,2)True合同签署价 表2 合同明细表列名数据类型允许Null值备注:Contract-idintFalse主键(合同编号)Product-idintTrue产品编号Product-bookintTrue产品订购Product-sendintTrue 产品发货Product-priceDecimal(19,2)True产品价格表3 客户销售表列名数据类型允许Null值备注:IDintFalse主键Custom-idintTrue客户编号Product-idintTrue产品编号Product-saleintTrue产品销售Product-priceDecimal(19,2)True产品价格Product-datedatetimeTrue产品日期 表4 客户表 列名数据类型允许Null值备注:Custom-idintFalse主键(客户编号)Custom-nameNvarchar(20)True客户姓名Custom-chargeNvarchar(20)True客户负责人Custom-introduceNvarchar(20)True客户简介Custom-levelintTrue客户级别表5 产品表 列名数据类型允许Null值备注:Product-idintFalse主键(产品编号)Product-nameNvarchar(50)True产品名称Product-describeNvarchar(200)True产品描述表6 用户表列名数据类型允许Null值备注:User-idintFalse主键(用户编号)User-PasswordNvarchar(50)False用户密码User-nameNvarchar(50)False用户姓名User-PowerintFalse用户权限等级第3章 客户管理系统需求分析与功能设计3.1 客户信息管理客户信息管理功能为最主要功能,用于管理客户各种信息。注册账户所添加的所有用户均可使用。该模块主要提供两方面功能:客户基本信息管理、客户分类管理。系统用途:其中客户基本信息管理功能包括客户信息查询和客户基本维护。客户信息查询是对客户基本信息及特定信息进行查询操作,找到相应的客户;客户基本维护是对客户信息添加、删除、修改。客户分类管理功能是为了能够迅速找到想要的客户信息,那么就必须对每个客户进行分类,客户可分为以下类别:普通客户、重要客户、合作伙伴、消失客户。对于客户的级别不同可以享受不同的优惠与待遇,使老客户能够保留,促使新客户不断购买产品15。在查询客户时,可以include根据客户的客户信息查询各种客户基本信息管理分类快速查询;删除客户信息需要支持批操作;客户分布统计结果的展现应该直观明了,即需要以图形结构的实行表示结果。如图3所示:includeincludeincludeincludeincludeinclude一级客户客户基本信息维护使用二级客户客户信息管理模块三级客户客户分类管理 企业用户 图3 客户管理信息模块3.2 客户合同管理与客户建立合作的终极目标是签订合同,所以合同管理也是客户管理系统中不可缺失的功能模块。合同管理模块包括合同管理、开票信息管理、交付管理和回款管理。如图4所示:合同信息管理:包括合同信息查询和信息维护,合同相关信息的增加、删除、更改、查询操作16。开票信息管理:对票的记录进行增、删、改、查操作;交付信息管理:包括交付计划信息和叫记录信息的管理;回款信息管理:包括回款计划信息和回款记录信息的管理。合同管理开票信息管理合同信息管理交付信息管理回款管理合同信息查询合同信息维护includeincludeincludeincludeusesusesusesincludeextends 图4 客户合同管理模块3.3 客户销售统计客户销售统计模块的作用是为了统计客户在一个月或者一年内在本公司消费况,包括销售额统计和销售产品统计,其目的就在于为公司反馈有价值的信息,进而为公司下一步进货做出预判,以使公司在下一阶段的损失降到最低。此外,此模块还设有录入新客户销售情况模块从而使客户不断积累与更新。客户销售统计包括月销售额统计和年销售额统计,此模块的还有销售产品记录、客户编号、产品编号、销售数量、销售单价等。各个模块之间存在相互依赖关系,依赖关系如图5所示:客户销售统计客户名称产品名称单价销售数量includeincludeincludeincludeinclude年销售额月销售额日销售额includeinclude 图5 客户销售统计 3.4 销售统计作为第三方物流客户管理系统,销售统计模块处于极其重要地位,它是公司进行利益损失统计的模块,以及新老客户级别判定的标准,若某个客户销售商品在一年内达到公司所定的客户级别标准,那么此客户将会升级客户级别,享受公司更多的利益。销售统计最大的好处是,利用统计销售额17,判断那种商品更受客户欢迎,公司从而可以为下一步进货有侧重点,使公司获得的利益更大。销售统计中,销售产品、客户、以及日销售统计、月销售统计和年销售统计模块之间的关系如图6所示:销售统计客户名称产品名称销售数量 单价includeincludeincludeinclude年销售统计月销售统计日销售统计includeincludeinclude图6 销售统计3.5 其它模块简介除了上面介绍的主要功能模块以外,客户管理系统还包括下面模块:用户信息模块。此模块包括用户号、用户名、密码和用户类型四个板块,其中用户类型又包括管理员、合同部、销售部、客户部四个类型。管理员可以登录用户信息模块对其进行增加删除操作,其余三个则没有这样的权限。其余的只能登录相应的模块进行操作,而不能登录用户信息模块。产品信息模块:有产品名称、产品编号和产品描述三个板块。其功能主要是显示产品信息即产品名称和产品出产地。此模块还可以对产品进行增加删除、编辑操作。修改密码模块:此模块就是对原有密码改变。用户须输入用户名和原始密码才能进行新密码的操作18。第4章 客户管理系统的实现4.1 系统界面的实现系统界面的实现即客户管理系统的登录界面、用户信息、客户信息、产品信息、客户销售统计、销售统计、合同管理和修改密码界面的实现,由于板块太多,下面只列出登录界面和合同管理中合同添加页面的实现。其中登录界面的实现如图7所示: 图7 客户管理系统登录界面实现其功能的相关代码如下所示:protected void ImageBtn_login_Click(object sender, ImageClickEventArgs e) YS.BLL.Users UserLogin = new YS.BLL.Users(); string pwd Md5 = System. Web. Security. FormsAuthentication. Hash Password For StoringInConfigFile(Tbx_pwd.Text.Trim(), md5); String strsql = User_name= + Tbx_name.Text.Trim() + and User_Password= + pwdMd5 + ; SessionLogin_UserID = int.Parse(UserLogin.GetValue( User_name= + Tbx_name.Text.Trim() + , User_id).ToString(); if (UserLogin.Exists(strsql) = true) SessionUser_Power=UserLogin.GetList(strsql).Tables0.Rows0User_Power.ToString(); if (SessionUser_Power.ToString() = 0) Response.Redirect(users.aspx); else if (SessionUser_Power.ToString() = 1) Response.Redirect(contract.aspx); else if (SessionUser_Power.ToString() = 2) Response.Redirect(contract_stat.aspx); else Response.Redirect(customer.aspx); else Lbl_note.Text = 登录失败,请检查输入!; 添加新合同管理界面的实现如图8所示:图8 添加合同登录界面实现其功能的相关代码如下:public partial class addcontract : System.Web.UI.Page SqlConnection cn; double x; protected void Page_Load(object sender, EventArgs e) Stringstrconn=Convert.ToString(ConfigurationManager.ConnectionStrings SQLConnectionString); SqlConnection cn0 = new SqlConnection(strconn); if (!IsPostBack) cn0.Open(); string mysql = select * from customer; SqlCommand cm0 = new SqlCommand(mysql, cn0); SqlDataReader dr0 = cm0.ExecuteReader(); while (dr0.Read() Ddl_customer.Items.Add(new ListItem(dr0Custom_Name.ToString(), dr0Custom_ID.ToString(); cn0.Close(); cn0.Open(); string mysql1 = select * from product; SqlCommand cm1 = new SqlCommand(mysql1, cn0); SqlDataReader dr1 = cm1.ExecuteReader(); while (dr1.Read() Ddl_product.Items.Add(newListItem(dr1Product_name.ToString(), dr1Product_id.ToString(); cn0.Close(); cn = new SqlConnection(strconn); protected void Btn_add_Click(object sender, EventArgs e) cn.Open(); SqlCommand cm = new SqlCommand(insert_contract_detail_1, cn); cm.CommandType = CommandType.StoredProcedure; try cm.Parameters.Add(new SqlParameter(Product_id, SqlDbType.Char, 10); cm.ParametersProduct_id.Value = Ddl_product.SelectedItem.Value; cm.Parameters.Add(new SqlParameter(Product_book, SqlDbType.Int, 4); cm.ParametersProduct_book.Value = Tbx_count1.Text; cm.Parameters.Add(new SqlParameter(Product_send, SqlDbType.Int, 4); cm.ParametersProduct_send.Value = Tbx_count2.Text; cm.Parameters.Add(new SqlParameter(Product_price, SqlDbType.Money, 8); cm.ParametersProduct_price.Value = Tbx_price.Text; Response.Write(cm.CommandText); cm.ExecuteNonQuery(); Lbl_note.Text = 添加成功,请返回; catch(SqlException ex) Lbl_note.Text = 添加失败,请检查输入+ex.Message; Lbl_note.Stylecolor = red; cn.Close(); cn.Open();第5章 总结本文分析了第三方物流客户管理系统,介绍了与.NET 三层架构设计模式、数据库概念设计和物理设计的信息。将三层架构模式很好的在.NET平台上建立与实现。本论文的主要工作及设计的不足有:(1)介绍了.NET平台分层架构设计基本原则,.NET分层结构,模块划分及交互设计等内容,为下面的三层架构框架的开发做出了铺垫。(2)分析了三层框架的功能, 着重介绍了表示层、业务逻辑层、数据访问层,三层架构的关系,体现了三层架构在.NET平台下的继承与发扬。 (3)分析了客户管理系统的需求分析与功能设计,分别详细介绍了客户销售统计、客户信息、合同信息、销售统计的设计功能图,简要介绍了用户信息、产品信息和修改密码模块。(4)介绍了第三方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论