小衣酱——项目系统设计与数据库设计

小衣酱 小衣酱 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这个作业属于哪个课程2501_CS_SE_FZU
这个作业要求在哪里团队作业——概要设计和数据库设计
团队名称小衣酱
这个作业的目标系统设计、数据库设计、安全和权限设计
其他参考文献无

目录

  • 1 文件地址
  • 1.1GitCode团队仓库链接
  • 1.2《系统设计说明书》
  • 1.3《数据库设计说明书》
  • 1.4《系统设计和数据库设计答辩PPT》
  • 2 系统和数据库设计
  • 2.1 系统架构设计
  • 2.1.1 客户端
  • 2.1.2 管理端
  • 2.1.3 后端
  • 2.1.4 数据库
  • 2.2 技术架构设计
  • 2.2.1 客户端技术实现
  • 2.2.2 前端技术实现
  • 2.2.3 后端技术实现
  • 2.3 功能模块层次图
  • 2.3.1 用户端(APP端)
  • 2.3.1.1 用户信息管理模块
  • 2.3.1.2 衣橱管理模块
  • 2.3.1.3 推荐管理模块
  • 2.3.1.4社区互动模块
  • 2.3.2 管理端(网页端)
  • 2.3.2.1 系统登录模块
  • 2.3.2.2 数据统计与分析模块
  • 2.3.2.3 用户管理模块
  • 2.3.2.4 内容管理模块
  • 2.3.2.5 商品管理模块
  • 2.3.2.6 个人中心模块
  • 2.4 ER分析
  • 2.4.1.1 管理员实体
  • 2.4.1.2 用户实体
  • 2.4.1.3 统计信息实体
  • 2.4.1.4 衣橱实体
  • 2.4.1.5 衣物实体
  • 2.4.1.6 衣橱-衣物关联实体
  • 2.4.1.7 商品实体
  • 2.4.1.8 商品-衣物关联实体
  • 2.4.1.9 笔记实体
  • 2.4.1.10 评论实体
  • 2.4.2 E-R模块分析
  • 2.4.2.1 用户管理模块
  • 2.4.2.2 衣橱管理模块
  • 2.4.2.3 商品管理模块
  • 2.4.2.4 社区互动模块
  • 2.4.2.5 数据统计模块
  • 2.4.2.6 权限管理模块
  • 2.4.3 总体E-R图
  • 2.5 表结构设计
  • 2.5.1 逻辑结构
  • 2.5.2 物理结构
  • 2.5.2.1 管理员实体
  • 2.5.2.2 用户实体
  • 2.5.2.3 统计信息实体
  • 2.5.2.4 衣橱实体
  • 2.5.2.5 衣物实体
  • 2.5.2.6 衣橱-衣物实体
  • 2.5.2.7 商品实体
  • 2.5.2.8 商品-衣物实体
  • 2.5.2.9 笔记实体
  • 2.5.2.10 评论实体
  • 3 类图、系统安全和权限设计
  • 3.1 用况图
  • 3.1.1 用户端
  • 3.1.2 管理端
  • 3.2 类图
  • 3.3 系统安全
  • 3.3.1 安全性
  • 3.3.1.1 用户身份验证
  • 3.3.1.2 数据安全
  • 3.3.1.3 验证用户输入
  • 3.3.2 健壮性
  • 3.3.2.1 平台兼容
  • 3.3.2.2 异常处理
  • 3.3.2.3 提供稳定服务
  • 3.3.2.4 优化用户体验
  • 3.3.2.5 代码更新和版本测试覆盖
  • 3.4 权限设计
  • 3.4.1 前台用户权限设计说明
  • 3.4.2 后台管理员权限设计说明
  • 3.5 设计思路
  • 3.5.1 需求分析
  • 3.5.2 实体识别
  • 3.5.3 创建E-R图
  • 3.5.4 定义类
  • 3.5.5 确定属性
  • 3.5.6 定义操作
  • 3.5.7 确定关系
  • 3.5.8 封装和抽象
  • 3.5.9 使用UML类图
  • 3.5.10 维护
  • 4 团队绩效
  • 4.1 工作流程
  • 4.1.1 开会讨论作业内容
  • 4.1.2 分工划分和确认
  • 4.1.3 定期推进
  • 4.2 组员分工与贡献度
  • 5 开发计划安排
  • 5.1 预期开发计划时间安排
  • 5.2 预期开发计划分工安排
  • 5.2.1 第1周-第2周(alpha冲刺)
  • 5.2.2 第3周-第4周(beta冲刺)

1 文件地址

1.1GitCode团队仓库链接

GitCode团队仓库链接

1.2《系统设计说明书》

小衣酱_系统设计说明书

1.3《数据库设计说明书》

小衣酱_数据库设计说明书

1.4《系统设计和数据库设计答辩PPT》

小衣酱_系统设计和数据库设计答辩PPT

2 系统和数据库设计

2.1 系统架构设计

《新苗同学》的系统架构采用模块化设计,保证系统的可维护性、可扩展性和灵活性。系统由以下几个主要模块组成:

2.1.1 客户端

