团队作业2-《需求规格说明书》

广工枢纽:需求规格说明书

这个项目属于哪个课程 课程链接
作业要求 作业链接
作业的目标 完成团队需求规格说明书、分工,讨论方案可行性
Github链接 仓库地址

1. 引言

1.1 目的

本系统“广工枢纽”旨在为广东工业大学师生提供一个一站式校园信息服务平台。系统通过自动化爬取校园通知、水电服务、后勤公告、教务信息等数据,构建结构化知识库,并结合大语言模型提供智能问答与信息检索功能,实现以下目标:

  • 集中信息:将分散在多个网站的校园公告和服务信息统一呈现;
  • 智能查询:用户可通过自然语言提问,由大语言模型结合知识库生成准确、易理解的回答;
  • 高效更新:爬虫定期采集信息,保证数据及时、可靠;
  • 增强用户体验:通过清晰界面与交互设计,提高信息获取的便利性和视觉体验。

1.2 项目背景

目前,广东工业大学师生在获取校园信息时存在以下痛点:

  1. 信息分散:通知、公告、服务信息分布在不同网站和平台;
  2. 访问繁琐:需要频繁切换页面,增加查找成本;
  3. 更新不及时:部分信息更新延迟或难以追踪。

广工枢纽通过技术手段集中信息,结合知识库与智能问答,为师生提供便捷、高效的校园信息服务平台,实现“信息集中化、可查询、易用化”

1.3 系统功能概述

我们计划完成一下三个界面,详见框架图章节

1.3.1 登录界面

  • 用户输入学号/工号及密码进行身份验证。
  • 登录后可进入首页。

1.3.2 首页

  • 信息栏目:跳转到相关关键词条目,如校园通知、水电服务、教务公告、后勤通知等。
  • 自然语言问答:用户输入问题,系统结合知识库与大模型生成回答。

1.3.3 通知与公告界面

  • 按类型分类:校园通知、水电服务、教务公告、后勤通知等。
  • 详情查看:点击通知标题查看完整内容。
  • 关键词搜索:可按关键词、时间区间筛选通知。
  • 通知更新:结合爬虫实时更新水电服务公告。
  • 考试安排:提供各类考试、比赛时间、地点及报名信息。
  • 公告与提醒:教务通知、选课提醒等集中显示。

1.4 系统特点与核心竞争力

  1. 信息集中化:整合校园各类信息源,减少用户访问成本。
  2. 智能化查询:结合大语言模型与知识库,实现自然语言问答。
  3. 实时性与可靠性:爬虫自动采集并清洗数据,保证信息及时更新。
  4. 用户体验优先:界面简洁、交互直观。
  5. 可扩展性强:模块化架构,易于增加新的信息源或功能。

2. 系统价值分析

2.1 真实性

2.2 可用性

  • 易用界面:采用 Vue.js 构建简洁、响应式前端页面,支持询问、关键词查看等交互方式,用户无需培训即可使用。
  • 高效信息获取:通过关键词搜索和智能问答功能,用户可在几秒内获取所需信息,减少浏览多个网站的时间。
  • 轻量化部署:系统采用 JSON 知识库 + 本地前端,无需复杂数据库和服务器即可运行,便于快速部署和维护。

2.3 价值所在

  • 节省时间成本:帮助师生快速获取信息,提高校园生活与教学效率。
  • 信息集中与智能化:将分散信息整合为可检索知识库,并通过大模型 API 提供智能问答,提升信息利用效率。
  • 可扩展性强:可扩展至更多校园信息源或其他高校,具备推广价值。
  • 技术实践价值:涵盖爬虫、数据清洗、前端开发、AI 接口调用等多项技术。
  • 情怀:从学生视角出发解决校园生活痛点,让校园信息服务更智能、更贴心。

3. 面向用户分析

2.1 用户群体

在校学生、教师,查询课程通知、活动安排、宿舍水电信息、后勤服务、最新教学安排、校内公告及通知。

2.2 用户需求

  • 快速获取信息:无需访问多个网站,一站式查询。
  • 智能问答:自然语言输入问题,系统返回简洁、准确的回答。
  • 信息可视化:界面清晰、交互友好,支持搜索、列表、时间线查看等功能。
  • 实时更新:保证数据及时抓取并同步到知识库。

