javaBS实训客户关系管理系统.docx

上传人:b****9 文档编号:26068752 上传时间:2023-06-17 格式:DOCX 页数:37 大小:37.35KB
下载 相关 举报
javaBS实训客户关系管理系统.docx_第1页
第1页 / 共37页
javaBS实训客户关系管理系统.docx_第2页
第2页 / 共37页
javaBS实训客户关系管理系统.docx_第3页
第3页 / 共37页
javaBS实训客户关系管理系统.docx_第4页
第4页 / 共37页
javaBS实训客户关系管理系统.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

javaBS实训客户关系管理系统.docx

《javaBS实训客户关系管理系统.docx》由会员分享,可在线阅读,更多相关《javaBS实训客户关系管理系统.docx(37页珍藏版)》请在冰豆网上搜索。

javaBS实训客户关系管理系统.docx

javaBS实训客户关系管理系统

JAVAB/S架构企业管理软件开发

与白盒测试实训报告

课题名称

酒店客户关系管理系统的设计与测试

系/专业

计算机与软件学院/软件技术

班级

其实这个系统没做完

组别

不过功能、框架已经很不错了

小组成员

所以分享一下

指导教师:

2012年06月20日

摘要

客户是企业的一项重要资产,客户关怀是CRM的中心,客户关怀的目的是与所选客户建立长期和有效的业务关系,在与客户的每一个“接触点”上都更加接近客户、了解客户,最大限度地增加利润和利润占有率。

CRM的核心是客户价值管理,它将客户价值分为既成价值、潜在价值和模型价值,通过一对一营销原则,满足不同价值客户的个性化需求,提高客户忠诚度和保有率,实现客户价值持续贡献,从而全面提升企业盈利能力。

这里本来没有文字的,为了能让大家知道怎么运行增加的:

1.环境:

这些用的人肯定知道啦!

2.导入之后,有三个包:

com.action、com.dao、com.util、com.vo这个相信大家也能明白的。

3.tomcat启动之后,在ie或者其它浏览器中输入:

主页是:

4.没有数据库,你连登陆页面都起不来,找到数据库就好办了

5.接下来你们就自己研究吧!

摘要1

第一章系统分析3

1.1系统背景3

1.2可行行分析3

1.3需求分析4

1.4开发环境分析5

1.5角色分析5

第二章概要设计6

2.1功能模块设计6

第三章详细设计8

3.1数据库设计8

3.2系统包设计15

第四章系统实现16

4.1登录功能16

4.2营销管理模块18

4.3客户管理模块23

4.4服务管理模块26

第五章系统发布与测试29

5.1测试计划29

5.2测试用例29

5.3测试结果及分析32

小组总结34

个人总结35

致谢41

参考文献42

第一章系统分析

1.1系统背景

近年来,随着企业规模的不断扩大,企业管理的信息量也相应的增加,面对庞大的信息量,传统的人工方式管理会导致管理上的混乱,人力与物力的过多浪费,管理费用增加,管理负担加重,影响整个企业的运作和控制管理,因此,必须制定一套合理,有效,规范和实用的企业管理系统,对企业进行集中统一管理。

另一方面,IT产业和Internet获得飞速防发展,计算机应用已渗透到了各个领域,引起信息管理革命,实现了信息的自动化处理,提高了处理的及时性和正确性。

我们小组开发的企业用户关系管理系统就是采用现代化的信息管理方式代替手工管理方式,提高企业用户管理工作效率,做到信息的规范管理,科学统计和快速查询。

1.2可行行分析

Struts技术主要应用于java开发方面,structs是基于MVC开发模式的框架。

要是把一个项目比喻成一个建筑物,Struts2就是建筑物的骨架,然后你在这个骨架可以添砖加瓦完成你的项目。

Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。

使开发者能更深入的了解其内部实现机制。

除此之外,Struts的优点主要集中体现在两个方面:

Taglib和页面导航。

Taglib是Struts的标记库,灵活动用,能大大提高开发效率。

另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。

根据项目需求分析,确定该系统必须具备的性能有:

1)良好的交互性:

工作内容中有相当大的部分是人机交流,这就要求系统的交互性要强。

2)较好的可扩展性:

工作的内容和形式具有多变性,要求系统具有良好的可扩展性。

3)良好的可维护性:

系统投入使用后,主要是由管理员承担系统维护的工作,维护人员不定期变动,这就要求系统的可维护性强。

4)具有较好的跨平台性:

用户可能使用各种不同的操作系统,而且为了适应今后可能的变化,系统应具有较好的跨平台性。

基于以上四点,在开发软件租用模块时,采用J2EE编程环境,并相应采用了专为J2EE定制的Struts框架。

1.3需求分析

任务概述

综合应用主流Ajax客户端技术,StrutsWeb框架技术,数据库技术,软件测试技术,网站部署与发布等技术,遵从IT企业生产性项目的软件产品生命周期开发工程模型或敏捷开发及持续集成模型,应用软件工程相关工具,完成企业信息管理系统的设计与开发。

根据系统说明书进行新系统的物理设计,提出一个由一系列模块和元素组成的新系统设计方案。

通常分为总体设计和详细设计两个阶段。

总体设计阶段的主要任务是:

系统模块结构的设计、系统整体框架设计。

详细设计阶段的主要任务是:

数据库设计和数据文件的设计、编码设计、输入/输出设计、模块逻辑设计、包的设计等。

在该项目中系统被分为三大模块:

营销管理模块、客户管理模块、服务管理模块。

主要任务就是将这三大模块分别细化设计,确定各自的字段、数据库等相关事项,然后再统筹在一起组成一个大的框架,最后成形整个管理系统。

需求描述

营销管理模块,该模块要实现的功能有:

销售机会管理、销售计划管理。

销售机会管理包含:

机会名称、机会编号、客户名称、客户编号、联系方式。

销售计划管理包括计划日期、计划人、计划主题、计划内容。

客户管理,该模块要实现的功能有:

客户信息管理、客户流失管理、客户联系人管理、客户住宿记录等。

客户信息管理包括:

客户名称、客户性别客户密码、客户电话、客户生日、客户等级、客户地址、客户邮箱。

服务管理,该模块包含的主要字段有留言管理、库存管理、订单管理等。

系统完成时可以实现对客户信息的有效管理,可以实现对客户的添加、删除、修改、查看;可以实现计划的添加、删除、修改、查看等功能;可以发布留言信息,可以实现对客户的日常管理。

功能需求是用户的最主要的需求,对用户功能需求的描述可以采用文字描述也可以采用语言加图形的描述方式,只要能够将用户的需求描述地完整、准确、易于理解即可。

对功能需求比较复杂的系统(如超过10个功能项),可以先描述一个概要,对简单的系统可以直接进行详细描述。

对于用户的功能需求要进行分类,分类的方法应便于用户理解,如按照用户的部门设置情况,进行描述每个部门的需求,这样也便于组织用户进行评审。

1.4开发环境分析

B/S的开发语言、开发工具、运行环境

开发语言:

JSP,Java,Struts2框架开发技术

开发工具:

Eclipse

运行环境:

服务器端必须要安装Tomcat、jdk1.6

1.5角色分析

用户关系管理系统(CRM,CustomerRelationshipManagement)

角色:

销售员、销售经理、系统管理员

角色解析:

销售员:

负责直接添加、删除、修改客户,与老客户进行交流并通过老客户的联系人吸收新客户,执行销售经理指派的销售计划。

销售员之间有自己独立的客户群,并以此作为计算销售员的工资。

销售经理:

销售经理可以查看到所有客户信息及客户所属销售人员。

销售经理管理所有的客户留言(投诉,留言)

系统管理员:

主要是负责基层管理数据,如:

销售经理、销售员的添加、删除、修改等。

客户:

查看个人信息、对销售员投诉、给公司留言

第二章概要设计

2.1功能模块设计

根据需求分析得出的功能模块,如图2-1所示

图2-1

营销管理模块,该模块要实现的功能有:

销售机会管理、销售计划管理。

销售机会管理包含:

机会名称、机会编号、客户名称、客户编号、联系方式。

销售计划管理包括计划日期、计划人、计划主题、计划内容。

客户管理,该模块要实现的功能有:

客户信息管理、客户流失管理、客户联系人管理、客户住宿记录等。

客户信息管理包括:

客户名称、客户性别客户密码、客户电话、客户生日、客户等级、客户地址、客户邮箱。

服务管理,该模块包含的主要字段有留言管理、库存管理、订单管理等

系统完成时可以实现对客户信息的有效管理,可以实现对客户的添加、删除、修改、查看;可以实现计划的添加、删除、修改、查看等功能;可以发布留言信息,可以实现对客户的日常管理。

2.2系统用例图

利用UML中的用例图画出各角色之间的关系。

图2.1用户关系管理的用例图

第三章详细设计