客户端采用 MVVM(模型-视图-视图模型)架构,负责用户交互和界面展示。主要组件包括:

  • View:显示UI,接收用户交互观察ViewModel中的数据变化,更新UI,不包含任何业务逻辑 。

  • ViewModel:- 为UI准备和管理数据,暴露数据流,处理与UI相关的业务逻辑,不持有View的引用,生命周期感知。

  • Repository:统一管理数据访问,协调从本地数据库(Room)和远程服务(Retrofit)获取数据。

具体结构如下:

img

2.1.2 管理端

管理端使用 Vue.js 构建用户界面,采用组件化设计,确保代码的高可重用性和易维护性。主要特性包括:

状态管理:使用Pinia作为官方推荐的状态管理库,实现复杂应用状态下各组件间的数据同步与共享。
HTTP 请求处理:通过Axios与后端Spring Boot微服务API进行高效、可靠的通信。
UI 组件库:利用Element Plus提供丰富且一致的现代化用户界面组件,提升开发效率和用户体验。
样式预处理:使用Sass增强样式管理,支持变量、嵌套等高级功能,使 CSS 更易于编写和维护。

此设计实现了管理端应用的高性能和良好的用户体验。

具体结构如下:

img

2.1.3 后端

后端采用Spring Boot框架进行开发,为移动端、管理端提供稳定、高效、可扩展的RESTful API。通过微服务架构与现代化技术栈,确保系统能从容应对高并发访问与复杂的业务场景。主要组成部分包括:

数据库持久层:使用MyBatis-Plus简化数据库操作,提升开发效率。
容器化部署:Docker实现环境隔离与一致性,为后续的持续集成与弹性伸缩奠定基础。
缓存机制:利用 Redis 提升系统的响应速度。
服务管理:采用Spring Cloud Alibaba体系,使用Nacos进行服务注册发现与配置管理,使用Spring Cloud Gateway作为API网关,统一处理请求路由、负载均衡与鉴权。
消息处理:引入RocketMQ处理异步任务,实现业务解耦与流量削峰。
任务调度:使用XXL-JOB 管理分布式定时任务,保证任务的可靠执行。

这种架构设计使得后端系统可以高效可靠地实现大规模用户的访问支持。

具体结构如下:

img

2.1.4 数据库

系统使用MySQL作为主要数据库,负责持久化存储用户数据和应用状态。同时,利用Redis作为缓存,提高数据访问的效率。

2.2 技术架构设计

2.2.1 客户端技术实现

客户端的实现基于MVVM架构,确保界面与业务逻辑的分离。关键技术包括:

  • Room:作为SQLite的抽象层,简化本地数据操作。
  • Retrofit:用于与RESTful API进行网络通信,用于数据的获取与更新。

2.2.2 前端技术实现

前端采用Vue 3作为主要框架,结合以下技术:

  • Pinia:轻量级、类型安全的状态管理库。
  • Axios:基于 Promise 的 HTTP 客户端,用于前后端数据交互。
  • Element Plus和Sass:提供一致的UI组件与样式处理,提升用户体验。
  • ECharts:强大的数据可视化图表库,用于展示用户行为分析、推荐效果等数据。

2.2.3 后端技术实现

后端技术架构基于Spring Boot,集成了以下组件:

  • MyBatis-Plus:简化数据库操作,提升开发效率。
  • Docker:实现环境隔离与一致性,为后续的持续集成与弹性伸缩奠定基础。
  • Redis:作为缓存,显著提升系统响应速度与并发能力。
  • Spring Cloud Gateway与Nacos:统一处理请求路由、负载均衡与鉴权,增强系统的可靠性。
  • RocketMQ与XXL-JOB:用于处理异步任务与管理分布式定时任务。

2.3 功能模块层次图

2.3.1 用户端(APP端)

img

用户端主要划分为 4 个核心模块: 用户信息管理模块、衣橱管理模块、推荐管理模块、社区互动模块。

主要的划分依据及步骤如下:

  1. 分析系统的需求:小衣酱用户端基础需求包括用户账户管理、衣物管理、个性化推荐及社交功能。
  2. 需求归类 :将用户登录、注册、个人信息维护等操作归入用户信息管理模块;将所有衣物相关操作归入衣橱管理模块;将推荐生成与查看归入推荐管理模块;将笔记发布、评论等归入社区互动模块。
  3. 模块细化 :对核心模块逐层分解为子模块,形成完整功能树。
2.3.1.1 用户信息管理模块

img

用户信息管理模块是系统的基础模块,负责处理用户身份认证和个人信息管理。采用分层设计确保安全性,登录注册流程支持多种验证方式,个人信息维护采用增量更新策略减少网络负载。安全子模块实现密码加密存储和会话管理,保障用户账户安全。

2.3.1.2 衣橱管理模块

img

衣橱管理模块实现衣物的数字化管理,采用智能图像识别技术自动提取衣物属性。上传功能支持多源输入,虚拟衣橱采用瀑布流展示优化视觉体验。衣物分类基于深度学习模型,支持多维度标签(季节/风格/场合),提供高效的衣物检索能力。

