团队作业2——《需求规格说明书》
团队作业2——《需求规格说明书》
这个作业属于哪个课程 | <计科22级34班> |
---|---|
这个作业要求在哪里 | <作业要求> |
这个作业的目标 | 完成《需求规格说明书》的撰写,并根据现有进度调整时间安排 |
GitHub 链接 | https://github.com/tangliweiwww/ChatGpt |
✨一、团队
1.团队名称:Elegance
2.团队成员
姓名 | 班级 | 学号 |
---|---|---|
唐立伟(组长) | 计科4班 | 3122005404 |
吴秋雪 | 计科3班 | 3222004892 |
黄妍仪 | 计科4班 | 3222004767 |
李思柔 | 计科4班 | 3222004638 |
何晓漫 | 计科4班 | 3222004765 |
✨二、需求规格说明书
1.系统概述
Elgance对话家园
- 此项目以应用OpenAI技术,对接多种大模型提供生成式服务。项目的架构设计实现以微服务进行拆分,涵盖;OpenAI-SDK、OpenAI-API、公众号鉴权等。并以模块化设计,积木式构建应用,让不同的场景诉求都可以配置化对接。
- OpenAI 大模型有多种,这部分在架构上设计独立的 SDK,在实现上采用了 Session 会话模型进行处理,以及通过工厂处理服务。在细节对上,采用了 OKHttp3 框架完成模型对接,这样的方式更好扩展,代码也更易于维护。在整套工程的设计实现中,采用了较多的分治、抽象的思想和设计模式和设计原则知识的运用,来解决各类场景问题。
- 对接微信扫码支付,完成从商品库、下单支付、异步发货、掉单补偿等核心流程实现。让用户可以在线购买对话额度。
- 本项目对接了国内智谱AI ChatGLM,有文生文、文生图、多模态的图文理解等功能。对接的方式是采用会话模型(MyBatis Session)流程,使用 retrofit2 + OkHttp3 框架,封装 OpenAI HTTP 接口。提供统一的出入参,并使用工厂模式,构建 OpenAI 启动阶段所需的验证、日志、执行流程。并最终对外提供 OpenAI 会话服务。
整体流程图:
2.面向用户分析
-
学生群体
- 需求特点:课业辅导、论文写作、知识解答
- 使用场景:学习辅导、作业指导、知识扩展
- 用户特征:对价格敏感、注重效果、使用频率高
-
职场人士
- 需求特点:文案创作、数据分析、商业决策
- 使用场景:工作效率提升、专业建议咨询
- 用户特征:重视时间效率、愿意付费、注重专业性
-
教育工作者
- 需求特点:教学资料生成、试题设计、答疑解惑
- 使用场景:备课、教学设计、学生辅导
- 用户特征:需求稳定、注重准确性
-
创意工作者
- 需求特点:创意激发、内容创作、多样化输出
- 使用场景:创意构思、内容生产
- 用户特征:追求个性化、重视互动性
3.功能性需求
-
核心对话功能
- 多模型选择(GPT-3.5、GPT-4、ChatGLM等)
- 上下文连续对话
- 多场景预设模式
- 历史对话记录保存
-
账户管理系统
- 用户注册与登录
- 账户充值功能
- 使用额度管理
- 个人信息维护
-
高级功能
- 文生图功能
- 多模态理解
- 文档分析与总结
- 代码辅助与优化
-
支付系统
- 微信支付接入
- 订单管理
- 充值记录查询
- 退款处理
-
运营管理
- 用户行为分析
- 使用数据统计
- 系统监控告警
- 错误日志记录
4.技术需求
- SDK设计与开发
- Spring、SpringBoot、MyBatis 等开发框架
- Nginx Auth 验证模块的开发和使用
- okhttp3、retrofit2 网络框架
- Docker 在本地和服务端的配置和部署应用
- React、Typescript构建的前端工程
5.预期用户
项目上线初期:初期公众号引流,注册人数可达1000-2000
项目成熟期:用户数可达10000+
6.系统的真实性、可用性、价值
-
真实性
-
接口对接: 已确认OpenAI提供API接口,可实现对接。
-
模型选择: OpenAI提供多种模型,可通过API进行选择。
-
账户管理: 已规划后端系统,用于管理用户账户、充值和对话次数。
-
本项目将遵循数据保护法规和API使用条款。
-
-
可用性
-
提供简洁直观的用户界面。
-
提供详细的用户手册和在线支持。
-
平台已进行压力测试,确保快速响应和高并发处理能力。
-
实施了数据备份和故障转移机制,确保系统稳定运行。
-
-
市场价值
-
独特的场景切换功能,提供更个性化的对话体验。
-
清晰的盈利模式,包括充值和订阅服务。
-
预期收益模型显示项目具有盈利潜力。
-
项目旨在提高用户的日常工作效率和学习效率。
-
✨三、计划安排
1.时间安排
-
原有的时间安排
第 9 周 1.团队组队、团队博客 2.团队介绍、成员展示、角色分配、选题确定 3.制定团队计划安排,团队贡献分的规定 第10周 1.需求规格说明书 2.原型设计,队员估计任务难度并学习必要的技术 3.编码规范完成、平台环境搭建完成、初步架构搭建 第11周 1.原型改进(给目标用户展现原型,并进一步理解需求) 2.架构设计,WBS, 团队成员估计各自任务所需时间 3.测试计划 第12、13周 1. 团队项目Alpha任务分配计划 2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 第14周 1.用户反馈+测试计划改进 2. 团队Alpha阶段个人总结 3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 第15周 1. 团队项目Alpha博客:事后分析 -
校正后的时间安排
第 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. 项目总结和验收准备 主要调整:
- 延长了核心功能开发时间(第12-13周)
- 将测试工作后移并集中安排
- 为系统优化和文档完善预留充足时间
- 在时间节点后增加完成状态标记(√)
-
校正方法:
- 保持原有周期总长度(第9-15周)不变
- 根据目前已完成的工作内容,调整各阶段工作量分配
- 考虑实际开发进度(已完成系统基础框架)来分配后续时间
- 为核心功能开发预留更充足时间
2.分工安排
工作 | 负责人 | 工作内容 |
---|---|---|
开发 | 吴秋雪、李思柔 | 进行具体编码工作,进行基本的单元测试 |
测试 | 何晓漫 | 计划和组织测试人员对产品进行测试 |
需求分析 | 黄妍仪 | 进行需求分析,准确把握客户需求 |
项目管理 | 唐立伟 | 制定计划并协调资源,撰写文档 |
具体任务安排由团队内部讨论决定,由组长负责监督各组员任务进度
3.issues截图
✨四、现有进度及感想
1.完成情况
工作 | 负责人 | 现有进度 |
---|---|---|
开发 | 吴秋雪、李思柔 | 已完成系统的基础框架,正在优化系统的基础功能 |
测试 | 何晓漫 | 调查了一些潜在用户对于本系统的期望 |
需求分析 | 黄妍仪 | 写完需求规格说明书,研究了用户所需要的功能 |
项目管理 | 唐立伟 | 撰写系统文档,安排团队成员工作 |
2.感想
姓名 | 个人感想 |
---|---|
唐立伟 | 作为项目组长,深感责任重大。在团队协调和任务分配上获得了宝贵经验,同时也认识到技术架构设计的重要性。项目推进过程中,团队成员都展现出了很强的学习能力和协作精神。 |
吴秋雪 | 参与开发工作让我对Spring框架和微服务架构有了更深的认识,在处理前后端交互时遇到不少挑战,但通过查阅资料和团队讨论都得到了解决。 |
黄妍仪 | 负责需求分析让我深入理解了用户思维,学会从用户角度思考问题。在撰写需求文档的过程中,也提升了自己的专业写作能力。 |
李思柔 | 通过这次项目,我对大模型API的调用有了更深入的了解,在处理异步请求和性能优化方面学到了很多。与团队协作的过程也让我明白了沟通的重要性。 |
何晓漫 | 作为测试负责人,我认识到了软件质量的重要性。通过设计测试用例和执行测试,发现了很多潜在问题,为项目质量提供了保障。 |