二级实践课题文档模板.docx
- 文档编号:7388004
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:55
- 大小:2.03MB
二级实践课题文档模板.docx
《二级实践课题文档模板.docx》由会员分享,可在线阅读,更多相关《二级实践课题文档模板.docx(55页珍藏版)》请在冰豆网上搜索。
二级实践课题文档模板
中原工学院软件学院
三级实践课题设计任务书
姓名
信息管理专业112班
题目
相册管理系统的设计与实现
设
计
任
务
要求设计一个简单的相册管理程序。
能实现新建、打开相册,导入照片片、幻灯片放映、旋转图片等功能。
可实现按相册创建时间、照片上传时间、照片描述等条件查看照片。
要求使用数据库记录照片信息,并用文件夹及文件操作管理相册及照片。
时
间
进
度
第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课题研究内容4
第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章结束语24
附录系统相关代码26
第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所示。
该导航图将此系统的大致信息展示了出来,系统是分相应权限的,只有具有相应权限的人员才能进入相应的功能模块。
例如,操作员进入此系统后,只能进行商标及公司注册信息的录入工作,对于客户类别,用户权限等功能则不具有访问权限。
第4章详细设计
为了方便用户的操作,系统采用了模块化设计的思想,通过各模块的不同组合以实现不同的增、删、改、查功能。
最终,使该系统能够具有规范化的格式、完整的信息量和易于查询等的特点。
4.1数据库的详细设计
依据数据库的概要设计,最后总结出数据库结构的主要数据表包括:
客户信息表,商标信息表,公司信息表,业务员信息表等。
以下将给出系统数据库设计的逻辑模型,即各数据表的结构。
1、客户信息表
客户信息表存储系统客户的相关信息,表结构如表4.1所示
用户表
列名
数据类型
长度
允许空
是否为主键
用户名
char
10
否
是
登录密码
char
20
否
否
2.相册信息表结构
相册表
列名
数据类型
长度
允许空
是否为主键
用户名
char
10
否
是
相册名字
char
8
否
是
相册路径
char
10
是
否
相册大小
tinyint
10
否
否
创建时间
smalldatetime
否
否
相册简介
3.照片表信息结构
照片表
列名
数据类型
长度
允许空
是否为主键
相册名字
Char
8
否
是
照片名字
Char
8
是
是
描述
Char
10
否
否
相片大小
Tinyint
10
否
否
上传时间
smalldatetime
否
否
进入网站的用户必须先登录,登录页面如图4.1所示
第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"]=userName;
Session["roleName"]=roleName;
Session["table"]="Salesman";
Response.Write("ok");
Response.End();
}
else
{
Response.Write("errorpwd");
Response.End();
}
}
else
{
Response.Write("erroruser");
Response.End();
}
}
}
}
公司注册:
stringaction="";//进入该页面的操作行为
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
action=Request.QueryString["action"];
if(action=="update")
{
DataRead();
}
}
}
protectedvoidsave_Click(objectsender,EventArgse)
{
stringaction=Request.QueryString["action"];
if(action=="update")
{
if(Update())
AlertAndRedirect("修改成功","CompanyMng.aspx");
}
else
{
if(Add())
{
AlertAndRedirect("添加成功","CompanyMng.aspx");
}
}
}
privateboolAdd()
{
Companycompany=newCompany()
{
CustomerId=newBCustomer().GetEntityByCustomerName(txtCustomerName.Text.Trim()).Id,
CompanyName=txtCompanyName.Text.Trim(),
Cost=txtCost.Text.Trim(),
FinalyDate=txtFinalyDate.Text.Trim(),
LegalPerson=txtlegalPerson.Text.Trim(),
LinkMan=txtLinkman.Text.Trim(),
OrderDate=txtOrderDate.Text.Trim(),
RegesterAddress=txtRegAddress.Text.Trim(),
RegesterMoney=txtRegMoney.Text.Trim(),
Remark=txtRemark.Text.Trim(),
SalesMan=newBSalesman().GetEntityBySalesmanName(txtSalesman.Text.Trim()).Id,
State=true
};
boolisSameCustomerName=newBCustomer().IsSameCustomerName(txtCustomerName.Text.Trim());
{
if(!
isSameCustomerName)
{
Alert("没有该客户,请重新输入!
");
returnfalse;
}
}
boolisSameSalesmanName=newBSalesman().IsSameSalesmanName(txtSalesman.Text.Trim());
{
if(!
isSameCustomerName)
{
Alert("没有该业务员,请重新输入!
");
returnfalse;
}
}
returnnewBCompany().Add(company);
}
privateboolUpdate()
{
BCompanybCompany=newBCompany();
intid=int.Parse(Request.QueryString["id"]);
Companycompany=newCompany()
{
CompanyId=id,
CustomerId=newBCustomer().GetEntityByCustomerName(txtCustomerName.Text.Trim()).Id,
CompanyName=txtCompanyName.Text.Trim(),
Cost=txtCost.Text.Trim(),
FinalyDate=txtFinalyDate.Text.Trim(),
LegalPerson=txtlegalPerson.Text.Trim(),
LinkMan=txtLinkman.Text.Trim(),
OrderDate=txtOrderDate.Text.Trim(),
RegesterAddress=txtRegAddress.Text.Trim(),
RegesterMoney=txtRegMoney.Text.Trim(),
Remark=txtRemark.Text.Trim(),
SalesMan=newBSalesman().GetEntityBySalesmanName(txtSalesman.Text.Trim()).Id,
State=true
};
returnnewBCompany().Update(company);
}
privatevoidDataRead()
{
intid=int.Parse(Request.QueryString["id"]);
BCompanybCompany=newBCompany();
Companycompany=bCompany.GetEntity(id);
txtCompanyName.Text=company.CompanyName;
txtlegalPerson.Text=company.LegalPerson;
txtLinkman.Text=company.LinkMan;
txtOrderDate.Text=company.OrderDate;
txtFinalyDate.Text=company.FinalyDate;
txtRegMoney.Text=company.RegesterMoney;
txtRegAddress.Text=company.RegesterAddress;
txtCost.Text=company.Cost;
txtSalesman.Text=newBSalesman().GetEntity(company.SalesMan).SalesmanName;
txtRemark.Text=company.Remark;
intcustomerId=company.CustomerId;
txtCustomerName.Text=newBCustomer().GetEntity(customerId).CustomerName;
}
protectedvoidbtnReturn_Click(objectsender,EventArgse)
{
Response.Redirect("CompanyMng.aspx");
}
客户信息添加:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
CustomerTypeLoad();
RoleLoad();
stringaction=Request.QueryString["action"];
if(action=="update")
{
DataRead();
CompanyNameLoad();
LogoLoad();
AddressLoad();
}
else
{
lblCompany.Visible=false;
lblAddress.Visible=false;
lblTrademark.Visible=false;
ddlist
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 实践 课题 文档 模板