2.3.1.3 推荐管理模块

img

推荐管理模块基于协同过滤和内容推荐算法,结合用户画像和场景需求生成个性化穿搭方案。每日推荐集成天气API实现动态调整,智能推荐支持多条件筛选,衣橱推荐采用GAN技术生成虚拟试穿效果。推荐结果采用AB测试机制持续优化。

2.3.1.4社区互动模块

img

社区互动模块构建UGC内容生态,采用分级缓存策略提升内容加载速度。笔记发布支持富文本编辑和标签系统,互动功能实现实时消息推送。社交化子模块引入热度算法和个性化推荐,消息通知支持免打扰模式。

2.3.2 管理端(网页端)

img

管理端主要划分为 4 个模块: 系统登录模块、数据统计与分析模块、用户管理模块、内容管理模块、商品管理模块、个人中心模块。

主要的划分依据及步骤如下:

  1. 需求要素提取与归类:系统梳理文档中所有管理功能需求,识别共性特征。将用户活跃分析、内容发布统计等数据监控需求归为同类,将笔记审核、状态管理等质量控制需求集中归类,建立初步功能集群。
  2. 功能集群模块化封装:对归类后的功能集群进行模块化封装,确定模块边界和接口规范。数据统计模块专注于可视化分析,用户管理模块聚焦账户生命周期管理,确保模块内高内聚、模块间低耦合。
  3. 操作流程动线优化:基于管理员日常操作习惯,优化功能访问路径。将关联操作相邻布局,如用户查询与状态管理就近设置,减少操作跳转,提升工作效率。
  4. 权限层级整合:按照权限等级整合功能模块。数据监控等高权限功能独立成模块,个人设置等基础功能集中管理,形成安全的权限管理体系。
2.3.2.1 系统登录模块

img

系统登录模块​​是管理端的入口核心,承担着身份认证和安全控制的双重职责。该模块通过严格的身份验证机制,确保只有授权管理员能够访问管理系统。系统采用加密存储技术处理敏感信息,建立安全会话管理机制,防止未授权访问。管理员通过专属账号登录后,系统会根据权限级别分配相应的操作功能,确保管理操作的规范性和安全性。

2.3.2.2 数据统计与分析模块

img

数据统计与分析模块​​是管理端的决策支持核心,通过多维度的数据可视化展示,为运营管理提供数据依据。模块集成多种图表类型,包括折线图、扇形图、柱状图等,实时展示系统运行状况。该模块不仅提供基础的数据统计功能,还支持深度数据分析和趋势预测,帮助管理员及时发现运营问题并制定相应策略。

2.3.2.3 用户管理模块

img

用户管理模块​​提供全面的用户信息管理和状态监控功能。支持多条件组合查询,管理员可以按账号ID、昵称、注册时间等条件精准定位用户。模块实现用户状态动态管理,支持封禁和解封操作,维护平台秩序。详细的用户信息查看功能包括基础个人信息、身材数据、衣橱内容及发布内容等,为个性化服务提供数据支持。

2.3.2.4 内容管理模块

img

内容管理模块​​负责社区内容的质量控制和审核管理。采用三状态(待审核/已通过/未通过)管理体系,支持按状态筛选和分页显示。审核流程规范化,通过时可设置推流量级别,驳回时需要填写详细理由。模块还提供完整的内容预览和详情查看功能,确保内容质量的同时优化用户体验。

2.3.2.5 商品管理模块

img

商品管理模块 专注于电商商品信息的管理和维护。支持多维度商品查询,包括按种类、价格、点击量等条件筛选。商品详情页面完整展示商品信息、价格详情和购买链接,为推荐算法提供数据基础。数据统计功能实时监控商品表现,为运营决策提供支持。

2.3.2.6 个人中心模块

img

个人中心模块 提供管理员个人账户的安全管理功能。支持个人信息维护和密码修改,确保账户安全。安全退出功能彻底清理会话信息,防止账户被盗用。模块设计注重用户体验,操作简便直观,同时保证安全性。

2.4 ER分析

2.4.1.1 管理员实体

管理员实体(admin_id,admin_username,admin_image_url,admin_password,admin_create_time,admin_update_time,admin_is_deleted)

属性约束:admin_is_deleted => (0:正常,1:已删除)

img

2.4.1.2 用户实体

用户实体(user_id,user_username,user_password,user_phone,user_real_name,user_avatar,user_gender,user_age,user_height,user_weight,user_create_time,user_update_time,user_is_deleted) 属性约束:推送方式 => (1:app内展示,2:消息推送,3:全部)

属性约束:user_gender => (0:未知,1:男,2:女)
属性约束:user_age => BETWEEN 0 AND 150
属性约束:user_height => BETWEEN 0 AND 300 单位:cm
属性约束:user_weight => BETWEEN 0 AND 500 单位:kg
属性约束:user_is_deleted => (0:正常,1:已删除)

img

2.4.1.3 统计信息实体

统计信息实体(stats_id,stats_daily_active_users,stats_new_users,stats_content_published,stats_date,admin_id,stats_create_time,stats_update_time,stats_is_deleted)

