javaBS实训客户关系管理系统43页docWord文件下载.docx
- 文档编号:17161340
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:36
- 大小:1.33MB
javaBS实训客户关系管理系统43页docWord文件下载.docx
《javaBS实训客户关系管理系统43页docWord文件下载.docx》由会员分享,可在线阅读,更多相关《javaBS实训客户关系管理系统43页docWord文件下载.docx(36页珍藏版)》请在冰豆网上搜索。
我们小组开发的企业用户关系管理系统就是采用现代化的信息管理方式代替手工管理方式,提高企业用户管理工作效率,做到信息的规范管理,科学统计和快速查询。
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)
usr_psw
用户密码
2.销售员表:
Salem
Salem_name
销售员姓名
Salem_id
编号
Salem_tel
联系电话
post
岗位
Char(20)
3.销售经理表:
Salemg
Salemg_id
经理编号
Nornull
Salemg_name
经理姓名
Salemg_tel
联系方式
Int(20)
4.客户信息表:
表名:
Customer
Cust_id
客户编号
Gigint(20)
Cust_name
客户姓名
Cust_psw
客户密码
Cust_sex
性别
Cust_tel
电话
Cust_email
邮箱
Cust_addtr
地址
Cust_birth
生日
Date(20)
Cust_level
等级
Cust_PID
身份证号
5.机会表:
Opportunity
Opp_id
机会编号
NotNull
Opp_name
机会名称
FK
6.客户联系人表:
Cust_link_man
Name
联系人姓名
Sex
Char(10)
NotNul
tel
7.客户留言表:
Message
Message_id
留言编号
Message_name
留言名称
Message_text
留言内容
Nvarchar(200)
8.客户住宿记录表
Log
Cust_pay
应付金额
Double(100)
In_Date
入住时间
Out_Date
退房时间
people
人数
Room_type
房间类型
Room_id
房间号
9.库存记录表:
Room
Room_typr
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)
if(loginDao.checkLogin2(loginType.getUsername(),loginType.getPassword()))
if(userTypeId==3)
if(loginDao.checkLogin3(loginType.getUsername(),loginType.getPassword()))
returnINPUT;
}
@Override
publicvoidsetSession(Map<
String,Object>
arg0){
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代码如下:
页面代码:
<
s:
formaction="
lookOpp"
method="
post"
>
iftest="
currentPage==0"
<
hiddenname="
page"
value="
1"
/>
/s:
if>
table>
<
tr>
td>
机会编号<
/td>
<
机会名称<
客户编号<
联系方式<
inputtype="
submit"
查看机会"
/>
/tr>
iteratorvalue="
opps"
status="
status"
#status.odd"
tr>
propertyvalue="
Opp_id"
Opp_name"
Cust_id"
Cust_tel"
ahref="
deleteOpp?
id=<
"
[删除]<
/a>
updateOpp.jsp"
[修改]<
iterator>
跳转到:
text"
name="
size="
3"
当前页数<
[<
currentPage"
/<
maxPage"
]<
lookOpp?
page=1"
第一页<
page=<
PageS"
上一页<
PageX"
下一页<
最后一页<
/table>
form>
Action代码:
publicStringshowOpp()
OpportunityDaoopp=newOpportunityDao();
intrecordCount=opp.getCounts();
maxPage=PageDeal.getMaxPage(recordCount);
currentPage=page;
if(currentPage<
=1)
currentPage=1;
pageS=1;
elseif(currentPage>
=maxPage)
currentPage=maxPage;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javaBS 客户关系 管理 系统 43 doc