3.1数据库设计

3.1.1概念模型设计(图3-1)

1.系统管理员通过系统可以增加、删除、修改销售员和销售经理,它们之间通过管理联系起来,销售员和销售经理之间通过销售经理给销售员指派机会,销售人员收到机会后去发展新客户这样的管理联系起来。

2.一个系统管理员可以对应多个销售人员和多个销售经理,反之亦然。

一个销售经理可以给多个销售人员指派机会,一个机会同样可以由不同的销售经理去指派。

依据上面所述可以得到如下图所示的完整E-R图

图3-1实体联系图

3.完整的E-R图如(图3-2)所示

4.机会实体的属性为:

3.1.2关系模式设计(—主键,—负键)

销售员(员工编号,用户名,密码,岗位)

销售经理(员工编号,用户名,密码,岗位)

客户(客户id号,客户姓名,密码,联系方式,性别,生日,身份证号,家庭住址,客户等级,客户邮箱)

3.1.3表的创建

1.系统管理员表:

表名

sys_user

列名

列的中文名

数据类型

默认值

是否可为空

备注

usr_id

用户编号

Bigint(50)

Notnull

PK

usr_name

用户名

Nvarchar(50)

Notnull

usr_psw

用户密码

Nvarchar(50)

Notnull

2.销售员表:

表名

Salem

列名

列的中文名

数据类型

默认值

是否可为空

备注

Salem_name

销售员姓名

Nvarchar(50)

Notnull

Salem_id

编号

Bigint(50)

Notnull

PK

Salem_tel

联系电话

Nvarchar(50)

Notnull

post

岗位

Char(20)

Notnull

3.销售经理表:

表名

Salemg

列名

列的中文名

数据类型

默认值

是否可为空

备注

Salemg_id

经理编号

Bigint(50)

Nornull

PK

Salemg_name

经理姓名

Nvarchar(50)

Nornull

Salemg_tel

联系方式

Int(20)

Nornull

post

岗位

Char(20)

Nornull

4.客户信息表:

表名:

Customer

列名

列的中文名

数据类型

默认值

是否可为空

备注

Cust_id

客户编号

Gigint(20)

Notnull

PK

Cust_name

客户姓名

Nvarchar(50)

Notnull

Cust_psw

客户密码

Nvarchar(50)

Notnull

Cust_sex

性别

Nvarchar(50)

Notnull

Cust_tel

电话

Int(20)

Notnull

Cust_email

邮箱

Nvarchar(50)

Notnull

Cust_addtr

地址

Nvarchar(50)

Notnull

Cust_birth

生日

Date(20)

Notnull

Cust_level

等级

Char(20)

Notnull

Cust_PID

身份证号

Int(20)

Notnull

5.机会表:

表名

Opportunity

列名

列的中文名

数据类型

默认值

是否可为空

备注

Opp_id

机会编号

Gigint(20)

NotNull

PK

Opp_name

机会名称

Nvarchar(50)

NotNull

Cust_id

客户编号

Gigint(20)

NotNull

FK

Cust_name

客户姓名

Nvarchar(50)

NotNull

Cust_tel

联系方式

Int(20)

NotNull

6.客户联系人表:

表名:

Cust_link_man

列名

列的中文名

数据类型

默认值

是否可为空

备注

Name

联系人姓名

Nvarchar(50)

NotNull

PK

Sex

性别

Char(10)

NotNul

tel

联系方式

Int(20)

NotNul

Cust_name

客户姓名

Nvarchar(50)

NotNul

FK

7.客户留言表:

表名:

Message

列名

列的中文名

数据类型

默认值

是否可为空

备注

Cust_name

客户姓名

Nvarchar(50)

Notnull

Message_id

留言编号

Gigint(20)

Notnull

PK

Message_name

留言名称

Nvarchar(50)

Notnull

Message_text

留言内容

Nvarchar(200)

Notnull

8.客户住宿记录表

表名:

Log

列名

列的中文名

数据类型

默认值

是否可为空

备注

Cust_name

客户姓名

Nvarchar(50)

NotNull

Cust_id

客户编号

Gigint(20)

NotNull

PK

Cust_PID

身份证号

Int(20)

NotNull

FK

Cust_level

等级

Char(10)

NotNull

Cust_pay

应付金额

Double(100)

NotNull

In_Date

入住时间

Date(20)

NotNull

Out_Date

退房时间

Date(20)

NotNull

people

人数

Int(20)

NotNull

Room_type

房间类型

Char(10)