属性约束:stats_is_deleted => (0:正常,1:已删除)
属性约束:stats_date 唯一约束

img

2.4.1.4 衣橱实体

衣橱实体(wardrobe_id,user_id,wardrobe_name,wardrobe_description,wardrobe_create_time,wardrobe_update_time,wardrobe_is_deleted)

属性约束:wardrobe_is_deleted => (0:正常,1:已删除)
属性约束:user_id 逻辑唯一(一个用户只能有一个衣橱)

img

2.4.1.5 衣物实体

衣物实体(clothing_id,clothing_name,clothing_type,clothing_color,clothing_image_url,clothing_style,clothing_season,clothing_material,clothing_sleeve,clothing_collar,clothing_pattern,clothing_status,clothing_create_time,clothing_update_time,clothing_is_deleted)

属性约束:clothing_type => (1:上衣,2:裤子,3:裙子,4:外套,5:鞋子,6:配饰,7:其他)
属性约束:clothing_style => (0:未设置,1:休闲,2:正式,3:运动,4:商务,5:时尚)
属性约束:clothing_season => (0:通用,1:春季,2:夏季,3:秋季,4:冬季)
属性约束:clothing_status => (0:下架,1:上架)
属性约束:clothing_is_deleted => (0:正常,1:已删除)

img

2.4.1.6 衣橱-衣物关联实体

衣橱-衣物关联实体(wardrobe_id,clothing_id,add_time,relation_status)

属性约束:relation_status => (0:已移除,1:正常)
属性约束:复合主键(wardrobe_id, clothing_id)

img

2.4.1.7 商品实体

商品实体(product_id,product_name,product_type,product_price,product_brand,product_sales_volume,product_like_count,product_click_count,product_status,product_create_time,product_update_time,product_is_deleted)

属性约束:product_type => (1:上衣,2:裤子,3:裙子,4:外套,5:鞋子,6:配饰,7:其他)
属性约束:product_price => (>= 0)
属性约束:product_sales_volume => (>= 0)
属性约束:product_like_count => (>= 0)
属性约束:product_click_count => (>= 0)
属性约束:product_status => (0:下架,1:上架)
属性约束:product_is_deleted => (0:正常,1:已删除)

img

2.4.1.8 商品-衣物关联实体

商品-衣物关联实体(product_id,clothing_id,relation_type,match_confidence,relation_create_time,relation_update_time,relation_is_deleted)

属性约束:relation_type => (1:精确匹配,2:相似匹配)
属性约束:match_confidence => BETWEEN 0.00 AND 1.00
属性约束:relation_is_deleted => (0:正常,1:已删除)
属性约束:复合主键(product_id, clothing_id)
属性约束:clothing_id 唯一约束(确保一对一关系)

img

2.4.1.9 笔记实体

笔记实体(note_id,user_id,note_title,note_content,note_images,note_tags,note_style,note_season,note_like_count,note_comment_count,note_view_count,note_status,note_create_time,note_update_time,note_is_deleted)

属性约束:note_style => (0:未设置,1:休闲,2:正式,3:运动,4:商务,5:时尚)
属性约束:note_season => (0:通用,1:春季,2:夏季,3:秋季,4:冬季)
属性约束:note_like_count => (>= 0)
属性约束:note_comment_count => (>= 0)
属性约束:note_view_count => (>= 0)
属性约束:note_status => (0:草稿,1:已发布,2:已隐藏)
属性约束:note_is_deleted => (0:正常,1:已删除)

img

2.4.1.10 评论实体

评论实体(comment_id,note_id,user_id,parent_id,comment_content,comment_like_count,comment_status,comment_create_time,comment_update_time,comment_is_deleted)

属性约束:comment_like_count => (>= 0)
属性约束:comment_status => (0:隐藏,1:正常)
属性约束:comment_is_deleted => (0:正常,1:已删除)
属性约束:parent_id => (顶级评论为NULL)

img

2.4.2 E-R模块分析

2.4.2.1 用户管理模块

用户管理模块负责系统用户的基础信息管理,包括用户注册、登录、个人信息维护等功能。该模块记录用户的身份信息和身体特征数据,为个性化推荐提供基础数据支持,并确保用户数据的完整性和安全性。

img

2.4.2.2 衣橱管理模块

衣橱管理模块提供用户个人衣物的数字化管理功能,用户可以创建个人衣橱,添加和管理衣物信息。该模块支持衣物的多维度属性记录和分类管理,包括类型、风格、季节等,便于用户进行智能搭配和衣橱组织。

img

2.4.2.3 商品管理模块

商品管理模块连接电商平台商品信息,实现用户个人衣橱与商业商品的关联映射。该模块记录商品的销售数据和用户互动信息,支持个性化商品推荐功能,并通过匹配置信度确保商品与衣物的准确匹配。

img

2.4.2.4 社区互动模块

社区互动模块提供用户分享穿搭笔记和进行社交互动的平台。用户可发布穿搭内容,其他用户可进行点赞、评论和多级回复,增强用户间的交流与互动。该模块支持笔记的状态管理和内容检索,促进社区活跃度。

