# 第二章 需求分析 ## 2.1 功能分析 在线电脑DIY系统是一个面向现代消费者的综合性电商平台,旨在为用户提供便捷的电脑配件选购和装机方案定制服务。系统的功能设计充分考虑了电脑DIY市场的特点和用户需求,构建了完整的业务流程和用户体验。 系统的核心功能围绕电脑配件的展示、选购和管理展开。首页作为系统的门户,无需用户登录即可访问,主要展示企业的品牌信息、发展历程和核心价值观,同时提供电脑配件的分类浏览功能。配件展示功能涵盖CPU、内存、硬盘、主板、显卡、机箱等六大类核心配件,每类配件支持多品牌、多型号的产品展示,用户可以通过品牌筛选、价格排序、性能对比等方式快速找到合适的产品。 用户管理功能实现了完整的用户生命周期管理。新用户可以通过注册功能创建账户,系统支持邮箱验证和用户名唯一性检查,确保账户安全性。登录功能采用JWT令牌机制,支持会话保持和自动登录功能。用户登录后可以访问个人中心,管理个人信息包括姓名、电话、地址等基本信息,同时可以查看账户统计信息如订单数量、消费金额、购物车商品数量等。 购物车功能是系统的重要组成部分,支持配件的添加、数量调整、删除和清空操作。购物车数据采用数据库存储,确保用户在不同设备间的数据同步。系统还提供了智能的库存检查功能,防止用户购买超出库存的商品,提升购物体验和业务准确性。 装机方案定制功能是系统的特色功能,用户可以从每种配件类型中选择一个产品,系统会自动检查配件间的兼容性,并计算总价格。用户确认方案后可以一键添加到购物车或直接提交订单,大大简化了DIY装机的复杂性。 订单管理功能涵盖了从订单创建到订单完成的全流程。用户可以提交订单并进行虚拟结算,无需真实付款。订单支持多种状态管理包括待确认、已确认、处理中、已发货、已送达和已取消,用户可以实时查看订单状态和物流信息。同时,系统提供订单历史查询功能,用户可以查看所有历史订单并支持重新下单操作。 管理员功能提供了强大的后台管理能力。配件类型管理允许管理员添加、修改和删除配件分类。商品信息管理支持商品的增删改查操作,包括商品名称、品牌、型号、价格、库存、规格参数等详细信息的管理。用户管理功能让管理员可以查看所有注册用户的信息和活动状态。订单管理功能提供订单的查看、状态修改和删除功能,帮助管理员高效处理业务。 数据统计功能是系统的高级功能,提供了丰富的业务分析能力。系统可以统计按消费金额倒序排列的前十名用户,帮助识别高价值客户。同时统计按销售量倒序排列的前十名配件,为库存管理和采购决策提供数据支持。统计结果通过柱状图、饼图等可视化图表展示,直观清晰地反映业务状况。 **[功能结构图占位符]** 系统的功能结构采用层次化设计,分为用户界面层、业务逻辑层和数据访问层。用户界面层负责用户交互和页面展示,业务逻辑层处理核心业务规则和流程控制,数据访问层负责数据库操作和数据持久化。各层之间通过API接口进行通信,确保系统的模块化和可扩展性。 ## 2.2 概念模型分析 系统的概念模型设计围绕电商业务的核心实体展开,主要包括用户、配件类型、配件、订单、购物车等核心实体,以及它们之间的复杂关系。通过合理的实体关系设计,系统能够准确反映真实业务场景,为后续的数据库设计奠定坚实基础。 用户实体是系统的核心实体之一,包含用户的基本信息和权限信息。用户实体的关键属性包括用户ID、邮箱、用户名、密码、姓名、电话、地址、管理员标识、创建时间和更新时间。邮箱和用户名作为唯一标识,确保用户账户的唯一性。管理员标识字段区分普通用户和管理员,实现权限控制。 配件类型实体定义了电脑配件的分类信息,包括类型ID、类型名称和类型描述。系统预设六种配件类型分别是CPU、内存、硬盘、主板、显卡和机箱,每种类型具有唯一的标识和描述信息。配件类型实体为配件分类和检索提供基础支持。 配件实体是系统的商品实体,包含了详细的商品信息。关键属性包括配件ID、配件名称、品牌、型号、价格、描述、图片URL、库存数量、规格参数、创建时间和更新时间。规格参数采用JSON格式存储,支持灵活的参数定义。库存数量字段支持实时库存管理,防止超卖现象。 订单实体记录用户的购买行为,包含订单ID、订单号、总金额、订单状态、创建时间和更新时间。订单号采用唯一标识,便于订单查询和管理。订单状态支持多种状态值,反映订单的处理进度。 订单项实体是订单和配件之间的关联实体,记录订单中每个配件的详细信息。关键属性包括订单项ID、数量、单价、订单ID和配件ID。通过订单项实体,系统可以准确记录每个订单的商品明细。 购物车实体记录用户的购物车信息,支持配件的临时存储和管理。关键属性包括购物车项ID、数量、创建时间、更新时间、用户ID和配件ID。购物车采用数据库存储,确保数据的持久性和跨设备同步。 **[ER图占位符]** 实体间的关系设计体现了业务逻辑的复杂性。用户与订单之间存在一对多关系,一个用户可以创建多个订单,但每个订单只属于一个用户。用户与购物车项之间也存在一对多关系,一个用户可以有多个购物车项,支持多商品的购物车管理。 配件类型与配件之间存在一对多关系,一个配件类型可以包含多个具体配件,但每个配件只属于一个配件类型。这种关系支持配件的分类管理和检索。 订单与订单项之间存在一对多关系,一个订单可以包含多个订单项,每个订单项记录一个配件的购买信息。配件与订单项之间存在一对多关系,一个配件可以被多个订单项引用,但每个订单项只对应一个配件。 配件与购物车项之间存在一对多关系,一个配件可以被多个用户添加到购物车,但每个购物车项只对应一个配件。用户和配件通过购物车项建立多对多关系,实现灵活的购物车管理。 通过这种实体关系设计,系统能够准确建模电商业务的复杂关系,支持高效的数据操作和业务逻辑实现。实体间的外键约束确保数据一致性,级联删除和更新操作保证数据的完整性。