团队作业3--需求改进&系统设计

🚀 团队随笔:eSIM 在线售卖平台——需求迭代、设计深化与 Alpha 冲刺启动!

项目 详情
这个作业属于哪个课程 计科23级12班
这个作业要求在哪里 作业要求链接
这个作业的目标 对现有项目进行设计和需求&原型改进,进行Alpha任务分配

作者:e脉相传团队

发布时间:2025-11-19

标签:需求改进 / 系统设计 / Alpha计划 / 测试策略 / 项目迭代 / 课堂反馈


一、需求&原型改进

1.1 针对课堂讨论的修改

在上周课堂讨论中,老师针对我们的选题和需求提出了宝贵建议。我们认真梳理并进行了针对性修改,以提升项目的实用性和完整性。本次更新特别结合老师在提问环节指出的核心问题:运营商对接挑战和家庭功能打磨,进行针对性优化。

问题 修改
选题过于聚焦“出境旅客”,忽略了国内用户(如远程工作者)的潜在需求,可能导致用户基数受限。 扩展目标用户群,新增“国内远程办公/跨省出差用户”场景,支持国内漫游套餐(如中国大陆+港澳台),并在需求中添加“多区域切换”功能,确保平台覆盖全球+国内需求。
原型中“家庭共享子码”功能描述模糊,未说明子码生成上限和安全机制,易引发滥用风险。 明确子码上限为5张/订单,添加“子码激活追踪”机制(每个子码独立签名验证),更新到功能需求FR-O6,并强化安全需求中的“子码防转发”。
需求规格说明书中缺少对“库存管理”的详细描述,容易出现超卖风险。 在管理后台添加FR-A5:实时库存监控与警报(Redis扣减+阈值通知),并在验收标准中增加“库存超卖测试场景”。
最大的问题是如何与运营商对接? 我们的想法是先进行售卖这一块的工作、营销工作,让功能基本比较完善。如优先开发售卖核心闭环,使用模拟SM-DP+接口测试对接流程;新增营销模块FR-M1:促销码生成与应用(支持折扣活动),FR-M2:用户推荐系统(基于浏览历史推送套餐)。将真实运营商对接移至Beta阶段,先完善模拟环境下的售卖、支付、激活功能,确保MVP可用。
特色是家庭功能,具体是怎么体现?如何再打磨? 细化后台家庭共享功能,添加FR-A6:子码审批模拟接口(运营商端审核子码派发),并在设计中加强后台与SM-DP+的交互逻辑(如批量生成子码API)。前端保持二维码分享UI,后台增加日志追踪以打磨稳定性。

1.2 加分部分:目标用户调研与原型展示

为进一步理解需求,我们选取了3位目标用户(一位留学生、一位背包客、一位出差党)进行原型展示和访谈。使用Axure高保真原型演示“选套餐-支付-激活”流程,记录他们的痛点、场景,并对比使用前后变化。调研采用线上视频会议+问卷形式。

痛点与场景分析

参考《构建之法》第10章典型用户和场景,我们定义了典型用户画像:

用户 痛点 场景
留学生(小张,22岁) 落地后办卡排队2小时,语言障碍;实体卡易丢失。 飞英国前,在机场用手机浏览平台,选30天英国套餐,支付宝支付,落地扫码激活,立即上网联系家人。
背包客(小李,28岁) 多国旅行需多次买卡,切换麻烦;信号不稳。 东南亚4国游,一次下单多国套餐,平台自动生成切换二维码,边境过关时无缝上网。
出差党(小王,35岁) 公司报销需发票;临时需求响应慢。 出差前快速购买,平台生成电子发票+订单行程单,激活后实时报销。

使用前后对比

  • 使用前:用户需实体店买卡,耗时长、成本高;激活失败无退款,风险大。
  • 使用后:3分钟内完成全流程,激活失败30s退款;家庭共享省钱省事。

调研过程:用户通过模拟操作,反馈“支付后二维码秒发,太方便!”。针对老师反馈,额外询问运营商对接痛点,用户表示“模拟激活已足够测试,真实对接可后期”。

1.3 修改完善上周需求规格说明书