img

2.4.2.5 数据统计模块

数据统计模块负责系统运营数据的收集和分析,包括用户活跃度、新增用户数、内容发布量等关键指标的追踪。该模块允许管理员查看系统运行状况,为决策提供数据支持,并记录操作管理员信息。

img

2.4.2.6 权限管理模块

权限管理模块负责系统管理员账户的创建和管理,确保系统安全与正常运作。该模块的功能涵盖管理员信息的维护和操作日志的记录,保证平台的管理效率和安全性。

img

2.4.3 总体E-R图

img

2.5 表结构设计

2.5.1 逻辑结构

关系模式关系模式表
用户表-衣橱表 (1:1)**用户表 **(user_id, user_username, user_password, user_phone, user_real_name, user_avatar, user_gender, user_age, user_height, user_weight, user_create_time, user_update_time, user_is_deleted)
衣橱表(wardrobe_id,user_id, wardrobe_name, wardrobe_description, wardrobe_create_time, wardrobe_update_time, wardrobe_is_deleted)
关联字段:user.user_id = wardrobe.user_id
关联类型:一对一关系
约束条件:wardrobe.user_id UNIQUE 约束
用户表-笔记表 (1:n)用户表(user_id, user_username, user_password, user_phone, user_real_name, user_avatar, user_gender, user_age, user_height, user_weight, user_create_time, user_update_time, user_is_deleted)
笔记表(note_id, user_id, note_title, note_content, note_images, note_tags, note_style, note_season, note_like_count, note_comment_count, note_view_count, note_status, note_create_time, note_update_time, note_is_deleted)
关联字段:user.user_id = note.user_id
关联类型:一对多关系
约束条件:ON DELETE CASCADE
用户表-评论表 (1:n)用户表(user_id, user_username, user_password, user_phone, user_real_name, user_avatar, user_gender, user_age, user_height, user_weight, user_create_time, user_update_time, user_is_deleted)
评论表(comment_id, note_id, user_id, parent_id, comment_content, comment_like_count, comment_status, comment_create_time, comment_update_time, comment_is_deleted)
关联字段:user.user_id = comment.user_id
关联类型:一对多关系
约束条件:ON DELETE RESTRICT
衣橱表-衣物表 (n:m)衣橱表(wardrobe_id, user_id, wardrobe_name, wardrobe_description, wardrobe_create_time, wardrobe_update_time, wardrobe_is_deleted)
衣物表(clothing_id, clothing_name, clothing_type, clothing_color, clothing_image_url, clothing_style, clothing_season, clothing_material, clothing_sleeve, clothing_collar, clothing_pattern, clothing_status, clothing_create_time, clothing_update_time, clothing_is_deleted)
衣橱-衣物中间表(wardrobe_id, clothing_id, add_time, relation_status)
关联字段:wardrobe.wardrobe_id = wardrobe_clothing.wardrobe_id, clothing.clothing_id = wardrobe_clothing.clothing_id
关联类型:多对多关系
约束条件:复合主键,级联删除
商品表-衣物表 (1:1)商品表(product_id, product_name, product_type, product_price, product_brand, product_sales_volume, product_like_count, product_click_count, product_status, product_create_time, product_update_time, product_is_deleted)
衣物表(clothing_id, clothing_name, clothing_type, clothing_color, clothing_image_url, clothing_style, clothing_season, clothing_material, clothing_sleeve, clothing_collar, clothing_pattern, clothing_status, clothing_create_time, clothing_update_time, clothing_is_deleted)
商品-衣物中间表(product_id, clothing_id, relation_type, match_confidence, relation_create_time, relation_update_time, relation_is_deleted)
关联字段:product.product_id = product_clothing.product_id, clothing.clothing_id = product_clothing.clothing_id
关联类型:一对一关系
约束条件:clothing_id UNIQUE 约束
笔记表-评论表 (1:n)笔记表(note_id, user_id, note_title, note_content, note_images, note_tags, note_style, note_season, note_like_count, note_comment_count, note_view_count, note_status, note_create_time, note_update_time, note_is_deleted)
评论表(comment_id, note_id, user_id, parent_id, comment_content, comment_like_count, comment_status, comment_create_time, comment_update_time, comment_is_deleted)
关联字段:note.note_id = comment.note_id
关联类:一对多关系
约束条件:ON DELETE CASCADE
管理员表-统计信息表 (1:n)管理员表(admin_id, admin_username, admin_image_url, admin_password, admin_create_time, admin_update_time, admin_is_deleted)
统计信息表(stats_id, stats_daily_active_users, stats_new_users, stats_content_published, stats_date, admin_id, stats_create_time, stats_update_time, stats_is_deleted)
关联字段:admin.admin_id = statistics.admin_id
关联类型:一对多关系
约束条件:ON DELETE RESTRICT
评论表自关联 (1:n)父评论表(comment_id, note_id, user_id, parent_id, comment_content, comment_like_count, comment_status, comment_create_time, comment_update_time, comment_is_deleted)
子评论表(comment_id, note_id, user_id, parent_id, comment_content, comment_like_count, comment_status, comment_create_time, comment_update_time, comment_is_deleted)
关联字段:comment.comment_id = comment.parent_id
关联类型:自引用一对多关系
约束条件:parent_id 可为 NULL(顶级评论)