2.3 预期用户数量

  • 首期测试用户:约 25 人
    • 包括身边的熟悉的在校学生和教师,用于内部试用、反馈收集和系统优化。
  • 正式部署后潜在用户20,000 人
    • 覆盖广东工业大学全校在校学生、教职工及相关校内部门人员。

4. 需求分析

(1) 功能性需求

功能模块 功能描述 输入 输出
数据采集模块 自动爬取校园通知、水电信息、公告等 网站URL、爬取规则 JSON结构化数据
数据清洗与知识库构建 对爬取信息进行去重、分类、格式化 原始爬取数据 可检索的知识库
智能问答模块 根据用户问题从知识库中检索信息并生成回答 用户自然语言问题 精炼回答文本
前端展示模块 提供网页界面展示信息和问答交互 用户操作 页面显示信息列表、搜索结果、问答结果
搜索与关键词匹配 支持关键词搜索和内容过滤 用户关键词 匹配条目列表
日志与监控 记录数据采集、处理、问答操作日志 系统事件 日志文件

(2) 技术需求

5.1 前端

  • 技术栈:HTML5、CSS3、JavaScript、Vue.js
  • 功能:响应式界面设计、用户交互、搜索与问答显示
  • 输出:可访问的网页应用

5.2 后端 / 数据处理

  • 技术栈:Python,及Requests、BeautifulSoup、Pandas、JSON等相关库
  • 功能:数据爬取、清洗、存储、知识库维护
  • 输出:结构化知识库文件

5.3 AI 接口

  • 技术栈:OpenAI API 或通义千问 API
  • 功能:接收用户问题,将知识库内容作为 prompt 输入,返回生成文本
  • 输出:智能问答结果

5.4 系统环境

  • 浏览器兼容 Chrome、Edge、Firefox

5.5 其他

  • 性能:前端页面响应时间 < 2 秒,问答流式输出
  • 可维护性:模块化设计,方便后续扩展或功能调整
  • 可靠性:爬虫与数据处理具备错误处理机制,防止数据缺失或重复
  • 可扩展性:可增加更多信息来源或接入其他高校系统

5. 系统框架图及初步界面

(1) 框架图

(2) 系统原型图

  • 登录页

  • 首页

  • 查询页

  • 通知页

团队计划

1. 修正后计划

周次 时间段 主要目标 具体任务内容 相关成员 预计工时 预期成果
第11周(深化设计与计划阶段) 第1–2天 用户反馈与原型改进 1. 向潜在用户(学生/老师)展示原型页面并收集反馈(功能可用性、界面交互、信息布局)
2. 根据反馈调整UI层次、交互逻辑与信息结构
3. 记录典型需求点与问题清单
前端负责人+产品设计负责人 每人3h×2天 改进版原型图、用户反馈报告
第3–5天 系统架构与数据流设计 1. 明确系统分层结构(数据采集层 → 清洗层 → 知识库层 → 前端展示层)
2.评审架构的可扩展性与模块边界
技术负责人+后端负责人 每人3h×2天 系统架构图、数据流图初稿
第6–7天 测试计划与阶段总结 1. 编写《测试计划文档》:包括测试目标、测试类型(功能/接口/UI)、初步用例样例。
2. 讨论风险点(如API限流、数据更新频率)并制定应对方案。
3. 汇总优化最终开发计划
全体成员 每人3h×2天 测试计划文档、风险应对表、阶段总结报告
周次 时间段 主要目标 具体任务内容 相关成员 预计工时 预期成果
第12周(Alpha阶段启动) 第1天 模块启动与分工 1. 建立爬虫与前端项目框架
2. 明确接口数据格式(JSON)
全体成员 每人3h×3天 接口文档、项目框架初始化
第2–4天 数据采集与前端框架初版 1.完成校园通知、水电服务页面数据爬取
2. 清洗并结构化数据保存为JSON格式
3. 前端完成Vue路由、页面布局与组件初版
全体成员 每人3h×3天 爬虫与JSON知识库初稿、前端主页面可展示
第5–6天 接入智能问答接口 1. 调通LLM API接口,实现知识库+prompt输入输出
2. 前端联调问答接口,支持输入查询
全体成员 每人3h×3天 Alpha版本初步闭环
第7天 Alpha功能联调 1. 完成本地测试与初步性能验证
2. 修复爬虫与问答逻辑的兼容问题
全体成员 每人3h×3天 可运行Alpha版本初版、阶段小结报告
周次 时间段 主要目标 具体任务内容 责任人 预计工时 预期成果
第13周(Alpha整合与测试) 第1–3天 系统整合与调试 1. 整合爬虫数据、知识库API与前端UI
2. 调试接口返回数据格式与响应时间
全体成员 每人3h×3天 Alpha可运行闭环Demo
第4–6天 内部测试与验证 1. 编写测试用例(功能+接口),进行单元测试与接口测试
2. 收集错误日志,修复主要Bug
全体成员 每人3h×3天 Alpha测试报告、问题清单
第7天 阶段总结与展示 1. 完成《Alpha阶段总结报告》
2. 内部展示Alpha版本,收集团队反馈
全体成员 每人3h×3天 阶段总结文档、展示Demo

