1、第25章 客户信息管理系统客客户户信信息息管管理理系系统统是是一一种种用用于于储储存存企企业业客客户户信信息息资资源源,便便于于与与客客户户及及时时沟沟通通交交流流,从从而而增增强强与与客客户户关关系系、提提高高企企业业管管理理水水平平的的系系统统。企企业业可可以以通通过过客客户户信信息息管管理理系系统统管管理理、分分析析和和统统计计现现有有客客户户资资源源,以以便便快快速速、全全面面、准准确确地地了了解解现现有有企企业业客客户户情情况况,从从而而制制定定长长期期客客户户沟沟通通和和访访问问计计划划,制制定定营营销销战战略略,促促进进企企业业长长期期、良良性性经经营营发发展展。该该系系统统基基
2、于于传传统统的的三三层层架架构构,并并采采用用前前面面介介绍绍的的Visual C#.Net Windows Form和和ADO.NET技术来实现。技术来实现。章节内容章节内容25.1 需求分析需求分析25.2 分层设计分层设计25.3 功能实现功能实现25.4 小结小结25.1 需求分析1用户角色分析用户角色分析角色名称权限普通管理员(1)对客户信息的添加、修改、删除和查询;(2)对自身密码的修改超级管理员(1)对客户信息的添加、修改、删除和查询;(2)对自身密码的修改;(3)对用户信息的添加、修改、删除、查询和权限分配25.1 需求分析2功能需求分析功能需求分析客户信息管理系统用户信息管理
3、客户信息管理添加客户信息修改客户信息删除客户信息查找客户信息添加用户信息修改用户信息删除用户信息查找用户信息修改用户密码设置用户权限25.3.1 数据库的设计和实现1客户信息表列名数据类型是否主键允许Null说明ClientIDvarchar(20)是否客户编号CNamevarchar(50)否是客户名称CStepvarchar(20)否是客户级别CRootvarchar(20)否是客户来源CTradevarchar(20)否是所在行业CTypechar(10)否是客户类型CAreavarchar(50)否是所在区域CPhonevarchar(20)否是联系电话CFaxvarchar(20)否
4、是传真号码CPostCodebigint否是邮政编码CAddressvarchar(50)否是联系地址CEmailvarchar(50)否是电子邮件CRemarkvarchar(1000)否是备注25.3.1 数据库的设计和实现2 2用户信息表用户信息表列名数据类型是否主键允许Null说明UserIDvarchar(20)是否用户编号UserNamevarchar(20)否是用户名称UserPwdvarchar(20)否是用户密码UserRightchar(10)否是用户权限25.3.1 数据库的设计和实现3区域信息表列名数据类型是否主键是否Null说明AreaIDvarchar(20)是否区
5、域编号AreaNamevarchar(50)否是区域名称AreaTypechar(10)否是区域类型25.3.2 用户界面层的实现1 1登录界面的实现登录界面的实现25.3.2 用户界面层的实现1 1登录的实现过程登录的实现过程 用户名列表数据绑定用户名列表数据绑定业务逻辑层业务逻辑层数据访问层数据访问层根据所选用户名判别权限根据所选用户名判别权限数据访问层数据访问层验证密码正确性验证密码正确性数据访问层数据访问层是否正确是否正确不正确不正确密码错误提示密码错误提示正正确确成功登陆主界面成功登陆主界面2主界面的实现25.3.2 用户界面层的实现2主界面的实现通过获取登陆用户的信息绑定状态栏信息
6、退出系统提示是否退出系统系统主界面客户信息管理用户信息管理25.3.2 用户界面层的实现3客户信息管理的实现25.3.2 用户界面层的实现25.3.2 用户界面层的实现3客户信息管理的实现添加或者修改客户信息业务逻辑层数据访问层对信息进行绑定和验证提示添加成功并刷新界面正确提示信息格式不正确不正确数据是否正确25.3.2 用户界面层的实现3客户信息管理的实现删除客户信息提示是否删除是否不执行操作返回原状查询客户信息选择客户类别根据类别和关键字查询数据访问层刷新界面并显示执行结果25.3.3 数据访问层的实现 数据访问层主要用于提炼出系统中对数据库访问和数据访问层主要用于提炼出系统中对数据库访问
7、和操作的过程,包括对数据库的查询、删除、修改和添加操作的过程,包括对数据库的查询、删除、修改和添加过程。因为此过程用户是无法感知的,同时各个界面的过程。因为此过程用户是无法感知的,同时各个界面的操作都需要重复使用该过程,所以将其提炼为一个数据操作都需要重复使用该过程,所以将其提炼为一个数据访问层类,可以使整个系统结构明晰简洁,同时又便于访问层类,可以使整个系统结构明晰简洁,同时又便于各个界面的数据访问统一,而且还可以优化代码,便于各个界面的数据访问统一,而且还可以优化代码,便于维护。数据访问层的类图如下:维护。数据访问层的类图如下:25.3.4 业务逻辑层的实现 业务逻辑层主要用于对数据实现自
8、动绑定和数据验证。该系统业务逻辑层主要用于对数据实现自动绑定和数据验证。该系统中,主要的自动绑定就是下拉列表框的数据绑定,故需在业务逻中,主要的自动绑定就是下拉列表框的数据绑定,故需在业务逻辑层类中设置一个辑层类中设置一个cboxBind()方法。其他方法主要用于实现对数方法。其他方法主要用于实现对数据的验证,包括电话号码、邮政编码等数据的验证。通过提炼出据的验证,包括电话号码、邮政编码等数据的验证。通过提炼出一个业务逻辑层类来实现这些操作,可以使整个系统层次分明,一个业务逻辑层类来实现这些操作,可以使整个系统层次分明,便于系统的设计、维护和修改。业务逻辑层的类图如下:便于系统的设计、维护和修改。业务逻辑层的类图如下:25.4 小结本本章章介介绍绍了了基基于于3层层设设计计,使使用用Visual C#.Net Windows Form和和ADO.NET技技术术构构建建一一个个简简单单的的客客户户信信息息管管理理系系统统。通通过过使使用用3层层设设计计结结构构,可可以以根根据据功功能能实实现现模模块块分分离离,使使整整个个系系统统的的设设计计层层次次分分明明,有有利利于系统日后的修改和维护。于系统日后的修改和维护。