ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:37.35KB ,
资源ID:26068752      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26068752.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(javaBS实训客户关系管理系统.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、javaBS实训客户关系管理系统JAVA B/S架构企业管理软件开发与白盒测试实训报告课题名称酒店客户关系管理系统的设计与测试系/专 业 计算机与软件学院/软件技术班 级其实这个系统没做完组 别不过功能、框架已经很不错了小组成员所以分享一下指导教师:2012 年06月20日摘要 客户是企业的一项重要资产,客户关怀是CRM的中心,客户关怀的目的是与所选客户建立长期和有效的业务关系,在与客户的每一个“接触点”上都更加接近客户、了解客户,最大限度地增加利润和利润占有率。 CRM的核心是客户价值管理,它将客户价值分为既成价值、潜在价值和模型价值,通过一对一营销原则,满足不同价值客户的个性化需求,提高客

2、户忠诚度和保有率,实现客户价值持续贡献,从而全面提升企业盈利能力。这里本来没有文字的,为了能让大家知道怎么运行增加的:1. 环境:这些用的人肯定知道啦!2. 导入之后,有三个包:com.action 、 com.dao 、com.util 、com.vo这个相信大家也能明白的。3. tomcat 启动之后,在ie或者其它浏览器中输入:主页是:4. 没有数据库, 你连登陆页面都起不来,找到数据库就好办了5.接下来你们就自己研究吧!摘要 1第一章 系统分析 31.1系统背景 31.2可行行分析 31.3需求分析 41.4开发环境分析 51.5角色分析 5第二章 概要设计 62.1功能模块设计 6第

3、三章 详细设计 83.1数据库设计 83.2系统包设计 15第四章 系统实现 164.1 登录功能 164.2营销管理模块 184.3客户管理模块 234.4 服务管理模块 26第五章 系统发布与测试 295.1 测试计划 295.2 测试用例 295.3 测试结果及分析 32小组总结 34个人总结 35致 谢 41参考文献 42第一章 系统分析1.1系统背景近年来,随着企业规模的不断扩大,企业管理的信息量也相应的增加,面对庞大的信息量,传统的人工方式管理会导致管理上的混乱,人力与物力的过多浪费,管理费用增加,管理负担加重,影响整个企业的运作和控制管理,因此,必须制定一套合理,有效,规范和实用

4、的企业管理系统,对企业进行集中统一管理。另一方面,IT产业和Internet获得飞速防发展,计算机应用已渗透到了各个领域,引起信息管理革命,实现了信息的自动化处理,提高了处理的及时性和正确性。我们小组开发的企业用户关系管理系统就是采用现代化的信息管理方式代替手工管理方式,提高企业用户管理工作效率,做到信息的规范管理,科学统计和快速查询。1.2可行行分析Struts技术主要应用于java开发方面,structs是基于MVC开发模式的框架。要是把一个项目比喻成一个建筑物,Struts2就是建筑物的骨架,然后你在这个骨架可以添砖加瓦完成你的项目。Struts跟Tomcat、Turbine等诸多Apa

5、che项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。 除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。 根据项目需求分析,确定该系统必须具备的性能有:1)良好的交互性:工作内容中有相当大的部分是人机交流,这就要求系统的交互性要强。2)较好的可扩展性:工作的内容和形式具有多变性,要求系统具有良好的可扩展性。3)良好的可维护性:系统投入使用后,主要是由管

6、理员承担系统维护的工作,维护人员不定期变动,这就要求系统的可维护性强。4)具有较好的跨平台性:用户可能使用各种不同的操作系统,而且为了适应今后可能的变化,系统应具有较好的跨平台性。基于以上四点,在开发软件租用模块时,采用J2EE编程环境,并相应采用了专为J2EE定制的Struts框架。1.3需求分析 任务概述综合应用主流Ajax客户端技术,Struts Web框架技术,数据库技术,软件测试技术,网站部署与发布等技术,遵从IT企业生产性项目的软件产品生命周期开发工程模型或敏捷开发及持续集成模型,应用软件工程相关工具,完成企业信息管理系统的设计与开发。根据系统说明书进行新系统的物理设计,提出一个由

7、一系列模块和元素组成的新系统设计方案。通常分为总体设计和详细设计两个阶段。总体设计阶段的主要任务是:系统模块结构的设计、系统整体框架设计。详细设计阶段的主要任务是:数据库设计和数据文件的设计、编码设计、输入/输出设计、模块逻辑设计、包的设计等。在该项目中系统被分为三大模块:营销管理模块、客户管理模块、服务管理模块。主要任务就是将这三大模块分别细化设计,确定各自的字段、数据库等相关事项,然后再统筹在一起组成一个大的框架,最后成形整个管理系统。需求描述营销管理模块,该模块要实现的功能有:销售机会管理、销售计划管理。销售机会管理包含:机会名称、机会编号、客户名称、客户编号、联系方式。销售计划管理包括