上周《需求规格说明书》初稿不足:功能考虑不全(如缺少营销模块和子码审批);描述缺少细节(如订单超时处理未量化、运营商对接模拟未明确);非功能需求未覆盖国际化;验收标准缺少量化指标。针对老师反馈,新增运营商对接模拟细节和家庭功能后台打磨。

改进内容:

  • 补充促销码和子码审批功能。
  • 量化描述:订单锁定库存15min → 超时自动释放;运营商对接使用模拟API,真实接口预留扩展点。
  • 添加法规合规细节:支持GDPR数据隐私,并强调营销合规(如无骚扰推送)。
  • 用User Story描述核心场景:

User Story:作为留学生小张,我希望在起飞前购买eSIM套餐,以便落地即上网。 小张打开平台,游客模式浏览英国套餐(FR-T1),注册邮箱验证(FR-U1,60s冷却)。选30天套餐,下单锁定库存(FR-O1),应用促销码折扣(FR-M1),支付宝支付(FR-O2)。支付成功,平台调用模拟SM-DP+生成二维码PNG(FR-O3),下载链接有效24h。小张落地激活,若失败,系统定时扫描退款(FR-O4,30s内原路退回)。若家庭游,生成子码分享(FR-O6),后台审批模拟确保运营商兼容(FR-A6)。整个过程解决排队痛点,从浏览到激活<30s,先完善售卖营销再对接真实运营商。

完整更新版已上传仓库:需求规格说明书 v1.1

1.4 功能分析的四个象限

参考《构建之法》5节功能的定位和优先级,我们将功能分为四个象限:

象限 描述 示例功能
杀手级(高优先、高差异) 核心竞争力,独特卖点 FR-O3:实时二维码生成 + FR-O4:激活失败自动退款 + FR-O6:家庭共享子码(后台打磨)
外围级(低优先、低差异) 基础支持,非核心 FR-A3:订单CSV导出
必要级(高优先、低差异) 必须有,但无差异 FR-U1:注册/登录 + FR-O1:订单创建 + FR-M1:促销码(售卖营销)
辅助级(低优先、高差异) 锦上添花,可后期加 FR-M2:用户推荐系统 + FR-A6:子码审批模拟

1.5 调整WBS及项目进度计划

根据修改需求,我们调整WBS:新增“营销模块开发”和“运营商模拟对接”任务,细分子码后台打磨子任务。进度计划使用Gantt图表示(详见Alpha计划部分)。总时长从原8周调整为9周,增加1周缓冲测试运营商模拟和家庭功能。

调整后WBS示例:

  • 需求阶段:调研+文档(W9-10)
  • 设计阶段:架构+数据库(W10-11)
  • 开发阶段:核心模块+营销(W12-14)
  • 测试阶段:集成+发布(W15)

二、系统设计

在设计阶段,我们明确软件如何解决需求:采用分层架构,确保分工明确、接口清晰。针对老师反馈,强化运营商对接模拟层和家庭功能后台逻辑。

2.1 整体架构概述

系统采用经典的分层架构,包括前端层、后端层、数据层、外部接口层和安全层。这种设计允许模块化开发,便于维护和扩展。具体而言:

  • 前端层:基于Vue3的单页应用(SPA),负责用户交互和API调用。组件化设计,按模块分包(如OrderView、AdminDashboard、FamilyShareUI),确保UI响应迅速,支持游客浏览和买家订单管理。
  • 后端层:Django REST API,实现无状态服务,支持水平扩展。核心服务包括UserService(用户管理)、OrderService(订单处理)、PaymentService(支付统一封装)、MarketingService(促销码管理)和OperatorSimService(模拟SM-DP+对接,预留真实API切换点)。
  • 数据层:结合PostgreSQL(持久存储,如订单和套餐数据)和Redis(缓存和锁机制,如库存扣减、促销码验证),确保高并发场景下数据一致性。
  • 外部接口层:集成SM-DP+模拟接口和支付沙箱,使用Celery处理异步任务(如二维码生成、退款处理和子码审批),减少主线程阻塞。
  • 安全层:全程HTTPS加密,JWT认证,二维码和子码签名验证,以及退款接口幂等设计,防止重放攻击。

整体流程:客户端请求经API Gateway(Nginx)路由到Django Views,再调用相应Service处理业务逻辑,最终访问DB/Cache或外部API。优先使用模拟运营商接口,确保早期开发独立于真实对接。

