Code帮帮队-CodeArts团队实战总结

Code帮帮队 2025-11-12 23:49:52
作业基本信息内容
这个作业属于哪个课程202501福大-软件工程实践-W班社区
这个作业要求在哪里软工实践——CodeArts团队实战总结
这个作业目标设计实现基于大语言模型的购车意向咨询软件
参考资料

目录

  • 一、项目地址
  • 二、Commit记录
  • 2.1 提交次数
  • 2.2 部分日志截图
  • 三、 程序运行环境
  • 3.1 前端
  • 3.2 后端
  • 四、功能实现思路
  • 4.1 功能需求建模分析
  • 4.1.1 用例图
  • 4.1.2 类图
  • 4.2 基础功能设计
  • 4.2.1 系统结构设计
  • 4.2.2 模块分析设计
  • 4.2.3 接口设计
  • 4.2.4 其他问题考虑
  • 4.3 功能实现思路
  • 4.3.1 基础功能实现
  • 4.3.2 咨询积分系统(附加功能1)
  • 4.3.3 管理员模块(附加功能2)
  • 4.3.4 压力测试(附加功能3)
  • 五、程序截图说明
  • 5.1 客户模块
  • 5.1.1 注册&登录
  • 5.1.2 咨询&咨询记录
  • 5.1.3 积分记录
  • 5.1.4 个人信息界面
  • 5.1.5 意见反馈界面
  • 5.1.6 礼品兑换界面
  • 5.1.7 帮助中心界面
  • 5.1.8 退出登录
  • 5.2 管理员模块
  • 5.2.1 数据统计部分
  • 5.2.2 咨询记录部分
  • 5.2.3 用户管理部分
  • 5.2.4 反馈管理界面
  • 5.2.5 礼品管理界面
  • 六、组员分工与贡献度
  • 6.1 贡献度评价规则
  • 6.3 分工与贡献度表格
  • 七、困难与解决
  • 7.1 陈尚斌
  • 7.1.1 遇到的问题
  • 7.1.2 解决方案
  • 7.2 林怡杰
  • 7.2.1 遇到的问题
  • 7.2.2 解决方案
  • 7.3 许俊翔
  • 7.3.1 遇到的问题
  • 7.3.2 解决方案
  • 7.4 吕东剑
  • 7.4.1 遇到的问题
  • 7.4.2 解决方案
  • 7.5 鄢灿
  • 7.5.1 遇到的问题
  • 7.5.2 解决方案
  • 7.6 吴康明
  • 7.6.1 遇到的问题
  • 7.6.2 解决方案
  • 7.7 杨文渊
  • 7.7.1 遇到的问题
  • 7.7.2 解决方案
  • 7.8 陈禹帆
  • 7.8.1 遇到的问题
  • 7.8.2 解决方案
  • 八、PSP表格
  • 8.1 陈尚斌
  • 8.2 林怡杰
  • 8.3 许俊翔
  • 8.4 吕东剑
  • 8.5 鄢灿
  • 8.6 吴康明
  • 8.7 杨文渊
  • 8.8 陈禹帆

一、项目地址

项目网址

  • 管理员测试账号:admin 管理员密码:admin123

  • 用户测试账号:user001 用户密码:user123

仓库地址

二、Commit记录

2.1 提交次数

成员次数
102300308 陈尚斌3
102300235 林怡杰5
102300328 许俊翔5
102300322 吕东剑4
102300329 鄢灿7
102300327 吴康明3
102300330 杨文渊5
102300309 陈禹帆3

2.2 部分日志截图

img

img

img

三、 程序运行环境

  • 本项目已在阿里云上部署前后端与数据库,正常情况下点击项目链接即可正常运行,以下是项目开发时的运行环境,如果需要在本地部署,可以按照仓库中的README.md进行操作

3.1 前端

  • Edge浏览器最新版本