8、计划日期、计划人、计划主题、计划内容。客户管理,该模块要实现的功能有:客户信息管理、客户流失管理、客户联系人管理、客户住宿记录等。客户信息管理包括:客户名称、客户性别客户密码、客户电话、客户生日、客户等级、客户地址、客户邮箱。服务管理,该模块包含的主要字段有留言管理、库存管理、订单管理等。系统完成时可以实现对客户信息的有效管理,可以实现对客户的添加、删除、修改、查看;可以实现计划的添加、删除、修改、查看等功能;可以发布留言信息,可以实现对客户的日常管理。功能需求是用户的最主要的需求,对用户功能需求的描述可以采用文字描述也可以采用语言加图形的描述方式,只要能够将用户的需求描述地完整、准确、易于理

9、解即可。对功能需求比较复杂的系统(如超过10个功能项),可以先描述一个概要,对简单的系统可以直接进行详细描述。对于用户的功能需求要进行分类,分类的方法应便于用户理解,如按照用户的部门设置情况,进行描述每个部门的需求,这样也便于组织用户进行评审。1.4开发环境分析B/S的开发语言、开发工具、运行环境开发语言:JSP,Java ,Struts2框架开发技术开发工具:Eclipse运行环境:服务器端必须要安装Tomcat、jdk1.61.5角色分析用户关系管理系统(CRM,Customer Relationship Management)角色:销售员、销售经理、系统管理员角色解析:销售员:负责直接添

10、加、删除、修改客户,与老客户进行交流并通过老客户的联系人吸收新客户,执行销售经理指派的销售计划。销售员之间有自己独立的客户群,并以此作为计算销售员的工资。销售经理:销售经理可以查看到所有客户信息及客户所属销售人员。销售经理管理所有的客户留言(投诉,留言)系统管理员:主要是负责基层管理数据,如:销售经理、销售员的添加、删除、修改等。客户:查看个人信息、对销售员投诉、给公司留言第二章 概要设计2.1功能模块设计根据需求分析得出的功能模块,如图2-1所示图2-1营销管理模块,该模块要实现的功能有:销售机会管理、销售计划管理。销售机会管理包含:机会名称、机会编号、客户名称、客户编号、联系方式。销售计划

11、管理包括计划日期、计划人、计划主题、计划内容。客户管理,该模块要实现的功能有:客户信息管理、客户流失管理、客户联系人管理、客户住宿记录等。客户信息管理包括:客户名称、客户性别客户密码、客户电话、客户生日、客户等级、客户地址、客户邮箱。服务管理,该模块包含的主要字段有留言管理、库存管理、订单管理等系统完成时可以实现对客户信息的有效管理,可以实现对客户的添加、删除、修改、查看;可以实现计划的添加、删除、修改、查看等功能;可以发布留言信息,可以实现对客户的日常管理。2.2 系统用例图利用UML中的用例图画出各角色之间的关系。图 2.1 用户关系管理的用例图第三章 详细设计3.1数据库设计3.1.1

12、概念模型设计(图3-1)1.系统管理员通过系统可以增加、删除、修改销售员和销售经理,它们之间通过管理联系起来,销售员和销售经理之间通过销售经理给销售员指派机会,销售人员收到机会后去发展新客户这样的管理联系起来。2.一个系统管理员可以对应多个销售人员和多个销售经理,反之亦然。一个销售经理可以给多个销售人员指派机会,一个机会同样可以由不同的销售经理去指派。依据上面所述可以得到如下图所示的完整E-R图 图3-1 实体联系图3.完整的E-R图如(图3-2)所示4.机会实体的属性为:3.1.2 关系模式设计(主键,负键)销售员(员工编号,用户名,密码,岗位)销售经理(员工编号,用户名,密码,岗位)客户(

13、客户id号,客户姓名,密码,联系方式,性别,生日,身份证号,家庭住址,客户等级,客户邮箱)3.1.3 表的创建1.系统管理员表:表名sys_user列名列的中文名数据类型默认值是否可为空备注usr_id用户编号Bigint(50)Not nullPKusr_name用户名Nvarchar(50)Not nullusr_psw用户密码Nvarchar(50)Not null2.销售员表:表名Salem列名列的中文名数据类型默认值是否可为空备注Salem_name销售员姓名Nvarchar(50)Not nullSalem_id编号Bigint(50)Not nullPKSalem_tel联系电话

14、Nvarchar(50)Not nullpost岗位Char(20)Not null3.销售经理表:表名Salemg列名列的中文名数据类型默认值是否可为空备注Salemg_id经理编号Bigint(50)Nor nullPKSalemg_name经理姓名Nvarchar(50)Nor nullSalemg_tel联系方式Int(20)Nor nullpost岗位Char(20)Nor null4.客户信息表:表名:Customer列名列的中文名数据类型默认值是否可为空备注Cust_id客户编号Gigint(20)Not nullPKCust_name客户姓名Nvarchar(50)Not nu

15、llCust_psw客户密码Nvarchar(50)Not nullCust_sex性别Nvarchar(50)Not nullCust_tel电话Int(20)Not nullCust_email邮箱Nvarchar(50)Not nullCust_addtr地址Nvarchar(50)Not nullCust_birth生日Date(20)Not nullCust_level等级Char(20)Not nullCust_PID身份证号Int(20)Not null5.机会表:表名Opportunity列名列的中文名数据类型默认值是否可为空备注Opp_id机会编号Gigint(20)Not