NotNull

Room_id

房间号

Gigint(20)

NotNull

PK

9.库存记录表:

表名:

Room

列名

列的中文名

数据类型

默认值

是否可为空

备注

Room_id

房间号

Gigint(20)

NotNull

PK

Room_typr

房间类型

Char(10)

NotNull

3.2系统包设计

为了更清楚的了解我们企业管理的主要流程。

更方便的了解我们后台基础。

下面是我们业务流程逻辑,如图3.1所示。

为了更好地组织类,Java提供了包机制。

包是类的容器,用于分隔类名空间。

根据我们所选用的开发环境,我们组总共设置了四大类的包,主要有:

com.vo:

简单的Java对象。

主要是作为支持业务逻辑的协助类。

是包含着其中有一些属性及其gettersetter方法的类。

com.Dao:

数据访问对象。

是与数据库打交道,夹在业务逻辑与数据库资源中间。

com.action:

是一些特殊的Java类,它们有属性和方法,用来调用某个java类的某个方法进行数据预处理和一些相关的业务逻辑处理,然后把最终处理结果和要返回的对象放在request或者session里面,最后更具结果确定返回那个result。

com.util:

此包是一个工具包,用于建立连接数据库连接,以及其他公用的功能设计。

第四章系统实现

4.1登录功能

登录界面包含登录名、登录密码和登录权限,根据登录者选择登录权限,登录权限包含系统管理员、销售经理和销售人员,如图4.1所示。

图4.1登录主界面

当用户输入用户名、密码之后,点击登陆按钮,页面将交给LoginAction.java的action处理,判断是否可以成功登陆,action的核心处理代码如下:

publicStringlogin()

{

UserTypeuserType=newUserType();

if(userTypeId>=1&&userTypeId<=3){

userType=newUserTypeDao().getTypeById(userTypeId);

}

if(userTypeId==1)

{

LoginDaologinDao=newLoginDao();

if(loginDao.checkLogin1(loginType.getUsername(),loginType.getPassword()))

{

session.put("userType",userType.getName());

returnSUCCESS;

}

else

{

returnINPUT;

}

}

if(userTypeId==2)

{

LoginDaologinDao=newLoginDao();

if(loginDao.checkLogin2(loginType.getUsername(),loginType.getPassword()))

{

session.put("userType",userType.getName());

returnSUCCESS;

}

else

{

returnINPUT;

}

}

if(userTypeId==3)

{

LoginDaologinDao=newLoginDao();

if(loginDao.checkLogin3(loginType.getUsername(),loginType.getPassword()))

{

session.put("userType",userType.getName());

returnSUCCESS;

}

else

{

returnINPUT;

}

}

returnINPUT;

}

@Override

publicvoidsetSession(Maparg0){

this.session=arg0;

}

publicStringlogout(){

if(!

session.isEmpty()){

session.clear();

}

returnSUCCESS;

}

登陆成功之后,跳转到主页面,如图4.2所示。

图4.2主界面

4.2营销管理模块

营销管理模块包括销售机会管理和销售计划管理。

销售机会管理是对潜在的顾客或业务进行统计和管理,销售计划管理是对销售经理或销售人员进行销售计划的记录和管理,页面截图如图4.3所示。

图4.3销售机会管理页面

图4.4销售计划管理页面

系统管理员在上述模块输入信息之后,提交到action进行处理(insertoppaction.java)。

页面显示代码和action代码如下:

页面代码:

formaction="lookOpp"method="post">

iftest="currentPage==0">

hiddenname="page"value="1"/>

if>

iteratorvalue="opps"status="status">

iftest="#status.odd">

if>

<

iterator>

机会编号机会名称客户编号联系方式

propertyvalue="Opp_id"/>

propertyvalue="Opp_name"/>

propertyvalue="Cust_id"/>

propertyvalue="Opp_name"/>

propertyvalue="Cust_tel"/>

id=

propertyvalue="Opp_id"/>">[删除]

[修改]

跳转到:

当前页数[

propertyvalue="currentPage"/>/

propertyvalue="maxPage"/>]

page=1">第一页

page=

propertyvalue="PageS"/>">上一页

page=

propertyvalue="PageX"/>">下一页

page=

propertyvalue="maxPage"/>">最后一页

form>

Action代码:

publicStringshowOpp()

{

OpportunityDaoopp=newOpportunityDao();

intrecordCount=opp.getCounts();

maxPage=PageDeal.getMaxPage(recordCount);

curren

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1