3.2 后端

  • 云服务器操作系统:Alibaba Cloud 3 (OpenAnolis Edition) x86_64(Py3.7.16)

  • Java JDK版本:17

  • Maven版本:3.9.9

四、功能实现思路

4.1 功能需求建模分析

4.1.1 用例图

img

4.1.2 类图

img

4.2 基础功能设计

4.2.1 系统结构设计

img

4.2.2 模块分析设计

img

4.2.3 接口设计

模块接口地址请求方法功能描述请求示例返回示例
用户模块/api/user/registerPOST用户注册
{"username":"user123","password":"Pass123","name":"张三","phone":"13800138000"}
{"code":200,"message":"注册成功","data":{"userId":1,"username":"user123"}}
/api/user/loginPOST用户登录
{"username":"user123","password":"Pass123"}
{"code":200,"message":"登录成功","data":{"token":"eyJhbGciOiJIUzUxMiJ9..."}}
/api/user/infoGET获取用户信息
请求头:Authorization: Bearer {token}
{"code":200,"message":"操作成功","data":{"id":1,"username":"user123","name":"张三"...}}
/api/user/updatePUT更新用户信息
请求头:Authorization: Bearer {token}
{"name":"李四","phone":"13900139000"}
{"code":200,"message":"更新成功","data":{}}
咨询模块/api/consultation/createPOST创建咨询记录
请求头:Authorization: Bearer {token}
{"budgetMin":100000,"budgetMax":200000,"preferredType":"SUV","llmProvider":"qwen"}
{"code":200,"message":"咨询创建成功","data":{"id":1,"userId":1,"status":"pending"...}}
/api/consultation/listGET获取我的咨询记录
请求头:Authorization: Bearer {token}
{"code":200,"message":"操作成功","data":[{"id":1,"createTime":"2024-05-01"...}]}
/api/consultation/{id}GET获取咨询详情
请求头:Authorization: Bearer {token}
路径参数:id=1
{"code":200,"message":"操作成功","data":{"id":1,"consultationResult":"推荐车型...",...}}
积分模块/api/points/totalGET获取总积分
请求头:Authorization: Bearer {token}
{"code":200,"message":"操作成功","data":{"totalPoints":100}}
/api/points/historyGET获取积分记录
请求头:Authorization: Bearer {token}
{"code":200,"message":"操作成功","data":[{"id":1,"points":10,"description":"完成咨询"...}]}
/api/points/consumePOST消费积分
请求头:Authorization: Bearer {token}
{"points":50,"description":"兑换礼品"}
{"code":200,"message":"消费成功","data":{}}
管理员模块/api/admin/loginPOST管理员登录
{"username":"admin","password":"Admin123"}
{"code":200,"message":"登录成功","data":{"token":"eyJhbGciOiJIUzUxMiJ9..."}}
/api/admin/consultationsGET获取所有咨询记录
请求头:Authorization: Bearer {adminToken}
{"code":200,"message":"操作成功","data":[{"id":1,"userId":1,"status":"completed"...}]}
/api/admin/usersGET获取所有用户
请求头:Authorization: Bearer {adminToken}
{"code":200,"message":"操作成功","data":[{"id":1,"username":"user123"...}]}
/api/admin/statistics/usersGET获取用户统计数据
请求头:Authorization: Bearer {adminToken}
{"code":200,"message":"操作成功","data":{"totalUsers":100,"newUsersToday":5}}
/api/admin/statistics/topicsGET获取热门咨询话题
请求头:Authorization: Bearer {adminToken}
{"code":200,"message":"操作成功","data":[{"topic":"SUV","count":50},{"topic":"轿车","count":30}]}
礼品模块/api/admin/giftsPOST添加礼品
请求头:Authorization: Bearer {adminToken}
{"name":"车载充电器","pointsRequired":50,"stock":100}
{"code":200,"message":"添加成功","data":{"id":1,"name":"车载充电器"...}}
/api/admin/gifts/{id}PUT编辑礼品
请求头:Authorization: Bearer {adminToken}
路径参数:id=1
{"stock":90}
{"code":200,"message":"更新成功","data":{}}
/api/admin/giftsGET获取礼品列表
请求头:Authorization: Bearer {adminToken}
{"code":200,"message":"操作成功","data":[{"id":1,"name":"车载充电器","pointsRequired":50...}]}
LLM模块/api/llm/consultation/generatePOST调用大语言模型生成咨询结果(自动选择供应商)
{"budgetMin":150000,"budgetMax":250000,"preferredType":"SUV","usageScenario":"家庭通勤","brandPreference":["比亚迪","理想"]}
{"code":200,"message":"生成成功","data":{"consultationResult":"基于您的需求,推荐以下3款SUV...", "processingTime":3200,"provider":"qwen-max","tokenUsage":{"promptTokens":89,"completionTokens":342}}}
/api/llm/providersGET获取可用大模型供应商列表及配置
请求头:Authorization: Bearer {token}
{"code":200,"message":"操作成功","data":[{"code":"qwen","name":"通义千问","enabled":true,"models":["qwen-max","qwen-turbo"]},{"code":"zhipu","name":"智谱GLM","enabled":true,"models":["glm-4","glm-3-turbo"]}]}
/api/llm/consultation/generate/{provider}POST指定供应商生成咨询结果
路径参数:provider=qwen
{"budgetMin":100000,"budgetMax":200000,"preferredType":"轿车"}
{"code":200,"message":"生成成功","data":{"consultationResult":"推荐车型:...", "processingTime":2800,"provider":"qwen","rawResponse":{"finish_reason":"stop","usage":{"total_tokens":456}}}}
/api/llm/monitoring/realtimeGET获取LLM服务实时监控数据
请求头:Authorization: Bearer {adminToken}
{"code":200,"message":"操作成功","data":{"totalRequests":12847,"avgLatency":3.2,"providerStats":[{"provider":"qwen","requests":8560,"errorRate":0.02},{"provider":"zhipu","requests":4287,"errorRate":0.05}]}}

