三级实践课题文档模板.docx
《三级实践课题文档模板.docx》由会员分享,可在线阅读,更多相关《三级实践课题文档模板.docx(61页珍藏版)》请在冰豆网上搜索。
三级实践课题文档模板
中原工学院软件学院
三级实践课题设计任务书
姓名
专业班
题目
企业客户关系管理系统的设计与实现
设
计
任
务
本系统以管理客户信息为中心,能够实现对客户信息进行分类别管理。
同时客户也可以登录到本系统对自己的个人信息进行查询。
客户信息可以分为公司注册类客户和商标注册类客户。
系统功能主要包括:
●客户回访维护
●客户信息维护
●商标注册维护
●公司注册信心维护以及权限管理
●日志管理等功能。
时
间
进
度
第1周:
(~):
系统需求分析,进行界面设计;设计系统的数据库结构进行分析、设计,并通过画E-R图的方式来帮助实现数据库结构的完整设计,列出数据库数据表,之后以列出的关系模型为依据进行
第2周:
(~):
对系统进行详细的分析设计,根据不同的功能模块,对其进行相应的编码及测试;
第3周:
(~):
对系统进行测试和纠错,进一步完善其功能,之后进行报告总结,交与老师验收。
原主
始要
资参
料考
与文
献
[01]郭兴峰,ASP.NET动态网站开发基础教程(C#篇)[M],北京:
清华大学出版社,2006.5
[02]孙士宝,ASP.NET数据库网站设计教程(C#篇)[M],北京:
电子工业出版社,2010.3
指导教师签字:
年月日
摘要
本文给出了企业客户关系管理系统的开发背景、需求分析与设计以及主要功能模块的实现等内容。
描述了系统的背景、现状、研究内容和意义;给出了系统的需求分析及概要设计,内容包括体系结构设计及系统数据库设计;给出了系统详细设计,内容包括系统主要功能模块的界面设计及实现;最后给出系统运行及测试的结果。
关键词:
客户关系管理;商标注册;公司注册;回访
目录
摘要2
第1章绪论4
1.1课题背景4
1.2企业客户关系管理系统的现状4
1.3课题研究内容5
第2章需求分析6
2.1业务分析6
2.2功能需求分析6
2.3系统环境需求6
2.3.1开发环境需求6
2.3.2运行环境需求7
第3章概要设计8
3.1数据库概要设计8
3.1.1实体及其属性8
3.1.2E-R模型8
3.2系统管理模块设计9
第4章详细设计11
4.1数据库的详细设计11
4.2系统详细设计13
4.2.1客户信息管理14
4.2.2商标注册信息管理16
4.2.3公司注册信息管理18
4.2.4客户回访管理19
4.2.5系统管理20
第5章运行及测试22
第6章结束语25
参考文献26
附录系统相关代码28
第1章绪论
1.1课题背景
企业的客户关系管理,也叫做CRM(CustomerRelationshipManagement),这个概念最初由GartnerGroup提出来,而在最近开始在企业电子商务中流行。
客户关系管理软件,是一种以"客户关系一对一理论"为基础,旨在改善企业与客户之间关系的新型管理机制。
客户关系管理软件系统的宗旨是:
为了满足每个客户的特殊需求,同每个客户建立联系,通过同客户的联系来了解客户的不同需求,并在此基础上进行"一对一"个性化服务。
通常客户关系管理软件包括销售管理、商务管理,数据汇总,市场营销管理、客户服务系统以及呼叫中心等方面。
1.2企业客户关系管理系统的现状
客户关系管理软件管理以全方位的客户关系管理基础,结合完善的产品管理和财务管理,协同简洁实用的办公管理等与企业的客户关系维护和开发息息相关的各项内容完美的融合在一起,是完全实现客户、产品、财务、售后服务、团队管理、业绩考核、日常办公协同工作的管理平台,使整个企业的客户管理纳入到统一的规范化管理中。
客户关系管理软件为企业构建了一整套以客户为中心的有关客户、营销、销售、服务与支持信息的数据库,帮助企业了解管理渠道,建立和优化了前端业务流程,包括市场营销、销售、产品的服务与支持等。
该系统可以进行深层次分析和挖掘,从而发现最有价值的客户、新的市场和潜在的客户,创造业务良机,增强企业与供应商、合作伙伴、客户间的关系,加快客户服务与支持响应速度,增强企业在电子商务时代的竞争优势。
统计数据表明,中小企业客户关系管理软件市场的规模目前已达8亿美元。
在今后五年中,这一市场将快速增长至18亿美元,在整个客户关系管理软件市场中占比达30%以上。
1.3课题研究内容
该课题以某商标注册所的客户管理需求为出发点,实现了以下功能:
Ø客户信息管理
Ø商标注册管理
Ø公司注册信息管理
Ø回访信息管理
Ø权限管理
Ø日志管理
第2章需求分析
2.1业务分析
该系统以管理客户信息为中心,客户信息可以分为公司注册类客户和商标注册类客户。
系统能够实现对客户信息进行分类别管理,同时客户也可以登录到本系统对自己的个人信息进行查询。
2.2功能需求分析
经业务分析,并结合系统用户的需求,系统需要实现以下功能:
1、客户信息管理:
本系统中的客户分为已注册客户和意向客户,对这两类客户的信息都需要进行管理。
意向客户在与公司发生某项具体业务时转变为已注册客户。
客户信息包括:
客户名称、客户类别、联系日期、公司名称、回访周期、公司地址等。
2、商标注册管理:
当客户办理商标注册业务时,操作员需登记商标注册的相关信息,包括客户信息、申请事项、商标信息、案件处理等。
3、公司注册信息管理:
当客户办理公司注册业务时,操作员需登记公司注册的相关信息,包括客户信息、联系人、下单日期、注册金等。
4、回访信息管理:
对于已在商标注册所办理过商标注册或公司注册的客户,需要定期打电话回访。
回访记录可直接在系统界面录入,也可以录入Excel后批量导入数据库。
4、权限管理:
可对系统用户分配操作权限。
5、日志管理:
对于系统的每项操作,都要求记录下来,信息包括操作类型、操作员、操作时间等。
2.3系统环境需求
2.3.1开发环境需求
硬件需求:
CPUPIII500以上的PC服务器,内存1GB以上,硬盘8GB以上。
操作系统:
WindowsXP
软件需求:
MicrosoftVisualStudio2005开发环境,SQLServer2005数据库
2.3.2运行环境需求
硬件需求:
CPUPIII500以上的PC服务器,内存1CB以上,硬盘8GB以上。
操作系统:
WindowsXP;软件需求:
.NETFrameworkv2.0。
第3章概要设计
3.1数据库概要设计
对于企业客户关系管理系统的数据库设计,本文将从以下几个方面进行描述:
首先是概念模型描述,包括对系统的实体属性分析及系统的E-R图,然后是系统的逻辑结构设计,即给出系统的数据库设计表结构及描述。
3.1.1实体及其属性
整个系统各实体可用以下关系来表示(其中主键已用下划线标识):
●客户(客户ID,客户姓名,用户名,用户密码,用户类别,联系电话,费用,建立日期,回访周期,客户状态)
●商标(商标ID,商标名称,商标类别,申请日期,邮政编码,联系人,联系电话,传真,费用)
●公司(公司ID,公司名称,法人代表,注册日期,最终日期,注册资金,注册地址,费用)
●回访记录(回访记录ID,回访时间,回访人,回访内容,回访类型)
●业务员(业务员ID,用户名,密码,角色,状态)
3.1.2E-R模型
在分析过系统各实体之间的联系后可得出系统的整体概念模型,用E-R图表示出来,如图3.1所示的。
图3.1E-R图
3.2系统管理模块设计
系统网站导航图如图3.2所示。
该导航图将此系统的大致信息展示了出来,系统是分相应权限的,只有具有相应权限的人员才能进入相应的功能模块。
例如,操作员进入此系统后,只能进行商标及公司注册信息的录入工作,对于客户类别,用户权限等功能则不具有访问权限。
图3.2网站导航图
第4章详细设计
为了方便用户的操作,系统采用了模块化设计的思想,通过各模块的不同组合以实现不同的增、删、改、查功能。
最终,使该系统能够具有规范化的格式、完整的信息量和易于查询等的特点。
4.1数据库的详细设计
依据数据库的概要设计,最后总结出数据库结构的主要数据表包括:
客户信息表,商标信息表,公司信息表,业务员信息表等。
以下将给出系统数据库设计的逻辑模型,即各数据表的结构。
1、客户信息表
客户信息表存储系统客户的相关信息,表结构如表4.1所示
表4.1客户信息表结构
列名
说明
数据类型
长度
允许空
是否为主键
customerId
客户ID
int
否
是
customerName
客户姓名
nvarchar
20
否
否
username
用户名
nvarchar
50
否
否
userPwd
密码
varchar
40
否
否
customerType
客户类别
int
否
否
tel
联系电话
nvarchar
50
否
否
cost
费用
varchar
50
否
否
date
申请日期
nvarchar
50
否
否
returnPeriod
回访周期
int
否
否
remark
备注
Text
是
否
2、商标信息表
商标信息表存储商标的相关信息,表结构如表4.2所示
表4.2商标信息表结构
列名
说明
数据类型
长度
允许空
是否为主键
trademarked
商标ID
int
否
是
trademarkName
商标名称
nvarchar
20
否
否
trademarkType
商标类别
int
否
否
applyDate
申请日期
nvarchar
50
否
否
applyId
申请ID
varchar
20
否
否
customerId
客户ID
int
否
否
postcode
邮政编码
varchar
20
否
否
linkman
联系人
nvarchar
20
否
否
telephone
联系电话
varchar
20
否
否
fax
传真
varchar
20
否
否
cost
费用
money
是
否
applicant
申请人
nvarchar
20
否
否
address
地址
nvarchar
50
否
否
acceptDate
受理日期
nvarchar
50
否
否
acceptReceivePerson
受理人
nvarchar
50
否
否
certificateDate
注册日期
nvarchar
50
否
否
reparResult
注册结果
nvarchar
50
否
否
dueTime
有效期
nvarchar
50
否
否
mailDate
邮寄日期
nvarchar
50
否
否
replyTime
回复时间
nvarchar
50
否
否
replyResult
回复原因
nvarchar
50
否
否
salesman
业务员ID
nvarchar
20
否
否
remark
备注
Text
否
否
3、公司信息表
公司信息表存储系统客户的相关信息,表结构如表4.3所示
表4.3公司信息表结构
列名
说明
数据类型
长度
允许空
是否为主键
companyId
公司ID
int
否
是
companyName
公司名称
nvarchar
50
否
否
legalPerson
法人代表
nvarchar
50
否
否
linkman
联系人
nvarchar
20
否
否
orderDate
申请日期
nvarchar
50
否
否
finalDate
最终日期
nvarchar
50
否
否
regesterMoney
注册资金
money
否
否
regesterAddress
注册地址
nvarchar
50
否
否
cost
费用
money
否
否
salesman
业务员
int
否
否
customerId
客户ID
int
否
否
state
状态
bit
否
否
remark
备注
text
否
否
4、业务员信息表
业务员信息表存储系统客户的相关信息,表结构如表4.4所示
表4.4业务员信息表结构
列名
说明
数据类型
长度
允许空
是否为主键
ID
ID
int
否
是
salesmanName
业务员姓名
nvarchar
50
否
否
userName
用户名
varchar
50
否
否
userPwd
密码
varchar
50
否
否
roleID
角色ID
int
否
否
state
状态
bit
否
否
4.2系统详细设计
以下是系统各主要功能模块的界面设计及实现。
进入网站的用户必须先登录,登录页面如图4.1所示
图4.1登录页面
4.2.1客户信息管理
用户通过身份验证后进入相应业务功能页面。
点击界面上方的导航栏第一项“客户信息管理”,将进入客户信息管理页面,如图4.2所示。
图4.2客户信息管理页面
在该页面通过客户名称查询客户信息,对于每条客户信息,系统都提供了编辑、删除及重置密码的功能。
点击某一条信息行中的“修改”按钮,将进入客户信息添加页面,如图4.3所示
图4.3客户信息添加页面
在该页面输入客户的各项信息之后点击“保存”按钮即可添加或修改一条客户信息。
其中“客户类型”和“角色”中的选项系统提供单独的维护界面,如图4.4和4.5所示
图4.4客户类别管理
图4.5角色管理页面
4.2.2商标注册信息管理
点击界面上方的导航栏第二项“商标注册管理”,将进入商标注册管理页面,如图4.6所示
图4.6商标注册管理界面
在该页面通过客户名称查询商标注册信息,对于每条商标信息,系统都提供了编辑、删除的功能。
点击某一条商标注册信息行中的“修改”按钮,将进入商标注册信息添加页面,如图4.7所示
图4.7商标注册添加页面
在该页面输入商标注册的各项信息之后点击“保存”按钮即可添加或修改一条商标注册信息。
其中的“申请事项”,系统提供了单独的管理及添加界面,分别如图4.8,4.9所示
图4.8申请事项管理页面
图4.9申请事项添加页面
4.2.3公司注册信息管理
点击界面上方的导航栏第三项“公司注册管理”,将进入公司注册管理页面,如图4.10所示
图4.10公司注册管理页面
在该页面通过客户名称查询商标注册信息,对于每条公司注册信息,系统都提供了编辑、删除的功能。
点击某一条公司注册信息行中的“修改”按钮,将进入公司注册信息添加页面,如图4.11所示
图4.11公司注册信息添加界面
4.2.4客户回访管理
点击界面上方的导航栏第四项“客户回访管理”,将进入客户回访管理页面,如图4.12所示
图4.12回访信息管理页面
在该页面通过客户名称查询客户回访信息,对于每条客户回访信息,系统都提供了编辑、删除的功能。
点击某一条客户回访信息行中的“修改”按钮,将进入客户回访添加页面,如图4.13所示
图4.13客户回访添加页面
4.2.5系统管理
点击界面上方的导航栏第五项“系统管理”,将进入系统业务员管理页面,如图4.14所示
图4.14业务员管理页面
在该页面通过业务员姓名查询业务员信息,对于每条业务员信息,系统都提供了编辑、删除的功能。
点击某一条业务员信息行中的“修改”按钮,将进入业务员添加页面,如图4.15所示
图4.15业务员管理页面
本系统的用户权限管理模块要求能实现对任一数据表的添加、删除、修改、查询操作的逐一控制功能,即对每个用户的操作权限,可以控制每个操作页面的每个按钮的可用性。
权限管理页面如图4.16所示
图4.16权限管理页面
在上图的每一个功能项后面用复选框都给出了查询、添加、删除及修改四个功能项,在页面上方选择过角色名称后,选择相应的四个操作,点击“保存”后该角色的操作权限即保存在数据库中。
第5章运行及测试
在编码的过程中,需要通过不断的对系统进行调试,才能对其功能做出完善性的补充。
所以测试在此期间起了相当大的作用。
以下给出用户登录及客户信息管理模块的若干主要测试用例。
如表5.1所示。
表5.1测试用例
序号
功能模块
测试功能点
操作步骤及数据
期望结果
实际结果
分析
处理方式
1.
登录
输入正确用户名密码
在登录页面输入用户名及密码,点击“登录”按钮
正常登录,显示相应功能页面
正确
2.
输入正确的用户名和错误的密码
在登录页面输入用户名及密码,点击“登录”按钮
不能正常登录,系统给出提示
系统给出提示:
“密码错误,请重新输入”
3.
用户名或密码空白
在登录页面不输入用户名及密码,直接点击“登录”按钮
系统给出提示
系统给出提示“请输入用户名及密码”
4.
客户信息管理
客户信息添加
在客户信息添加页面输入客户信息,点击“保存”按钮
将客户数据插入数据库
未能正常插入
“申请日期”字段数据正确性未判断
增加客户端脚本验证该控件的数据合法性
5.
客户信息修改
在客户信息管理页面选择某条用户信息,点击“修改”按钮,输入客户信息,点击“保存”按钮
修改数据库中相应客户信息记录
提示“受理日期”数据不合法
未判断“受理日期”
增加客户端脚本验证该控件的数据应在“受理日期”之后
6.
客户类别管理
在“客户类别管理”中增加一条客户类别数据
在客户信息管理中的客户类别中出现该类别
正确
第6章结束语
参考文献
[01]郭兴峰,ASP.NET动态网站开发基础教程(C#篇)[M],北京:
清华大学出版社,2006.5
[02]孙士宝,ASP.NET数据库网站设计教程(C#篇)[M],北京:
电子工业出版社,2010.3
指导教师评语
成绩:
指导教师签字:
年月日
附录系统相关代码
网站首页的主要代码如下:
登录:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
UserLogin();
}
}
BUserbUser=newBUser();
BCustomerbCustomer=newBCustomer();
BSalesmanbSalesman=newBSalesman();
privatevoidUserLogin()
{
stringuserName=Request.Form["userName"];
stringpwd=Request.Form["pwd"];
if(!
string.IsNullOrEmpty(userName)&&!
string.IsNullOrEmpty(pwd))
{
pwd=Commons.StringHelper.MD5Encrypt(pwd);
boolhasUserName=bCustomer.IsSameUserName(userName);//先判断客户表是否存在此用户名
if(hasUserName)//如果存在
{
boolrightPwd=bUser.CheckPwd(userName,pwd,"Customer");//判断密码是否正确
if(rightPwd)//如果正确
{
stringroleName=bUser.GetRoleName(userName,"Customer");//获取该用户名对应的角色
Session["userName"]=userName;
Session["roleName"]=roleName;
Session["table"]="Customer";
Response.Write("ok");//验证成功,向页面发送成功信息
Response.End();
}
else//密码错误
{
Response.Write("errorpwd");//向页面写入错误信息
Response.End();
}
}
else//如果客户表不存在此用户名
{
hasUserName=bSalesman.IsSameUserName(userName);//判断业务员表是否存在此用户名
if(hasUserName)
{
boolrightPwd=bUser.CheckPwd(userName,pwd,"Salesman");
if(rightPwd)
{
stringroleName=bUser.GetRoleName(userName,"Salesman");
Session["userName"]=userNam