团队作业3--需求改进&系统设计
广工枢纽:需求改进&系统设计
| 这个项目属于哪个课程 | 课程链接 |
|---|---|
| 作业要求 | 作业链接 |
| 作业的目标 | 完成需求改进与系统设计、规划sprint阶段任务 |
| Github链接 | 仓库地址 |
- 李恺凝 3223004469
- 吴佳童 3223004472
- 戴军霞 3223004815
- 王韵清 3223004816(组长)
- 徐伊彤 3223004818
- 曾钰仪 3223004820
- 张洁 3223004822
一、需求&原型改进
1. 需求改进
整理课堂讨论环节收获如下:
1) 对于项目叙述的准确性
-
问题:经过老师的多次提问,才让老师大致了解我们想实现的东西,缺乏完整的数据流叙述以及清晰的功能流程表达。
-
修改:重新整理项目概述。
本系统“广工枢纽”旨在为广东工业大学师生提供一个一站式校园信息服务平台。系统算法通过自动化爬取校园通知、水电服务、后勤公告、教务信息等数据,构建结构化知识库,并结合大语言模型提供智能问答与信息检索功能,实现以下目标:
- 集中信息:将分散在多个网站的校园公告和服务信息统一呈现;
- 智能查询:用户可通过自然语言提问,由大语言模型结合知识库生成准确、易理解的回答;
- 高效更新:爬虫定期采集信息,保证数据及时、可靠;
- 增强用户体验:通过清晰界面与交互设计,提高信息获取的便利性和视觉体验。
用户使用我们的项目时,可以选择使用问答功能或是信息检索功能。比如想要知道“图书馆近期闭馆时间”,只需要在问答功能中用自然语言输入自己的问题,页面即可给出问题的回答。而如果想对于近期水电服务的修改有整体的了解,可以直接进入水电服务栏目,查看近期发布在各个通知网上的所有水电相关通知。
2) 痛点问题的更深入了解
-
问题:痛点问题仅仅由组员讨论得出,缺乏身边同学更多视角的信息。
-
修改:采访身边的同学,倾听更广泛的看法,凝练更本质的痛点问题。
![]()
-
访谈内容
考虑到视频不便于在博客中展示,我们整理访谈文稿如下:
采访同学:同学你好,想先问问你平时查校园信息,比如课表、活动、通知、成绩这些,一般会打开几个不同的平台呀?
受访同学:至少得3个吧,查学校新闻用官网,看比赛活动用通知公文网,查图书馆信息又得打开图书馆的官网,挺麻烦的。采访同学:有没有遇到过找一个信息,得在好几个平台里翻半天,或者漏掉了某个平台的重要通知的情况?可以具体说说吗?
受访同学:有一次学校发了补办学生证的通知,发在我之前很少打开的通知公文网,我没看到就错过了时间,那条信息被压在新的信息下面一直找不到,最后折腾了好久才补好,特别耽误事。采访同学:如果我们能开发一个通知信息平台,你觉得最想解决的哪个麻烦?
受访同学:如果有一个能把所有校园平台信息都汇总起来的地方就好了,解决“记不住哪个信息在哪个平台”的问题,不用再一个个点开找,省好多时间。采访同学:要是这个平台还能直接用聊天的方式问问题,你会更愿意用吗?为什么?
受访同学:会呀!直接问比自己到处翻方便太多了,比如想知道“明天图书馆闭馆吗”,发一句话就能得到答案,不用特意去图书馆官网里翻通知了。 -
我们总结了具体用户即场景如下:
-
张凯:大二工科学生,信息检索频繁
- 用户身份:广东工业大学计算机学院学生,需要经常查询课程信息与校园公告
- 年龄:20岁
- 用户所占市场比例:35%
- 用户重要性:★★★★★,属于主体用户
- 使用此软件的典型场景:
- 需要快速查询课程安排、实验室开放时间、考试安排等信息
- 查找校园通知、讲座公告,了解活动安排
- 使用环境:教室、宿舍、实验室
- 生活工作情况:课程繁忙,经常需要在短时间内获取准确信息
- 知识层次和能力:熟练使用计算机和常用办公软件,具备基础的信息检索能力
- 用户动机:希望减少在学校多个网站间查找信息的时间
- 用户困难:现有校园网站分散,信息查找效率低
- 用户偏好:喜欢集中、结构化的信息展示和自然语言查询
用户需求/迫切需要解决的问题
张凯想了解图书馆开放时间,同时查看校园最新公告。
假设
1)平台已经整合课程安排、校园通知、后勤公告等信息
2)自然语言问答功能可以处理用户查询
3)用户界面清晰易用,支持多终端访问使用场景
张凯登录“广工枢纽”系统后,直接在问答框输入“我什么时候可以去图书馆还书?”系统即时返回相关安排和开放时间。他随后进入“校园公告”栏目查看近期的讲座安排和通知。通过系统,张凯节省了在多个网站查找信息的时间,获取的信息也更加准确和集中。
-
李慧敏:新生,对校园信息不熟悉
- 用户身份:广东工业大学新生,刚加入学校
- 年龄:18岁
- 用户所占市场比例:20%
- 用户重要性:★★★★,新生群体是增长用户
- 使用此软件的典型场景:
- 查询入学报到、宿舍安排、校园卡充值等基础信息
- 了解校内活动、讲座、社团招新信息
- 使用环境:宿舍、校园、图书馆
- 生活工作情况:对学校资源不熟悉,需要依赖信息平台
- 知识层次和能力:基础计算机操作能力
- 用户动机:快速了解校园生活和学术资源
- 用户困难:对多个网站或公众号信息来源不熟悉,信息获取难度大
- 用户偏好:喜欢简单、可操作的指引和FAQ式查询
用户需求/迫切需要解决的问题
李慧敏需要了解报到流程、宿舍安排和校园卡使用方法。
使用场景
新生李慧敏在入学前访问“广工枢纽”,通过问答功能输入“我的宿舍怎么走?如何开通校园卡?”系统提供清晰的操作指引,并附带流程图和二维码链接。她可以快速完成报到前的准备工作,无需在多个网站或公众号中翻找信息。
-
王晨:教职员工,日常事务频繁
- 用户身份:广东工业大学讲师
- 年龄:28岁
- 用户所占市场比例:15%
- 用户重要性:★★★★,涉及校务信息处理
- 使用此软件的典型场景:
- 查询实验室设备维修通知、水电报修、后勤服务信息
- 发布和跟进实验室公告及教学通知
- 使用环境:办公室、实验室
- 生活工作情况:日常工作需要及时获取信息和通知
- 知识层次和能力:熟悉计算机操作和信息管理工具
- 用户动机:希望减少信息获取环节,提高工作效率
- 用户困难:现有信息渠道分散,通知可能错过
- 用户偏好:喜欢集中化、查询功能
用户需求/迫切需要解决的问题
王晨需要及时获知实验室水电维修、设备更新和后勤服务通知。
使用场景
王晨打开“广工枢纽”系统,进入“水电服务”栏目,查看最近发布的所有通知,并使用问答功能提问“下周实验室停水停电安排是什么?”系统即时返回信息,并可生成提醒通知。他再也不用通过邮件、微信群或多个后台查询,提高了工作效率。
-
-
2. 考虑补全的地方
-
问题1:问答系统可能无法处理复杂多步骤的查询(如“下周实验室和图书馆都有哪些开放时间”),只描述了单一的问答或信息检索功能,没有展示用户如何将多个功能组合使用解决实际问题。
-
解决:引入多agent机制,增加长难句的问题拆解步骤,提升对于用户提问理解的准确性。
-
问题2:网站使用高峰时可能响应慢。
-
解决:增加本地部署缓存的自动更新机制,保证绝大部分时间仍有良好体验。
-
问题3:文档缺少“典型用户场景”的示例,用户行为和系统交互未具体化,对潜在问题(如数据滞后、信息来源差异、隐私安全等)未在需求中体现。
-
解决:增加上面的访谈内容,并重述使用场景如下。
-
张凯的期末备考
-
背景:张凯是广东工业大学计算机学院大二学生,期末考试临近,他需要查询图书馆开放时间,以及最新的校园公告,以合理安排复习与活动时间。
-
使用过程
- 登录与身份验证
张凯打开“广工枢纽”,使用学号登录系统。 - 智能问答解决信息分散问题
张凯在问答框中输入:“下周图书馆开放时间和社展活动的日期?”系统拆他的两个问题和提问意图,自动结合图书馆官网、通知公文网和知识库,生成一条整合的回答,告知张凯图书馆的开放、闭馆时间与社展时间。 - 信息检索查看公告
张凯随后进入“通知公告”栏目,查看近期发布的讲座和活动通知。他通过筛选功能,只浏览与自己学科和兴趣相关的公告。
- 登录与身份验证
-
-
-
需求规格改进点
- 增加多功能组合使用的场景描述,让需求文档不再局限于单一功能。
- 明确用户与系统交互流程,包括登录、问答、信息检索和日程管理。
- 数据来源、更新频率、信息整合策略以及潜在问题的应对方案。
- 强化用户体验相关需求,比如筛选、提醒和高效反馈机制。
3. 功能分析四象限
| 象限 | 描述 | 功能 |
|---|---|---|
| 第一象限(核心且易实现) | 高价值、低成本的功能,应优先开发 | 自然语言问答功能(基础信息查询) 校园公告集中展示 水电服务通知栏目筛选 |
| 第二象限(高价值但难实现) | 高价值、实现难度大,需要重点规划和迭代 | 个性化推荐和智能提醒(结合日程与用户偏好) 多轮上下文问答处理复杂查询 |
| 第三象限(低价值且易实现) | 价值低但实现容易,可以后期补充 | 简单动画或界面美化效果 |
| 第四象限(低价值且难实现) | 低价值且成本高,可暂时忽略或舍弃 | 高度复杂的数据可视化分析 非核心系统集成(例如社交功能或非校内服务) |
调整任务分解及相应进度计划见章节三的Alpha计划。
二、系统设计
1. 架构设计
-
我们采用前端+后端的架构,前后端间通过HTTP协议进行交互,前端使用Vue架构,后端使用python,使用FastAPI对接与前端。
![]()
2. 前端设计
1) 前端概述
i. 前端基本描述
- 前端采用 Vue 3 作为主框架,利用 Composition API 提高组件复用性和可维护性
- 通过 Vue Router 实现多页面路由管理和动态跳转,并支持懒加载优化性能
- 使用 Axios 与后端进行 HTTP 请求交互,实现数据的获取、提交和异步更新
- 界面基于 Element Plus 组件库构建,提供统一的表单、表格、分页、对话框等组件,确保前端开发效率和界面一致性,同时支持响应式布局与现代化交互体验
ii. 前端基本功能划分
| 功能模块 | 功能概述 | 功能描述 |
|---|---|---|
| 登录页 | 用户身份验证 | 用户输入账号和密码,点击登录按钮提交后台验证,验证通过后跳转到首页,验证失败提示错误信息。支持基本输入校验,如非空和格式检查。 |
| 首页导航栏 | 功能选择与模式切换 | 整合问答模式与表单模式导航,用户可在导航栏选择进入问答页面提交问题,或进入表单模式查看信息/公告。导航栏保持全局可访问,便于快速切换。 |
| 首页 | 用户提问与智能回答 | 用户在输入框输入问题,系统通过后台大模型或知识库查询生成回答,页面实时显示结果。支持历史记录查看、复制和收藏功能。用户通过表单选择条件或关键字,查询公告、通知或其他结构化信息。支持分页显示、分类筛选及导出功能 |
| 对话页 | 历史对话管理 | 显示用户在问答模式下的全部历史提问和系统回答,支持继续提问、标记收藏或删除单条记录。 |
| 通知详情页 | 查看公告详细信息 | 用户点击公告摘要或表单查询结果进入此页,可查看完整公告内容,包括发布时间、发布部门及附件。支持返回列表页或直接收藏。 |
iii. 前后端交互图稿
2) 首页
-
设计原型图
![]()
-
功能层次交互和跳转
按钮 功能 问答模式 展示可输入对话的窗口 表单模式 展开下方可以选择的导航栏目,包括通知公告、水电服务、后勤服务以及叫教务信息,这些栏目也属于可操作的按钮,点击后可以进入对应的通知信息界面 对话框 可输入想要询问的内容并点击发送按钮提交问题,进入问答界面。 -
设计层次描述
- 主页面左侧栏提供问答模式和表单模式两栏,其中表单模式可以点击展开,并选择想要查看的信息栏目。栏目包含通知公告、水电服务、后勤服务、教务信息(后续优化中可能给出更多)。
- 左侧栏下方还包括关于我们、个人设置、退出登录和个人中心四个部分,分别可以查看我们开发团队的更新情况以及使用说明、界面的设置、退出系统以及查看个人搜索记录。
- 主页面中间是对话框,与现有各类大模型交互界面类似,这里支持用户的各类输入,并返回对话结果,在这里对话后会转至查询页,即进入完整的对话功能界面。
- 主页的中下部分是我们项目的简介,让用户进入界面即可得知我们网页的目标和功能。同时,系统有更新之类的公告也会在这里展示。
3) 查询页