4.2.4 其他问题考虑

1.用户如何快速了解系统功能并开始咨询?

  • 简洁的引导页面:在系统首页,我们设置了一个功能导航区,清晰地展示了“用户注册/登录”、“发起购车咨询”、“查看历史咨询”、“积分兑换礼品”等核心功能的入口。同时,新用户可以通过“帮组中心”按钮,查看详细的分步操作指引,帮助他们快速熟悉系统。

  • 简化咨询流程:用户登录后,在“发起咨询”页面只需要填写预算区间、车型偏好、使用场景等5个关键信息,就可以快速提交咨询,无需经过复杂的操作。

  • 示例数据填充:为了降低使用门槛,我们为表单提供了“示例数据”按钮,用户点击后,可以自动填充模板内容(例如:预算15-25万、SUV、家庭出游),帮助用户更快完成输入。

2.咨询结果如何清晰、直观地展示给用户?

  • 结构化排版:咨询结果会以简洁清晰的方式呈现,包括“推荐车型列表 + 核心亮点说明 + 适配场景分析”,例如:

  • 推荐车型

    1. 比亚迪宋PLUS DM-i
      • 核心亮点:综合续航1200km,空间宽敞(后备箱容积574L)
      • 适配场景:家庭出游(可容纳婴儿车+露营装备)
    2. 理想L6
      • 核心亮点:增程式混动,无续航焦虑,智能座舱支持多设备互联
      • 适配场景:长途自驾(支持对外放电,可供电煮茶/照明)

