# 三、基于SpringBoot框架的高考志愿辅助填报系统-用户需求(规格)说明书 重庆工程学院
Chongqing Institute of Engineering ## 版本历史 |版本/状态|作者|参与者|起止日期|备注| |---|---|---|---|---| |||||| |||||| |||||| |||||| ## 目录 1. [文档介绍](#0-文档介绍) 2. [产品介绍](#1-产品介绍) 3. [产品面向的用户群体](#2-产品面向的用户群体) 4. [产品应当遵循的标准或规范](#3-产品应当遵循的标准或规范) 5. [产品的范围](#4-产品的范围) 6. [产品中的角色](#5-产品中的角色) 7. [界面设计](#6-界面设计) 8. [产品的功能需求](#7-产品的功能需求) 9. [产品的非功能性需求](#8-产品的非功能性需求) 10. [其它需求](#9-其它需求) ## 0. 文档介绍 ## 0.1 文档目的 1. 为开发成员、客户之间提供共同的协议而创立基础,描述用户软件的宏观需求。 2. 根据客户要求,准确描述功能性和非功能性需求,给产品的需求规格说明书提供基础。 3. 本说明书的预期读者为开发小组成员及甲方负责人。本说明能让甲方代表更好地了解本系统,减少彼此之间交流的困难和开发中因为需求不明确而产生的不必要的麻烦。 4. 保证软件开发的质量、需求的完整与可追溯性,编写此文档。通过此文档,以保证业务需求提出者与需求分析人员、开发人员、测试人员及其也相关利益人对需求达成共识。 5. 本文档面向多种读者对象,在阅读本文档时,首先要了解产品的功能概貌,然后可以根据自身的需要对每一功能进行适当的了解。 6. 本需求规格说明书预期的读者对象包括各类用户代表、开发团队中的各类参与者,用来对项目涉及的业务知识和系统开发所需解决的问题、满足的需求达成共识。 ## 0.2 文档范围 本文档主要内容有:介绍项目的背景,项目所遵循的规范,面向的用户群体,产品的功能需求与非公能性需求,性能需求,界面设计等。 主要目的是为后续的开发工作起到较好的指导作用。该需求规格说明书可提供给最终用户、研发人员等相关人员阅读。 ## 0.3 读者对象 本文的读者包括系统用户、项目负责人、软件开发人员、软件测试人员、文档编写人员。 ## 0.4 参考文档 无 ## 0.5 术语与缩写解释 |缩写、术语|解 释| |---|---| |位次|考生高考成绩在全省同科类考生中的排名。| |一分一段表|按分数统计的全省考生人数及累计排名表。| |线差|考生分数与某批次录取控制分数线的差值。| |滑档|考生档案未被任何志愿院校投档。| |退档|考生档案投到高校后,因不符合要求被退回。| ## 1. 产品介绍 本项目旨在设计与实现一个基于SpringBoot框架的高考志愿辅助填报系统。整个系统以"辅助决策"为核心理念,通过整合教育部及各省招生考试院的权威数据,构建全面、准确的院校专业数据库。 系统主要解决考生在志愿填报过程中面临的信息不对称、决策困难、风险不可控等痛点。通过引入智能推荐算法,综合分析考生的成绩、位次、兴趣偏好及职业倾向,提供"冲、稳、保"分层推荐方案。同时,系统提供志愿模拟填报与风险评估功能,帮助考生科学构建志愿梯度,降低滑档风险。 本项目具有重要的现实意义: 1. **提升决策科学性**:通过数据可视化和智能分析,降低信息收集成本,减少人为误判。 2. **促进教育公平**:为教育资源相对匮乏地区的考生提供免费、专业的填报指导。 3. **技术实践价值**:作为软件工程专业的毕业设计,本项目涉及前后端分离架构、微服务设计、大数据处理及推荐算法等核心技术,是对所学知识的综合应用。 ## 2. 产品面向的用户群体 本产品的核心用户群体包括: 1. **考生(核心用户)**:需要查询院校信息、获取志愿推荐、模拟填报志愿的高三学生。 2. **家长**:辅助考生收集信息,关注院校就业前景、升学率等数据的监护人。 3. **教师/辅导员**:需要掌握学生志愿填报情况,提供指导建议的教育工作者。 4. **系统管理员**:负责系统基础数据维护(院校、专业、分数线)、用户管理及系统配置的后台人员。 ## 3. 产品应当遵循的标准或规范 1. **软件工程标准**:遵循 GB/T 8567-2006《计算机软件文档编制规范》。 2. **Web标准**:前端开发遵循 W3C 标准,确保 HTML/CSS/JS 的规范性。 3. **数据安全标准**:遵循 GB/T 35273-2020《信息安全技术 个人信息安全规范》保护考生隐私。 ## 4. 产品的范围 本系统主要包括以下范围: 1. **数据范围**:覆盖全国普通高等院校(本科、专科)的基础信息、专业设置及近3-5年的录取数据。 2. **业务范围**: - 考生端:提供院校查询、专业查询、智能推荐、模拟填报、风险评估等功能。 - 管理端:提供用户管理、数据(院校/专业/分数线)导入与维护、系统公告发布等功能。 3. **不包含范围**: - 不包含实际的高考志愿填报提交功能(需在省招办官方系统进行)。 - 不包含艺术类、体育类等特殊类型的志愿填报辅助。 ## 5. 产品中的角色 |角色名称|职责描述| |---|---| |考生|浏览院校/专业信息,查询历年录取数据,维护个人信息(成绩、偏好),使用智能推荐功能,进行志愿模拟填报,查看风险评估报告。| |系统管理员|管理注册用户,维护院校及专业基础数据,导入/更新历年录取分数线,发布系统公告,监控系统运行状态。| ## 6. 界面设计 ## 6.1 设计思路 ### 6.1.1 布局设计 采用现代Web应用主流的响应式布局。 - **顶部导航栏**:包含系统Logo、主要功能入口(首页、查大学、查专业、智能推荐、模拟填报)、用户中心入口。 - **主体内容区**:采用宽屏展示,根据功能模块不同分为卡片式列表(信息查询)、表单交互区(信息录入)、图表展示区(数据分析)。 - **底部信息栏**:包含版权信息、友情链接等。 ### 6.1.2 屏幕分辨率 系统主要面向PC端浏览器访问,推荐分辨率为 1920x1080,同时向下兼容 1366x768。前端框架支持自适应调整,确保在不同分辨率下界面元素不错位。 ### 6.1.3 色彩 - **主色调**:使用清新蓝(#1890FF)或类似色调,象征理智、科技与未来,符合教育类产品的调性。 - **辅助色**: - 成功/安全(绿色):用于标记"保一保"志愿、低风险提示。 - 警告/注意(橙色):用于标记"稳一稳"志愿、中等风险。 - 危险/冲刺(红色):用于标记"冲一冲"志愿、高风险提示。 - **背景色**:使用浅灰(#F0F2F5)作为页面背景,卡片使用纯白(#FFFFFF),营造干净清爽的视觉体验。 ### 6.1.4 字体 优先使用系统默认无衬线字体(如 PingFang SC, Microsoft YaHei, Helvetica Neue),保证阅读清晰度。 - 标题字号:20px - 24px,加粗。 - 正文字号:14px - 16px。 - 辅助文字:12px,灰色。 ## 6.2 界面样例 XXX界面 ## 7. 产品的功能需求 ## 7.1 业务流程分析 ```mermaid graph TD A[考生登录系统] --> B{是否完善信息?}; B -- 否 --> C[完善成绩/位次/偏好]; C --> B; B -- 是 --> D[进入首页]; D --> E[浏览/查询院校专业]; D --> F[智能推荐]; D --> G[模拟填报]; F --> H[获取推荐列表]; H --> I[查看详情/风险分析]; I --> J[加入备选志愿]; G --> K[创建模拟志愿表]; K --> L[调整志愿顺序]; L --> M[风险评估]; M --> N[保存方案]; E --> J; J --> K; ``` ## 7.2 功能列表 |功能编码|功能项名称|子模块编码|子模块名称|说明| |---|---|---|---|---| |U01|用户管理|U01-01|注册与登录|支持手机号/学号注册,密码登录,忘记密码找回。| |U01|用户管理|U01-02|个人中心|修改个人资料,绑定高考成绩、科类、位次等关键信息。| |Q01|信息查询|Q01-01|院校查询|支持按省份、层次(985/211/双一流)、类型筛选院校,查看院校详情。| |Q01|信息查询|Q01-02|专业查询|支持按学科门类查询专业,查看专业介绍、开设院校及就业方向。| |Q01|信息查询|Q01-03|录取数据查询|查询历年各高校各专业的录取最高分、最低分、平均分及位次。| |R01|智能推荐|R01-01|一键推荐|基于考生成绩和位次,结合历年数据,算法自动生成志愿列表。| |R01|智能推荐|R01-02|梯度分析|将推荐结果标记为"冲、稳、保"三个梯度。| |S01|志愿模拟|S01-01|模拟填报|允许考生手动添加、调整志愿顺序,保存模拟表。| |S01|志愿模拟|S01-02|风险评估|分析模拟表的合理性,提示滑档风险、专业调剂风险。| |A01|系统管理|A01-01|数据维护|管理员对院校、专业、分数线数据的增删改查及批量导入。| ## 7.3 功能层次结构图 ```mermaid graph TD System[高考志愿辅助填报系统] subgraph 核心功能 F1[用户管理] F2[信息查询] F3[智能推荐] F4[志愿模拟] F5[系统管理] end System --> F1 System --> F2 System --> F3 System --> F4 System --> F5 F1 --> F11[注册登录] F1 --> F12[个人中心] F2 --> F21[查院校] F2 --> F22[查专业] F2 --> F23[查分数] F3 --> F31[一键推荐] F3 --> F32[梯度分析] F4 --> F41[模拟填报] F4 --> F42[风险评估] ``` ## 7.4 功能用例及核心用例描述 ```mermaid graph LR User[👤 考生] Admin[👤 管理员] subgraph System [高考志愿辅助填报系统] direction TB UC1(注册/登录) UC2(个人中心) UC3(查询院校/专业) UC4(查询录取数据) UC5(智能推荐志愿) UC6(模拟填报志愿) UC7(志愿风险评估) UC8(用户管理) UC9(基础数据维护) end User --> UC1 User --> UC2 User --> UC3 User --> UC4 User --> UC5 User --> UC6 User --> UC7 Admin --> UC1 Admin --> UC8 Admin --> UC9 ``` ### 核心用例1:智能推荐志愿 - **参与者**:考生 - **前置条件**:考生已登录且完善了成绩信息(分数、位次、科类)。 - **基本流程**: 1. 考生点击"智能推荐"菜单。 2. 系统读取考生成绩信息,并提示考生选择意向地区(可选)和意向专业类别(可选)。 3. 考生确认筛选条件并提交。 4. 系统后台运行推荐算法,匹配历年录取数据。 5. 系统展示推荐结果列表,按"冲、稳、保"分类标识。 - **后置条件**:展示推荐列表,考生可将院校加入备选或直接填入模拟表。 ### 核心用例2:模拟志愿填报 - **参与者**:考生 - **基本流程**: 1. 考生进入"模拟填报"页面。 2. 考生从收藏夹或查询结果中添加院校和专业志愿。 3. 考生调整志愿顺序。 4. 系统实时计算当前志愿表的完整度和风险等级。 5. 考生点击"保存方案"。 6. 系统提示保存成功,并给出具体的优化建议报告。 ## 8. 产品的非功能性需求 ## 8.1 用户界面需求 |需求名称|详细要求| |---|---| |整体风格|界面简洁、清晰,色彩搭配和谐,符合教育产品严肃活泼的特点。交互逻辑符合常规Web操作习惯。| |响应式设计|界面需兼容主流桌面浏览器(Chrome, Edge, Firefox),并在窗口缩放时保持布局合理。| |易用性|关键操作(如填报、推荐)需有明确引导,错误提示友好且准确。| |数据可视化|录取走势等数据应采用折线图、柱状图等直观展示。| ## 8.2 软硬件环境需求 |需求名称|详细要求| |---|---| |开发语言|后端:Java (JDK 1.8+);前端:HTML5, CSS3, JavaScript/TypeScript| |运行环境|服务端:Tomcat 9+;客户端:现代Web浏览器| |数据库|MySQL 5.7 或 8.0+| |操作系统|服务端推荐Linux (CentOS/Ubuntu),开发端Windows/macOS| ## 8.3 性能需求 1. **响应时间**: - 首页加载时间 < 2秒。 - 一般查询操作(如查院校)响应时间 < 1秒。 - 复杂计算操作(如智能推荐)响应时间 < 3秒。 2. **并发性**: - 支持至少 100 个用户同时在线访问。 - 核心数据库查询支持 200 QPS。 3. **资源利用率**: - 应用服务器 CPU 利用率平时不超过 40%,高峰期不超过 80%。 - 内存占用不超过总内存的 70%。 ## 8.4 产品质量需求 |主要质量属性|详细要求| |---|---| |正确性|所有录取数据必须与官方源数据保持一致;推荐算法计算结果逻辑正确,无明显偏差。| |健壮性|系统应能处理用户输入的非法数据(如负分、非数字等),并给出提示,不应直接崩溃。| |可靠性|在并发访问量较大(如志愿填报高峰期)时,系统核心功能(查询、保存)应保持可用。| |安全性|用户密码需加密存储(如BCrypt);关键API需进行身份认证(Token);防止SQL注入和XSS攻击。| |可扩展性|后端采用模块化设计(Controller-Service-Dao),便于后续增加新的功能模块或对接第三方数据接口。| |易用性|界面操作流程简单直观,无需查看复杂文档即可上手使用。| ## 9. 其它需求 无