当前位置:文档之家› 客户管理系统软件详细设计

客户管理系统软件详细设计

客户信息管理系统详细设计说明书程序系统的结构
功能模块结构图
➢项目结构设计
采用MVC模式
➢页面设计
➢Action设计
➢数据库设计
客户信息表(Cst_Customer)
联系人信息表(cst_linkman)
交往记录信息表(cst_activity)
历史记录信息表(cst_lost)
➢各类的详细设计
com.clie nt.pojo CstCu
stome
r
o
继承ActionForm custN
ame
custRe
gion
custM
anage
r_id
custM
anage
rNam
e
custLe
vel
custLe
velLa
bel
custSa
tisfy
custCr
edit
custA
ddr
custZi
p
custTe
l
custFa
x
custW
ebsite
custLi
cence
No
custC
hieftai
n
custBa
nkroll
custT
urnov
er
nk custBa nkAcc ount custLo calTax No custN ationa lTaxN o custSt atus
CstLo st odr_i
d
继承ActionForm odr_c
ustom
er
odr_d
ate
odr_a
ddr
odr_s
tatus
LostB izImp
l ICstL
ostDA
O
getLostsBy
CustName
String
custname
客户名称
int size
输出条数
int page
页码
List(CstLost) 分页查询
update
int
lostid流
失客户ID
String 流
失说明
String 流
失类型
修改流失类型和
流失原因findCount int 查询总的条数
Activ eBiz IActi
veDAO
addActive
CstActivi
ty(交往记
录)
添加交往记录delete
int id交
往记录的
ID
根据主键删除交
往记录
getActives
String
custname
客户名称
根据客户名称查
询交往记录列表update
CstActivi
ty(交往记
录)
更新交往记录信

CstLo stDAO getLostsBy
CustName
String
custname
客户名称
int size
输出条数
int page
页码
List(CstLost) 分页查询update
int
lostid流
失客户ID
String 流
失说明
String 流
失类型
修改流失类型和
流失原因findCount int 查询总的条数
Activ eDAO
addActive
CstActivi
ty(交往记
录)
添加交往记录delete
int id交
往记录的
ID
根据主键删除交
往记录getActives
String
custname
客户名称
根据客户名称查
询交往记录列表
3程序1(标识符)设计说明3.1程序描述
3.2功能及详细说明
客户信息列表
查询客户信息流程图
1.用户通过login.jsp页面进行登陆,然后通过ICstCustomerDAO接口中的FindCstsBy(S,P)的方法来查询第一页要显示的客户信息,ICstCustomerDAO中的实现类CstCustomerDAO来实现查询数据库中的CstCustomer表(Hibernate中是对象),然后再存入Session中,再进行跳转页面,显示客户信息列表。

客户信息列表
翻页流程图
2.翻页功能,用户可以通过点击list.jsp上面的翻页(第一页、上一页、下一页、最后一页)来查看客户的信息。

搜索客户信息
用户可以填写要查询的项(客户编号、名称、地区(只选)、客户经理(只选)、客户等级(只选))来查询客户信息,当用户单击查询按钮时,根据提交的路径cst.do转到cstAction 中,通过cstAction中的pathpage属性来设置页面显示客户信息条数的大小(采用依赖注入),CstAction中的IcstBizImpl接口属性来查找客户信息.
伪代码:
CstCustomer cst=(CstCustomer)form;
List customers=ibi.findCstsByCst(cst);
request.getSession().setAttribute("customers", customers);
request.getSession().setAttribute("pagenum",1);
return mapping.findForward("go");
此处还用到了ActionForm自动封装。

●修改客户信息
更新客户信息流程图
1.通过edit.jsp页面来编辑客户信息(其中客户编号不能编辑,地区、客户经理、客户等级、客户满意度、客户信用度是只选的,文本框后面有”*”号的为必填项),然后再进行保存,提示保存成功或失败!
●联系人信息管理
1.由客户信息列表通过url重写来将客户在客户列表中下标传给联系人的
LinkAction,通过客户的信息来查找客户的联系人,修改联系人的流程:linkman.jsp——LinkAction(edit方法)——LinkBiz(update方法)——LinkBizImpl(update方法)——LinkDao(update方法)——LinkDaoImpl(update 方法)。

2.新增联系人,过程基本与修改联系人的相似,只是调用的方法有些不同。


如(update就对应add)
●交往记录信息管理
1.ActiveAction通过从客户列表list.jsp页面传过来的index(客户在客户列表中的下标)来查询与客户相关联的第一页的交往记录(ActiveInfo),如何存入session 中(actives),
在activelist.jsp页面中,循环显示,并可以分页显示。

客户经理可以点击新建按
钮来新增交往记录,输入项的设计和javascript的判断。

通过保存按钮来进行保存,流程:addactive.jsp——ActiveAction(add方法)——ActionForm自动封装到form——ActiveBiz(add方法)——ActiveBizImpl(add方法)——ActiveDao(add方法)——ActiveDaoImpl(add方法).
2.修改交往记录信息,流程与新增交往记录基本相同,就调用的方法有些不同,例如(add就对应update)
查看历史记录
1.历史记录列表时根据用户点击的客户来查询数据库的,在客户列表list.jsp页面中通过url重写传一个下标给OrderAction,然后根据客户信息来查询与之相关的历史记录。

通过设置query的FirstResult和MaxResult来实现分页功能,用户可点击orders.jsp中的历史记录详情来查看此次历史记录的详细信息,流程:orders.jsp——OrderAction(lookup方法)——OrderBiz(getOrder方法)——OrderBizImpl(getOrder方法)——OrderDao(getOrder方法)——OrderDaoImpl(getOrder方法)。

3.3性能
3.4输人项
给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。

数量和频度、输入媒体、输入数据的来源和安全保密条件等等。

3.5输出项
给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。

3.7流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。

3.8接口
用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。

3.13测试计划
3.14尚未解决的问题
4程序2(标识符)设计说明
用类似设计程序1的方式,设计第2个程序乃至第N个程序的说明。

......。

相关主题