3.如何保证咨询结果的准确性和实用性?

  • 多模型交叉验证:系统集成了多个大模型,例如通义千问、智谱 AI 等,用户可以选择多模型并行生成咨询结果,通过比对多个模型的推荐内容,取共识度高的内容作为最终推荐,避免单一模型可能带来的偏差。

  • 领域数据训练:为了提升推荐的专业性,我们整理了部分汽车领域知识(如车型参数、真实购车案例等),并将其作为Prompt模板注入到大模型的上下文中,使得推荐结果更加精准。例如,使用 “你是专业汽车顾问,基于2025年最新车型数据推荐” 这样的系统提示来保证推荐的时效性和专业性。

  • 用户反馈闭环:在咨询结果页面,我们设置了反馈系统,并用于优化大模型的Prompt策略。如果用户不满意,可以通过填写反馈信息来让管理员得到应该改进的地方。

4.如何保护用户隐私和数据安全?

  • 数据加密存储:所有用户的密码通过加盐哈希算法进行加密存储,敏感信息(如手机号、预算)也会在数据库中进行加密,密钥由配置中心进行动态管理,确保数据的安全性。
  • 严格的权限控制:普通用户只能查看自己的咨询记录和个人信息,管理员需要通过特定的API接口获取专属令牌,操作权限会被严格限制。此外,所有操作日志(如查看用户数据、修改礼品信息等)都将被全量记录,便于后期审计。

  • 数据最小化采集:我们只会采集用户进行购车决策时需要的关键信息(如预算、车型偏好等),不强制要求用户提供与购车无关的隐私数据。同时,用户的个人信息管理员无法修改,以增强隐私保护。

  • 接口安全防护:所有API接口都通过JWT令牌进行身份验证,令牌会设置为短期有效。

4.3 功能实现思路

4.3.1 基础功能实现

  • 详见下方5.1演示

4.3.2 咨询积分系统(附加功能1)

在平台上实现积分与奖品兑换机制,鼓励用户咨询与反馈。具体功能如下:

  • 每次用户咨询完成后,系统自动发放10积分,并记录在用户账户中。
  • 用户可以在平台的兑换商品中使用积分选择奖品,系统将扣除相应积分并减少奖品的库存数量。

4.3.3 管理员模块(附加功能2)

  • 详见下方5.2演示

4.3.4 压力测试(附加功能3)

测试目标:

  • 测试咨询平台在 2 核 1G 服务器配置下,100 个用户重复咨询 300 次场景的性能表现。
  • 确定该服务器配置下系统的性能水平。
  • 检验系统的稳定性和可靠性。

测试环境:

  • 测试工具:自动化脚本
  • 目标系统:购车意向咨询平台
  • 测试服务器配置: CPU 2 核,内存 1GB,带宽 3Mbps
  • 测试步骤:
    • 准备:
      • 系统已部署并正常运行
      • 已创建 100 个测试用户账户(匹配模拟用户数量)
      • 数据库已初始化并正常连接
      • LLM 服务(通义千问、智谱 AI)API 密钥有效且余额充足
    • 执行压力测试:
      • 运行脚本
      • 模拟 100 个用户并发访问系统,每个用户重复咨询 300 次
      • 监控测试过程中的错误率、平均响应时间、重试成功率等数值
    • 分析测试结果:
      • 通义千问:
        • 平均响应时间: 38621.73 毫秒
        • 错误率: 1.20%
        • 重试成功率: 12.50%
      • 智谱 AI:
        • 平均响应时间: 39158.26 毫秒
        • 错误率: 0.30%
        • 重试成功率: 3.00%

img

五、程序截图说明

5.1 客户模块

5.1.1 注册&登录

img

  • 进入网站首页,点击中间“立即登录”进行网站的账号登录操作。

img

  • 进入用户登录界面,通过“用户名”和“密码”进行登录。

img

  • 用户如果没有账号可以点击“立即注册”进行注册操作进入用户注册界面。设置账号基本信息:包括:用户名、密码、姓名、手机号。

img

  • 同时通过验证保证用户名、手机号信息唯一。

5.1.2 咨询&咨询记录

img

  • 登录成功后在首页点击中间“开始咨询”或者在页面上方栏目点击“发起咨询”进入咨询页面;