2.5.2 物理结构

2.5.2.1 管理员实体

img

2.5.2.2 用户实体

img

2.5.2.3 统计信息实体

img

2.5.2.4 衣橱实体

img

2.5.2.5 衣物实体

img

2.5.2.6 衣橱-衣物实体

img

2.5.2.7 商品实体

img

2.5.2.8 商品-衣物实体

img

2.5.2.9 笔记实体

img

2.5.2.10 评论实体

img

3 类图、系统安全和权限设计

3.1 用况图

3.1.1 用户端

img

用户信息管理子用况:

img

衣橱管理子用况:

img

推荐管理子用况:

img

社区互功能子用况:

img

3.1.2 管理端

img

数据统计子用况:

img

用户管理子用况:

img

内容管理子用况 :

img

商品管理子用况:

img

个人中心子用况:

img

登录系统子用况:

img

3.2 类图

img

3.3 系统安全

3.3.1 安全性

为了保证用户使用应用时的系统安全,小衣酱用户端设置如下安全性保障:

3.3.1.1 用户身份验证

为基础安全提供保障,小衣酱采取以下身份验证机制:

  1. 账号密码登录:用户需使用注册手机号和密码登录,系统验证通过后方可进入主界面。
  2. 密码修改机制:支持用户修改密码,需输入旧密码与新密码,确保账号自主可控。
  3. 管理员登录控制:管理端采用独立账号(如admin)登录,确保只有授权人员可访问后台数据。
  4. 登录状态管理:支持用户与管理员安全退出登录,防止账号被他人滥用。
3.3.1.2 数据安全

为保护用户隐私与数据安全,小衣酱应用实施了以下措施:

  1. 数据加密存储:用户密码、个人身材数据等敏感内容在传输与存储过程中均进行加密处理,防止泄露。
  2. 内容审核机制:对用户上传的图片、文本笔记进行自动化与人工审核,拦截违规内容(如黄、暴、恐、违禁广告等)。
  3. 数据库备份与恢复:定期对数据库进行备份,并采用离线存储与灾难恢复机制,确保数据不丢失。
  4. 权限隔离:管理端与客户端数据访问权限严格分离,防止越权操作。
3.3.1.3 验证用户输入
  1. 输入合法性校验:对所有用户输入(如搜索关键词、评论内容、笔记文案)进行严格校验,防范SQL注入、XSS脚本攻击等安全威胁。
  2. 图片上传限制:对用户上传的图片格式、大小进行限制,防止恶意文件上传。
  3. 接口请求鉴权:所有客户端请求均需携带身份令牌,确保请求来源合法。

3.3.2 健壮性

为了提升系统的可用性以及抗风险能力,小衣酱用户端设置如下健壮性保障:

3.3.2.1 平台兼容
  1. 多平台支持:客户端支持所有主流安卓设备,管理端支持任意浏览器访问,兼容性强。
  2. 响应式设计:界面布局适配不同屏幕尺寸,确保在手机、平板、电脑等设备上均能正常使用。
3.3.2.2 异常处理
  1. 错误提示机制:系统在出现异常时向用户提供友好提示,避免技术术语直接暴露。
  2. 日志记录与分析:所有异常行为与系统错误均被记录在日志中,便于开发团队排查与修复。
  3. 状态码规范:所有接口返回标准HTTP状态码与错误信息,便于前端统一处理。
3.3.2.3 提供稳定服务
  1. 高可用架构:服务端采用多节点部署与负载均衡策略,保障系统24小时稳定运行。
  2. 数据持久化:用户操作数据实时保存,即使系统崩溃也不会丢失关键信息。
  3. 资源优化管理:合理管理内存与数据库连接,避免资源泄漏,提升系统性能。
3.3.2.4 优化用户体验
  1. 界面简洁直观:采用简洁风格布局,功能入口清晰,操作流程顺畅。
  2. 智能推荐稳定性:推荐算法具备容错机制,即使在数据不全或网络波动情况下也能提供基础推荐内容。
3.3.2.5 代码更新和版本测试覆盖
  1. 定期迭代优化:后端系统定期进行代码重构与性能优化,提升系统稳定性。
  2. 全流程测试:每个版本发布前进行功能测试、兼容性测试、压力测试等,确保各项功能正常运行。

3.4 权限设计

在设计权限系统时,我们需要为不同的用户角色分配适当的权限,以确保系统的安全性和数据的完整性。

3.4.1 前台用户权限设计说明

  • 个人信息管理:查看和更新个人资料,修改密码和安全设置,管理身材数据(身高、体重)和风格偏好。
  • 衣橱管理:创建和管理个人虚拟衣橱添加/删除衣物,设置衣物属性(类型、季节、风格等),使用智能图像识别技术自动提取衣物属性。
  • 推荐管理:接收个性化穿搭推荐(基于场景、天气等),查看和收藏推荐方案,提供推荐反馈以优化算法。
  • 社区互动:发布穿搭笔记(图文内容)评论、点赞他人笔记,关注其他用户并接收更新,参与话题讨论和社区活动。

