




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE30基于SSH框架的管理信息系统摘要: 某培训公司因业务发展,想要提高客户满意度,提升企业核心竞争力,特要求将客户信息进行整理归纳,对客户信息及客户反馈情况进行有效地管理。由此,本系统为达到企业要求,以客户关系管理为核心,以报表统计为辅助可视化统计工具,来完成企业基本要求。系统开发以Java语言为基础,使用流行的Myeclipse开发软件及J2EE的SSH框架进行主体发开,使用ExtJs框架和Jsp做界面开发,技术数据库设计用运PowerDesigner15,用Oracle作为数据库工具,PL/SQLDeveloper作为开发工具,用Tomcat作为服务器,支持JavaScript的浏览器作为浏览工具。系统主要实现部门、客户(学员)、报表、平台管理、权限等的功能。关键字:CRMB/SjavamyeclipsespringhibernatestrutsAbstractAtrainingcompanyforbusinessdevelopment,wantedtoimprovecustomersatisfaction,enhancecorecompetitivenessofenterprises,specialrequirementsofthecustomerinformationsummarizationofcustomerinformationandcustomerfeedbackforeffectivemanagement.Thus,toachievethebusinessrequirementsofthesystem,customerrelationshipmanagementasthecore,toreportstatisticsforthevisualaidofstatisticaltoolstocompletethebasicrequirementsofenterprises.
SystemdevelopmentbasedontheJavalanguageusingthepopularsoftwaredevelopmentandJ2EEMyeclipsetheSSHframeworkofthemainhairopen,usetheExtJsframeworkandJspdointerfacedevelopment,databasedesignwithtechnologyshippedPowerDesigner15,withOracleasthedatabasetool,PL/SQLDeveloperasadevelopmenttool,usingTomcatastheserver,browsersupportforJavaScriptasabrowsingtool.
Systemismainlytoachievedepartment,customers(students),reports,platformmanagement,permissionsandotherfeatures.
Keywords:CRMB/Sjavamyeclipsespringhibernatestruts目录TOC\o"1-3"\h\u1499基于SSH框架的信息管理系统 013146摘要: 129373引言 321794第一章开发工具及技术介绍 591411.1、Myeclipse8.5简介: 541971.2、Oracle10g简介: 5215171.3、MVC思想: 5294691.4、spring框架 65801.5、struts框架 7205981.6、Spring配置 828892第二章需求分析 12135442.1系统介绍 12262382.2设计目标 12205412.3功能需求 1228781第三章系统设计 14114653.1概述 14167323.2系统设计 141373第四章详细设计 17225604.1、页面总体设计 17224504.2、系统登录模块 17135334.3、员工管理模块 18326164.4、部门管理模块 20226784.5、平台管理模块 21178704.6、报表统计 2527213总结 2829962参考文献: 30
引言1、编写目的 帮助企业对客户信息及客户反馈信息进行管理、整合,便于公司提高客户满意度与忠诚度,提高企业竞争力2、项目名称基于SSH框架的信息管理系统3、项目背景 某培训机构近年来发展迅速,但公司至今还未实现无纸化办公。公司的客户资料及反馈情况不易于保存与管理,以前的客户资料不完整,且大量的数据难以统计,不便于管理。为保持公司高速发展的势头、提高企业竞争力,该公司迫切的需要改革办公方式,尽量实现无纸化办公。该公司管理人员意识到:客户服务是发展、维系和提高企业竞争力最根本、最直接、最有效的手段。以客户为中心,实施客户系统为客户提供高质量服务,从而获取较高的客户满意度和忠诚度,是企业最重要的核心竞争力,是企业在竞争中立于不败之地的根本保证。为满足客户需求,本系统应运而生。4、业务所涉及的规范与标准结合实际应用和发展要求,在规划和设计时,主要应遵循以下系统总体建设原则: 实用性原则:以现实需求为基础,充分考虑发展的需要来确定系统规模。功能模块子系统以插件方式扩展。成熟和先进性原则系统结构设计、系统配置、系统管理方式等方面采用国际上先进同时又是成熟、实用的技术。 规范性原则:系统设计所采用的技术和设备应符合国际标准、国家标准和业界标准,为系统的扩展升级、与其他系统的互联提供良好的基础。 开放性和标准化原则:在设计时,要求提供开放性好、标准化程度高的技术方案;设备的各种接口满足开放和标准化原则。 可扩充和扩展化原则:所有系统设备不但满足当前需要,并在扩充模块后满足可预见将来需求,保证建设完成后的系统在向新的技术升级时,能保护现有的投资。 可管理性原则:整个系统的设备应易于管理,易于维护,操作简单,易学,易用,便于进行系统配置,在设备、安全性、数据流量、性能等方面得到很好的监视和控制,并可以进行远程管理和故障诊断。开发工具及技术介绍1.1、Myeclipse8.5简介:随着信息化建设的日益深入,无论是政府还是企业单位,部门之间的信息沟通与协同工作越来越重要。人们迫切需要一个能充分利用网络优势,并可以管理企业运做知识的软件平台,利用改平台快速建立自己的信息网络和网络办公系。办公自动化系统应用而生。OA系统能够提高企业效率,减少劳动浪费,减少办公费用和时间,把企业的流程规定的更加合理化,更规范企业的管理。更好的加强了领导层和普通员工协调工作的关系。本程序结合了数据库的建立和维护以及前端应用程序的开发两个方面,使用了目前最先进的A、SQL语言作为开发工具,使开发过程更加快捷,大大的提高了开发地效率和质量。1.2、Oracle10g简介:为数据库用户操作端,由应用、工具、SQL*NET组成,用户操作数据库时,必须连接到一服务器,该数据库称为本地数据库(LocalDB)。在网络环境下其它服务器上的DB称为远程数据库(RemoteDB)。用户要存取远程DB上的数据时,必须建立数据库链。1.3、MVC思想:MVC是三个单词的缩写,分别为:模型(Model),视图(View)和控制Controller)。MVC模式的目的就是实现Web系统的职能分工。Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。View层用于与用户的交互,通常用JSP来实现。Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。1.4、spring框架Spring是一个开源框架,它由RodJohnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。◆目的:解决企业应用开发的复杂性◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能◆范围:任何Java应用简单来说,Spring是一个轻量级的控制反转(Ioc)和面向切面(AOP)的容器框架。◆轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。◆控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。◆面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。◆容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,可以配置每个bean如何被创建——基于一个可配置原型(prototype),bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。◆框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了用户。所有Spring的这些特征使我们能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。1.5、struts框架Struts2是按照MVC思想,获取页面的请求,并对请求配置相应的action,将action返回的结果传递给页面。Struts2框架的大概处理流程如下:◆加载类(FilterDispatcher)◆读取配置(struts配置文件中的Action)◆派发请求(客户端发送请求)◆调用Action(FilterDispatcher从struts配置文件中读取与之相对应的Action)◆启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证)◆处理业务(回调Action的execute()方法)◆返回响应(通过execute方法将信息返回到FilterDispatcher)◆查找响应(FilterDispatcher根据配置查找响应的是什么信息如:SUCCESS、ERROER,将跳转到哪个jsp页面)◆响应用户(jsp>客户浏览器端显示)Struts2结构流程图如下:1.6、Spring配置 A、在项目中加入如下图所示的jar包 为系统添加spring支持,spring将常用的类封装于包内,以方便使用。B、启动spring监听 在web.xml中配置Spring的监听器。web.xml中的代码如下:<!--配置spring.xml文件路径载入spring配置文件--><context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext-*.xml</param-value> </context-param><!--启动spring监听--><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> <!--默认找/WEB-INF/applicationContext.xml--> </listener>ContextLoader创建的是XmlWebApplicationContext这样一个类,它实现的接口是webApplicationContext->ConfigurableWebApplicationContext->ApplicationContext->BeanFactory这样一来spring中的所有bean都由这个类来创建。由此实现spring的依赖注入。C、 配置连接的数据源将系统中所有对数据库操作时连接数据库的步骤提取出来,在Spring配置文件中进行统一操作。这样可以减少代码的重复性,减少维护困难,增加系统的可移植性。<!--配置数据源--> <beanclass="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <propertyname="locations"> <value>classpath:perties</value> </property> </bean> <beanid="dataSource"class="mons.dbcp.BasicDataSource"> <propertyname="driverClassName"value="${jdbc.driverClassName}"/> <propertyname="url"value="${jdbc.url}"/> <propertyname="username"value="${jdbc.username}"/> <propertyname="password"value="${jdbc.password}"/> </bean> <!--配置SessionFactory--> <beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <propertyname="dataSource"ref="dataSource"/> <propertyname="configLocation"> <value>classpath:hibernate.cfg.xml</value> </property> </bean> D、Spring控制反转Spring框架的核心就是控制反转(InversionofControl)和依赖注(DependencyInjection),通过这两方面来实现代码的松耦合。使用IoC,在程序中new对象,而是被动的接受依赖类。IOC容器在实例化的时候主动将它的依赖类注入给它。可以这样理解:控制反转将类的主动权转移到接口上,依赖注入通过xml配置文件在类实例化时将其依赖类注入。以客户属性报表为例。在前台JSP页面(reportByAll.jsp)中有如下一段代码:<%@page import="org.springframework.web.context.support.*,org.springframework.context.*"%><% ApplicationContextctx=WebApplicationContextUtils .getWebApplicationContext(getServletContext()); ReportServicers=(ReportService)ctx.getBean("reportService"); List<Report>reportlistbysex=rs.getPersonReportBySex();%> 粗体字代码中创建了一个ReportService类对象rs,但是并没有直接实例化ReportService对象,而是由Spring控制。 ReportService.java是个接口类,没有具体的实现方法,而是由ReportServiceImpl.java来实现其中的方法。第二章需求分析2.1系统介绍 本系统的主要任务就是对客户的基本信息、客户的类型、与该客户进行联系的市场人员和客服、更新日期,以及关于跟进的记录、客户反馈、采取的相关措施等一系列记录信息的管理,便于公司的管理人员及时了解每个客户的最新信息,也利于市场人员对自己的客户信息能够准确的了解和把握市场,对一些事件可以做到及时的处理和响应,抓住最有利的时机,也有助于管理者对市场人员及客服的工作进行考核。 本系统的主要特点是方便使用者管理该系统,对于不同类型的使用者,有不同的权限进行控制。本系统另外一个优点是方便系统二次开发及系统维护。2.2设计目标 系统初步要求能够满足一般客户管理需求,管理员和普通用户权限区分,登录,将客户和学员信息用Excel导出,将客户需要的信息进行报表统计,搭建好平台管理框架以便于后期继续开发和维护等功能。2.3功能需求该系统共包括:部门管理、基础信息、客户管理、平台管理、同比报表等子模块。平台总体功能图如下:第三章系统设计3.1概述按照以上需求,系统将采用B/S开发形式,运用JavaSSH技术进行项目开发,使用安全稳定的oracle数据库来设计开发。主要功能分成四大模块:报表管理、系统管理、平台管理、客户管理系统。3.2系统设计 1、平台管理 平台管理主要是对系统开发、使用、拓展及维护的管理,其中包括系统新增功能模块管理、字典代码管理。系统模块管理 a.系统模块信息:可对系统的每个模块信息进行管理(包括模块所处位置,模块jsp代码位置等信息)。 b.系统模块集成:当系统增加某一模块时,将该模块集成到系统平台。即系统增加新模块时,先判断该模块有没有父模块,若有则将此新模块加入到父模块中;否则新建相应父模块,将新模块加入创建的父模块,再配置新模块对应的JSP路径。父模块对应平台管理中的子系统管理,子模块对应平台管理中的子菜单管理。 模块集成流程如下: 字典代码管理为防止用户在某些特定输入框内随意填写内容,特将该类信息集中在“字典代码”中配置管理。用户只能选择管理员在“字典代码”中配置好的信息而不能随意填写。2、权限管理系统分为普通用户和管理员两种权限。管理员权限可进行任意操作,普通用户可进行除平台管理外的任意操作。3、报表统计将企业需要的客户信息进行报表统计。如:客服活动报表、客户属性报表等。4、部门管理 a.部门基础信息:对部门基础信息的管理。 b.员工基础信息:对员工基础信息的管理。登录管理登录:本系统用于公司内部使用,故不提供注册功能,用户登陆路账号管理员添加。用户根据管理员提供的帐号登录系统。注销:用户登录后可直接关闭页面,推出系统;也可点击“注销”图标,退出系统重新登录。权限管理本系统只设置两种权限,分别为管理员权限和普通用户权限。其中,管理员权限可对系统进行任意操作;而普通用户权限不能对部门管理和平台管理进行操作。第四章详细设计4.1、页面总体设计本系统使用人员为公司内部员工,在进行页面设计时主要考虑的是提高办公效率,因此要求系统整体简单明了。照此理念,系统整体页面设计如下:4.2、系统登录模块1、登录在登录系统中,系统自动获取用户输入的用户名、密码,与数据库中的信息比对,如有该记录,则登陆成功,跳转主页面;否则提示用户名密码错误,不跳转。如下图所示:登录成功后,主页面获取用户登录名,并显示2、注销 点击“注销”按钮,退出系统并重新登录。4.3、员工管理模块员工管理管理员对公司员工信息进行管理。员工信息包括员工真实姓名、登陆用户名、密码、所属部门、状态等信息。◆管理员登录后在部门管理模块可以看到公司的员工信息。◆可修改员工的信息,包括用户真实姓名、用户登录帐号、登录密码等信息。用户组管理用户组配置用户组是指公司不同区域的员工类别。比如福州客服、泉州客服、泉州市场人员等。查看用户组配置:查看员工类型、是否在职、所属区域等信息。状态字段表示员工是否在职,勾表示在职、叉表示离职。如公司在外地有分公司成立或者在已有区域内新增用户组,可新增用户组。如下图所示:如果公司决议改变用户组名称或者撤销用户组,可修改用户组信息。要撤销用户组时将启用状态修改为“否“。如下图所示:4.4、部门管理模块部门管理是由管理员根据公司现状,管理公司部门信息。此部分只有管理员能操作。部门信息包括部门名称、备注、是否可用。◆点击部门管理,显示所有部门信息其中“是否可用”一栏中以“1”表示已启用,“2”表示不启用。◆也可按关键字查询,搜索相应部门信息◆部门信息发生改变时,修改部门信息◆新增部门信息删除部门信息此处采用逻辑删除,只将部门状态修改为“未启用”4.5、平台管理模块平台管理是对整个系统的组织管理。包括其功能、前台显示等进行管理子系统管理子系统管理模块是对系统导航菜单进行管理。◆进入子系统管理系统后,可以页面的右侧看到所有的导航菜单列表。列表中处于启用状态的菜单信息与导航菜单中的信息完全一样。如下二图所示:修改子系统菜单信息可以对子系统菜单名称或状态等信息进行修改,修改完成后与导航菜单同步。子系统菜单操作应公司发展或其他原因导致需求发生改变时,可在子系统管理里面增加或删除导航菜单。删除子系统菜单点击删除时,系统弹出窗口要求用户进行确认。如选择“确定“,则删除该菜单,弹窗提示用户”删除成功“;否则不做处理。新增子系统菜单按要求填入菜单信息后,点击“保存“按钮,系统会将菜单信息填入数据库中。刷新页面,导航菜单栏同步发生改变。子菜单管理子菜单管理是对导航菜单中的子菜单进行管理。进入子菜单管理页面后按导航菜单查询如图所示,选择导航菜单:点击查询按钮,页面显示用户所选导航菜单的子菜单信息。示例:选择平台管理查询时如下图所示:子菜单操作子菜单操作也包含对子菜单的新增、修改、删除等操作,修改只针对子菜单所处导航菜单,不能进行跨区操作。实现过程与子系统管理类似,在此不再赘述。表单管理表单管理模块主要是为方便系统进行二次开发或维护,将功能模块的jsp路径或action提出出来以便查询。表单管理中配置的jsp路径可用于“子菜单管理”操作中为子菜单选择jsp路径。进入表单管理页面后按导航菜单查询将所选导航菜单里的子菜单表单名称与jsp路径显示出来,如下图所示:新增表单导航菜单里新增子菜单后,在表单管理里新增表单,将子菜单表单路径加入所属导航系统。当某一子菜单从导航菜单中的一处移到另一处时,在表单管理里删除该表单,并在该子菜单现所属导航菜单处新增表单。字典管理字典代码包含字典名称、字典目录、状态。“字典目录”为字典代码配置的用处,“字典名称”为配置的可选信息,“状态”表示该“字典目录”或“字典名称”是否启用。查看字典代码新增目录如系统要求用户填入某系统没规定的正规数据(以籍贯为例),管理员可新增名为“籍贯”的目录,并选择状态为“是”。 新增字典名称管理员可新增字典目录中的字段,即“字典名称”。4.6、报表统计报表统计是根据数据库中的数据生成报表。包括客服活动状态报表、客户属性(性别)报表、籍贯区域统计报表等。报表分为:“曲线图”、“饼状图”、“圆筒图”,用户可以根据喜好选择报表显示图形 以客服活动报表柱状图为例:报表统计实现(以客户男女比例为例): 1、将需要统计的数据从数据库中取出 <% //寻找Spring的配置文件位置ApplicationContextctx=WebApplicationContextUtils .getWebApplicationContext(getServletContext()); //从数据库中读取客户性别属性并存入reportlistbysex列表中 ReportServicers=(ReportService)ctx.getBean("reportService"); List<Report>reportlistbysex=rs.getPersonReportBySex();%> 2、遍历reportlistbysex列表,将性别分别计数 varareaObject=[ <% if(reportlistbysex!=null){ for(Reportreport:reportlistbysex){ %>{name:"男",count:<%=report.getSex1()%>,color:"008E8E"},{name:"女",count:<%=report.getSex2()%>,color:"A186BE"}<%}}%>];3、获取报表模型将报表模型引入工程中,如下图所示:加载所需要的模型:$(document).ready(function(){ $("#FusionChartsSelect").click(function(){ varitem=$("#FusionCharts11").val(); if(item==1){ varfunctionchar="<%=path%>/FusionCharts/Pie3D.swf"; }if(item==2){ varfunctionchar="<%=path%>/FusionCharts/FCF_Column3D.swf"; }if(item==3){ varfunctionchar="<%=path%>/FusionCharts/Doughnut3D.swf"; }if(item==4){ varfunctionchar="<%=path%>/FusionCharts/Line2D.swf"; }4、显示统计报表varstrXML="<graphcaption='客户属性报表'xAxisName='男女比例(统计初)'baseFont='宋体'baseFontSize='12'limitsDecimalPrecision='0'decimalPrecision='0'chartLeftMargin='30'chartRightMargin='30'>"; varlength=areaObject.length; for(vari=1;i<=length;i++){ strXML=strXML+"<setname='"+areaObject[i-1].name+"'value='"+areaObject[i-1].count+"'color='"+areaObject[i-1].color+"'/>"; } strXML=strXML+"</graph>"; varchart1=newFusionCharts(functionchar,"chartId","900","400"); chart1.setDataXML(strXML); chart1.render(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计算机二级Web考试原理探究试题及答案
- 深化对Delphi中对象管理的理解试题及答案
- 风险管理在财务决策中的角色试题及答案
- 二级计算机MS Office知识分享试题及答案
- C++语法与特性深度剖析试题及答案
- 2025年Web考试知识补充与题型
- 理解MySQL细节问题的试题及答案剖析
- 计算机二级Web网站访问量分析试题及答案
- 实操模拟计算机二级试题及答案
- Msoffice考试知识掌握试题及答案
- 《中小学生端午节安全教育主题班会》课件
- 高级网络技术试题及答案
- 股权终止合作协议书
- 入团考试试题及答案大学
- 2025园林景观设计合同范本
- 2025年北京高考语文三轮复习之微写作
- 《海南三亚西岛景区营销现状问卷调查及营销问题和优化对策》12000字
- 江苏省苏、锡、常、镇2025届高考仿真模拟生物试卷含解析
- 阿片类药物不良反应和处置
- 贵港离婚协议书模板
- 2025年公安机关人民警察基本级执法资格备考题库
评论
0/150
提交评论