img

  • 用户可以在各个栏目中填写或选择自己的购车预算、偏好车型、主要使用场景、燃料类型偏好、品牌偏好、AI模型;

img

  • 用户填写好信息后点击“提交咨询”进行咨询生成;

img

img

img

img

img

  • 进度条加载完成后会跳转到“咨询记录”界面;同时每次成功咨询会添加账户积分;

  • “咨询记录”界面会记录每次成功咨询给的建议,保留咨询内容的同时记录咨询时间;

  • 每次建议包含:“推荐的车型及理由”、“不同车型对比分析”、“购车预算规划建议”、“其他相关专业建议”、“总结建议”五个部分;

5.1.3 积分记录

img

  • 在上方栏目点击“我的积分”进入积分查看界面;该界面会记录用户账号的总积分和每次积分的出入;

5.1.4 个人信息界面

img

  • 在上方栏目点击“个人信息”进入账号信息查看界面;

  • 个人信息可以更改“姓名”、“手机号”、“购车预算”、“偏好车型”等个人信息;

  • 点击“保存修改”可以保存对个人信息的修改;

5.1.5 意见反馈界面

img

  • 在上方栏目点击“意见反馈”进入网站意见反馈界面;

  • 成功提交过的反馈会在下方的“我的反馈记录”中显示并展示反馈提交时间;

5.1.6 礼品兑换界面

img

  • 在上方栏目点击“礼品兑换”进入网站礼品兑换界面;

  • 界面会显示当前用户账号剩余的积分;

  • 点击任意想要兑换礼品下的“立即兑换”可以兑换礼品;

img

  • 同时“礼品兑换”和“我的积分”界面的用户账号积分都会对应减少

5.1.7 帮助中心界面

img

  • 界面中有网站的使用指南、常见问题、功能说明等部分。

5.1.8 退出登录

img

  • 点击栏目中的“退出账号”可以退出账号回到首页

5.2 管理员模块

5.2.1 数据统计部分

img

  • 进入管理员后台的“数据统计”部分可以看到“用户行为统计”和“热门咨询话题”等内容块,方便管理员对网站用户使用现状有大致了解;

5.2.2 咨询记录部分

img

  • 管理员可以通过搜索用户ID看到特定用户的咨询记录;

  • 搜索栏为空时显示全部用户的咨询记录,按照时间排序;

  • 同时点击“删除”可以删除用户的咨询记录;

5.2.3 用户管理部分

img

  • 点击“用户管理”可以进入用户管理界面;

  • 界面会显示每个用户的用户ID、用户名、姓名、手机号等基本信息;

  • 点击“删除”可以删除特定的用户账号;

5.2.4 反馈管理界面

img

  • 点击“删除”可以删除特定的用户反馈;

5.2.5 礼品管理界面

img

  • 点击“礼品管理”可以进入礼品管理界面;

img

  • 点击任意礼品的“编辑”界面可以编辑礼品的基本信息,包括:礼品名称、礼品描述、所需积分、库存数量、图片URL;

  • 点击任意礼品的“删除键”能够删除礼品

六、组员分工与贡献度

6.1 贡献度评价规则

我组沿用之前提出的表现分的评价机制来计算此次作业的贡献度,以表现分占比分配贡献度

评议方向权重
工作量20%
工作完成度15%
工作有效性15%
工作难度15%
按时完成任务10%
工作态度5%
团队互助10%
会议参与10%
规则说明:
  • 每个评议方向的评议分值为0-10分
  • 对于每个评议方向,0-3分为差,4-7分为良,8-10分为优
  • 表现分=0.2×自评表现分+0.5×组员评价表现分均值+0.3 × 组长评价表现分(特别的,如果是组长则表现分=0.2×自评表现分+0.8×组员评价表现分均值)

6.3 分工与贡献度表格