3.4.2 后台管理员权限设计说明

  • 用户管理:查看用户列表和详细信息(包括衣橱内容),执行账户激活/禁用操作,审核用户认证资料。
  • 内容管理:审核用户发布的穿搭笔记(三状态管理:待审核/已通过/未通过),管理社区话题和讨论区,处理内容举报和违规处理,设置内容推流量级别。
  • 商品管理:维护电商商品数据库,建立衣物与商品的关联映射,监控商品表现数据,管理商品推荐策略。
  • 数据监控:查看用户活跃度分析(DAU/MAU),监控内容发布和互动数据,生成运营统计报告,分析推荐算法效果。
  • 系统管理:监控系统运行状态,管理管理员账户和权限。

3.5 设计思路

3.5.1 需求分析

  1. 明确项目的目标和需求:根据《小衣酱》项目的目标,提供一站式智能穿搭解决方案,主要功能包括衣橱管理、智能推荐、社区互动、商品导购等。
  2. 确定项目的范围和功能:项目包括用户端安卓APP和管理端Web平台,用户端主要负责用户的衣橱管理、穿搭推荐、社交互动;管理端负责内容审核、数据统计和系统管理。

3.5.2 实体识别

  1. 用户实体:包括普通用户和管理员,用户拥有个人资料、身材数据和风格偏好。
  2. 衣橱实体:用户的虚拟衣橱,用于管理个人衣物收藏
  3. 衣物实体:具体的服装单品,包含类型、风格、季节等详细属性
  4. 商品实体:电商平台商品信息,与用户衣物建立关联
  5. 笔记实体:用户发布的穿搭分享内容
  6. 推荐实体:基于算法生成的个性化穿搭方案

3.5.3 创建E-R图

根据识别出的实体和它们之间的关系,绘制出总体E-R图,描述用户、衣橱、衣物、商品、笔记等实体之间的复杂关联网络,体现系统的完整数据模型。

3.5.4 定义类

将E-R图中的实体转换为类,每个类包含相应的属性和方法:

  • User类:管理用户信息的操作,包括注册、登录、个人资料维护
  • Wardrobe类:衣橱管理功能,支持衣物的添加、删除和分类
  • Clothing类:衣物属性管理和匹配逻辑
  • Recommendation类:智能推荐算法核心处理
  • Note类​​:用户穿搭笔记的创建、编辑、发布及内容管理
  • Comment类​​:用户对笔记进行评论、回复(支持多级嵌套)和点赞的互动功能
  • ​​Product类​​:电商平台商品信息的维护、展示及与衣物的关联映射

3.5.5 确定属性

为每个类定义其需要的属性:

  • 用户类:用户ID、用户名、密码、性别、年龄、身高、体重、风格偏好等
  • 衣橱类:衣橱ID、用户ID、衣橱名称、描述信息等
  • 衣物类:衣物ID、类型、颜色、风格、季节、材质等详细属性
  • 笔记类:笔记ID、用户ID(外键)、笔记标题、笔记内容、图片集合(多图URL)、标签、风格、季节、点赞数、评论数、浏览数、状态(草稿/已发布/已隐藏)、创建时间、更新时间、软删除标记
  • 评论类:评论ID、笔记ID(外键)、用户ID(外键)、父评论ID(支持多级回复,顶级为null)、评论内容、点赞数、状态(正常/隐藏)、创建时间、更新时间、软删除标记
  • 商品类:商品ID、商品名称、类型、价格、品牌、销量、点赞数、点击量、状态(上架/下架)、创建时间、更新时间、软删除标记

3.5.6 定义操作

每个类应定义其对应的操作:

  • 用户类操作:用户注册、登录验证、资料更新、偏好设置
  • 衣橱类操作:衣物添加、衣物删除、衣橱整理、搭配生成
  • 推荐类操作:基于场景的推荐算法、个性化匹配计算
  • 笔记类操作​​:创建草稿,发布笔记,编辑笔记内容,删除笔记(软删除),笔记点赞数+1,增加笔记浏览量
  • 评论类操作:发布一条评论(或回复),删除评论, 给评论点赞,获取某条评论的所有下级回复
  • 商品类操作:获取商品详情,更新商品销量,更新商品点击量,建立商品与衣物的关联

3.5.7 确定关系

实体之间的关系主要包括:

  • 用户与衣橱:一对一组合关系,每个用户拥有且仅拥有一个衣橱
  • 用户与笔记:一对多关联关系,用户可以发布多篇穿搭笔记
  • 衣橱与衣物:一对多组合关系,一个衣橱包含多件衣物
  • 衣物与商品:一对一关联关系,通过中间表建立精确匹配
  • 笔记与评论:一对多组合关系,支持多级评论互动

3.5.8 封装和抽象

