相关技术
SSM框架介绍
开发环境:
- 技术:SSM框架(Spring + Spring MVC + MyBatis)
描述:
- SSM框架是Java Web开发中广泛使用的流行框架之一。
- Spring:提供全面的基础设施支持,管理应用对象,简化开发。
- Spring MVC:基于Model-View-Controller模式,分离业务逻辑、数据和界面显示,提高开发灵活性。
- MyBatis:替代Hibernate的持久层框架,支持定制化SQL、存储过程和高级映射,灵活且性能稳定。
- 综合考虑,SSM框架既没有SSH框架的臃肿,也没有Spring MVC的过度简化,属于中间级别,易于编写和理解。
B/S结构介绍
开发环境:
- 技术:B/S结构(Browser/Server)
描述:
- B/S结构通过浏览器访问服务器,将核心功能安排在服务器端处理,减少客户端负担。
- B:Browser(浏览器),用户通过浏览器访问应用。
- S:Server(服务器),处理主要业务逻辑和数据存储。
- 优点:开发、使用和维护简便,降低客户端要求,便于升级和维护。
Mysql数据库介绍
开发环境:
- 技术:MySQL数据库
描述:
- MySQL是一种广泛使用的关系型数据库管理系统(RDBMS),具有高性能、可靠性和易用性。
- 特点:
- 占用空间小:适合资源有限的环境。
- 运行速度快:高效的查询和数据处理能力。
- 开源免费:降低开发成本。
- 跨平台:支持多种操作系统。
- 适用于中小型网站和商业应用,满足客户关系管理系统的数据存储需求。
系统设计
客户关系管理系统的设计方案比如功能框架的设计,比如数据库的设计的好坏也就决定了该系统在开发层面是否高效,以及在系统维护层面是否容易维护和升级,因为在系统实现阶段是需要考虑用户的所有需求,要是在设计阶段没有经过全方位考虑,那么系统实现的部分也就无从下手,所以系统设计部分也是至关重要的一个环节,只有根据用户需求进行细致全面的考虑,才有希望开发出功能健全稳定的程序软件。
系统概要设计
本次拟开发的系统为了节约开发成本,也为了后期在维护和升级上的便利性,打算通过浏览器来实现系统功能界面的展示,让程序软件的主要事务集中在后台的服务器端处理,前端部分只用处理少量的事务逻辑。
系统功能结构设计
在分析并得出使用者对程序的功能要求时,就可以进行程序设计了。如图4.2展示的就是管理员功能结构图,管理员在后台主要管理字典管理、沟通记录管理、客户管理、客户积分管理、客户线索管理、员工管理、管理员管理等。
数据库设计
开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。
数据库概念设计
这部分内容需要借助数据库关系图来完成,也需要使用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也需要按照设计的流程进行,首先还是要根据需求完成实体的确定,分析实体具有的特征,还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法,绘制本系统的E-R图。不管是使用亿图软件,还是Visio工具,对于E-R模型的表示符号都一样,通常矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。
(1)下图是员工实体和其具备的属性。
图1 员工实体属性图
(2)下图是客户积分实体和其具备的属性。
图2 客户积分实体属性图
(3)下图是沟通记录实体和其具备的属性。
图3 沟通记录实体属性图
(4)下图是客户实体和其具备的属性。
图4 客户实体属性图
(5)下图是客户线索实体和其具备的属性。
图5 客户线索实体属性图
数据库表结构设计
数据库系统一旦选定之后,需要根据程序要求在数据库中建立数据库文件,并在已经完成创建的数据库文件里面,为程序运行中产生的数据建立对应的数据表格,数据表结构设计就是对创建的数据表格进行字段设计,字段长度设计,字段类型设计等,当数据表格合理设计完成之后,才能正常存储相关程序运行产生的数据信息。
客户积分表
| ------------ | ------------- | ------------- | ------------- | ------------- |
| 序号 | 列名 | 数据类型 | 说明 | 允许空 |
| 1 | Id | Int | id | 否 |
| 2 | yuangong_id | Integer | 员工 | 是 |
| 3 | kehu_id | Integer | 客户 | 是 |
| 4 | kehujifen_types | Integer | 增加类型 | 是 |
| 5 | kehujifen_content | String | 备注 | 是 |
| 6 | kehujifen_number | BigDecimal | 增加积分数量 | 是 |
| 7 | insert_time | Date | 增加时间 | 是 |
| 8 | create_time | Date | 创建时间 | 是 |
员工表
| ------------ | ------------- | ------------- | ------------- | ------------- |
| 序号 | 列名 | 数据类型 | 说明 | 允许空 |
| 1 | Id | Int | id | 否 |
| 2 | yuangong_name | String | 员工姓名 | 是 |
| 3 | yuangong_phone | String | 员工手机号 | 是 |
| 4 | yuangong_id_number | String | 员工身份证号 | 是 |
| 5 | yuangong_photo | String | 员工头像 | 是 |
| 6 | yuangong_email | String | 电子邮箱 | 是 |
| 7 | jinyong_types | Integer | 是否禁用 | 是 |
| 8 | create_time | Date | 创建时间 | 是 |
系统实现
系统实现部分就是将系统分析,系统设计部分的内容通过编码进行功能实现,以一个实际应用系统的形式展示系统分析与系统设计的结果。前面提到的系统分析,系统设计最主要还是进行功能,系统操作逻辑的设计,也包括了存储数据的数据库方面的设计等内容,系统实现就是一个最终的实施阶段,将前面的设计成果进行物理转化,最终出具可以运用于实际的软件系统。
管理员功能介绍
1 客户管理列表
如图5.1显示的就是客户管理列表页面,此页面提供给管理员的功能有:查看客户管理、新增客户管理、修改客户管理、删除客户管理等。
图1 客户管理列表页面
2 沟通记录信息管理
图3 沟通记录信息管理页面
3沟通记录类型管理
沟通记录类型管理页面显示所有沟通记录类型,在此页面既可以让管理员添加新的沟通记录信息类型,也能对已有的沟通记录类型信息执行编辑更新,失效的沟通记录类型信息也能让管理员快速删除。下图就是沟通记录类型管理页面。
图4 沟通记录类型列表页面
源码+论文下载