学号工作内容贡献度
102300308 陈尚斌需求分析,部署服务器,参与前端工作,撰写博客14.46
102300235 林怡杰主要负责前端工作和测试13.67
102300328 许俊翔主要负责后端工作和需求分析13.73
102300322 吕东剑负责后端工作13.43
102300327 吴康明负责后端工作和测试和需求分析12.27
102300329 鄢灿负责前端工作11.94
102300309 陈禹帆负责前端工作和测试10.44
102300330 杨文渊负责后端工作10.06

七、困难与解决

7.1 陈尚斌

7.1.1 遇到的问题

  • Java 版本编译冲突:Maven 编译时与项目pom.xml的 Java 17 配置冲突,报 “无效的目标发行版” 错误。

  • 部署环境类型错误:尝试用PM2 在服务器部署 Java Spring Boot 项目,因运行环境不匹配导致 Java 语法被当作 JavaScript 解析,报 “Unexpected identifier” 错误。

7.1.2 解决方案

  • 删除强制置顶配置:删除 Maven 全局settings.xml中强制指定corretto-23的配置,使项目继承pom.xml中 Java 17的编译规则。

  • 使用Java环境管理器:改用 Java环境管理器,可执行Jar包命令启动 Spring Boot 项目,结合nohup实现后台运行,并配置开机自启脚本。

7.2 林怡杰

7.2.1 遇到的问题

  • 前端界面和管理员界面区分不明显:管理员和普通用户界面设计相似,用户很难快速区分。

  • 筛选功能不稳定:管理员界面筛选咨询记录时,筛选条件应用后没有实时更新结果。

  • 编辑操作不便捷:管理员在编辑用户信息时,界面操作不够简洁,用户体验较差。
  • 前端性能问题:在加载大量数据时,页面的响应速度较慢,特别是历史咨询和积分记录加载时,造成延迟。

7.2.2 解决方案

  • 优化管理员界面与用户界面的区分:我们采用不同的布局和按钮来区分管理员和普通用户界面,确保管理员的功能和入口清晰可见。通过显眼的管理员专属导航和操作区域,使用户更易区分。
  • 改进筛选功能:在管理员界面的筛选功能中,增强了数据的实时更新能力。通过确保每次筛选都能更新显示的咨询记录,并提供清晰的反馈,避免筛选结果不刷新或不一致的问题。
  • 简化编辑操作:采用统一的模态框处理编辑操作,减少跳转和多步骤操作。通过简洁直观的表单设计,使得管理员可以更高效地修改用户信息,同时提供批量修改的功能,简化编辑流程。
  • 前端性能优化:引入了分页加载和虚拟滚动技术,减少一次性加载的数据显示量,提升页面的加载速度和响应性能。通过缓存管理和数据懒加载策略,保证即使在大量数据情况下,页面依然保持高效运行。

7.3 许俊翔

7.3.1 遇到的问题

  • 积分兑换功能未能按预期工作,导致奖品数量不正确和兑换记录不生成的问题。

  • 前端请求未能成功到达后端,以及返回数据格式不正确。

7.3.2 解决方案

  • 检查兑换逻辑中正确更新了奖品的库存数量,确保使用 MyBatis-Plus 的 updateById 方法进行更新。在兑换成功后,记录兑换信息到数据库。

  • 检查前端请求的 URL 与后端的接口路径一致,确保 HTTP 方法(GET/POST)是否正确。同时使用 postman测试后端接口,确认返回数据格式符合前端需求。

7.4 吕东剑

7.4.1 遇到的问题

  • 数据库表结构验证错误:启动时出现 budget_max 列类型不匹配(期望 BIGINT,实际为 INT)。

  • 重复数据插入问题:应用重启时重复插入初始数据,导致重复的积分记录。

  • 管理员登录异常admin 账号同时存在于 usersadmins 表,导致登录逻辑混乱。

  • 前端界面体验不佳:管理员界面与用户界面区分不明显,编辑功能操作繁琐。

