CRM客户关系管理需求分析.doc
《CRM客户关系管理需求分析.doc》由会员分享,可在线阅读,更多相关《CRM客户关系管理需求分析.doc(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、长沙民政职业技术学院毕业实践报告题目:_类型:毕业论文毕业设计毕业专题毕业论文指导老师:_李政仪_系 别:_ 软件学院_班 级:_计应0833_学 号:_姓 名:_胡蓉_年 月 日客户关系管理系统计应0833班项目参与人员: 学号姓名职位胡蓉组长汪利君何珍妮目录1 概述11.1 范围21.2软硬件坏境需求21.3安全保密需求 21.4可维护性与可扩展性需求32 功能性需求32.1用户管理32.1.1 用户注册42.1.2 用户登录 42.1.2.1用户登陆模块52.2 客户管理62.2.1客户列表72.2.2客户添加72.2.2.1客户添加流程72.2.3客户修改82.2.4客户删除82.2.
2、5客户共享82.2.6客户移交92.2.7 查看详细信息132.2.8 共享客户92.2.8.1我共享给别人的客户92.2.8.2别人共享给我的客户92.3 联系人管理102.3.1 联系人列表102.3.2 联系人添加112.3.3 联系人修改112.3.4 联系人删除122.3.5 查看联系人详细信息123 其他功能性需求解析133.1 解决中文乱码133.2 判断是否已登录133.3日志管理144 数据库设计14结论 22致谢 23参考文献 24附录 251 概述客户关系管理系统是以客户为中心,基于客户生命周期的全过程,采用协同技术和理念,帮助企业更好的获取客户、保留客户及提升客户价值、
3、提高客户满意度和忠诚度,有效的避免客户信息流失,从而全面提升企业竞争能力和盈利能。客户是公司最宝贵的资源,为了更好的发掘老客户的价值,并开发更多新客户,通过这个客户关系管理系统完成对客户基本信息、联系人信息、交往信息、客户服务信息的充分共享和规范化管理。客户服务是一个涉及多个部门,存在一定流程的工作。客户服务水平的高低决定着公司的核心竞争力。该客户关系管理系统应提供一个客户服务在线平台,使客户服务处理过程中相关人员可以在线完成服务的处理和记录工作。1.1范围本系统包括:用户管理、客户管理、联系人管理三个功能模块。1.2软硬件坏境需求本系统采用Oracle10数据库,使用Java EE进行开发,
4、采取B/S架构。数据库设计原则上符合第三范式,且规范,易于维护。程序采用SSH(struts2+hibernate3+spring三大框架,使用MVC模式,保证系统的可维护性和可扩展性。系统应可运行于Windows平台或Unix平台(数据库服务器运行于Windows平台)。1.3安全保密需求本系统的系统架构,以及权限机制可以保证系统的安全性。首先,从系统架构看,本系统采用B/S模型,从而使服务器数据源与客户端分离,保证了数据的物理独立性;其次,本系统的用户授权机制通过角色的定义管理实现,通过定义某些角色能进行的操作权限,和定义用户拥有的角色,限定用户的操作权限,实现对用户的授权。1.4可维护性
5、与可扩展性需求本系统的应用平台设计中选择B/S结构,采用基于JAVA技术并且符合Java EE开发规范的系统应用平台,并采用三层结构,使系统具有良好的可维护性和可扩展性。2、功能性需求 本系统主要分用户管理、客户管理、联系人管理。用户管理: 管理员的权限有登陆、注册、客户管理、联系人管理。其中客户管理包括添加客户、删除客户、修改客户、客户共享、客户移交;联系人管理包括添加联系人、删除联系人、修改联系人。用户用例图用户注册在登录页面点击“注册”超级链接,跳转到用户注册页面,在页面输入相应的信息(有*的为必填项),点击“提交”按钮,如果注册成功,3秒钟后跳转到登陆页面,否则,显示错误信息,停留在当
6、前页面。点击“重填”按钮,可以全部清空当前页面的内容,重新进行填写。注意:(1)用户名必须3个字符以上;密码6个字符以上,email的格式正确,用jquery来进行验证。 (2)在保存前先判断用户名是否已经存在,若用户名已经存在,弹出“此用户名已经存在,不可用”,需重新输入用户名,若不存在,弹出“此用户名可用”信息框。用dwr实现此功能。用户注册页面验证用户是否已存在:先在dwr.xml配置文件中进行配置 在页面导入三个js文件在页面中用javascript来验证function testuser()var name=document.getElementById(txtusername).v
7、alue;JUser.isExitUser(name,function(date) if(date=true) alert(此用户名已存在,不可用); else alert(此用户名可用); ); /当鼠标离开文本框时触发事件关键代码讲解:/处理注册public String doregister() PrintWriter out=null;try out=ServletActionContext.getResponse().getWriter(); catch (IOException e) e.printStackTrace();int result=uservice.addUser(u
8、ser);if(result=1) / 注册成功out.print(alert(注册成功);location.href=/MyCRM/User/login.jsp;);if(result=2) /用户名已经存在out.print(alert(用户名已经存在);history.go(-1););if(result=0) / 注册成功out.print(alert(注册失败);history.go(-1););return SUCCESS;用户登录输入用户名和密码,在获取页面参数后,先通过用户名查询数据库,如果该用户名存在,则再查询与该用户名匹配的密码是否与页面获取的密码一致,如果一致,就可以进入
9、主界面;如果不一致,弹出“密码输入错误“信息框,须重新输入密码;如果用户名不存在,则弹出”用户名不存在“信息框,需重新输入用户名。登陆页面用户登录流程分析图Login.jsp.Main.jsp.用户登录信息输入NY获取页面参数查询数据库用户存在用户不存在功能开始功能结束NY密码一致登录成功保存信息用户登录模拟执行流程用户登陆代码详解:/处理登录public String dologin() Map session = ActionContext.getContext().getSession();int userid = uservice.selecUserByName(user.getUse
10、rname().getUserid();/ 通过用户名查询iduser.setUserid(userid);boolean flag = uservice.login(user); / 调用方法if (flag) session.put(user, user); / 把用户信息存入sessionCookie cook = new Cookie(loginuser, user.getUsername(); / 创建cookie,保存用户的用户名,cook.setMaxAge(60 * 60); / 设置有效时间ServletActionContext.getResponse().addCooki
11、e(cook); / 添加cookieMap application = ActionContext.getContext().getApplication();Object obj = application.get(count);if (obj = null) application.put(count, 1); / 如果之前没有人登录,则count赋值为1 else application.put(count, (1 + (Integer) obj);/ 如果已有人登录,则把取出的值加1return SUCCESS; else this.addFieldError(user.userna
12、me, 对不起,密码错误,您不能登录!);/ 如果登陆出错,在页面显示return SUCCESS;/ 如果登陆出错,在页面用红色字体显示错误信息 主页面用户成功登录后进入系统主界面主页面点击“刷新“链接刷新当前页面,“前进”链接返回到本页面之前查看的前一个页面,“后退“链接返回到前一个出现的页面;“退出系统”退出当前系统,进入登陆页面。左页面中有“欢迎您:sa “的字样,sa是当前登陆的用户名。头页面有显示当前用户是第几位访问本系统,并显示用户登录的当前时间。点击头页面的相关链接会跳转到相应的页面。 注解:(1)欢迎您:(2)您是第位访问者(3)今天是:退出系统点击主页面的“退出系统”链接,
13、弹出“确定退出系统”询问框,点击“确定”按钮,则退出系统进入登陆页面,点击“取消”则停在当前页面。关键代码讲解:/处理退出public String doexit() Mapsession=ActionContext.getContext().getSession();session.remove(user);return login;客户管理A、客户列表点击客户管理下面的“客户列表”链接,可以查看当前用户下面的所有客户信息。在客户名称和地址栏中输入关键字,点击“查询”按钮,可以进行模糊搜索,也可以两个条件同时进行模糊查询。 在文本框中输入想要跳转到得页面数字,点击“转”链接,就可以跳转到相应
14、的页面。如输入“3”,就可以跳转到第三页。列表页面关键代码讲解:/ 列表public String search() HttpServletRequest request = ServletActionContext.getRequest();int page = 1; if (request.getParameter(page) != null) try page = Integer.valueOf(request.getParameter(page); catch (Exception e) page = 1; / 处理异常,显示第一页Map session = ActionContext
15、.getContext().getSession();int userid = (Users) session.get(user).getUserid(); / 获取session中的用户idint count = cservice.getCustomCount(custom, userid); / 总记录数MyPage mypage = new MyPage(3, count, page); /分页List userlist = uservice.getAll();request.setAttribute(userlist, userlist);cservice.listall(custom
16、, mypage, userid);request.setAttribute(mypage, mypage);return SUCCESS;B、客户添加点击列表页面“新增”链接,或客户管理下面的“新增客户”链接,跳转到客户添加页面填写好相关信息后(*为必填项),点击“确定”按钮,如果添加成功,返回列表页面,页面自动刷新,刚添加的记录显示在第一行;否则,显示错误信息,停留在当前页面。点击“返回”链接可以返回到前一个页面,点击“重填”按钮,可以全部清空当前页面的内容,重新进行填写。注意:(1)客户名称必须填写,用jquery验证。 (2)dwr验证客户名称是否已经存在。 (3)国家、省/州、城市用
17、js实现动态关联。说明:系统的客户均指的是公司客户;每一个客户均有一个所有者,默认情况下,增加人(登录用户)即为该客户的所有者。添加信息活动图添加信息的活动图关键代码讲解:/ 处理添加public String add() int result = cservice.addCustom(custom); /调用方法HttpServletResponse response = ServletActionContext.getResponse();PrintWriter out = null;try out = response.getWriter(); catch (IOException e)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CRM 客户关系 管理 需求 分析
限制150内