第 4 章 系统设计与实现
4.1 体系结构设计
本系统开发采用 PHP 语言,后台使用 MYSQL,服务器使用 Apache.系统内各功能模块相对独立,无交叉部分,利于编写与维护。因为 PHP 语言的独特性,本系统的执行效率很高,另外,本系统采用了执行编译后代码,代码运行非常快。系统还结合 B/S 架构与 MVC 框架模式[29],实现三层架构。图 4.1 为本系统采用的基于 Web 的三层 B/S 架构。
本系统在客户端上是将服务端提供的服务支持以非常直观的图形界面展示给用户,主要分为客户价值分析模块、产品价值分析模块等功能模块。
本系统算法层采用聚类里传统的 K-means 算法。这些算法都封装到各自的模块中,用户可以根据数据特点选择使用哪种算法。图 4.2 为本系统体系结构图。
4.2 数据库设计
本系统实体-联系图 E-R 图(Entity Relationship Diagram)如图 4-3所示。
4.3 数据库表设计
根据第三章的需求分析、设计数据表如下所示:用户信息表、管理员登记表、客户价值表、产品价值表、客户保持表、满意度表、客户信用表等。
(1)用户信息表
该表是对用户的个人信息登记的表,用户信息包括 id、个人联系方式、近期关注、爱好等内容。具体内容如表 4.1 所示。
(2)管理员登记表
该表是对管理员信息登记的表,包括管理员用户名、密码、密码提示、上次登录时间等内容。具体设置如表 4.2 所示。
(3)客户价值表
该表是对客户价值内容的汇总。包括产品分类、算法选择、客户价值区间、分组个数等信息。具体设置如表 4.3 所示。
(4)产品价值模块
该表是分析某一商品对企业的价值、贡献的表。包括 id、产品分类、季节、用户年龄、价值大小等信息。具体设置如表 4.4 所示。
(5)客户保持模块
该表是处理客户保持的表。有 id、产品分类、时间、客户保持值等内容。具体设置如表 4.5 所示。
(6)客户满意度表
该表是统计客户满意度值大小表。包括 id、产品分类、分类、价格、质量、服务、值等信息。具体设置如表 4.6 所示。
(7)客户信用表
该表是记录客户信用值的表。包括 id、姓名、信用值、失信原因、失信时间等信息。具体设置如表 4.7 所示。
4.4 本章小结
本章主要内容为系统的总体设计部分,主要工作为系统的体系结构、架构设计,系统的数据库设计以及最后的数据表设计等工作,这部分工作是系统开发中很重要的工作,为系统开发实现做了很大的技术设计贡献。