西安工业大学北方信息工程学院
本科毕业设计(论文)
题目:馨凯房地产公司客户关系管理
系统的设计与实现
系 (部):计算机信息与技术系 专 业: 软件工程 班 级: 学 生: 学 号: 指导教师:
2010年 06月
西安工业大学北方信息工程学院毕业设计(论文)
馨凯房地产公司客户关系管理系统的设计与实现
摘 要
随着市场经济的深入发展,市场竞争、行业竞争越演越烈产品和服务的差异越来越小。以生产为中心、以销售产品为目的的市场战略逐渐被以客户为中心、以服务为目的的市场战略所取代。谁能掌握客户的需求趋势、加强与客户的关系、有效发掘和管理客户资源,谁就能获得市场竞争优势,在激烈的竞争中立于不败之地。企业、供应商、分销商及客户连成一片的价值链成为企业之间竞争的核心。为房地产企业开发一套客户关系管理系统(Customer Relationship Management:CRM)成为必然趋势。
该系统所面向的对象为房地产企业的管理和销售人员。整个系统从符合操作简便、界面友好、灵活、使用安全的要求出发,采用ASP.NET作为前台开发工具,SQL Server2005作为后台数据库平台,基于B/S的三层模式的客户关系管理系统。旨在实现利用数据库来存储、管理大量数据信息。设计并完成对其各种数据的分类、查询和统计,尽可能实现友好的操作界面。
房地产公司客户关系管理系统将大大提高客户满意度和忠诚度,工作效率,发掘客户价值,从而提高企业盈利。该系统将给房地产企业整个的信息化建设带来深远而有意义的影响。
关键词:CRM;客户关系管理;房地产;ASP.NET;数据库
西安工业大学北方信息工程学院毕业设计(论文)
The reassignment and realization of the xinkai real estate company customer relationship management system
Abstract
With further development of market economy, market competition, competition intensified and the products and services is more and more. Production as the center for the purpose of selling products market strategy gradually to customer-centric service strategy for the purpose of replacing the market. Who can grasp the trends in customer demand, strengthen customer relationships, effective resource discovery and management of customers, who will be able to obtain competitive advantage in the fierce competition in an invincible position. Enterprises, suppliers, distributors and customers together into a value chain to become the core of competition among enterprises.
Real estate companies to develop a customer relationship management system (Customer Relationship Management: CRM) has become an inevitable trend.
The system object-oriented real estate business management and sales staff. The system is easy to manipulate and user-friendly, flexible, safe and requirements, the use of ASP.NET as a development tool, SQL Server2005 as the backend database platform, based on B / S three-tier model of customer relationship management system. Aimed at achieving use of the database to store, manage large amounts of data information. Design and complete a variety of data on its classification and statistics, as much as possible friendly interface.
Real estate company customer relationship management system will greatly enhance customer satisfaction and loyalty, efficiency, identify customer value, thereby enhancing profitability. The system will give the real estate business throughout the information technology have far-reaching and meaningful impact.
Keywords: CRM; customer relationship management; real estate; ASP.NET;
Database
西安工业大学北方信息工程学院毕业设计(论文)
目 录
1 绪 论 ................................................................................................... 1
1.1 研究背景 ............................................................................................................................ 1
1.2 课题设计的目的和意义 .................................................................................................... 1 1.3 课题主要的研究工作 ........................................................................................................ 2 1.4 论文结构的计划安排 ........................................................................................................ 2
2 课题中涉及的关键技术 ...................................................................... 3
2.1 ASP.NET的简介 ................................................................................................................ 3 2.1.1 ASP.NET的概念和特点 ................................................................................................. 3 2.1.2 ASP.NET页面主要的优点 ............................................................................................. 5 2.2 Microsoft SQL Server 2005简介 ....................................................................................... 6 2.2.1 ADO简介 ........................................................................................................................ 6 2.2.2 ADO.NET包含的对象 ................................................................................................... 6 2.2.3 SQL简介 ......................................................................................................................... 8 2.3 C#简介 ................................................................................................................................ 9 2.4 B/S模式介绍 .................................................................................................................... 12
3 需求分析............................................................................................. 13
3.1系统需求分析 ................................................................................................................... 13
4 系统概要设计 .................................................................................... 15
4.1 系统的数据库设计 .......................................................................................................... 15 4.2 系统的功能模块设计 ...................................................................................................... 21
5 系统详细设计与实现 ........................................................................ 23
5.1 系统数据库的设计与实现 .............................................................................................. 23 5.2 系统功能模块的设计与实现 .......................................................................................... 31 5.2.1系统登陆模块设计实现 ................................................................................................ 31 5.2.2 营销管理模块的设计与实现 ....................................................................................... 33
5.2.2.1销售机会管理模块的设计与实现 ..................................................................... 33 5.2.2.2客户开发计划模块的设计与实现 ..................................................................... 36 5.2.2.3订单信息管理模块的设计与实现 ..................................................................... 38 5.2.3 客户管理模块的设计与实现 ....................................................................................... 39
5.2.3.1客户信息管理模块的设计与实现 ..................................................................... 39 5.2.3.2客户流失管理模块的设计与实现 ..................................................................... 41 5.2.4 服务管理模块的设计与实现 ....................................................................................... 43 5.2.5 基础数据管理模块的设计与实现 ............................................................................... 44
5.2.5.1数据字典的管理模块的设计与实现 ................................................................. 44 5.2.5.2地产信息查询模块的设计与实现 ..................................................................... 44
6 测 试 ................................................................................................... 46
西安工业大学北方信息工程学院毕业设计(论文)
6.1 测试的目的和方法 ........................................................................................................ 46 6.2 系统部分测试用例 .......................................................................................................... 47
7 总 结 ................................................................................................. 49
7.2存在问题及解决 ............................................................................................................... 49
参考文献 ................................................................................................... 50 致 谢 ....................................................................................................... 51
西安工业大学北方信息工程学院毕业设计(论文)
西安工业大学北方信息工程学院毕业设计(论文)
1 绪 论
1.1 研究背景
随着房地产行业竞争环境的变化,一方面客户随着房地产行业的市场化而成长,进入二次置业阶段,另一方面市场化,导致客户在众多的选择面前,变的越来越理智,而且维权的意识越来越强烈。市场竞争的加剧,房地产出现大鱼吃小鱼,快鱼吃慢鱼趋势,更多的企业开始跨区域经营,外资的进入,你不走出去,别人也要走进来,给每个企业带来巨大的竞争压力和动力。房地产的技术创新、产品创新、营销创新层出不穷,给企业提出的问题是如何选择和如何创新,企业不断创新的前提是依据市场的需求,而不能再是浮躁的包装概念。由于外部环境竞争逐步公平化,以及行业内的人员流动,使得更多的竞争要素同质化,企业要想建立和保持自己的竞争优势,就要通过建立自己的品牌战略,争取和保持更多的客户资源,谁拥有客户,谁就拥有市场,谁就把握主动。因此改善企业与客户之间关系成为重点,而客户关系管理系统就是基于此问题的解决。
房地产客户关系管理系统全面解决了房地产企业外部客户问题,实现了对客户资源的有效发掘和利用,同时,实施客户关系管理是一个系统工程,它既适应了企业竞争环境变化的要求,又融合了数据库营销、关系营销、一对一营销等一系列管理思想。
1.2 课题设计的目的和意义
使用CRM概念和技术,企业能快速搜集、追踪和分析每一个客户的信息,进而了解整个市场走势,并确切地知道谁是客户、什么是客户的需要、客户需要什么样的产品和服务、如何才能满足客户的要求,以及满足客户要求的一些重要因素。CRM还能观察和分析客户行为对企业收益的影响,使企业与客户的关系及企业盈利都得到最优化。因此为房地产企业开发一套客户关系管理系统成为必然趋势。客户关系管理系统要提高管理的效率以及质量,完成对客户基本信息、联系人信息、交往信息、客户服务信息的充分共享和规范化管理;希望通过
- 1 -
西安工业大学北方信息工程学院毕业设计(论文)
对销售机会、客户开发过程的追踪和记录,提高新客户的开发能力;希望在客户将要流失时系统及时预警,以便销售人员及时采取措施,降低损失。并希望系统提供相关报表,以便公司高层随时了解公司客户情况。最终实现房地产企业的盈利最大化。
1.3 课题主要的研究工作
本论文主要介绍房地产客户关系管理系统的设计思路及实现方法,开发工具使用Microsoft Visual Studio 2005,数据库采用Microsoft SQL Server 2005 ,服务器采用IIS。在Windows XP平台上开发基于B/S模式的房地产客户关系管理系统。
该系统主要业务功能划分为以下几个功能模块:营销管理(包括销售机会的管理,客户开发计划的管理,订单信息管理)、客户管理(包括客户信息的管理和客户流失的管理)、服务管理(包括服务创建,服务分配,服务处理,服务反馈,服务归档的管理)、基础数据(包括数据字典管理,地产信息查询)共四个模块。该系统主要完成对客户基本信息、联系人信息、交往信息、客户服务信息的充分共享和规范化管理;通过对销售机会、客户开发过程的追踪和记录,提高新客户的开发能力;在客户将要流失时系统及时预警,以便销售人员及时采取措施,降低损失。
1.4 论文结构的计划安排
本文第一章从基于房地产客户关系管理系统的研究背景及意义入手,阐述了主要研究工作。第二章对课题中涉及的相关技术做了详细的介绍,主要介绍了ASP.NET简介、C#的概念和特点 、Microsoft SQL Server 2005简介、B/S模式介绍,为后续章节的论述作了理论准备。第三章讲述了系统需求分析。第四章阐述了系统的概要设计,分为系统的数据库设计和系统的功能模块设计。第五章详细介绍了馨凯房地产客户关系管理系统的设计与实现过程。最后,对论文做出总结。
- 2 -
西安工业大学北方信息工程学院毕业设计(论文)
2 课题中涉及的关键技术
2.1 ASP.NET的简介
2.1.1 ASP.NET的概念和特点
。它是一种包ASP即Active Server Pages的缩写,意为“活动服务器网页”
含了使用VBScript或JavaScript脚本程序代码的网页。当浏览器浏览ASP网页时,Web服务器就会根据请求生成相应的HTML代码,然后再返回给浏览器。这样浏览器端看到的就是动态生成的网页。
如下图2.1所示为ASP的工作原理。用户给出已知的网页地址(URL),通过浏览器向远程服务器请求ASP页面。服务器接收请求并读取服务器上相应的ASP文件,并将该文件传递到服务器上的脚本引擎;脚本引擎解释ASP文件,并生成HTML页面,然后服务器将该HTML页面传回到用户的浏览器。浏览器解释并显示HTML页面,这个页面就是用户看到的网页。
因为脚本是在服务器端运行的,所以Web服务器完成所有的处理后,将标准的HTML页面送往浏览器。这意味着ASP只能在可以支持的服务器上运行。让脚本驻留在服务器端的好处是用户不可能看到原始的脚本代码,看到的仅仅是最终产生的HTML内容。
1.浏览器向服务器请求运行ASP程序 浏览器 3.服务器将HTML文件传送给浏览器 4.浏览器将收到的HTML文件显示在屏幕上 2.服务器读取并运行ASP程序,然后将结果转换为HTML文件 服务器 ASP 的工作原理 图2.1 ASP的工作原理
- 3 -
西安工业大学北方信息工程学院毕业设计(论文) ASP.NET不仅仅是 Active Server Page (ASP) 的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.NET提供许多比现在的Web开发模式强大的优势。其主要特点主要如下:
(1)执行效率大幅提高 ASP.NET是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。
(2)世界级的工具支持 ASP.NET构架是可以用Microsoft(R)公司最新的产品 Visual Studio.NET开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得)的编辑。这些仅是ASP.NET强大化软件支持的一小部分。
(3)强大性和适应性 因为ASP.NET是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows 2000 Server上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.NET的Web应用中。ASP.NET同时也是language-independent语言化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.NET。
(4)简单性和易学性 ASP.NET使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如ASP.NET页面构架允许你建立你自己的用户分界面,使其不同于其他的界面。
(5)高效可管理性 ASP.NET使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。一个ASP.NET的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须的文件,不需要系统的重新启动,一切就是这么简单。ASP.NET已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.NET应用软件是为一个处理器开发的,将
- 4 -
西安工业大学北方信息工程学院毕业设计(论文) 来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP却做不到这一点。安全性基于Windows认证技术和每应用程序配置,你可以确保你的原程序是绝对安全的。 ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。 ASP.NET 是一个已编译的、基于 .NET 的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多。而且是可以用任何与 .NET 兼容的语言(包括 Visual Basic.NET、C# 和 JScript .NET)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
2.1.2 ASP.NET页面主要的优点
ASP.NET页面主要的优点如下:
(1)控件将可重复使用的功能封装起来,用户不必另外编写代码,就可实现状态管理、确认、数据处理等功能,从而简化了许多普通的编程任务。
(2)ASP.NET页面的代码更简洁,易于阅读。在服务器端控件中封装代码,同时又能在页面中使用合适的事件处理技术,这使设计更为结构化。以前试用并优化过的控件具有可重复使用性,这也意味着加快了开发的速度。
(3)ASP.NET页面对于代码和用户界面开发工具有更好的支持。 (4)ASP.NET页面的最大优点是它没有对非结构脚本语言(包括VBScript和Jscript)的依赖性。ASP.NET中用户可以使用任何一种ASP.NET支持的语言编写代码,可以不用以前的内嵌代码来编写代码从而使其成为一个单独模块使用。ASP.NET除了支持VB.NET、C#、JavaScript三种程序语言外,凡是可以编译成MSIL的程序语言,都可以成为制作ASP.NET网页的程序语言。ASP.NET为Web应用程序提供了一个真正的中间语言的执行框架。
- 5 -
西安工业大学北方信息工程学院毕业设计(论文) 2.2 Microsoft SQL Server 2005简介
2.2.1 ADO简介
ADO(ActiveX Data Objects)是一组用于和数据源进行交互的面向对象类库。它提供了平台互用性和可伸缩的数据访问。ADO.NET增强了对非连接编程模式的支持,并支持RICH XML。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO.NET组件,它可以是基于一个Microsoft Visual Studio的解决方案,也可以是任何运行在其它平台上的任何应用程序。
ADO.NET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。
ADO.NET允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的ADO.NET类库来进行连接。
ADO.NET提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用一组不同的类库。这些类库称为Data Providers,并且通常是以与之交互的协议和数据源的类型来命名的。
2.2.2 ADO.NET包含的对象
(1)SqlConnection 对象
与数据库交互,连接它需指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。connection对象会被command对象使用,这样就能够知道是在哪个数据库上面执行命令。
与数据库交互的过程意味着你必须指明想要发生的操作。这是依靠command对象执行的。你使用command对象来发送SQL语句给数据库。command对象使用connection对象来指出与哪个数据库进行连接。你能够单独使用command对象来直接执行命令,或者将一个command对象的引用传递给SqlDataAdapter,它保存了一组能够操作下面描述的一组数据的命令。
- 6 -
西安工业大学北方信息工程学院毕业设计(论文)
(2)COMMAND对象
成功于数据建立连接后,就可以用COMMAND对像来执行查询,修改,插入,删除等命令;COMMAND对像常用的方法有ExecuteReader方法,ExecuteScalar()方法ExecuteNonQuery()方法;插入数据可用ExecuteNOnQuery()方法来执行插入命令。
(3)sqlDataReader对象
data reader对象允许你获得从command对象的SELECT语句得到的结果。考虑性能的因素,从data reader返回的数据都是快速的且只是“向前”的数据流。这意味着你只能按照一定的顺序从数据流中取出数据。这对于速度来说是有好处的,但是如果你需要操作数据,更好的办法是使用DataSet。
(4)DataSet对象
DataSet对象是数据在内存中的表示形式。它包括多个DataTable对象,而DataTable包含列和行,就象一个普通的数据库中的表。你甚至能够定义表之间的关系来创建主从关系(parent-child relationships)。DataSet是在特定的场景下使用――帮助管理内存中的数据并支持对数据的断开操作的。DataSet是被所有Data Providers使用的对象,因此它并不像Data Provider一样需要特别的前缀。
(5)SqlDataAdapter对象
某些时候你使用的数据主要是只读的,并且很少需要将其改变至底层的数据源。同样一些情况要求在内存中缓存数据,以此来减少并不改变的数据被数据库调用的次数。Data adapter通过断开模型来帮助你方便的完成对以上情况的处理。当在一单批次的对数据库的读写操作的持续的改变返回至数据库的时候,Data adapter 填充(Fill)DataSet对象。data adapter包含对连接对象以及当对数据库进行读取或者写入的时候自动的打开或者关闭连接的引用。另外,data adapter包含对数据的SELECT,INSERT,UPDATE和DELETE操作的command对象引用。你将为DataSet中的每一个table都定义data adapter,它将为你照顾所有与数据库的连接。所有你将做的工作是告诉data adapter什么时候装载或者写入
- 7 -
西安工业大学北方信息工程学院毕业设计(论文) 到数据库。
ADO.NET是与数据源交互的.NET技术。有许多的Data Providers,它将允许与不同的数据源交流――取决于它们所使用的协议或者数据库。然而无论使用什么样的Data Provider,你将使用相似的对象与数据源进行交互。SqlConnection对象管理与数据源的连接。SqlCommand对象允许你与数据源交流并发送命令给它。为了对进行快速的只“向前”地读取数据,使用SqlDataReader。如果想使用断开数据,使用DataSet并实现能进行读取或者写入数据源的SqlDataAdapter。
2.2.3 SQL简介
SQL(Structured Query Language,译为结构化查询语言)是它是关系型数据库的标准语言。利用它,用户可以用几乎同样的语句在不同的数据库系统上执行同样的操作。SQL语言的功能如下:
(1)数据定义 数据定义主要通过数据库定义语言DDL (Date Definition Language )来实现,利用它可以实现数据库的表、视图及索引的定义、修改和删除等操作。
(2)数据操作 数据操作主要通过数据操纵语言DML(Data Manipulation Language)来实现,实现对数据的查询、插入、更新和修改等操作。
(3)数据控制 数据控制是指对数据的安全性和完整性的控制,主要通过数据控制语言DCL(Data Contronl Language)来实现,实现对于用户对用户权限、数据完整性约束的定义。
SQL Server 2005是Microsoft 公司开发的大型关系数据库管理系统,具有强大的关系数据库创建、开发、设计和管理功能,它提供了对分布式事务处理的支持,并对开发工具具有良好的支持,为大型数据库项目提供了企业级解决方案。它可支持在线备份(系统运行的同时可在另一个硬件设备上备份数据),镜像硬盘和事务日志恢复技术。SQL Server 2005 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2005分布式查询使您得以引用来自不同数据源的数据,就好像这些数据是SQL Server 2005数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。
- 8 -
西安工业大学北方信息工程学院毕业设计(论文)
2.3 C#简介
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。并且C#成为ECMA与ISO标准规范。C#看似基于C++写成,但又融入其它语言如Delphi、Java、VB等。C#的特点如下:
(1) 从JAVA继承而来的特点
①类
在C#中类的申明与Java很相似。这是合理的因为经验告诉我们Java模型工作得很好。Java的关键字import已经被替换成using,它起到了同样的作用。一个类开始执行的起点是静态方法Main()。下面的Hello World程序展示了基本的形式: using System; class Hello {
static void Main() {
Console.WriteLine(\"Hello, world\"); } }
在这个例子中,System这个名字指向一个包括了基本C#实用类集合的命名空间(namespace)。这个命名空间包括了Console类,它在这个例子中被用来输出一个字符串。类可以是抽象的和不可继承的:一个被申明成abstract的类不能被实例化;它只能被用做一个基类。C#关键字sealed就象Java关键字final,它申明一个类不是抽象的,但是它也不能被用做另一个类的基类。接口:就象在Java中一样,一个接口是一组方法集合的抽象定义。当一个类或结构体实现一个接口的时候,它必须实现这个接口中定义的所有方法。一个单一的类可以实现几个接口。也许以后会出现一些微妙的差别,但是这个特点看起来与Java相比没有变化。布尔运算:条件表达式的结果是布尔数据类型,布尔数据类型是这种语
- 9 -
西安工业大学北方信息工程学院毕业设计(论文) 言中的一种数据类型。从布尔类型到其他类型没有直接的转换过程。布尔常量true和false是C#中的关键字。错误处理:如Java中那样,通过抛出和捕捉异常对象来管理错误处理过程。
②内存管理
由底层.NET框架进行自动内存垃圾回收。 (2)从C与C++继承而来的特点 ①编译
程序直接编译成标准的二进制可执行形式。但C#的源程序并不是被编译成二进制可执行形式,而是一种中间语言,类似于JAVA字节码。如果前面的Hello World程序被保存成一个文本文件并被命名为Hello.cs,它将被编译成命名Hello.exe的可执行程序。
②结构体
一个C#的结构体与C++的结构体是相似的,因为它能够包含数据声明和方法。但是,不象C++,C#结构体与类是不同的而且不支持继承。但是,与Java相同的是,一个结构体可以实现接。
③预编译
C#中存在预编译指令支持条件编译,警告,错误报告和编译行控制。 ④操作符重载
C#中可以进行一些操作符的重载运算。 (3)独有的特点 ①中间代码
微软在用户选择何时MSIL应该编译成机器码的时候是留了很大的余地。微软公司很小心的声称MSIL不是解释性的,而是被编译成了机器码。它也明白许多--如果不是大多数的话--程序员认为Java程序要不可避免的比C编写的任何东西都要慢。而这种实现方式决定了基于MSIL的程序(指的是用C#,Visual Basic,\"Managed C++\"--C++的一个符合CLS的版本--等语言编写的程序)将在性能上超过\"解释性的\"Java代码。当然,这一点还需要得到事实证明,因为C#和其他生成MSIL的编译器还没有发布。但是Java JIT编译器的普遍存在使得Java和C#在性能上相对相同。象\"C#是编译语言而Java是解释性的,\"之类的声明只是商业技巧。Java的中间代码和MSIL都是中间的汇编形式的语言,它们在运行时或其它的时候被编译成机器代码。
②命名空间中的申明
当你创建一个程序的时候,你在一个命名空间里创建了一个或多个类。同在这个命名空间里(在类的外面)你还有可能声明接口,枚举类型和结构体。必须使
- 10 -
西安工业大学北方信息工程学院毕业设计(论文) 用using关键字来引用其他命名空间的内容。
③基本的数据类型
C#拥有比C,C++或者Java更广泛的数据类型。这些类型是bool,byte,ubyte,short,ushort, int,uint,long,ulong,float,double和decimal。象Java一样,所有这些类型都有一个固定的大小。又象C和C++一样,每个数据类型都有有符号和无符号两种类型。与Java相同的是,一个字符变量包含的是一个16位的Unicode字符。C#新的数据类型是decimal数据类型,对于货币数据,它能存放28位10进制数字。
④两个基本类
一个名叫object的类是所有其他类的基类。而一个名叫string的类也象object一样是这个语言的一部分。作为语言的一部分存在意味着编译器有可能使用它--无论何时你在程序中写入一句带引号的字符串,编译器会创建一个string对象来保存它。
⑤参数传递
方法可以被声明接受可变数目的参数。缺省的参数传递方法是对基本数据类型进行值传递。ref关键字可以用来强迫一个变量通过引用传递,这使得一个变量可以接受一个返回值。out关键字也能声明引用传递过程,与ref不同的地方是,它指明这个参数并不需要初始值。
⑥与COM的集成
C#对Windows程序最大的卖点可能就是它与COM的无缝集成了,COM就是微软的Win32组件技术。实际上,最终有可能在任何。NET语言里编写COM客户和服务器端。C#编写的类可以子类化一个以存在的COM组件;生成的类也能被作为一个COM组件使用,然后又能使用,比方说,JScript语言子类化它从而得到第三个COM组件。这种现象的结果是导致了一个运行环境的产生,在这个环境里的组件是网络服务,可用用任何。NET语言子类化。
⑦索引下标
一个索引与属性除了不使用属性名来引用类成员而是用一个方括号中的数字来匿名引用(就象用数组下标一样)以外是相似的。
⑧代理和反馈
一个代理对象包括了访问一个特定对象的特定方法所需的信息。只要把它当成一个聪明的方法指针就行了。代理对象可以被移动到另一个地方,然后可以通过访问它来对已存在的方法进行类型安全的调用。一个反馈方法是代理的特例。event关键字用在将在事件发生的时候被当成代理调用的方法声明。
- 11 -
西安工业大学北方信息工程学院毕业设计(论文)
2.4 B/S模式介绍
随着Internet技术的发展,管理系统的开发正逐步采用一种全新的技术
模式:B/S(Browser/Server)模式(见图2.2)。
B/S本质上也是一种C/S结构,它是传统的两层C/S结构在Web上的发展。相对于C/S结构而言,B/S结构是把原来在客户机一侧的应用程序模块与显示功能分开,将应用程序模块单独作为一层放在Web服务器上,客户端只需要安装浏览器就可以了,这样将系统的业务处理部分统一放在Web服务器上,客户端只起到与用户交互的作用。
上传HTTP请求数据请求下传HTML网页浏览器Web服务器数据返回数据库服务器图2.2 B/S(Browser/Server)模式
B/S结构的工作原理是:Web服务器接收浏览器的Web请求,并处理Web页请求,同时将数据请求通过数据库接口转换成数据库服务器能接受的形式(如SQL),之后送到数据库服务器,数据库服务器根据数据请求执行相应的数据库操作(如查询、修改、统计等),并将结果通过数据库接口的转换送回Web服务器,Web服务器将结果处理成Web浏览器能够接受的形式(HTML),送回发出请求的Web浏览器,由浏览器将其显示在客户端。
- 12 -
西安工业大学北方信息工程学院毕业设计(论文) 3 需求分析
3.1系统需求分析
本系统开发的是房地产公司客户关系管理系统,实现对老客户价值的发掘,更多新客户的开发,通过因特网完成服务的处理和记录,并且用Web进行发布。系统主要需求有:
1. 营销管理功能 客户资源是一个公司的重要资源,我们只有合理有效的利用这些资源才能为公司创造更多的财富。当我们了解到有公司或个人有意向购买我们公司的产品时,这时公司就会拥有一个潜在的销售机会,就要抓住设个销售机会来为公司争取更多的利润,结合对订单信息的管理,达到吸引客户,最终使公司盈利的目的。通过本系统,管理员能够进行销售机会的管理和客户开发计划的管理,和对订单信息的管理。
2. 客户管理功能 系统有不同的功能模块,管理员登陆系统后台后就可以对客户的基本信息对客户信息的查询删除,修改,联系人信息的管理(对联系人进行添加,修改和删除操作 ),交往记录的管理(包括添加修改和删除操作)。
3. 服务管理功能 服务的管理能够更好的使客户资源在售前或售后在信息的回馈问题上得到很好的解决,是一个公司的信息回馈重要资源,我们只有合理有效的利用这些资源才能为公司创造更多的财富。当我们了解到有公司或个人有意向购买我们公司的地产时,这时公司就会拥有一些用户的咨询、建议、投诉等信息的处理,就可以通过:创建服务服务分配服务处理服务反馈服务归档的流程完成一个服务的。
4. 基础数据 每一个系统都必须拥有他自己的一些基础数据,而这些基础数据主要用于今后在系统中使用。使系统信息的来源有一定的根据。通过该模块,管理员可以完成数据字典管理,地产信息查询的功能。
5. 软硬件环境需求 系统应可运行于Windows平台(数据库服务器运行于Windows平台)。系统采用B/S架构,可通过浏览器访问,使用IE6.0或更高版本可顺利完成全部系统操作。系统数据库使用MS SQL Server 2005(或更高版本)。
6. 性能需求 为了保证系统运行的长久稳定,需要满足以下的性能需求: (1)数据处理的准确性和及时性 本系统主要是对输入数据的处理,包括添加,修改和查询,因此系统处理的准确性和及时性是本系统的必要性能。在系统的设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足对信息处理的需求。
- 13 -
西安工业大学北方信息工程学院毕业设计(论文) (2)可维护性和可扩展性 本系统的应用平台设计中选择B/S结构,并采用三层架构,将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL),使系统具有良好的可维护性和可扩展性。
(3)系统的标准性 系统在设计开发使用过程中都要涉及到很多计算机硬件和软件。所有这些都要符合主流国际、国家和行业标准。例如在开发过程中使用的操作系统和开发工具都必须符合通用标准;同时,在开发系统时,要进行良好的设计工作,制定有效的软件工程规范,保证代码的易读性,可操作性和可移 植性。
- 14 -
西安工业大学北方信息工程学院毕业设计(论文) 4 系统概要设计
4.1 系统的数据库设计
根据需求分析,本系统模块使用的数据库设计为11个表,分别介绍如下: 基础数据表用于存储常识和不变的数据:如客户的等级,和公司对客户的服务类型,客户的信用度和客户的满意度的不改变的数据,表名为bas_dict,主键为Dict_id。基础数据表结构如表4.1所示。
表4.1 基础数据表bas_dict
中文字段 编号PK 类别 条目 值 是否可编辑
英文字段 Dict_id Dict_type Dict_item Dict_value Bit
数据类型 Bigint Varchar(50) INT Varchar(50) Dict_is_editable
是否为空 否
默认值
销售机会表是客户关系管理系统中的目标客户的信息的集合表,该表主要是对目标客户跟踪信息进行管理,表名为sal_chance,主键为id。销售机会表的结构如表4.2所示。
表4.2 销售机会表sal_chance
中文字段 标识列PK 销售机会来源 客户名称 概要 成功几率 联系人 联系电话 机会描述 机会创建人编号 机会创建日期
Id Chc_source Chc_cust_name Chc_titlle Chc_rate Chc_linkman Chc_tel Chc_desc Chc_create_id Chc_create_date
英文字段
INT
NVARCHAR(50) NVARCHAR(100) NVARCHAR(200) INT
NVARCHAR(50) NVARCHAR(50) NVARCHAR(2000) bigint datetime
数据类型
是否为空
否
默认值
- 15 -
西安工业大学北方信息工程学院毕业设计(论文) 机会创建人 被指派人的编号 被指派人 指派日期 当前的状态
Che_create_by Chc_due_id Chc_due_to Chc_due_date Chc_status
NVARCHAR(50) bigint
NVARCHAR(50) datetime Char(10)
销售计划表主要是对销售机会的开发计划和计划执行结果的管理,表名为cal_plan,主键为Pla_id销售计划表的结构如表4.3所示。
表4.3 销售计划表cal_plan 中文字段 标识列 PK 销售机会编号 计划创建时间 计划的内容 计划执行结果
英文字段 Pla_id Pla_chc_id Pla_date Pla_todo Pla_result
数据类型 bigint bigint datetime NVARCHAR(50) NVARCHAR(500)
是否为空 否 否 否 否
默认值
客户信息表主要存储客户的基本信息,如客户,客户等级,信用度,满意度,邮政编码,电话等,表名为cst_customer,主键为Cust_no。客户信息表的结构如表4.4所示。
表4.4 客户信息表cst_customer
中文字段 客户编号PK 客户名称 客户所在地 客户经理编号 客户经理名称 客户等级编号 客户等级 客户满意度编号 客户信用度编号 联系电话 状态 标识列
英文字段 Cust_no Cust_name Cust_region Cust_manager_id Cust_manager_name Cust_level Cust_level_label Cust_satisfy Cust_credit Cust_tel Cust_status Cust_id
数据类型 CHAR (17) NVARCHARr(100) NVARCHAR(50) bigint
NVARCHAR(50 bigint
NVARCHAR(50) INT INT
NVARCHAR(50) CHAR (1) INT
是否为空 默认值 否 否
- 16 -
西安工业大学北方信息工程学院毕业设计(论文)
客户交往记录表用于存储公司与客户的交往记录,表名为cst_activity,主键为Atv_id。客户交往记录表的结构如表4.5所示。
表4.5 客户交往录记表cst_activity
中文字段 标识列PK 客户编号 客户名称 交往时间 交往地点 交往概要 交往的详细信息
英文字段 Atv_id Atv_cust_no Atv_cust_name Atv_date Atv_place Atv_title Atv_desc
数据类型 bigint Char(17)
NVARCHAR(100) Datetime NVARCHAR(200) NVARCHAR(500) NVARCHAR(2000)
是否为空
否 否 否
默认值
联系人信息表该表存储客户的联系方式:主要存储联系人的姓名,性别,职位,办公室电话和手机号码,表名为cst_linkman,主键为ComId。生产实习单位表结构如表4.6所示。
表4.6 联系人信息表cst_linkman
中文字段 标识列PK 客户编号 客户名称 联系人姓名 联系人性别 联系人地址 联系人办公室电话 联系人手机 备注
英文字段 Lkm_id Lkm_cust_no Lkm_cust_name Lkm_name Lkm_sex Lkm_postion Lkm_tel Lkm_mobile Lkm_memo
数据类型 bigint Char(17)
NVARCHAR(100) NVARCHAR(50) NVARCHAR(5) NVARCHAR(50) NVARCHAR(50) NVARCHAR(50) NVARCHAR(300)
是否为空
否 否 否 否 否
默认值
客户流失表用于对流失客户进行详细的记录,主要包括客户的基本信息和流失原因,表名为cst_lost,主键为Lst_id。客户流失表结构如表4.7所示。
表4.7客户流失表cst_lost
中文字段
英文字段
数据类型
是否为空 默认值
- 17 -
西安工业大学北方信息工程学院毕业设计(论文) 标识列 PK Lst_id 客户编号 Lst_cust_no 客户名称 Lst_cust_name 客户经理编号 Lst_cust_mamager_id 客户经理姓名 Lst_cust_mamager_name 最后下定单的时间 Lst_last_order_date 客户流失时间 Lst_lost_date 暂缓流失措施 Lst_delay 流失原因 Lst_reason 客户当前状态 Lst_status bigint
Char(17)
NVARCHAR(100) bigint
NVARCHAR(50) datetime datetime
NVARCHAR(4000) NVARCHAR(2000) Varchar(10) 否 否 否
客户服务表用于存储服务信息,主要存储的数据有,服务创建人,服务分配,服务处理,反馈和处理结果。表名为cst_service,主键为StuId。学生信息表结构如表4.8所示。
表4.8 客户服务表 cst_service 中文字段 标识列 PK 服务类型 服务名称 客户编号 客户姓名 服务状态 客户请求
服务创建人编号 服务创建人 服务创建时间
被分配服务人的编号 被分配服务人的名称 处理服务人的编号 处理服务人的名称 服务处理时间 服务处理结果
客户对处理服务的满意度
英文字段 Svr_id Svr_type Svr_title Svr_cust_no Svr_cust_name Svr_status Svr_request Svr_create_id Svr_create_by Svr_create_date Svr_due_id Svr_due_to Svr_deal_id Svr_deal_by Svr_deal_date Svr_result Svr_satisfy
数据类型 bigint
NVARCHAR(20) NVARCHAR(500) Char(17)
NVARCHAR(100) NVARCHAR(10) NVARCHAR(3000) bigint
NVARCHAR(50) Datetime Varchar(10)
NVARCHAR(50) bigint
NVARCHAR()50 Datetime
NVARCHAR(500) Int
是否为空
否 否 否 否 否 否 否 否 否
默认值
订单表存储客户定购地产的信息,表名为orders,主键为orders_id。订单表结构如表4.9所示。
表4.9 订单表orders
- 18 -
西安工业大学北方信息工程学院毕业设计(论文) 中文字段 标识列PK 客户姓名 楼盘名称 房间号 订单金额 下定单时间
英文字段 orders_id
orders_customer louPanName houseNumber money orders_date
数据类型 int
nvarchar(100) varchar(200) varchar(50) varchar(50) datetime
是否为空 否 否 否 否 否 否
默认值
地产信息表存储地产的相关信息:如地产的名称,房型,面积,单价等,表名为products,主键为product_id。地产信息表结构如表4.10所示。
表4.10 地产信息表products
中文字段 标识列PK 地产名称
房型 房间号 面积
单价 地址
英文字段 product_id product_name product_type product_batch product_unit product_price product_memo
数据类型 int
nvarchar(200) nvarchar(100) nvarchar(100) nvarchar(10) decimal(19, 2) nvarchar(200)
是否为空 否 否 否 否
默认值
用户信息表记录了管理员用户的基本信息,表名为Sys_user,主键为usr_id。用户信息表结构如表4.11所示。
表4.11 用户信息表Sys_user
中文字段 标识列 PK 用户名称 用户密码
英文字段 usr_id usr_name Usr_password
数据类型 bigint
NVARCHAR(50) NVARCHAR(50)
是否为空 否 否 否
默认值
- 19 -
西安工业大学北方信息工程学院毕业设计(论文) 各数据库表之间的关系图如图4.1所示:
图4.1 数据库表间关联图
- 20 -
西安工业大学北方信息工程学院毕业设计(论文) 4.2 系统的功能模块设计
根据系统的需求分析,确定该系统的功能模块图如下图4.2所示: 馨凯房地产公司客户关系管理系统登录客户关系管理退出营销管理客户管理服务管理基础数据销售机会管理客户开发计划订单信息管理客户信息管理客户流失管理服务创建服务分配服务处理服务反馈服务归档数据字典管理查询地产信息 图4.2 功能模块图 该系统实现的主要功能包括: (1)销售机会的编辑,指派,删除,查询;
(2)制定开发计划,执行计划,确定该销售机会是开发成功还是开发
失败;
(3)订单信息的查询,增加,删除; (4)客户信息的编辑,删除,查询;
(5)客户流失信息的新建,暂缓流失,确认流失; (6)服务的新建; (7)服务的分配; (8)服务的处理; (9)服务的反馈。 (10)服务的归档。
(11)数据字典中基本信息的增加,删除,查询,修改。
- 21 -
5 系统详细设计与实现
(12)地产信息的查询。
- 22 -
5 系统详细设计与实现
5 系统详细设计与实现
5.1 系统数据库的设计与实现
本系统采用SQL Server 2005 建立数据库,用于满足各个模块的数据存储要求,根据需求分析和概要设计,本系统共建立了一个数据库,在数据库中创建了十一个数据表,各表实现代码如下:
(1)基础数据表bas_dict的实现,用于存储常识和不变的数据:如客户的等级,和公司对客户的服务类型,客户的信用度和客户的满意度的不改变的数据。
CREATE TABLE [dbo].[bas_dict]( [dict_id] [int] IDENTITY(1,1) NOT NULL,
[dict_type] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL, [dict_item] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL, [dict_value] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL, [dict_is_editable] [bit] NOT NULL,
CONSTRAINT [PK_bas_dict] PRIMARY KEY CLUSTERED (
[dict_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO
(2)销售机会表sal_chance的实现,该表主要是对目标客户跟踪信息进行管理。
CREATE TABLE [dbo].[sal_chance](
[chance_id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL, [chance_source] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL, [chance_customer_name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[chance_title] [varchar](200) COLLATE Chinese_PRC_CI_AS NOT NULL, [chance_rate] [int] NOT NULL CONSTRAINT [DF_sal_chance_chance_rate] DEFAULT ((0)),
[chance_linkman] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
- 23 -
5 系统详细设计与实现
[chance_tel] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL, [chance_desc] [varchar](2000) COLLATE Chinese_PRC_CI_AS NOT NULL,
[chance_create_id] [int] NOT NULL,
[chance_create_by] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[chance_create_date] [datetime] NOT NULL, [chance_cue_id] [int] NULL,
[chance_due_to] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL, [chance_due_date] [datetime] NULL,
[chance_status] [char](10) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_sal_chance_chance_status] DEFAULT ((1)), CONSTRAINT [PK_sal_chance] PRIMARY KEY CLUSTERED (
[chance_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO
(3)销售计划表cal_plan的实现,该表用于对销售机会的开发计划和计划执行结果的管理。
CREATE TABLE [dbo].[sal_plan](
[plan_id] [int] IDENTITY(1,1) NOT NULL, [plan_chance_id] [int] NOT NULL, [plan_date] [datetime] NOT NULL,
[plan_todo] [varchar](500) COLLATE Chinese_PRC_CI_AS NOT NULL, [plan_result] [varchar](500) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_sal_plan] PRIMARY KEY CLUSTERED (
[plan_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO
(4)客户信息表cst_customer的实现,该表用于存储客户的基本信息。
- 24 -
5 系统详细设计与实现
CREATE TABLE [dbo].[cst_customer](
[customer_no] [char](17) COLLATE Chinese_PRC_CI_AS NOT NULL, [customer_name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[customer_region] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_cst_customer_customer_region] DEFAULT (''), [customer_manager_id] [int] NULL CONSTRAINT [DF_cst_customer_customer_manager_id] DEFAULT (0),
[customer_manager_name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_cst_customer_customer_manager_name] DEFAULT (''),
[customer_level] [int] NULL CONSTRAINT [DF_cst_customer_customer_level] DEFAULT (1),
[customer_level_label] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_cst_customer_customer_level_label] DEFAULT (''),
[customer_satisfy] [int] NULL CONSTRAINT [DF_cst_customer_customer_satisfy] DEFAULT (3), [customer_credit] [int] NULL CONSTRAINT [DF_cst_customer_customer_credit] DEFAULT (3),
[customer_addr] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_cst_customer_customer_addr] DEFAULT (''), [customer_zip] [char](10) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_cst_customer_customer_zip] DEFAULT (''), [customer_tel] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_cst_customer_customer_tel] DEFAULT (''), [customer_fax] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_cst_customer_customer_fax] DEFAULT (''), [customer_website] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_cst_customer_customer_website] DEFAULT (''), [customer_licence_no] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_cst_customer_customer_licence_no] DEFAULT (''),
- 25 -
5 系统详细设计与实现
[customer_chieftain] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_cst_customer_customer_chieftain] DEFAULT (''), [customer_bankroll] [int] NULL CONSTRAINT [DF_cst_customer_customer_bankroll] DEFAULT (0), [customer_turnover] [int] NULL CONSTRAINT [DF_cst_customer_customer_turnover] DEFAULT (0),
[customer_bank] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_cst_customer_customer_bank] DEFAULT (''), [customer_bank_account] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_cst_customer_customer_bank_account] DEFAULT (''),
[customer_local_tax_no] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_cst_customer_customer_local_tax_no] DEFAULT (''),
[customer_national_tax_no] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT
[DF_cst_customer_customer_national_tax_no] DEFAULT (''), [customer_status] [char](1) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_cst_customer_customer_status] DEFAULT (1), CONSTRAINT [PK_cst_customer] PRIMARY KEY CLUSTERED (
[customer_no] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO
(5)客户交往记录表cst_activity的实现,该表用于存储公司与客户的交往记录。
CREATE TABLE [dbo].[cst_activity](
[activity_id] [int] IDENTITY(1,1) NOT NULL,
[activity_customer_no] [char](17) COLLATE Chinese_PRC_CI_AS NOT NULL,
[activity_cust_name] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
- 26 -
5 系统详细设计与实现
[activity_date] [datetime] NOT NULL CONSTRAINT [DF_cst_activity_activity_date] DEFAULT (getdate()),
[activity_place] [nvarchar](200) COLLATE Chinese_PRC_CI_AS NOT NULL,
[activity_title] [nvarchar](500) COLLATE Chinese_PRC_CI_AS NOT NULL,
[activity_desc] [nvarchar](2000) COLLATE Chinese_PRC_CI_AS NULL, [activity_momo] [nvarchar](2000) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_cst_activity] PRIMARY KEY CLUSTERED (
[activity_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO
(6)联系人信息表cst_linkman的实现,该表用于存储客户的联系方式。
CREATE TABLE [dbo].[cst_linkman](
[linkman_id] [int] IDENTITY(1,1) NOT NULL,
[linkman_customer_no] [char](17) COLLATE Chinese_PRC_CI_AS NOT NULL,
[linkman_customer_name] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
[linkman_name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[linkman_sex] [nvarchar](5) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_cst_linkman_linkman_sex] DEFAULT (N'男'), [linkman_postion] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_cst_linkman_linkman_postion] DEFAULT (''), [linkman_tel] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_cst_linkman_linkman_tel] DEFAULT (''),
[linkman_mobile] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL, [linkman_memo] [nvarchar](300) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_cst_linkman] PRIMARY KEY CLUSTERED (
[linkman_id] ASC
- 27 -
5 系统详细设计与实现
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO
(7)客户流失表cst_lost的实现,该表用于对流失客户进行详细的记录。
CREATE TABLE [dbo].[cst_lost](
[lost_id] [int] IDENTITY(1,1) NOT NULL,
[lost_customer_no] [char](17) COLLATE Chinese_PRC_CI_AS NOT NULL,
[lost_customer_name] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
[lost_customer_manager_id] [int] NOT NULL,
[lost_customer_manager_name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL, [lost_last_order_date] [datetime] NULL, [lost_lost_date] [datetime] NULL,
[lost_delay] [nvarchar](4000) COLLATE Chinese_PRC_CI_AS NULL, [lost_reason] [nvarchar](2000) COLLATE Chinese_PRC_CI_AS NULL, [lost_status] [nvarchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_cst_lost_lost_status] DEFAULT (1), CONSTRAINT [PK_cst_lost] PRIMARY KEY CLUSTERED (
[lost_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO
(8)客户服务表cst_service的实现,该表用于存储服务信息。
CREATE TABLE [dbo].[cst_service]( [service_id] [int] NOT NULL,
[service_type] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL, [service_title] [nvarchar](500) COLLATE Chinese_PRC_CI_AS NOT NULL,
[service_customer_no] [char](17) COLLATE Chinese_PRC_CI_AS NOT NULL,
- 28 -
5 系统详细设计与实现
[service_customer_name] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NOT NULL,
[service_status] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_cst_service_service_status] DEFAULT ('新创建'),
[service_request] [nvarchar](3000) COLLATE Chinese_PRC_CI_AS NOT NULL,
[service_create_id] [int] NOT NULL,
[service_create_by] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[service_create_date] [datetime] NOT NULL CONSTRAINT [DF_cst_service_service_create_date] DEFAULT (getdate()), [service_due_id] [int] NULL,
[service_due_to] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL, [service_due_date] [datetime] NULL,
[service_deal] [nvarchar](3000) COLLATE Chinese_PRC_CI_AS NULL, [service_deal_id] [int] NULL,
[service_deal_by] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL, [service_deal_date] [datetime] NULL,
[service_result] [nvarchar](500) COLLATE Chinese_PRC_CI_AS NULL, [service_satisfy] [int] NULL,
CONSTRAINT [PK_cst_service] PRIMARY KEY CLUSTERED (
[service_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO
(9)订单表orders的实现,该表用于存储客户定购地产的信息。
CREATE TABLE [dbo].[orders](
[orders_id] [int] IDENTITY(1,1) NOT NULL,
[orders_customer] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NOT NULL,
[orders_date] [datetime] NOT NULL CONSTRAINT [DF_orders_orders_date] DEFAULT (getdate()),
- 29 -
5 系统详细设计与实现
[louPanName] [varchar](200) COLLATE Chinese_PRC_CI_AS NOT NULL,
[houseNumber] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[money] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL, CONSTRAINT [PK_orders] PRIMARY KEY CLUSTERED (
[orders_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO
(10)地产信息表products的实现,该表用于存储地产的相关信息。
CREATE TABLE [dbo].[product](
[product_id] [int] IDENTITY(1,1) NOT NULL,
[product_name] [nvarchar](200) COLLATE Chinese_PRC_CI_AS NOT NULL,
[product_type] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NOT NULL,
[product_batch] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL, [product_unit] [nvarchar](10) COLLATE Chinese_PRC_CI_AS NULL, [product_price] [decimal](19, 2) NULL,
[product_memo] [nvarchar](200) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_product] PRIMARY KEY CLUSTERED (
[product_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO
(11)用户信息表Sys_user的实现,该表用于存储管理员用户的基本信息。
CREATE TABLE [dbo].[sys_user]( [user_id] [int] IDENTITY(1,1) NOT NULL,
[user_name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL, [user_password] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT
- 30 -
5 系统详细设计与实现
NULL,
CONSTRAINT [PK_sys_user] PRIMARY KEY CLUSTERED (
[user_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO
5.2 系统功能模块的设计与实现
5.2.1系统登陆模块设计实现
根据需求分析,现确定登陆模块的流程图为,见图5.2.1.1
开始填充账号和密码出错提示Y输入信息为空N输入信息非法N登陆成功Y 图5.2.1.1登陆模块流程图
当用户登录时服务器会对其进行检测,如果用户名或密码错误或为空,页面上会有相应的提示。如果正确则会进入系统主界面。见图5.2.1.2。
- 31 -
5 系统详细设计与实现
图5.2.1.2登录界面
当用户在登陆页面,输入用户名密码后,点击登录时,系统会得到用户输入的用户名和密码,然后去数据库表Sys_User中进行查找,如果有匹配的项则会返回正确信息,并且将用户信息存入Session中如果没有匹配项则会返回错误信息。
具体实现如下:
if (loginName.Text != \"\" && loginPwd.Text != \"\") {
if (UserManager.Login(loginName.Text.Trim(), loginPwd.Text.Trim(),
out validUser))
{
Sys_user users =
BLL.UserManager.GetUserById(loginName.Text.Trim());
Session[\"User\"] = users;
Response.Redirect(\"index.aspx\"); } else {
Response.Write(\"\");
} } else {
Response.Write(\"\");
}
5.2.2 营销管理模块的设计与实现
营销管理模块包含销售机会的管理,对客户开发过程的管理,订单信息的管理。
5.2.2.1销售机会管理模块的设计与实现
该模块的流程图如图5.2.2.1.1所示:
销售机会管理新建销售机会编辑删除查询填写销售机会N填写正确Y生成销售机会指派销售机会
图5.2.2.1.1 销售机会管理流程图
客户资源是一个公司的重要资源,我们只有合理有效的利用这些资源才能为公司创造更多的财富。当我们了解到有公司或个人有意向购买我们公司的产品时,这时公司就会拥有一个潜在的销售机会,此时我们的管理员就要抓住这个机会(创建销售机会)。
当我们点击“销售机会管理“时将进入以下功能界面,该界面将罗列出所有
- 33 -
5 系统详细设计与实现
的销售机会记录,方便用户查看及管理。
(1)新建
我们在前面提到过创建销售机会:当我们点击“新建”时,将会进入销售机会的创建界面。界面如图5.2.2.1.2所示:
图5.2.2.1.2 新建销售机会图
用户根据界面提示填写信息(机会来源,客户名称,成功机率,概要,联系人,联系电话,机会描述),填写完成后点击“保存”按钮,系统将把用户输入的新的销售信息存入后台数据库,以便后期管理使用。
(2)查询
此功能主要用于管理用户通过在表格上方输入查询条件进行查找想要的销售机会信息。界面如图5.2.2.1.3所示:
- 34 -
5 系统详细设计与实现
图5.2.2.1.3 查询销售机会图
用户根据界面提示构建查询条件(用户名称,概要,联系人),点击“查询”下方表格将会罗列出符合条件的查询结果。
(3)指派
当一个新的销售机会创建成功后,为了促进客户开发,留住客户,为公司创造更多的财富,公司管理员应该将该销售机会具体下达指派给公司的一个具体的员工去负责跟踪,使我们的产品更早更快的卖出,并在最短的时间把该客户变成公司的客户资源。
(4)编辑
用户可以针对销售机会进行修改,使信息更加完善准确。将新的信息填写后,点击“保存”。界面如图5.2.2.1.4所示:
图5.2.2.1.4 编辑销售机会图
(5)删除
对于没有开发价值和可能的销售机会,用户可以将其删除。 具体实现如下:
//编辑
if (e.CommandName == \"edit\")
{
string chanceId = e.CommandArgument.ToString(); Response.Redirect(\"edit.aspx?chanceId=\" +
- 35 -
5 系统详细设计与实现
Server.UrlEncode(chanceId.Trim())+\"\");
}
//指派销售机会
if (e.CommandName == \"palto\") {
string chanceId = e.CommandArgument.ToString(); Response.Redirect(\"dispatch.aspx?chanceId=\" +
Server.UrlEncode(chanceId.Trim()) + \"\");
}
//删除
if (e.CommandName == \"del\") {
int chanceId = int.Parse(e.CommandArgument.ToString()); Sal_chance chance = new Sal_chance(); chance.Chance_id = chanceId;
int count = BLL.ChanceManager.delChance(chance); if (count > 0) {
Response.Write(\"\");
} else {
Response.Write(\"\");
}
}
5.2.2.2客户开发计划模块的设计与实现
在上一个功能的基础之上,当管理员将某一销售机会具体指派给公司某个员工进行负责时,该员工就应该根据实际情况有针对性的对某个销售机会进行跟踪处理。
该模块的流程图如图5.2.2.2.1所示:
- 36 -
5 系统详细设计与实现
客户开发计划制定计划Y添加计划项删除计划项执行计划执行效果Y开发成功N是否继续 N终止开发
图5.2.2.2.1 客户开发计划流程图
当用户点击数型菜单上“客户开发计划”时,将进入以下功能界面,该功能界面将罗列出已经指派的销售机会记录。
(1)查询
此功能主要用于查询销售机会记录,当用户通过设置查询条件后,点击“查询“,下方将会罗列出符合用户所设置查询条件的所有记录。如果在未设置查询条件的情况下点击“查询”,下方将会出现所有的记录信息。该界面如图5.2.2.2.2所示:
图5.2.2.2.2客户开发计划查询图
(2)制定计划
- 37 -
5 系统详细设计与实现
当管理员将销售机会指派下来后,我们的员工(指派人员)将根据实际情况,针对该销售机会,指定一系列的开发计划。有利于客户的开发,和公司的发展。
点击功能图标将进入如下界面如图5.2.2.2.3所示:
图5.2.2.2.3 制定计划图
用户只需要选择好日期,填好计划项,点击“保存”。 (3)执行计划
当一个计划制定成功后,用户必须在指定的时间去具体做时事(执行计划),用户只需将执行结果填写到指定位置后,点击旁边对应的“保存”按钮
(4)开发成功
在用户的努力下当某一销售机会对应的客户成功购买我们公司的产品时,这个时候我们的这个客户就开发成功了,此时将产生一个新的客户,系统将把此客户的相关信息,保存起来方便以后的客户管理。
(5)终止开发
当用户在种种努力之下,该客户都没有购买意向时,为了不要浪费公司的人力,物力资源,用户可以选择终止开发(结束对该销售机会的开发)。
5.2.2.3订单信息管理模块的设计与实现
- 38 -
致 谢
订单信息管理增加订单信息删除订单信息查询订单信息修改订单信息 图5.2.2.3.1订单信息模块流程图
用户可也通过对订单信息管理模块的操作,实现对订单的增删查改的业
务逻辑。该业务的主界面如图5.2.2.3.2所示:
图5.2.2.3.2订单信息管理主界面图
5.2.3 客户管理模块的设计与实现 5.2.3.1客户信息管理模块的设计与实现
该模块的流程图如图5.2.3.1.1所示:
客户信息管理编辑客户信息删除客户信息查询客户信息联系人交往记录历史订单联系人信息交往记录信息查看历史订单添加修改删除 图5.2.3.1.1客户信息管理模块流程图
客户信息管理是客户管理下的一个子功能模块:包括对客户的基本信息对客户信息的查询删除,修改,联系人信息的管理(对联系人进行添加,修改和删除
5 系统详细设计与实现
操作 ),交往记录的管理(包括添加修改和删除操作),历史订单的查询;以下对各个功能模块进行详细的说明:
(1)对客户基本信息的查询功能要求:用户登录进入管理页面后,在左边的树形菜单中点开客户管理下的客户信息管理,右边用表格显示客户基本信息,包括客户的编号,名称,地区,客户经理,客户等级,和操作项;操作项包括对客户基本信息的修改,联系人查询,交往记录,历史订单,和删除客户的功能图标向导;查询功能同时还要求用户可以根据客户的编号,客户的名称,客户所在地,客户经理,客户等级来进行数据的检索,实现用户通过输入一个或者多个查询条件检索与客户相关的数据。所有功能在同一个页面上实现。
(2)对客户删除操作,用户点击删除操作,弹出包含客户名称的提示信息,提示用户对操作的确认与否。用户通过删除向导后,提示用户确认删除操作的信息,用户可以确认删除或不作删除动作,不删除取消操作。如确认删除操作,则提示删除结果,如删除成功提示删除成功,删除失败提示删除失败。
(3)客户修改动作:用户在操作项中,选择用户修改操作,进入客户信息编辑页面,编辑客户的相关信息,其中地区,客户等级,客户满意度,客户信用度,客户经理要求用下拉框选择,数据来自数据库。数据保存成功后转到客户信息管理页面,保存失败提示用户,页面不自动跳转。
(4)联系人信息的管理,用户在客户信息管理页面的操作项中点击联系人向导后进入联系人信息页面,查询出与该客户相关的联系人,用表格的方式显示(显示的内容包括联系人的姓名,性别,职位,办公室电话,手机,备注信息,操作(操作包括编辑和删除两项操作向导),并且在显示的表格之前显示客户的编号和名称页面要求有新建向导。
(5)联系人的新建动作:用户从联系人页面上通过新建的向导进入联系人新建页面,填写联系人的基本信息,姓名,性别,职位,办公室电话,手机,备注信息。
(6)联系人删除动作:用户通过删除向导后,提示用户确认删除操作的信息,用户可以确认删除或不作删除动作,不删除取消操作。如确认删除操作,则提示删除结果,如删除成功提示删除成功,删除失败提示删除失败。
(7)客户交往记录的管理: 用户在客户信息管理页面的操作项中点击交往记录后进入交往记录信息页面,查询出与该客户相关的交往记录,用表格的方式显示(显示的内容包括编号,时间,地点概要,详细信息,备注信息,操作(操作包括编辑和删除两项操作向导)),并且在显示的表格之前显示客户的编号和名称。
(8)交往记录新建动作:用户从交往记录信息主页面进入新建,显示客户
- 40 -
5 系统详细设计与实现
的编号和客户的名称(这两项不可编辑),页面输入项包括输入时间,地点,概要,备注信息,详细信息,保存操作成功后转到交往记录页面。
(9)客户信息修改页面: 用户从交往记录页面进入客户信息页面后,操作与新建交往记录类似。
(10 交往记录删除动作:功能模式与客户信息删除类似。
(11)用户从客户信息通过向导通过进入营销管理模块的历史订单页面,页面显示订单的相关信息,包括日期,楼盘名称,房间号,金额,和客户名称。
该模块主界面如图如图5.2.3.1.2所示:
图5.2.3.1.2客户信息管理模块主界面
5.2.3.2客户流失管理模块的设计与实现 该模块的流程图如图5.2.3.2.1所示:
- 41 -
5 系统详细设计与实现 客户管理客户流失管理新建流失查询流失暂缓流失确认流失 图5.2.3.2.1客户流失管理模块流程图
用户登录进入页面后,在客户管理下打开客户流失管理,框架的右边显示客
户,客户经理,状态的查询输入项的文本框的向导,状态用下拉框显示.流失的客户信息包括编号,客户,客户经理,上次下订单的时间,确认流失时间,状态(状态包括暂缓流失,确认流失,和全部三个选项)。用户可以输入客户,客户经理,状态一个或多个条件查询与客户的相关信息。
用户可以新建客户流失,填写相关的信息。一旦新建一条客户流失,默认状态为暂缓流失。一旦客户真正流失,用户可以把暂缓流失变为确认流失。
该模块主界面如图如图5.2.3.2.2所示:
图5.2.3.2.2客户流失管理模块主界面图
- 42 -
5 系统详细设计与实现
5.2.4 服务管理模块的设计与实现
该模块的流程图如图5.2.4.1所示: 服务管理服务创建服务分配服务处理服务反馈服务归档 图5.2.4.1服务管理模块流程图
(1)服务创建:服务创建界面的编号是系统在添加的时候才能生成,服务类型有建议、投诉2类、服务概要说明、客户编号、客户姓名、客户状态、服务请求、服务创建时间、服务创建人。
(2)服务分配:服务分配是服务管理的重要及核心部分,具体操作有以下几点:
页面上的内容要有:服务的查询(按客户名字、概要内容、创建时间、服务分配状态)等控件来实现服务的查找,服务可以分配一个业务员后在进行业务的调度,如前一个业务员太忙或业务员不在了就要重新分配业务,当我们点击分配是就要把以分配的服务进行修改,其余步骤如下:
我们进入系统后点击服务归档后就回看见服务的信息列表。 当我们点击操作时就会出现服务的详细信息。
3.用户可以单击下拉框选择业务人员点击“分配”按钮进行分配。 4.用户可以单击下“删除”按钮进行删除不合格的客户服务。 5.服务在分配后将无法删除服务信息。
(3)服务处理:服务处理是服务从建立到服务的分配及审批通过后对服务的处理,用户可以查询已分配的服务,并且可以修改相关信息。服务在处理后将无法删除服务信息。
(4)服务反馈:服务反馈是服务处理后客户对处理该业务的工作人员的评价。用户可以查询已处理的服务,单击“操作”按钮打开时就会看到以填写好了的的服务信息。服务在反馈信息后将无法删除服务信息。
(5)服务归档是一个客户对该客户提出的服务处理的结果和详细信息,当我们“操作”按钮时就会看见我们以前对该服务的相关信息。后点击服务归档后就回看见服务的信息列表。点击操作时就会出现服务的详细信息。
- 43 -
5 系统详细设计与实现
5.2.5 基础数据管理模块的设计与实现 5.2.5.1数据字典的管理模块的设计与实现
该模块的主界面图如图5.2.5.1.1所示:
图5.2.4.1数据字典管理模块主界面图
界面功能如下: (1)新建
当用户点击“新建“时将会进入新增基础数据的页面,用户根据界面提示填写信息,点击“保存“,则新建成功。
(2)编辑
当用户对于某条基础数据信息进行修改时,通过点击功能图标,可以进入修改页面进行信息的修改,填写修改的信息后,点击“保存“。
(3)删除
当某条基础信息没需要使用时,用户可以通过点击后面对应的功能图标,将信息删除掉。
5.2.5.2地产信息查询模块的设计与实现
该模块的主界面图如图5.2.5.2.1所示:
- 44 -
5 系统详细设计与实现
图5.2.5.2.1地产信息查询模块主界面图
用户可以在此模块中查询相关的地产信息:包括地产名称,房型,房间号,面积,单价,地址的字段的显示。
- 45 -
5 系统详细设计与实现
6 测 试
为了使被测试项目功能能得到更好的完善,及时发现项目中所隐藏的问题。并不断进行项目改进,最终将完美的项目交给客户验收,加强对测试工作的组织和管理就显得尤为重要。
6.1 测试的目的和方法
测试的正目的是“为了发现程序中的错误”。这和某些人通常想象的“测试是为了表明程序是正确的”,“成功的测试是没有发现错误的测试”等等是完全相反的。正确认识测试的目标是十分重要的,测试目标决定了测试方案的设计。如果为了表明程序是正确的而进行测试,就会设计一些不易暴露错误的测试方案;相反,如果测试是为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案。
测试任何产品都有两种方法:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;如果知道产品内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。前一个方法成为黑盒测试,后一个方法称为白盒测试。对于软件测试而言,黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。也就是说,黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生地输出信息,并且保持外部信息(如,数据库或文件)的完整性。黑盒测试又称为功能测试。与黑盒测试方法相反,白盒测试法的前提是可以把程序看成安装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作。白盒测试又称为结构测试。
不论采用上述哪种测试方法,只要对每一种可能的情况都进行测试,就可以得到完全正确的程序。包含所有可能情况的测试称为穷尽测试,对于实际程序而言,穷尽测试通常是不可能做到的。使用黑盒测试法,为了做到穷尽测试,至少必须对多有输入数据的各种可能值的排列组合都进行测试,但是,由此得到的应
- 46 -
5 系统详细设计与实现
测试的情况往往大到世局上根本无法测试的程度。使用白盒测试法,为了做到穷尽测试,程序中每条可能的通路至少都应该执行一次(严格地说每条通路都应该在每种可能地输入数据下执行一次)。即使测试很小的程序,通常也不能做到上述这一点。
6.2 系统部分测试用例
部分测试用例如下:
表6.1新增销售机会功能用例 用例说明 用户点击指派动作
前置条件 用户已登录
输入数据 用户单击“
输出数据 转到机会指派页
”
面
提示相应的信息,如“请输入***”
提示保存动作的信息,转到销售机会信息页面
数据有效性
用户进入新增销售机会界面
保存操作 用户填写完整的信息
图标
页面上带*号的为必输入项;可将某个带*的文本框置空提交
单击保存按钮
表6.2指派销售机会功能用例
用例说明 新增用户动作
前置条件 用户已登录
输入数据 用户单击“
指派销售机会
用户进入销售机会界面
”
输出数据 转到新增销售机会页面 提示保存动作的信息,转到销售机会信息页面
选择被指派人员,单击保存按钮
表6.3删除销售机会功能用例
用例说明 删除销售机会动作
前置条件 用户已登录
用户单击“
”
输入数据
输出数据
提示消息框,提示用户是否确认删除,是否要删除这销售机
- 47 -
5 系统详细设计与实现
取消删除动作 用户单击“
”
用户点击“否“
会,并出现两个按钮,“是”和“否“
删除动作取消
提示删除成功消息框
确认删除动作 用户单击“
”
用户点击“是“
表6.4查询销售机会功能用例
用例说明 用户已登录
前置条件
用户在树型菜单中点击客户开发计划
输入数据 表格的方式显示销售机会数据信息
用户输入查询条件,点击” 按钮
”
输出数据 销售机会数据展示
条件查询销售机会
用户进入销售机会管理界面
查询树相关的数据在表格中显示
- 48 -
5 系统详细设计与实现
7 总 结
客户关系管理是信息技术与传统的营销、销售和服务管理想整合的产物,是一种旨在改善企业与客户之间关系的新型管理机制,其核心思想是“以客户为中心”,通过完善的客户服务和深入的客户分析来满足客户的需求,保证实现客户的终生价值,为企业创造最大利润。
在系统的开发过程中,我对系统开发与实际应用有了更深了理解和认识,为我以后的学习和工作打下了坚实的理论与实际操作相结合的基础。同时,在开发过程中,我对ADO.NET、数据库、C#以及word的使用等相关技术知识也有了更多的认识。由于开发设计能力有限,开发经验不足,系统仍存在很多不足,与实际应用中还有很大差距。在调研阶段,搜集的信息不充足,对实际情况了解不足。因此,在开发过程中做出的需求分析不彻底,系统的功能及工作流程不能在设计之初完整地确定下来,系统的某些功能是随着设计的进行逐步确定和修改的,在一些功能中仍存在不完善之处,页面需进一步美化。数据库方面,设计方面也存在也一些后期发现的错误,表与表的联系需进一步完善。用户输入容错设计方面需进一步加强。
7.2存在问题及解决
(1)在编写代码时,不会使用C#语言进行开发,自己通过不断的努力,基本掌握了C#语言常用的知识。
(2)在连接访问数据库时,不会运用ADO.NET技术,通过对资料的查阅,导师的帮助,基本掌握了对数据库的操作。
(3)数据库设计方面,由于所学知识有限,不能实现更为灵活的功能。今后会不断的学习完善自己,提高自己的数据库设计能力。
- 49 -
5 系统详细设计与实现
参考文献
[1]. 张海藩 软件工程导论,第四版 清华大学出版社,2003 [2].萨师煊 王珊 数据库系统概论(第三版) 高等教育出版社 2000.2 [3]. (美)西尔伯沙茨 数据库系统概念 机械工业出版社,2006
[4].姚治安,周志宏,杨柳等.ASP.NET精彩编程百例 电子工业出版社,2002.8 [5].王恩波 网络数据库实用教程-SQLServer2005 高等教育出版社 2004.1 [6].张立科 ASP开发CRM系统实例导航 人民邮电出版社 2005.1
[7].陈楠 基于数据仓库与数据挖掘技术的决策支持系统计算机时代 2001年第3期
[8].杨晓,任清珍 数据仓库数据集市和数据挖掘现代计算机 2002年第1期 [9].曹术华 得客户者得大下中国计算机报 2001年第12期
[10].Jason Price(美)等著 窦芳等译 Visual C#. NET从入门到精通 电子工业
出版社2003.3
[11].荐沧,龙晓敏 深入体验ASP. NET 西安电子科技大学出版社2001. 10 [12].唐红亮,王改性,秦戈亮 ASP动态网页设计应用教程 电子工业出版社,
2006
[13].Russ Basiura等著康埔译 ASP. NETWeb服务高级编程 清华大学出版社
2002.6
[14].Marco Bellinaso等著康博译 ASP. NET Web站点高级编程一提出问题一设
计方案一解决方案 清华大学出版社2002年9月
[15]. Joseph Bustos,Karl iWatson著侯或译 . NET Web服务入门经典一C#编程篇
- 50 -
5 系统详细设计与实现
致 谢
值此论文完成之际,谨向所有给予我帮助和支持的人表示衷心的感谢! 首先感谢导师XX老师的关心、指导和教诲。XX老师言以律己,宽以待人的崇高品质对我将是永远的鞭策和激励。本人在进行毕业设计以及撰写毕业论文的过程中自始至终,XX老师都给予了全面,具体的指导。特别是在课题设计的前期准备阶段和本人的数据库的设计阶段,导师提出许多宝贵的设计意见,这样使得我们得以顺利的完成毕业设计开发工作,老师渊博的知识,敏锐的思路和实事求是的工作作风给我留下了深刻的印象,这将使得我终身受益。
此外,在课题设计和论文撰写的过程中,本系的许多的同学也给予了我不少的帮助。因为以前的开发经验不足,系统开发过程中遇到了很多问题,很多同学给了我耐心的指导和建议,有了他们的帮助才使我顺利的解决设计中遇到的问题,馨凯房地产客户关系管理系统才得以完善。
非常感谢论文开题组各位老师,他们为我的论文提出了宝贵的参考意见,让我认清了存在的问题,进而明确了方向,少走了不少弯路。
谨此向老师示衷心的感谢和崇高的敬意!
- 51 -
毕业设计(论文)知识产权声明 毕业设计(论文)知识产权声明
本人完全了解西安工业大学北方信息工程学院有关保护知识产权的规定,即:本科学生在校攻读学士学位期间毕业设计(论文)工作的知识产权属于西安工业大学信息工程学院。本人保证毕业离校后,使用毕业设计(论文)工作成果或用毕业设计(论文)工作成果发表论文时署名单位仍然为西安工业大学信息工程学院。学校有权保留送交的毕业设计(论文)的原文或复印件,允许毕业设计(论文)被查阅和借阅;学校可以公布毕业设计(论文)的全部或部分内容,可以采用影印、缩印或其他复制手段保存毕业设计(论文)。 (保密的毕业设计(论文)在解密后应遵守此规定)
毕业设计(论文)作者签名: 指导教师签名:
日期:
- 52 -
2.课题中涉及的关键技术 毕业设计(论文)独创性声明
秉承学校严谨的学风与优良的科学道德,本人声明所呈交的毕业设计(论文)是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,毕业设计(论文)中不包含其他人已经发表或撰写过的成果,不包含他人已申请学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了致谢。
毕业设计(论文)与资料若有不实之处,本人承担一切相关责任。
毕业设计(论文)作者签名: 指导教师签名:
日期:
- 53 -
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- nryq.cn 版权所有 赣ICP备2024042798号-6
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务