7.4.2 解决方案

  • 创建迁移脚本:新增 migration.sql,使用 ALTER TABLE 修复表结构,并在 application.yml 中配置自动执行。

  • 优化数据插入逻辑:在 data.sql 中使用 NOT EXISTS 条件,并在 UserServiceImpl 中实现注册时自动奖励积分,避免重复插入。

  • 清理重复账号:在 migration.sql 中添加逻辑,删除 users 表中的 admin 记录,确保管理员账号仅在 admins 表中。

  • 重构前端界面:采用深色主题区分管理员界面,使用统一的模态框进行编辑操作,优化交互体验。

7.5 鄢灿

7.5.1 遇到的问题

  • 筛选控件渲染失效:在管理员「咨询记录」页,用户 ID 筛选输入框无法渲染,导致筛选功能缺失;

7.5.2 解决方案

  • 引入缓存击穿机制:对管理员后台 HTML 片段追加版本戳 v=时间戳,强制浏览器在发布后立即拉取最新结构,增强了数据的实时更新能力。通过确保每次筛选都能更新显示的咨询记录,并提供清晰的反馈,避免筛选结果不刷新或不一致的问题。

7.6 吴康明

7.6.1 遇到的问题

  • 接口兼容性问题:测试脚本中模拟的咨询请求参数与后端接口预期格式存在差异,导致部分请求因参数不识别而失败。

  • 高并发下响应延迟:当并发线程数超过 30 时,系统响应时间显著增加,部分请求超时,尤其是在生成大量车辆推荐结果时,后端处理能力不足

7.6.2 解决方案

  • 统一接口参数规范:与后端团队确认接口文档,修正generate_consult_params函数中的参数名,并增加参数合法性校验,避免因参数格式错误导致的请求失败。

  • 优化系统并发处理能力:后端引入 Redis 缓存热点数据,减少数据库查询压力;脚本中动态调整MAX_THREADS,通过梯度压测找到系统最优并发阈值,避免瞬间高负载导致的响应延迟。

7.7 杨文渊

7.7.1 遇到的问题

  • 业务代码出现循环依赖问题:在业务逻辑实现中,多个类之间形成了直接或间接的相互依赖关系。这种循环依赖会导致代码耦合度高、难以理解和维护。

7.7.2 解决方案

  • 代码重构与解耦:通过重构,消除不必要的直接依赖,降低代码耦合度,使代码结构更清晰、更易于维护和测试。

7.8 陈禹帆

7.8.1 遇到的问题

  • 多角色状态冲突:普通用户和管理员使用不同的token存储机制,在切换登录状态时容易出现token冲突和导航栏状态异常。

  • 页面状态持久化:页面切换时数据加载依赖DOM的class变化监听,在快速切换页面时可能出现数据加载竞争条件。

7.8.2 解决方案

  • 改进token管理机制:明确区分管理员和普通用户状态,优先处理管理员状态以避免导航栏状态异常。

  • 采用更可靠的页面显示事件监听方式:使用Intersection Observer API替代传统的class变化监听,有效避免数据加载竞争条件。

八、PSP表格

8.1 陈尚斌

PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划9080
• Estimate• 估计这个任务需要多少时间8070
Development开发600580
• Analysis• 需求分析 (包括学习新技术)7060
• Design Spec• 生成设计文档6050
• Design Review• 设计复审5040
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)4035
• Design• 具体设计6055
• Coding• 具体编码360360
• Code Review• 代码复审5040
• Test• 测试(自我测试,修改代码,提交修改)9080
Reporting报告7060
• Test Report• 测试报告4025
• Size Measurement• 计算工作量1515
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划2520
合计680610

8.2 林怡杰

PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划8072
• Estimate• 估计这个任务需要多少时间8072
Development开发600580
• Analysis• 需求分析 (包括学习新技术)7065
• Design Spec• 生成设计文档6052
• Design Review• 设计复审5042
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)4038
• Design• 具体设计6055
• Coding• 具体编码360355
• Code Review• 代码复审5045
• Test• 测试(自我测试,修改代码,提交修改)9085
Reporting报告7062
• Test Report• 测试报告4028
• Size Measurement• 计算工作量1516
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划2522
合计670602

8.3 许俊翔

PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划8580
• Estimate• 估计这个任务需要多少时间8580
Development开发620600
• Analysis• 需求分析 (包括学习新技术)7570
• Design Spec• 生成设计文档5852
• Design Review• 设计复审4842
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)3836
• Design• 具体设计6258
• Coding• 具体编码350345
• Code Review• 代码复审4844
• Test• 测试(自我测试,修改代码,提交修改)8883
Reporting报告7265
• Test Report• 测试报告3828
• Size Measurement• 计算工作量1817
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划2825
合计777745

8.4 吕东剑

PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划9085
• Estimate• 估计这个任务需要多少时间9085
Development开发650620
• Analysis• 需求分析 (包括学习新技术)8075
• Design Spec• 生成设计文档7065
• Design Review• 设计复审6055
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)4540
• Design• 具体设计7065
• Coding• 具体编码280270
• Code Review• 代码复审6055
• Test• 测试(自我测试,修改代码,提交修改)8575
Reporting报告8075
• Test Report• 测试报告4540
• Size Measurement• 计算工作量2020
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划1515
合计820780

8.5 鄢灿

PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划6062
• Estimate• 估计这个任务需要多少时间6062
Development开发540517
• Analysis• 需求分析 (包括学习新技术)5045
• Design Spec• 生成设计文档5042
• Design Review• 设计复审3032
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)3028
• Design• 具体设计4035
• Coding• 具体编码200205
• Code Review• 代码复审5045
• Test• 测试(自我测试,修改代码,提交修改)9085
Reporting报告7066
• Test Report• 测试报告4028
• Size Measurement• 计算工作量1516
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划2522
合计670645

8.6 吴康明

PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划8071
• Estimate• 估计这个任务需要多少时间8071
Development开发600550
• Analysis• 需求分析 (包括学习新技术)7066
• Design Spec• 生成设计文档6051
• Design Review• 设计复审5043
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)4035
• Design• 具体设计6059
• Coding• 具体编码360362
• Code Review• 代码复审5043
• Test• 测试(自我测试,修改代码,提交修改)9081
Reporting报告7066
• Test Report• 测试报告4030
• Size Measurement• 计算工作量1514
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划2523
合计670658

8.7 杨文渊

PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划8070
• Estimate• 估计这个任务需要多少时间8070
Development开发860780
• Analysis• 需求分析 (包括学习新技术)7060
• Design Spec• 生成设计文档6050
• Design Review• 设计复审5040
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)4035
• Design• 具体设计6055
• Coding• 具体编码360360
• Code Review• 代码复审5040
• Test• 测试(自我测试,修改代码,提交修改)9080
Reporting报告7060
• Test Report• 测试报告4025
• Size Measurement• 计算工作量1515
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划2520
合计930850

8.8 陈禹帆

PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划6055
• Estimate• 估计这个任务需要多少时间6055
Development开发480460
• Analysis• 需求分析 (包括学习新技术)6055
• Design Spec• 生成设计文档4540
• Design Review• 设计复审3025
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)3028
• Design• 具体设计4542
• Coding• 具体编码240235
• Code Review• 代码复审3028
• Test• 测试(自我测试,修改代码,提交修改)6057
Reporting报告5045
• Test Report• 测试报告2520
• Size Measurement• 计算工作量1012
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划1513
合计590560
...全文
63 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110

社区成员

发帖
与我相关
我的任务
社区描述
202501福大-软件工程实践-W班
软件工程团队开发结对编程 高校 福建省·福州市
社区管理员
  • 202501福大-软件工程实践-W班
  • 离离原上羊羊吃大草
  • MiraiZz2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