文章首发地址:https://www.canterdanai.top/?p=872
绪论
研究背景和意义
客户一直都是企业生存和发展最基本要素,也是企业走向不断进步的唯一源泉,所以说客户的管理对于企业来说非常重要。智慧是改变生活和生产的一种来源,那么智慧的体现更大程度上是对于软件技术的改变。当今社会,好的思路,好的创新方式往往是改变人们生活的一种来源。最常见最直接的形式就是各种软件的创始思路,京东因为非典的流行才能够将电子商务的形式推荐在线上;淘宝正因为其特殊的商业创作模式,才能够让电子产物更加走向辉煌。不同的解决思路考验的是我们对于社会问题的思考,那么软件信息化只是一种实现的方式,换句话也可以说是一种工具。现如今,各行业都在依靠信息化的方式不断的变化着,企业利用信息化完善自身在做智能制造;高校利用信息化打造智慧校园;城市利用信息化构建智慧城市等等。企业信息化一直是我们社会发展进步的一个表现,客户对于企业来说是一种盈利的源头,对于普通的中小企业来说,资金和人力都很有限,因此对于定制比较复杂的供应链管理来说是不现实的。中小企业更倾向于首先把散乱的资料、协议有效的管理起来,在一定程度上有效的提高工作效率和企业信息化建设的进程。因此,在这样一种市场需求下,一款通用性强、功能实用、易于上手,面向全行业中小企业的企业客户管理系统就产生了。
国内外研究现状
要研究我们的客户管理系统,首先要对国内外关于此方面的管理模式和情况进行分析,对于我们此次来说的信息系统的研究现状来说可以是具有非常重要意义的代表。在研究和开发本系统之前我就进行了现状的分析与研究,把一些具备一定代表性的国外研究和国内研究都简单的看了一下。当然信息化的发展不仅仅止于今天,可能在未来会更加突破完善,但就现阶段的情况来说,国外相对已有了成熟的案例和经验,这方面参考性资料也比较多。对于国内来说,我们也是起步发展很快的,初步的信息化发展已经得到了验证,相信在不久将来会形成行业的规范等。
系统设计思路
关于本系统的设计思路,首先我是这样想的。要开发一个系统。我们第一点就要想到这个系统面对的目标用户是什么群体。这些群体他们用这个系统主要从事什么工作?明确了这个目标之后,第二点我就是。把用户的需求。进行分类汇总。然后进行一个统一的分析。然后规划出一个需求最高的功能,把这些功能都组合起来,作为本系统的主要功能。然后功能确定了之后,就根据功能选择对应的开发技术,开发技术的选择方面要从开发者自身的角度出发。最擅长什么技术?这样可以保证开发出来的系统在技术方面不会出现太大的错误。最后就是开发完成之后,要进行系统的功能和性能方面的测试,如果都没有问题,那就大功告成了。
设计方法
本文所用到的研究方法比较多的,第一个就是我自己经常会用到的方法,就是去网上去搜和本系统相关的一些文献资料,期刊和论文,还有网上的一些设计思路等。大量的阅读这些资料,然后把资料中的内容用笔记都记录好。然后呢再去找相关的系统都去使用一下,看一下这些系统的功能都是如何做的,他们的界面设计是如何设计的。它们的功能排版是怎么排的,然后去找这些系统的的使用的目标用户。去问他们的需求,然后把这些需求都记录下来,作为本系统的一个参考。第三个,最后一个方法就是请教身边的同学和老师,然后看他们的看法,如果有不懂的,就可以问他们。
相关技术介绍
B/S架构
B/S结构,没做过系统开发的人可能不太懂。B/S结构其实就是我们现在用的浏览器上运行的系统。以前浏览器。不流行的时候,我们直接下载到电脑上的软件系统叫软件系统,它就是C/S结构的,C/S结构开发的系统,比较占用系统的电脑的资源。需要电脑的配置得跟上。B/S结构就是电脑基本可以打开浏览器就可以运行BS结构的系统,本文所用的就是B/S结构开发的系统。够有非常多的优点,首先它不占用系统资源,基本平常的办公系统都可以使用。第二个就是它的数据都存在网络上,非常的安全。非常的轻。没有那么多的垃圾,如果是C/S结构的话,我们还得把软件下载到电脑上,在这个过程当中就可能会下载很多无用的东西,或者很甚至是病毒。对电脑非常的不好,所以基于各方面的考虑,本文决定采用B/S结构进行开发。
MySQL数据库
mysql数据库是应用非常广泛的一种数据库,无论是开发c/s结构的软件还是b/s结构的网站,mysql数据库都是非常不多的选择,它语法简单、功能强大、扩展性好、便于移植、对于很多的语言都非常的友好,有很多的接口,可以直接使用。mysql数据库是对于初学者来说最简单的数据库之一,非常的好上手。对于编写简单的系统来说,是非常不错的选择。而且安全性也非常的好,在数据保护方面有很强的能力。
VUE语言
时至今日,前端技术的开发已经变得功能非常强大,早已不再是使用JSP来进行页面构建的时代了,JS在此过程当中做出了非常大的贡献。JavaScript做为一种轻量级的前端构建语言从它的出现到现在以来得到了不计其数的前端开发者们的称赞,一方面是因为其强大的功能令人使用起来能够解决开发过程当中的任何问题,另一方面是因其简单而又完备的语言支撑体系可以对其进行框架的整合和封装。最近在前端非常流行的VUE.js就是基于JavaScript来进行深层完善的。同时它还可以和我们所熟悉的CSS以及AJAX进行配合式的开发,进而能够达到更加完美的效果。
IDEA工具简介
在IDEA工具当中提供了非常多的快捷输入的方法,它像一个资深的开发人员一样指导着你的开发过程,在详细说明IDEA之前,首先对它进行一个全范围的大概说明。IDEA是一款功能强大的开发工具,它之所以定义为能称得上为一款强大的工具,就是因为我们的开发人员对于它的依赖程度实在是太过于强大了。功能强大的工具肯定是要比简陋的工具有意义,就像自行车和火车这两种交通工具来比速度一样,在IDEA的操作页面里不仅会有操作符的提示功能,还会有各种类或者方法的定义规范说明等等。当然就目前而言可能我们在学习某种语言的过程当中可以通过记事本工具来进行学习,但是如果到了真正项目上的话必然是需要这样一款强大的功能,它可以把软件全生命周期相关的组件工具集成进来,形成软件行业所特有的devops(开发、运维一体化)。另外对于有些注解式的开发,它可以用自己的方式来进行相关功能集成说白了就是一个注解集成一套完整的代码和方法。一款功能完备的工具是提供给开发人员的一把锋利的刀,有了这把万才能在解决各种问题的过程中游刃有余。
系统需求分析
功能需求分析
系统功能需求分析主要是通过不同的角色来进行区分的。业务过程的分析来进行一些需求梳理和业务分析。在软件行业领域当中,首先是要明确需求以及范围,这一点是毋庸置疑的。那么在这基础上就要进行一些各方面的调整,比如说首先能够在用户体验的程度上进行一些考虑,页面的美观以及页面操作是不是可行、高效、快速等等,这些都是要进行一些考虑的。其次,对于软件的安全应该也有所考虑,这种安全不一定是外在的安全,也可能是内在的权限安全。例如不同数据能够被不同权限的人看到。权限的设计在很大一程度上也是软件安全的一方面考虑。第三,功能方面也是要根据我们所做的主题,切合主题以及主题相关的功能来进行展开实施。最后,系统在成功实施之后,对于一些稳定的要求。以及运维保障还是有所需要的。首先,管理员具有系统用户管理、客户服务管理、城市管理、操作员管理、联系人管理、备忘录管理、客户管理、业务来往管理等功能。普通用户具有的功能有个人资料管理、城市管理、备忘录管理、客户管理、业务来往管理。
安全需求分析
本系统是在网络上进行运行的,网上有很多的病毒,都会对我们的系统造成损害,所以在电脑上我们要安装专业的杀毒软件,另外本系统在使用权限方面也下了很多的功夫,首先用到了mysql数据库,然后提供了注册和登录功能,只有经过注册的用户才能登录系统,才能使用,大大保护了系统的安全。网络安全的环境是直接影响应用系统是否安全的关键因素,但网络安全的保证是要从软件、硬件等各个方面进行一个有效性的综合提升。在专业的应用服务器中。所必要的防火墙以及网络设备是必须要存在的,且在应用服务器当中与应用无关的所有端口号都要进行一定的屏蔽。对于内外网之间也要进行一个有效的隔离。在应用服务器中,所有的操作日志需定期进行一个有效的记录,具备应用审计、审查等功能。同时,在应用服务器当中应该有足够大的存储空间来为应用服务器进行一个灾备。防止意外发生时,能够及时有效地将应用服务器当中的所有内容进行一个恢复。
个人资料修改流程
CRM系统的流程设计是为了能够更好的展示系统各条业务线的一个流程走向,一方面能够帮助业务人员去更好的梳理业务线,另一方面还能指导开发人员进行一个有效的方向指导。当然对于本次设计来说那业务人员和开发人员就是我自己了。下面就对于这些系统流程的设计做出一个精准的指向过程。在我们的客户管理系统当中肯定是有个人资料的修改功能的,个人资料的修改是需要进行业务流程的梳理才能进行的。那么后台的个人信息管理业务流程就会复杂的很多,不仅仅还有相关信息的验证,还会存在数据库的配合认证以及数据库一些非常重要的数据校验准则等等,它的流程相对来说可行性比较多,在开发的时候也会考虑一下这些地方。
系统内进行个人信息的管理,具体流程图如下所示。
可行性分析
技术可行性
对于毕业设计来说,技术可行性是头等大事,那么技术可行性是否能达标是我们毕业设计能否实现的一个关键点,别我们的需求设计分析及数据库都进行了而我们技术上达不到要求,那这样的系统是实现不起来的。那么对于此次设计来说呢,我们选用的技术语言呢,首先是大学当中我们上的课程,那么对于专业课而言,我们首先是可以达到其业务功能的实现。包括我们的数据库的选型,以及数据库语言的技术呢,也是在我们大学当中学习过的专业课,这样一来的话,我们的技术可行性是完全可以达标的。
法律可行性
论文可行性的方法有许许多多,那么法律可行性也是其当中的一个重要组成部分,我们所研究的设计不论功能和业务需求如何,那么首要一点就是满足法律的可行性。我们不能做一些法律之外的事情,那么法律允许之内的事情就是通过法律可行性来限制论文的设计。
操作可行性
操作可行性主要是针对用户而言,那么我们考虑到用户的操作习惯,以及市面上主流系统软件的操作性和设计性,那么我们也要考虑到我们此次毕业设计的操作可行性。在设计之初,我们就将市面上B/S结构的布局方式、用户属性以及友好性都进行了一个考虑,完成我们操作可行性的一个重要指标,来实现我们论文的达标情况。
系统设计
系统开发设计
我们都知道系统再从需求到实现到验证,到上线部署,每一个环节中都有它的不同架构方式,那么我们也称之为这些是软件全生命周期的一个管理。那么在开发阶段呢,当然也有开发架构图,开发架构图就是按照不同的文档开发,也是开发阶段的主导思想和理论文章之一。在开发阶段,我们会将系统的开发架构分为业务领域、数据架构、功能架构和系统架构。针对每一阶段区分来进行横向维度的切换。比如说在业务领域需要和用户进行沟通进行总体设计,那么再设计阶段也要将代码开发、操作说明等列出。
系统总体设计
除了系统的架构图在系统当中非常重要例外,那么我们的模块图也是很有意义的,它是为了区别不同角色、不同用户的功能权限划分。通过模块图可以清除有效的知道每一个人所具有的权限,每一个人所具备的功能角色开发,这样一来更加清楚地整理他们所有功能模块,那么针对不同的功能模块进行模块式的开发。首先,管理员具有系统用户管理、客户服务管理、城市管理、操作员管理、联系人管理、备忘录管理、客户管理、业务来往管理等功能。普通用户具有的功能有个人资料管理、城市管理、备忘录管理、客户管理、业务来往管理。如下:
E-R图
E-R图的使用是软件设计过程当中很常见的,专业有术语来讲E-R图更大程度上是为了体现其各个业务模块之间的关系。通过不同功能之间的关系为了能够更加清楚往往采用E-R图的方式,更甚至于E-R图直接能够体现出数据库的表与表之间的关系。
数据表设计
在设计之初就是要能够很合理而且完整的把数据库表的字段进行详细的表明清楚。这样一来就可以很好的避免数据库表后期的一些数据冗余、垃圾数据等问题,对后期我们系统的维护也有了更好的安排。表结构如下:
表1 user
字段名 | 描述 | 类型 | 长度 | 是否空 | 是否主键 |
id | id号 | int | 11 | 否 | 是 |
yonghuming | 用户名 | Varchar | 50 | 是 | 否 |
mima | 密码 | Varchar | 50 | 是 | 否 |
xingming | 姓名 | Varchar | 50 | 是 | 否 |
xingbie | 性别 | Varchar | 50 | 是 | 否 |
chushengnianyue | 出生年月 | Varchar | 50 | 是 | 否 |
Varchar | 50 | 是 | 否 | ||
youxiang | 邮箱 | Varchar | 50 | 否 | 否 |
dianhua | 电话 | Varchar | 50 | 是 | 否 |
neirong | 内容 | Longtext | 500 | 是 | 否 |
tianjiaren | 添加人 | Varchar | 50 | 是 | 否 |
表2 news
字段名 | 描述 | 类型 | 长度 | 是否空 | 是否主键 |
id | id号 | int | 11 | 否 | 是 |
title | 标题名 | Varchar | 50 | 是 | 否 |
Note | 内容 | Varchar | 500 | 是 | 否 |
Creater | 创建人 | Varchar | 50 | 是 | 否 |
Node | 备注 | Varchar | 100 | 是 | 否 |
表3 Leave
字段名 | 描述 | 类型 | 长度 | 是否空 | 是否主键 |
id | id号 | int | 11 | 否 | 是 |
title | 标题名 | Varchar | 50 | 是 | 否 |
Note | 内容 | Varchar | 500 | 是 | 否 |
Creater | 创建人 | Varchar | 50 | 是 | 否 |
Backer | 回复人 | Varchar | 50 | 是 | 否 |
BackTime | 回复时间 | Time | 50 | 是 | 否 |
Node | 备注 | Varchar | 100 | 是 | 否 |
表4 System Introduction
字段名 | 描述 | 类型 | 长度 | 是否空 | 是否主键 |
id | id号 | int | 11 | 否 | 是 |
SYSName | 系统名称 | Varchar | 50 | 是 | 否 |
SYSNote | 系统简介内容 | Varchar | 500 | 是 | 否 |
Creater | 创建人 | Varchar | 50 | 是 | 否 |
Node | 备注 | Varchar | 100 | 是 | 否 |
系统实现
城市查询页面
客户管理系统当中有需要进行城市查询的功能,既然我们从事了客户管理系统的管理,那么对于信息系统的整理,首先对于城市就是有一个非常大的难度,那么我们要把这些物品,也就是所谓的物料进行一个归类,归类的话就要通过类别而实现,那么此次呢,我们将不同的类别进行一个表格化的列举,那么把他的各种类别整理之后,通过表格展现,更加清楚明白。如下图所示:
登录页面
为了能够提供更好的后台管理功能,在CRM系统后台管理入口处也进行了相关的管理员登录,通过账号、密码以及不同的管理权限来进行登录,风格上还是按照简洁的风格进行设计调整,这样一来我们就可以和应用相对保持统一。在UI风格上也是从一个应用中分离出来的登录页面。如下图所示:
用户管理页面
说实话CRM后台管理页面的风格,每种应用都有自己不同的风格,而大多数的风格也都是按照菜单功能树、操作区域等这种布局进行区分的。在菜单功能树当中有后台管理应用的全部功能,而且这些菜单树的入口也仅仅只是改变右边操作区域的内容,这样一来多个模块可以使用同一个菜单树,既保证了风格统一的美观程度,又能让开发在代码工作量上减少很多。在操作区域还是以上、中、下之样的方式来进行的,每块区域都有它自己的位置功能。如下图所示:
客户服务添加页面
在CRM系统当中最常见的就是各种各样的信息查询了,当然我们的系统也不例外。通过查询条件来进行信息查询,当对于一些人或者物有相对较多属性需要展示的时候就采用了列表的形式,这样的形式很直观的就可以看到我们所需要的信息。