-
功能层次交互和跳转
按钮 功能 输入窗口 输入想询问的问题。 发送按钮 输入完内容后点击发送按钮,即可提交问题至后台算法。 -
设计层次描述
- 主页面左侧栏内容与首页保持不变。
- 主页面中间是对话历史,可以看到用户输入的内容以及系统给出的回复。
- 主页面中间下方是输入窗口,用户在下方输入问题发送后后台算法进行信息整合。
4) 信息展示页

-
功能层次交互和跳转
按钮 功能 各个通知公告的总结 点击进入,查看详细的通知公告。 翻页 点击页码按钮到达不同页面。 -
设计层次描述
- 主页面左侧栏内容与首页保持不变。
- 主页面中间通知公告的汇总,可以选择关注的内容查看详情。
5) 登录页

-
功能层次交互和跳转
按钮 功能 用户名密码输入框 用户输入自己的账号及密码。 登录按钮 点击提交输入的信息,系统进行验证,若正确跳转到首页,否则提示错误。 -
设计层次描述
- 界面中间可以输入自己的账号密码,并点击登录验证。
3. 后端设计
1) 后端概述
- 后端采用 Python 作为主要开发语言,结合 Flask构建 Web 服务,实现 RESTful API 接口和请求路由管理
- 通过 Requests 和 DrissionPage 实现对外部数据源和第三方接口的异步抓取和访问
- 利用pandas进行数据处理
2) 爬虫模块
-
功能层次交互和跳转
功能点 描述 校园公告抓取 定时爬取学校官网、后勤、水电、教务等系统发布的通知公告。 数据清洗 对爬取的 JSON 数据进行解析和清理,保证格式统一。 标签分类 对爬取的公告内容按主题(课程、活动、后勤、水电等)进行分类。 数据更新策略 定期抓取和增量更新,保证知识库数据及时有效。 -
设计层次描述
- 爬虫模块运行在后台定时任务中,负责抓取最新的校园信息。
- 数据清洗和标签分类模块在爬虫抓取后执行,生成标准化数据,存入用户本地。
- 更新策略保证用户查询时获取到的数据是最新的,同时支持版本管理和日志记录。
3) 知识库构建
-
功能层次交互和跳转
功能点 描述 数据结构化 将清洗后的信息组织成统一的数据结构,如 JSON 或数据库表。 索引建立 为公告内容建立关键词索引、主题索引,提高查询效率。 多维度查询支持 支持按时间、类别、关键词、地点等维度进行信息检索。 数据安全与权限管理 对敏感数据进行权限控制和访问记录,保证安全性。 -
设计层次描述
- 知识库作为系统核心数据层,存储所有处理过的校园信息。
- 通过索引和分类,后台查询接口可以快速响应前端的自然语言查询。
- 支持按需扩展,例如增加新的数据来源或新的查询维度。
4) 数据本地部署
-
功能层次交互和跳转
功能点 描述 本地数据库部署 JSON格式部署存储爬取和清洗后的数据。 数据备份与恢复 定期备份数据文件,保证数据安全与可恢复性。 数据同步 支持与爬虫模块和知识库构建模块的数据同步,保持一致性。 -
设计层次描述
- 本地部署保证系统即使在网络波动或外部接口不可用时,仍能提供基础查询服务。
- 数据库与后台算法和前端接口对接,实现数据的快速访问和安全管理。
5) 大模型 API 接入
-
功能层次交互和跳转
功能点 描述 API 接入 将大语言模型接入系统,实现自然语言理解和问答。 请求处理 前端用户提交的查询请求发送到模型 API,模型返回结构化答案。 答案整合 将模型生成的回答与知识库数据结合,提供准确、可信的结果。 异常与超时处理 对 API 请求失败、超时或返回异常结果进行处理,保证用户体验。 -
设计层次描述
- 大模型 API 模块负责用户自然语言查询的理解和生成答案。
- 系统结合本地知识库数据,对模型回答进行验证和补充,提高准确性。
- 提供日志记录和监控,便于后续优化模型调用和系统性能。
三、Alpha任务分配计划
| 任务 | 预估时间(小时) | 参与人员 |
|---|---|---|
| 搭建前端基础框架(Vue 3 + Vue Router + Element Plus) | 2 | 前端 |
| 搭建后端基础框架(FastAPI/Flask + JSON格式规范)2 | 2 | 后端 |
| 爬虫模块初步设计与数据抓取脚本编写 | 4 | 后端 |
| 前端登录页与路由页面初步实现 | 4 | 前端 |
| 建立知识库结构及本地部署 | 4 | 后端 |
| 前端公告列表页 UI 与分页组件开发 | 4 | 前端 |
| 后端爬虫数据清洗与分类逻辑实现 | 4 | 后端 |
| 前端问答交互输入框与结果展示组件开发 | 4 | 前端 |
| 大模型 API 接入与问答接口联调 | 4 | 后端 |
| 前端问答功能请求与展示接口联调 | 4 | 前端 |
| 前端与后端整体功能整合测试 | 6 | 全员 |
| Bug 修复和 UI 优化 | 2 | 前端+后端 |
| Alpha阶段内部演示与功能验收 | 2 | 全员 |
| 迭代总结,任务回顾与下阶段准备 | 1 | 全员 |
| 测试 | 10 | 测试 |
-
Project Backlog
![]()
-
SpringBacklog
![]()
-
甘特图
![]()
四、测试计划
| 时间段 | 测试任务 | 测试内容 | 预估时间(小时) | 负责人 | 备注 |
|---|---|---|---|---|---|
| **Day 1 ** | 功能需求理解与测试准备 | 阅读 Alpha 阶段需求文档,明确测试目标与测试用例 | 1 | 测试人员 | 测试用例初稿 |
| **Day 2 ** | 登录页与路由测试 | 检查登录流程、账号验证、错误提示 | 1 | 测试人员 | 与前端开发同步 |
| **Day 3 ** | 公告列表页测试 | 检查分页、分类、点击查看详情功能 | 1 | 测试人员 | 与前端开发同步 |
| **Day 4 ** | 爬虫与知识库接口测试 | 校验爬虫数据是否入库,知识库查询接口返回正确 | 1.5 | 测试人员 | 与后端开发同步 |
| **Day 5 ** | 问答功能接口测试 | 测试前端输入请求、后端模型接口返回、显示正确 | 2 | 测试人员 | 与前后端联调同步 |
| **Day 6 ** | 综合功能联调测试 | 前端问答、公告、路由等功能整体联调 | 1.5 | 测试人员 | 验证整体工作流 |
| **Day 7 ** | Bug回归测试与验收 | 修复已发现问题后的回归测试,Alpha阶段验收 | 2 | 测试人员 | 提交测试报告 |







浙公网安备 33010602011771号