团队作业3--需求改进&系统设计
软件工程 | 班级链接 |
---|---|
作业要求 | 作业要求 |
作业目标 | 改进项目需求分析和原型设计,进行系统设计,完成项目执行与测试的计划制定 |
github仓库 | 团队项目 |
队名:P人大联盟
团队成员
姓名 | 学号 |
---|---|
王睿娴 | 3222003968 |
张颢严 | 3222004426 |
梁恬(组长) | 3222004467 |
潘思言 | 3222004423 |
以下文本中添加“ * ”号表示只是预期,最终实现与否得看开发时间与技术难度等实际情况
1、需求&原型改进
情感分析系统
1.1、选题及需求的修改
问题1 | 用户需求的分析文本数据范围较小,需特殊化 |
---|---|
修改1 | 添加功能:用户在输入微博网址链接外可另输入重点关注的词语或句子,以缩小搜索范围,精确化真正需求的分析结果 |
问题2 | 用户需求更详细的文本情感分析结果 |
修改2 | 添加功能:系统在生成整体文本的词云图基础上,增加生成关于情感极性结果的词云图。如:情感极性结果为正面,则会增加生成表达正面情感的文本数据的词云图 |
问题3 | 用户需求更具体,直接的基于情感分析结果的广告或营销策略的改进意见 |
*修改3 | 添加功能:系统在生成情感极性结果之后,根据情感极性结果相关的文本数据分析出的关键词,以一定的句式向现有的chatgpt或其他ai助手提问,并向用户给出chatgpt或其他ai助手给出答案的网址链接,用户可点击链接跳转至chatgpt或其他ai助手页面,查看改进建议 |
问题4 | 项目技术实现上可搜索并使用现有的基础情感分析系统 |
修改4 | 添加规划:查找对应的开源资源并学习实践如何将其应用于团队项目 |
1.2、需求规格说明书的改进
1.2.1、初稿的不足
类型 | 具体不足 |
---|---|
功能考虑不全 | 用户想要更小更有效的文本分析范围 |
功能考虑不全 | 用户想要更直观更具体的分析结果,数据与建议 |
文档缺少描述 | 文档目录,对一些概念的定义说明,参考文献 |
文档缺少描述 | 用户场景,一般约束,假设与依据 |
文档缺少描述 | 外部接口需求,性能需求,属性,验收标准 |
以下将为需求说明规格书改进,增加的具体内容
1.2.2、目录
- 1、引言
- 1.1、目的
- 1.2、文档结构
- 1.3、预期读者
- 1.4、定义说明
- 2、项目概述
- 2.1、背景
- 2.2、项目目标
- 2.3、一般约束
- 2.4、假设与依据
- 3、需求分析说明
- 3.1、面向用户需求分析
- 3.2、典型用户使用场景
- 3.3、功能性需求
- 3.4、技术需求
- 3.5、外部接口需求
- 3.6、性能需求
- 4.、验收标准
1.2.3、文档结构
- 文档包括项目背景,项目目标,面向用户需求分析,功能需求,技术需求,性能需求,验收标准等内容,以便读者了解情感分析系统项目的全面信息
1.2.4、定义说明
使用的词汇 | 定义说明 |
---|---|
情感分析 | 使用自然语言处理、文本分析、计算语言学和数据挖掘技术来识别、提取、量化和研究情感表达 |
情感极性 | 情感表达所带有的情感倾向性,分为正面、负面和中立 |
词云图 | 将文本数据中出现频率较高的词汇以不同大小、颜色和字体显示的视觉化工具 |
1.2.5、项目目标
- (1)对用户输入的想要分析的微博词条网址链接里的且跟输入词句重点相关的文字数据进行情感分析
- (2)然后得出关于该微博词条与关键词的文本数据表达的情感信息是正向,负向还是中立结果
- (3)并给出关于该词条的整体和情感极性结果相关文字数据的词云图
- (4)*最终还应用现有chatgpt或者其他ai助手显示根据分析结果对营销策略等方面的建议
1.2.6、一般约束
进行本软件开发工作的约束条件 | 具体阐释 |
---|---|
开发周期短 | 一个半月的开发时间需要开发者合理规划时间,因此项目功能开发时有所侧重,甚至是取舍 |
所采用的方法与技术有限 | 项目团队成员的知识技术水平不够成熟,因此在开发中需要一边并发学习多种技术和能力一边开发实际项目 |
1.2.7、假设与依据
本项目是否能够成功实施,主要取决于以下的条件:
- (1)团队成员的积极合作配合,为了项目的开发和实施,对个人时间进行合理规划同时为团队做出合理牺牲,配合队友完成任务
- (2)团队开发前期搜查并形成完整详细的功能和性能需求资料,以便于团队对其进行分析,从而形成完善的软件需求
- (3)团队掌握先进的能够适用于该项目的技术,这是系统的性能是否优化和项目能否成功的保证
1.2.8、典型用户使用场景
(1)用户特征描述
化名 | 小A |
---|---|
用户身份 | 某企业的产品营销经理, 负责市场研究,产品定位,产品推广,营销策略制定等方面 |
使用环境 | 主要环境是公司。家中,地铁以及其他地方也可以成为使用该软件的次要环境 |
生活工作情况 | 经常需要收集分析大量市场或用户信息来佐证,辅助,调整营销推广策略的制定 |
知识层次与能力 | 深度了解市场营销学等营销专业知识,但对计算机数据分析的专业知识并不熟悉 |
用户的动机 | 希望能够高效利用社交媒体中的用户对产品发表的内容,分析出市场用户对产品的情感态度与信息,进而得到有效的,较为准确的营销推广的改进建议 |
用户的困难 | 现有网络的内容庞杂而繁复,很难在有针对性且高效准确地找到文本数据,得出分析结果。其大量的时间就在甄别与筛选过程中浪费掉 |
用户的偏好 | 能有更多自主性去选定数据获取范围,软件使用便捷,无需花费太多时间学习如何使用 |
(2)用户场景描述
- 小A近期请了小B明星为自己企业的产品C录制了一份广告并在微博上发布了的相关词条
- 小A看着发布的微博词条下各式各样的评论内容,把握不准该广告的发布效果与后续的营销策略
- 小A希望能够使用易操作的软件来分析在当前用户对广告的情感信息,并显示直观易懂的分析结果与建议
(3)解决方法
步骤 | 详细描述 |
---|---|
进入系统输入界面 | 小A在他人的推荐下,选择了我们的情感分析在线系统,点开了我们情感分析系统应用的网址链接,网址链接打开后即刻进入到输入界面 |
输入微博词条网址与关键词 | 小A根据界面指示,将广告发布的微博词条网址复制到网页指示的输入框,并在另一个输入框中输入小A想要重点关注的词语或者句子 |
点击情感分析按钮 | 小A点击界面中的“进行情感分析”的按钮 |
跳转结果展示界面 | 输入界面跳转至结果展示界面 |
查看情感极性分析结果 | 结果展示界面标识输入网址中跟重点词句相关的文本内容的情感极性结果是正面,负面还是中立 |
查看词云图 | 结果展示界面显示关于该网址中跟关键词相关的文本数据的词云图,和跟情感极性结果相关的文本数据的词云图 |
*显示建议网址链接 | 结果展示界面显示一个建议网址链接 |
*点击建议网址链接 | 小A点击该网址链接链接 |
*跳转chatgpt或者其他ai助手 | 从结果展示界面跳转至chatgpt或其他ai助手页面 |
*收获改进建议 | 页面显示——已将根据分析结果与输入重点词句的生成的建议提问发送给chatgpt或者其他ai助手,ai助手回复对应的改进建议。小A可以根据回复的改进建议继续向chatgpt或者其他ai助手提问,收获更具体的改进建议 |
1.2.9、功能性需求
功能需求 | 描述 |
---|---|
数据收集 | 根据用户输入微博网址和重点关注的词句,有针对性地爬取微博网址中与关键词相关的文本数据 |
数据预处理 | 对提取的文本进行处理,以提高数据质量,得出较为准确结果 |
情感分析 | 对预处理后的文本进行情感是正向,负向还是中立的分析 |
用户界面 | 给出可输入特定微博词条网址的输入处,显示情感分析结果 |
数据可视化 | 生成整体文本数据的词云图,与符合情感极性的文本数据的词云图 |
*建议生成 | 基于分析结果与输入的词句生成建议提问,链接chatgpt或者其他ai助手,发送对应提问 |
1.2.10、外部接口需求
(1)用户接口要求
接口类型 | 详细要求 |
---|---|
输入接口 | 支持用户通过Web表单输入微博词条网址链接和关键词,输入字段应包含文本框和提交按钮 |
输出接口 | 展示情感分析结果、词云图和营销策略建议的Web页面,结果应以图表和文本形式清晰展示 |
错误处理 | 对于无效输入或链接,应提供明确的错误提示信息 |
*安全 | 用户输入的数据应通过HTTPS加密传输,防止数据泄露 |
(2)软件接口要求
软件组件 | 接口规范 |
---|---|
后端服务 | 应支持类似RESTful API等接口,实现前后端以及各个功能模块之间的数据传输与交换 |
*数据库 | 应支持高并发读写操作,快速查询和存储分析结果 |
(3)通信接口要求
通信要求 | 通信规范 |
---|---|
可靠性 | 系统应保证可靠性,确保数据传输的完整性和准确性 |
异常处理 | 系统应能够处理服务不可用等情况,并提供相应的错误消息 |
*延迟 | 系统应优化以减少分析和响应时间,提高用户体验 |
1.2.11、性能需求
性能类型 | 具体描述 |
---|---|
响应时间 | 系统应在用户输入微博网址和关键词后,10秒内开始爬取数据。情感分析应在数据爬取完成后30秒内返回结果 |
并发处理 | 系统应支持至少100个用户同时进行数据爬取和分析 |
大数据处理 | 能够处理至少10,000条文本数据的情感分析,确保结果准确 |
可用性 | 系统应在99.9%的时间内可用,确保用户随时访问 |
*安全性 | 系统应保护用户输入的数据,防止未经授权的访问和数据泄露 |
1.2.12、验收标准
类型 | 验收标准 |
---|---|
功能性 | 能够成功爬取用户指定微博网址和关键词相关的文本数据 |
能够对爬取的数据进行情感分析,并正确分类为正向、负向或中立 | |
生成整体文本数据的词云图和符合情感极性的词云图 | |
用户界面简洁易用,用户可以轻松输入微博网址和重点关注词句 | |
分析结果和词云图直观易读 | |
*根据分析结果与用户重点关注词句,提出改进建议 | |
性能 | 在用户输入后10秒内开始爬取数据,30秒内返回分析结果 |
支持至少100个用户同时使用系统而不影响系统响应时间与正常运行 | |
可用性 | 系统在99.9%的时间内可用,无重大故障 |
*安全性 | 用户数据和分析结果安全无泄露,具有防止未经授权访问的措施 |
1.3、功能分析的四个象限
杀手功能 | 外围功能 | |
---|---|---|
必要需求 | 精准的数据收集处理和情感分析 | 易用的用户界面 |
辅助需求 | 基于情感结果生成的词云图 | *基于关键词与情感结果向ai助手提问,显示建议 |
1.4、任务分解WBS图
1.5、项目进度计划调整
第11周 | 任务 | 预估时间(小时) |
---|---|---|
1. 原型设计改进(给目标用户展现原型,并进一步理解需求) | 5 | |
2. 架构设计,Work Breakdown Structure | 6 | |
3. 团队项目Alpha任务分配计划 | 4 | |
4. 编写测试计划 | 3 | |
第12、13周 | 任务 | 预估时间(小时) |
1. 每日Scrum Meeting博客+代码提交 | 0.5,共7 | |
2. 连续7天的Alpha敏捷冲刺 | 每人每天各3,每人共42 | |
2.1. 数据收集与预处理模块开发 | 21.5 | |
2.2. 情感分析模块开发 | 19 | |
2.3. 数据可视化模块开发 | 2 | |
2.4. 用户交互模块开发 | 9 | |
2.5. *建议模块开发 | 9 | |
2.6. 系统集成 | 17 | |
2.7. 系统测试 | 14 | |
2.8. 优化系统 | 10 | |
第14周 | 任务 | 预估时间(小时) |
1. 收集用户反馈+测试计划改进 | 8 | |
2. 团队Alpha阶段个人总结 | 6 | |
3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | 6 | |
第15周 | 任务 | 预估时间(小时) |
1. 团队项目Alpha博客:事后分析 | 4 |
2、系统设计
2.1、系统的架构设计
3、Alpha任务分配计划
3.1、功能项的选取与Product Backlog
3.1.1、功能模块
- 数据收集与预处理模块
- 情感分析模块
- 数据可视化模块
- 用户交互模块
- *建议模块
- 系统集成模块
3.1.2、功能模块的优先级与依赖关系
- 优先级从1到6逐级降低
功能模块 | 优先级 | 依赖关系 |
---|---|---|
数据收集与预处理模块 | 1 | 无 |
情感分析模块 | 2 | 依赖于数据收集与预处理模块 |
数据可视化模块 | 3 | 依赖于情感分析模块 |
用户交互模块 | 4 | 依赖于数据可视化模块和情感分析模块 |
系统集成模块 | 5 | 依赖于所有其他模块 |
*建议模块 | 6 | 依赖于数据可视化模块 |
3.1.3、选取的功能项
- 数据收集与预处理模块:数据抓取,数据清洗,文本预处理
- 情感分析模块:情感模型训练,情感分析
- 数据可视化模块:词云生成
- 用户交互模块:用户界面
- *建议模块:生成提问,链接gpt并发送提问
- 系统集成模块:部署接口,集成模块
3.1.4、Product Backlog
3.2、功能项的分配,分解与Sprint Backlog
3.2.1、功能项的分配
功能项 | 分配时间(单位:小时 | 编码队员 |
---|---|---|
数据抓取 | 6 | 王睿娴 |
数据清洗 | 6.5 | 王睿娴 |
文本预处理 | 9 | 王睿娴 |
情感模型训练 | 12 | 张颢严 |
情感分析 | 7 | 张颢严 |
词云生成 | 2 | 梁恬 |
用户界面 | 9 | 潘思言 |
生成提问 | 4 | 潘思言 |
链接gpt并发送提问 | 5 | 潘思言 |
部署接口 | 9 | 梁恬 |
集成模块 | 8 | 梁恬 |
3.2.2、功能项的分解与Sprint Backlog
3.3、冲刺计划的甘特图
4、测试规划
4.1、产品
- 情感分析系统
4.2、测试目标
- 确保情感分析系统的所有功能模块在预期条件下正常运行,并满足用户需求和性能标准
4.3、测试方法
- 单元测试:对每个模块的独立功能进行验证
- 集成测试:验证模块间的接口和交互
- 用户测试:收集用户反馈,评估系统易用性
- 系统测试:验证整个系统的功能和性能
4.4、测试停止条件
- 所有关键功能通过测试,并达到预定的准确率和性能标准
- 所有已知的关键缺陷被修复
- 用户测试反馈满意度达标
4.5、测试环境和工具
- 测试环境:开发环境和模拟生产环境
- 测试工具:自动化测试框架(如JUnit、Selenium)、性能测试工具(如JMeter)、缺陷跟踪系统
4.6、测试数据
- 正常数据和边界数据,以及异常数据
4.7、测试计划表
测试内容 | 时间安排 | 负责队员 | 测试方法 | 测试停止条件 |
---|---|---|---|---|
数据收集与预处理功能测试 | 2024.11.23 | 王睿娴 | 单元测试 | 功能正确执行,无关键缺陷 |
情感分析功能 | 2024.11.23 | 张颢严 | 单元测试、集成测试 | 情感分析准确率达标,无关键缺陷 |
用户交互功能 | 2024.11.23 | 潘思言 | 集成测试,用户测试 | 交互可用正常率达标,用户满意度达到90% |
词云生成功能 | 2024.11.23 | 梁恬 | 单元测试,用户测试 | 词云图正确生成,用户满意度达标 |
*GPT建议功能 | 2024.11.23 | 潘思言 | 集成测试,用户测试 | 建议有效生成,用户满意度达标 |
响应时间性能 | 2024.11.24 | 潘思言 | 系统测试 | 响应时间符合要求 |
并发处理性能 | 2024.11.24 | 张颢严 | 系统测试 | 支持至少100个并发用户 |
大数据处理性能 | 2024.11.24 | 王睿娴 | 系统测试 | 处理10,000条数据无延迟 |
可用性性能 | 2024.11.24 | 梁恬 | 系统测试 | 系统可用性达到99.9% |