2. 原有安排

周次 主要目标 具体任务内容 责任人 时间估计 输出成果
第10周 项目立项与准备阶段 1. 明确项目目标与功能范围,完成《需求规格说明书》初稿。 2. 绘制系统功能框架图与初步界面原型(包括主页、通知页、查询页)。 3. 确定前后端技术栈(Vue.js + Python爬虫 + JSON知识库 + LLM API)。 4. 建立项目仓库(GitHub/Coding),制定统一代码规范与接口标准。 5. 完成开发环境配置与数据采集测试脚本验证。 全体成员 20h 1. 需求规格说明书初稿 2. 原型设计初版 3. 仓库与协作平台搭建完成
第11周 深化设计与计划阶段 1. 收集潜在用户(学生/老师)对原型的反馈并改进交互逻辑。 2. 绘制系统架构图、数据流图及WBS工作分解结构。 3. 明确模块分工(爬虫模块、清洗模块、知识库模块、问答模块、前端展示模块)。 4. 制定《测试计划文档》,撰写测试目标与初步用例。 全体成员 25h 1. 完整原型图 2. 系统架构/WBS图 3. 模块分工与工期表 4. 测试计划文档
第12周 Alpha阶段启动(敏捷冲刺) 1. 按WBS分配任务,制定7天Alpha冲刺目标。 2. 完成数据采集与清洗模块初版(Python爬虫 + 正则提取 + JSON结构化存储)。 3. 前端完成页面框架搭建(Vue + 路由 + 页面切换)。 4. 接入LLM API,实现基础Prompt问答功能。 5. 每日Scrum Meeting,撰写冲刺日志。 全体成员 每人3h×7天 1. Alpha版本核心模块初版 2. 7篇冲刺日志 3. 可运行代码版本
第13周 Alpha阶段收尾与整合 1. 集成爬虫、知识库与前端展示,实现基础闭环。 2. 完成接口调试与本地部署测试。 3. 撰写《Alpha测试报告》与阶段总结。 4. 展示Alpha Demo,收集组内评审意见。 全体成员 15h 1. 可运行Alpha Demo 2. Alpha测试报告 3. 阶段总结文档
第14周 用户反馈与改进 1. 向部分学生开放Alpha Demo试用,收集使用反馈。 2. 优化LLM回答逻辑与知识检索精度。 3. 更新UI细节与关键词检索交互体验。 4. 撰写并发布《Alpha博客》。 全体成员 18h 1. 用户反馈汇总表 2. 改进版测试计划 3. Alpha博客发布版
第15周 项目反思与优化 1. 进行项目Postmortem分析,总结开发中出现的问题与改进建议。 2. 撰写《项目反思报告》与Alpha博客“事后分析篇”。 3. 确定Beta阶段优化方向(包括数据更新机制、前端搜索优化等)。 全体成员 10h 1. 事后分析报告 2. 团队反思总结 3. Beta阶段计划草案

3. 矫正计算方法

计算内容 原计划 修正后 差异说明
时间粒度 按“周”为单位(7天一阶段) 按“3天”为单位(细化为迭代周期) 修正后可更快反馈开发风险,符合敏捷冲刺节奏
任务拆解 模块级(爬虫、前端、API) 功能级(数据采集、清洗、接口调试、前端交互) 提高可追踪性与任务验收精度
成果检查 阶段性(Alpha完结后评估) 每3天产出一次中间成果(如JSON文件、Demo界面) 便于形成持续交付与滚动改进

计划修正公式:

\[修正后进度 = 原计划进度 × 任务完成率 × 调整系数 \]

