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