各个类的实现细节应该封装,通过操作接口暴露必要的功能:

  • 数据访问层封装:统一处理数据库操作和事务管理
  • 业务逻辑层抽象:将推荐算法、匹配逻辑等核心功能模块化
  • 表现层封装:用户界面与业务逻辑分离,确保系统可维护性

3.5.9 使用UML类图

使用UML类图符号准确表示类及其属性、操作和关系,确保系统结构的可视化和可理解性,便于团队协作和后续开发。

3.5.10 维护

随着用户需求的变化和项目的发展,定期更新E-R图和类图以反映最新的系统设计,确保数据库架构能够支撑业务功能的持续扩展。

4 团队绩效

4.1 工作流程

4.1.1 开会讨论作业内容

首先最开始,我们先把一些需要用到的参考资料和文件搜集好,然后传到微信群中,方便大家查阅。

img

然后通过会议,我们详细讨论了本次作业的细节内容,并确定好了各自的分工,并通过腾讯文档的形式进行协作。

img

4.1.2 分工划分和确认

我们将本次作业的内容进行罗列,并结合工作量进行合理划分,落实到每一个人头上,确保作业保质保量完成。

img

4.1.3 定期推进

每个人根据自己的分工完成自己的文档部分。通过腾讯文档,我们可以很轻松地追踪版本和进度。每个人的commit一目了然。

img

然后我们借助微信群做进一步的进度推进和交接工作,以及确保进度汇总和对齐,能够保质保量完成。

img

4.2 组员分工与贡献度

学号工作内容贡献度
102300403系统设计说明书第六、七章12.5%
102300404系统设计说明书第三、四章的管理端部分(3.1.2、4.2)12.5%
102300405撰写博客12.5%
102300406系统设计说明书第三、四章的客户端部分(3.1.1、4.1)12.5%
102300412PPT制作12.5%
102300413数据库设计12.5%
102300414数据库设计说明书第一、二、三章12.5%
102300415系统设计说明书第一、二、五章,数据库设计说明书四、五章12.5%

5 开发计划安排

5.1 预期开发计划时间安排

img

5.2 预期开发计划分工安排

5.2.1 第1周-第2周(alpha冲刺)

模块任务内容负责人员具体说明
用户端用户注册/登录、个人资料编辑、衣橱管理(衣物增/删/改/查)、衣物图像上传与基础展示102300406叶芷完成小衣酱Android APP主界面框架、用户认证流程及衣橱核心功能的界面与交互实现
管理端管理员登录、用户信息查询与管理、基础数据统计仪表盘102300404胡跃开发管理端Web系统框架,实现用户管理和数据概览等基础运营功能
后端-用户与衣橱模块用户认证、个人信息管理、衣橱与衣物相关API(增删改查)开发102300415张伟健负责用户系统和衣橱系统所有后端逻辑、数据库设计与核心API接口开发
后端-图像识别集成模块集成图像识别服务,提供衣物属性自动识别接口102300413林俊辉完成图像识别API的对接、封装,为前端提供简洁的衣物属性识别接口
产品与UI设计完成Alpha阶段所有功能界面的高保真原型与交互设计说明,协调前后端需求102300412林晨宇、102300403朱茜茜产品经理确保业务逻辑准确,UI设计师输出全部设计稿并确保界面一致性
测试对APP端衣橱功能、管理端用户管理功能、后端API进行功能测试102300414李庆聪制定测试用例,执行功能测试,,协助开发人员定位问题
文档撰写Alpha阶段技术实现博客、项目PPT102300405杨雅婷完成相关文档,制作阶段汇报演示文稿

5.2.2 第3周-第4周(beta冲刺)

模块任务内容负责人员具体说明
用户端智能推荐(每日穿搭、天气推荐)、社区功能(笔记发布、点赞/评论)、个人收藏与消息中心102300406叶芷实现APP端的推荐算法展示、社区互动等高级功能,完善用户体验
管理端内容管理(笔记审核)、商品管理、详细数据统计与分析报表102300404胡跃开发管理端的内容审核、商品运营及数据分析等高级管理功能
后端-推荐与社区模块智能推荐算法(基于天气、场景)、社区笔记/评论/点赞功能API开发102300415张伟健负责推荐算法逻辑实现和社区互动功能的所有后端API与数据逻辑
后端-商品与数据统计模块商品信息管理、后台数据统计与分析API102300413林俊辉实现商品管理的后端逻辑,并为管理端提供数据统计查询接口
产品与UI设计优化Beta阶段交互流程,设计新增功能的UI,准备上线终版设计稿102300412林晨宇、102300403朱茜茜对新增功能进行设计支持与验收,确保产品体验与设计语言统一
测试进行系统集成测试、性能测试及全功能回归测试102300414李庆聪全面测试所有功能模块的兼容性与稳定性,确保项目达到上线标准
文档撰写用户手册、最终技术文档、项目总结PPT102300405杨雅婷整理项目文档,完成项目总结汇报材料
...全文
评论
收藏 已收藏
分享
返回顶部
小衣酱
2501_CS_SE_FZU 103 成员 407 内容