若第12周原计划完成度为 100%,实际任务完成率为 80%,调整系数 1.1,则修正后进度 = 100% × 0.8 × 1.1 = 88%,用于动态评估进度偏差并调整后续节奏,修正系数实际由当前周平均完成进度决定。

4. Issue截图

5. 团队分工

成员 角色定位 主要负责任务 项目分工内容 本周完成情况 本周完成感想
王韵清 算法开发 数据爬取与大模型调用 1. 校园通知、水电系统的爬取。
2. 调用大模型api与前端输出联调
调研了爬虫相关技术及校园信息网页结构 在共同撰写《需求规格说明书》的过程中,我主要负责与前端同学进行沟通与协作,探讨并确定最适合与算法模块对接的响应方式。在此过程中,我不仅加深了对前后端数据交互机制的理解,也更加明确了接口设计在系统整体架构中的重要性。同时,通过了解学校网页结构与爬虫相关技术,我对信息获取与数据处理的实现流程有了更深入的认识。
曾钰仪 算法开发 知识库架构设计与接口标准设计 1. 设计JSON知识库结构与存储格式。
2. 规划数据接口输入输出规范。
调研了知识库建立的相关技术及设计思路及接口设计规则 为期一周的知识库设计调研,让我对软件工程项目中知识库的搭建有了系统认知。调研过程中,我深入了解了不同技术的架构与区别,也体会到接口规范对后续开发的重要性。根据项目需求,我初步选定了设计方向。接下来我将着手于明确设计方案并落实,为项目构建高效、稳定的知识库体系。
徐伊彤 算法开发 数据清洗与数据存储 1. 完善爬取数据清洗规则(正则、文本清理)。
2. 编写数据处理脚本将原始数据存储为结构化JSON。
调研了数据清洗相关规则及技术及数据处理技术 为期一周的数据清洗规则及处理技术调研,让我系统掌握了项目数据治理核心环节。调研中理清了清洗规则的适用场景与核心逻辑,明确了标准化处理流程对后续工作的关键作用,结合项目需求,已初步确定技术选型与设计思路。后续将细化方案并落地,为项目搭建精准高效的数据处理支撑体系。
吴佳童 前端开发 页面交互与路由配置 1. 完成表单验证与数据绑定。
2. 测试前后端接口联调可用性。
调研了不同数据的传输方式、输出请求的相应处理 在本次撰写《需求规格说明书》中,通过与产品ui和后端沟通需求的过程中,我深刻理解到,组件规范与接口设计是保障项目工程化水准的关键所在。在与后端同学进行技术方案调研时,前后端联调接口决定采用 responseType: 'stream' 来处理流式响应以此确保大规模数据传输场景下的性能与用户体验。后续将根据设计规范,实现核心的模块,接入后端API,实现关键业务逻辑。
张洁 前端开发 前端框架搭建与组件规划 1. 搭建前端组件模板与公共样式,实现页面切换、菜单栏交互与响应式布局。
2. 与UI设计对接。
调研了前端界面的相关项目及设计思路 参与本次需求规格说明书撰写,感谢团队伙伴们的协作与支持,让文档得以顺利完善。同时我也意识到,自己在前端部分内容细节、跨模块衔接描述上还有不足,后续会及时补充优化,为项目推进做好支撑。
李恺凝 UI/产品设计 原型设计与用户体验规划 1. 绘制初步原型,包括主页、通知页、查询页。
2. 设计交互逻辑图及风格指南。
3. 调研优化用户体验、色彩和排版。
完成并优化了原型的初步设计,产出网页整体的流程规划用于后续项目推进 本次页面初步设计原型图的制作中,我通过对产品进行用户画像和群体调研,进行了产品的页面功能规划设计和配色选择,采用对话框进行智能问答+索引分类查找双模式,降低信息获取成本。配色选用科技蓝搭配浅灰传递专业可靠感。整体设计贴合用户场景,兼顾使用感和体验感。
戴军霞 项目测试 测试与规范制定 1. 撰写《需求规格说明书》初稿。
2. 建立测试计划框架及初步测试用例模板。
调研了知识库、爬虫相关的优化、测试方法 初步学会从撰写《需求规格说明书》初稿中梳理系统功能与性能需求,也了解知识库、爬虫相关的测试方法。在搭建测试计划框架、设计初步用例模板时,初步理解了如何结构化规划测试工作。
posted @ 2025-11-12 21:10  sevanthea7  阅读(8)  评论(0)    收藏  举报