团队作业3--需求改进&系统设计
团队作业3--需求改进&系统设计
这个作业属于哪个课程 | <计科22级34班> |
---|---|
这个作业要求在哪里 | <作业要求> |
这个作业的目标 | 修改完善需求规格说明书、系统设计、Alpha任务分配计划、测试计划 |
GitHub 链接 | https://github.com/tangliweiwww/ChatGpt |
🍟一、团队
1.团队名称:Elegance
2.团队成员
姓名 | 班级 | 学号 |
---|---|---|
唐立伟(组长) | 计科4班 | 3122005404 |
吴秋雪 | 计科3班 | 3222004892 |
黄妍仪 | 计科4班 | 3222004767 |
李思柔 | 计科4班 | 3222004638 |
何晓漫 | 计科4班 | 3222004765 |
🍟二、需求&原型改进
1.问题与改进
-
问题1:如何吸引客户选择该系统
-
修改1:添加AI对话场景设定模块,如法律顾问,工作面试,文字编辑等。在客户进入系统进行对话前就选定场景,以便于AI更准确地实现客户需求。。
-
问题2:用户如何登录
-
修改2:通过 AccessToken 创建二维码凭证 ticket,并让前端根据凭证创建带参登录二维码。当用户扫码后,对接公众号的服务端会收到回调信息,里面含带了 ticket、openid,那么这个时候就可以创建出 jwt token,前端页面不断通过 ticket 轮训接口获取绑定登录信息即可。
加分部分:对于一些开发者和企业用户来说,可能需要将OpenAI的AI技术集成到他们的应用程序、平台或解决方案中。他们可能同时需要自然语言处理、图像生成、智能对话系统等功能。我们的系统可以通过集成各种大模型服务来满足客户需求。
2.修改完善需求规格说明书
功能考虑不全:
-
对于访问频次,白名单功能进行补充。
- 场景:对于vip用户,参与免费活动人员或者系统管理人员,不进行访问频次的限制,这些用户访问系统时不会在数据库中扣除访问次数,直接放行。
-
对于对话场景进行补充:
- 场景:在用户进入系统前进行场景预设,如我现在想要进行面试模拟,在进入对话前,系统会自动给大模型规定对话场景:“我想让你担任Java开发工程师面试官。我将成为候选人,您将向我询问Java开发工程师职位的面试问题。我希望你只作为面试官回答。不要一次写出所有的问题。我希望你只对我进行采访。问我问题,等待我的回答。不要写解释。像面试官一样一个一个问我,等我回答。我的第一句话是“面试官你好”。”
3.功能分析的四个象限
参考《构建之法》5节功能的定位和优先级,给出功能分析的四个象限
- 必须做且重要(Must-haves):
进行OpenAi SDK对接,实现对话功能;保存用户基本信息,储存用户访问频次和剩余额度,提供充值功能;提供大模型转换功能,用户可以自行选择大模型。 - 必须做但不重要(Nice-to-haves):
对话场景预设,用户在开启对话前,可以规定场景。 - 不必做但重要(Not-so-importants):
优化用户体验: 确保平台的用户界面简洁直观,易于导航。考虑到用户体验的因素,例如快速加载、响应性和友好的设计,以提高用户留存率。 - 不必做且不重要(Won't-haves):
非关键性功能: 避免投入过多资源在一些不是核心业务的功能上,如高级社交功能。优先考虑满足核心业务需求。
4.调整任务分解WBS及相应的项目进度计划
任务分解
项目进度计划
第 9 周 | 1. 团队组建和分工完成 |
---|---|
2. 选题确定和初步调研 | |
3.制定团队计划和贡献分规则 | |
第10-11周 | 1.需求规格说明书 |
2.系统基础框架搭建 | |
3.接口设计和数据库设计 | |
第12周 | 1.核心对话功能实现 |
2.账户管理系统开发 | |
3.支付系统集成 | |
第13周 | 1.高级功能开发(文生图、多模态理解) |
2. 运营管理模块实现 | |
3. 单元测试和接口测试 | |
第14周 | 1. 系统集成测试 |
2. Bug修复和性能优化 | |
3. Alpha版本发布和用户测试 | |
第15周 | 1. 用户反馈收集和分析 |
2. 系统优化和文档完善 | |
3. 项目总结和验收准备 |
🍟三、系统设计
1.系统架构设计
通过配置Docker、Nginx、SSL等环境以及开发出鉴权、认证、微信公众号、企业微信、支付宝交易等模块的方式,完善体系的物料服务。通过 API 的方式与具体的物料服务模块解耦。
会使用到 SpringBoot、MyBatis、MySQL、Redis 等技术栈,在设计实现上,主要以小而美、小而精,且能匹配到真实场景的使用为主。除技术栈的使用外,涉及到开发工具包括;IntelliJ IDEA、WebStorm、Docker、Protainter、Nginx、Git、Maven、Navicat、SSH工具等,以满足开发代码中的使用。 Next.js、Typescript 前端 Web UI 的开发。
以工程拓扑的视角看
后端架构设计
2.数据库设计
- 订单表:用户ID,商品ID,商品名称,商品额度,可用模型,订单编号,下单时间,订单状态,订单金额
- 用户表:用户ID,总量额度,剩余额度,可用模型,账户状态,创建时间,更新时间
- 商品表:商品ID,商品名称,商品描述,可用模型,额度次数,商品价格,商品排序,是否有效,创建时间
🍟四、Alpha任务分配计划
1.Product Backlog
2.Sprint Backlog
3.甘特图
🍟五、测试计划
测试目标
-
功能测试
- 功能测试主要关注系统各项基本功能是否按照预期工作。针对系统的不同模块,如对话场景设定、用户登录与认证、账户管理、支付系统等功能模块,测试人员会设计并执行相应的测试用例。通过正常和异常操作流程的测试,确保所有功能点正确实现,且不存在遗漏或错误。
-
性能测试
- 性能测试旨在评估系统在不同负载下的表现。测试人员会模拟多用户并发访问、大量数据请求等场景,观察系统的响应时间、资源消耗情况等指标。通过性能测试,确保系统在高负载下能够保持稳定运行,避免出现延迟、卡顿或崩溃等问题。
-
兼容性测试
- 兼容性测试用于验证系统在不同操作系统、浏览器和设备上的表现是否一致。测试人员会在多种平台上安装和运行系统,检查其界面显示、功能操作、数据交互等方面是否存在问题。通过兼容性测试,确保系统具备广泛的适用性和良好的用户体验。
-
安全性测试
- 安全性测试关注系统是否存在安全漏洞和隐患。测试人员会利用专业的安全测试工具和技术,对系统进行漏洞扫描和攻击模拟。他们会检查系统的身份验证、权限控制、数据加密等方面是否安全可靠。通过安全性测试,可以及时发现并修复潜在的安全问题,保护用户数据和系统安全。
-
用户体验测试
- 用户体验测试关注系统的用户界面、操作流程和交互体验是否友好。测试人员会邀请真实用户或专业评测人员试用系统,收集他们的反馈和建议。他们会评估系统的易用性、美观性、响应速度等方面,并提出改进意见。通过用户体验测试,不断优化系统设计和功能,提高用户满意度。
测试种类 | 测试标准 |
---|---|
功能测试阶段 | a.测试各个模块以及窗口所完成的功能是否准确,操作是否简洁方便b.功能键是否描述准确、齐全,操作方便c.界面是否设计简洁、符合用户需求 |
数据测试阶段 | a.输入正确数据是否能按照预期的答案回显b.是否能识别错误的输入数据,并给予正确的信息提示 |
系统稳定性测试 | a.在几种常用的操作系统下是否能顺利运行b.在与其他软件并行时是否运行正确。 |
测试任务 | 人员安排 | 时间估计 | 起始时间 |
---|---|---|---|
各项功能的测试 | 唐立伟、吴秋雪 | 3天 | 2024/11/16 |
完成所有模块的组合测试 | 李思柔、黄妍仪 | 2天 | 2024/11/14 |
确定各项数据都是准确的 | 何晓漫 | 2天 | 2024/11/12 |
支付功能是否准确 | 吴秋雪 | 2天 | 2024/11/18 |
压力测试 | 唐立伟 | 1天 | 2024/11/21 |
系统稳定性测试 | 黄妍仪 | 2天 | 2024/11/21 |