2.2 关键组件详细设计

组件 描述 关键技术
UserService 处理用户注册、登录和个人中心数据展示 JWT令牌、邮箱验证码(60s冷却)
OrderService 订单创建、库存锁定(15min超时释放)和激活状态追踪 Redis分布式锁、Celery异步回调
PaymentService 统一支付封装,支持沙箱测试 支付宝/微信SDK,幂等设计
MarketingService 促销码生成、应用和用户推荐 基于历史数据的简单算法,Redis缓存
OperatorSimService 模拟SM-DP+接口,用于二维码生成和子码审批 RESTful模拟API,批量处理支持
AdminDashboard 后台管理,包括套餐CRUD、库存监控和销量图表 Element-Plus UI,Echarts折线图

2.3 数据库设计与ER图

完成数据库设计,主表包括User、Package(套餐)、Order、QRCode、PromoCode(新增营销)。关系:User 1:N Order,Order 1:N QRCode(支持子码),Order N:1 PromoCode。

以下是ER图,展示实体及其关系:

er_diagram_english

此设计确保数据规范化,支持高效查询,如通过Order快速追踪子码激活状态。


三、Alpha任务分配计划

我们召开迭代计划会议(Zoom,2025-11-14),基于总时间(团队每周42h)、优先级(杀手级先)和依赖(支付依赖用户模块,运营商模拟优先),从Product Backlog选取功能项:FR-U1/U2(用户模块)、FR-O1/O2/O3/O6(订单+支付+家庭)、FR-A1/A2/A6(管理后台核心+子码审批)、FR-M1(营销促销码)。

3.1 选取功能项

选取项:用户注册/登录(高优先)、订单创建/支付/二维码生成/家庭共享(核心)、后台套餐CRUD+子码审批(必要)、促销码(售卖营销,先完善基本)。

3.2 Sprint Backlog与任务认领

分解为1-10h任务,在Leangoo看板管理。PM协助认领(更新新增营销和子码任务):

任务 估时(h) 认领人 依赖
实现邮箱注册+验证码 6 沈武钊
JWT登录 8 陈俊源 用户表
订单创建+库存锁 5 张秉瀚 套餐表
支付统一服务(支付宝/微信) 10 沈武钊 订单
二维码生成+模拟SM-DP+调用 7 郑东楷 支付
家庭共享子码生成+追踪 6 陈嘉煌 订单
后台登录+套餐CRUD+子码审批模拟 9 邱宇彦 用户
营销促销码生成与应用 5 崔乐浩 订单
Redis集成库存扣减 4 崔乐浩 订单

以下是Sprint的燃尽图,展示实际剩余小时、预估剩余小时和完成小时的趋势:

燃尽图

以下是Alpha阶段从代码完成到发布的流程图,突出Bug修复循环:

流程图

3.3 甘特图迭代冲刺计划

Alpha阶段(W12-14,21天):开发核心闭环+营销+家庭后台。以下是甘特图,左侧表格列出任务ID、名称、开始/结束日期和持续时间,右侧条形表示进度:

image


四、测试计划

测试与开发同步进行,总纲:产品为eSIM售卖平台,测试覆盖单元/集成/系统/ acceptance。时间:Alpha阶段每周测试日(周五),资源:pytest(后端)、Jest(前端)、Postman(API)、模拟设备(iOS/Android eSIM激活)。针对老师反馈,新增运营商模拟对接测试和家庭子码场景。

  • 测试类型:功能测试(核心流程+营销+家庭)、性能(二维码<3s)、安全(JWT渗透+子码验证)、兼容(iOS12+/Android10+)。
  • 责任分工:郑东楷负责安全/集成测试(含运营商模拟),邱宇彦数据/性能,崔乐浩自动化脚本(家庭子码)。
  • 资源:沙箱环境、Docker测试容器、Leangoo缺陷跟踪。
  • 时间安排:开发中每日单元测试,迭代末系统测试,目标覆盖率>80%。 参考《构建之法》测试章节,确保早发现早修复。

🚀 e脉相传,迭代前行。 感谢老师反馈,我们已针对运营商对接和家庭功能优化,继续精炼平台!欢迎反馈、Star、提Issue。

posted @ 2025-11-19 15:54  folger  阅读(28)  评论(0)    收藏  举报