16、NullPKOpp_name机会名称Nvarchar(50)Not NullCust_id客户编号Gigint(20)Not NullFKCust_name客户姓名Nvarchar(50)Not NullCust_tel联系方式Int(20)Not Null6.客户联系人表:表名:Cust_link_man列名列的中文名数据类型默认值是否可为空备注Name联系人姓名Nvarchar(50)Not NullPKSex性别Char(10)Not Nultel联系方式Int(20)Not NulCust_name客户姓名Nvarchar(50)Not NulFK7.客户留言表:表名:Message列

17、名列的中文名数据类型默认值是否可为空备注Cust_name客户姓名Nvarchar(50)Not nullMessage_id留言编号Gigint(20)Not nullPKMessage_name留言名称Nvarchar(50)Not nullMessage_text留言内容Nvarchar(200)Not null8.客户住宿记录表表名:Log列名列的中文名数据类型默认值是否可为空备注Cust_name客户姓名Nvarchar(50)Not NullCust_id客户编号Gigint(20)Not NullPKCust_PID身份证号Int(20)Not NullFKCust_level等

18、级Char(10)Not NullCust_pay应付金额Double(100)Not NullIn_Date入住时间Date(20)Not NullOut_Date退房时间Date(20)Not Nullpeople人数Int(20)Not NullRoom_type房间类型Char(10)Not NullRoom_id房间号Gigint(20)Not NullPK9.库存记录表:表名:Room列名列的中文名数据类型默认值是否可为空备注Room_id房间号Gigint(20)Not NullPKRoom_typr房间类型Char(10)Not Null3.2系统包设计为了更清楚的了解我们企业

19、管理的主要流程。更方便的了解我们后台基础。下面是我们业务流程逻辑,如图3.1所示。为了更好地组织类,Java提供了包机制。包是类的容器,用于分隔类名空间。根据我们所选用的开发环境,我们组总共设置了四大类的包,主要有:com.vo:简单的Java对象。主要是作为支持业务逻辑的协助类。是包含着其中有一些属性及其getter setter方法的类。com.Dao:数据访问对象。是与数据库打交道,夹在业务逻辑与数据库资源中间。com.action:是一些特殊的Java类,它们有属性和方法,用来调用某个java类的某个方法进行数据预处理和一些相关的业务逻辑处理,然后把最终处理结果和要返回的对象放在req

20、uest或者session里面,最后更具结果确定返回那个result。com.util:此包是一个工具包,用于建立连接数据库连接,以及其他公用的功能设计。第四章 系统实现4.1 登录功能登录界面包含登录名、登录密码和登录权限,根据登录者选择登录权限,登录权限包含系统管理员、销售经理和销售人员,如图4.1所示。图4.1 登录主界面当用户输入用户名、密码之后,点击登陆按钮,页面将交给Login Action.java的action处理,判断是否可以成功登陆,action的核心处理代码如下:public String login() UserType userType = new UserType(

21、); if(userTypeId = 1 & userTypeId = 3) userType = new UserTypeDao().getTypeById(userTypeId); if(userTypeId = 1) LoginDao loginDao = new LoginDao(); if(loginDao.checkLogin1(loginType.getUsername(),loginType.getPassword() session.put(userType, userType.getName(); return SUCCESS; else return INPUT; if(

22、userTypeId = 2) LoginDao loginDao = new LoginDao(); if(loginDao.checkLogin2(loginType.getUsername(),loginType.getPassword() session.put(userType, userType.getName(); return SUCCESS; else return INPUT; if(userTypeId = 3) LoginDao loginDao = new LoginDao(); if(loginDao.checkLogin3(loginType.getUsernam

23、e(),loginType.getPassword() session.put(userType, userType.getName(); return SUCCESS; else return INPUT; return INPUT; Override public void setSession(Map arg0) this.session = arg0; public String logout() if(!session.isEmpty() session.clear(); return SUCCESS; 登陆成功之后,跳转到主页面,如图4.2所示。图4.2 主界面4.2营销管理模块营

24、销管理模块包括销售机会管理和销售计划管理。销售机会管理是对潜在的顾客或业务进行统计和管理,销售计划管理是对销售经理或销售人员进行销售计划的记录和管理,页面截图如图4.3所示。图4.3 销售机会管理页面图4.4 销售计划管理页面系统管理员在上述模块输入信息之后,提交到action进行处理(insertoppaction.java)。页面显示代码和action代码如下:页面代码: 机会编号 机会名称 客户编号 联系方式 a href=deleteOpp?id=删除 修改 跳转到: 当前页数 / 第一页 a href=lookOpp?page=上一页 a href=lookOpp?page=下一页 a href=lookOpp?page=最后一页 Action代码:public String showOpp() OpportunityDao opp = new OpportunityDao(); int recordCount = opp.getCounts(); maxPage = PageDeal.getMaxPage(recordCount); curren

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

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