Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

启航AI — 大学生职业生涯规划系统

UML 软件分析设计与建模大作业 · 完整项目仓库

本仓库包含「启航AI」大学生职业生涯规划系统的 全部开发产物:源代码、四次迭代的设计文档与UML模型、成果汇报材料,以及课程案例教程。


项目简介

「启航AI」是一套面向在校大学生的智能职业生涯规划系统。系统依托大语言模型(LLM),通过多维度心理测评生成精准的用户画像,并结合行业数据为用户提供个性化的职业规划方案,覆盖从自我认知到求职落地的完整链路。

核心功能

模块 说明
登录认证 用户名密码登录,Token 认证机制
用户信息 学校/专业/GPA + 实习/项目/竞赛经历 CRUD
用户画像 MBTI 性格测试 / 霍兰德职业兴趣 / 胜任力评估 + 雷达图
招聘信息 20 条大厂岗位数据,支持筛选与收藏
职业规划 职业规划时间轴、就业方向推荐、岗位匹配、技能提升建议
模拟面试 AI 驱动的多轮对话面试 + 评估报告
简历优化 上传简历 → AI 优化改写 → 三栏对比 → 评分
系统管理 用户管理、数据统计看板、系统日志

技术栈

  • 前端:Vue 3 + Vite + TypeScript + Pinia + Element Plus + ECharts
  • 后端:Django 4.x + Django REST Framework + SQLite
  • 大模型:Mock 模式(内置丰富模拟回复)/ 支持接入任意 OpenAI 兼容 API

仓库结构

UML-Major-Project/
│
├── qihang-ai-demo/                          # 🖥️ 源代码(仅是demo)
│   ├── backend/                              #    Django 后端
│   ├── frontend/                             #    Vue 3 前端
│   └── README.md                             #    代码项目说明
│
├── 第一次迭代0403——用例文本_用例图_领域模型/    # 📋 第一次迭代(4月3日)
│   ├── 设计文档0403——第一次汇报.docx
│   ├── 基于Web端的大学生职业规划系统--启航AI.pptx
│   ├── FURPS+ 领域模型.md
│   ├── 用例图/                               #    4 张用例图(用户/档案/规划/管理)
│   └── 领域模型 v1/                          #    3 张领域模型图
│
├── 第二次迭代0424——用例模块更新_操作契约_逻辑架构和UML包图/  # 📋 第二次迭代(4月24日)
│   ├── 设计文档0424——第二次汇报.docx
│   ├── 职业生涯规划模块迭代设计说明_用例_操作契约.docx
│   ├── 第二次汇报.pptx
│   └── 逻辑架构和包图/                       #    逻辑架构图 + 包图
│
├── 第三次迭代0529——成果汇报_演讲稿_7种图/      # 📋 第三次迭代(5月29日)
│   ├── 启航AI_软件建模设计文档_v3.2.docx
│   ├── 启航AI_汇报演讲稿.md
│   ├── 启航AI——大学生职业生涯规划系统成果汇报.pptx
│   ├── UML图/                               #    SSD、活动图、状态图
│   └── StarUML模型文件/                      #    10 个 .mdj 模型 + 导出图
│
├── 第四次迭代0531——两大设计模式(GRASP+GoF)/  # 📋 第四次迭代(5月31日)
│   ├── 启航AI_软件建模设计文档_v4.0.docx
│   └── 启航AI_软件建模设计文档_v4.0.pdf
│
└── 软件分析设计与建模案例教程.pdf               # 📚 课程参考教程

迭代说明

第一次迭代(4月3日)— 用例文本 · 用例图 · 领域模型

完成系统的需求分析,产出用例文本和初始领域模型。

产出物:

  • 用例图 ×4:用户模块、用户档案模块、职业发展规划模块、系统信息库与管理模块
  • 领域模型 ×3:学生画像与规划建议、平台运营、招聘推荐与优化
  • FURPS+ 需求分析文档
  • 汇报 PPT

第二次迭代(4月24日)— 用例更新 · 操作契约 · 逻辑架构

细化核心模块的用例描述,补充操作契约,建立逻辑架构。

产出物:

  • 职业生涯规划模块迭代设计说明(含用例更新与操作契约)
  • 逻辑架构图 + UML 包图
  • 汇报 PPT

第三次迭代(5月29日)— UML 模型 · 代码实现 · 成果汇报

完成全部 UML 建模、代码开发与系统演示。

产出物:

  • SSD(系统顺序图):用例14 生成用户画像、用例18 查看职业规划建议
  • 活动图:完整业务流程(图5-3)
  • 状态机图:用户画像生命周期(图5-4)
  • 部署图:系统部署架构(图5-5)
  • 设计类图:职业生涯规划模块
  • 用例图补充:用例25、26
  • StarUML 源文件(.mdj)× 10
  • 完整可运行的源代码系统
  • 成果汇报 PPT + 演讲稿

第四次迭代(5月31日)— 设计模式应用(GRASP + GoF)

在前三次迭代的基础上,从「职责分配」和「结构与协作」两个角度对系统进行设计模式分析,说明启航AI系统在架构设计中遵循的 GRASP 9 大原则和应用的 GoF 经典设计模式。

产出物:

  • 设计文档 v4.0(docx + pdf)

GRASP 原则应用(4.3.1)— 9 大原则:

# 原则 系统应用
1 创建者 User 作为聚合根,负责创建 UserProfile、CareerPlanReport 等业务对象
2 专家 MBTIResult.calculate() 等计算方法内聚在各自的测评实体内部
3 控制器 UserProfileController / CareerPlanController 等 Django REST 视图统一协调 HTTP 请求
4 低耦合 通过 Repository / Adapter 接口隔离数据库和外部 API,变化影响半径最小化
5 高耦合 每个 Service 只负责单一业务领域,职责内聚
6 多态 LLMService 接口 + MockLLMService / OpenAICompatibleLLMService 双实现,运行时通过配置切换
7 纯虚构 LLMAnalysisService、PromptBuilder 等为高内聚而虚构的纯服务类
8 间接 通过 LLMService 接口间接调用外部大模型 API,不直接依赖具体供应商
9 防止变异 Adapter / Repository / Strategy 接口封装外部变化点(LLM 供应商、数据库、匹配算法等)

GoF 设计模式应用(4.3.2)— 涵盖全部 23 种模式:

  • 创建型(5 种):单例模式(LLMService 全局唯一)、原型模式(模板岗位克隆)、工厂方法(LLMServiceFactory)、抽象工厂(AssessmentFactory)、建造者(PromptBuilder 链式 API)
  • 结构型(7 种):代理模式(Nginx 反向代理)、适配器(OpenAICompatibleLLMService 统一不同 LLM 供应商)、桥接(LLMService 与 LLMProvider 解耦)、装饰器(DRF @permission_classes 装饰器)、外观(CareerPlanService 统一入口)、享元(岗位标签/城市枚举复用)、组合(提升建议树形结构)
  • 行为型(11 种):模板方法(BaseLLMService 定义算法骨架)、策略(MatchScoreStrategy 多种匹配算法)、命令(Celery Task 异步任务封装)、职责链(Django 中间件链)、状态(UserProfile 生命周期状态机)、观察者(UserProfileUpdated 事件驱动)、中介者(Service 层协调 Controller 与 Repository)、迭代器(Django ORM QuerySet)、访问者(简历结构多维分析)、备忘录(测评中断恢复)、解释器(PromptTemplate 占位符 / 岗位筛选 DSL)

快速启动(源代码)

详细的环境配置和启动步骤请参见 qihang-ai-demo/README.md

简要步骤:

# 1. 进入代码目录
cd qihang-ai-demo

# 2. 启动后端
cd backend
pip install -r requirements.txt
python seed.py                    # 初始化演示数据
python manage.py runserver        # http://localhost:8000

# 3. 启动前端(新终端)
cd frontend
npm install
npm run dev                       # http://localhost:3000

演示账号:

角色 用户名 密码
学生 demo_student demo1234
管理员 admin admin1234

UML 图索引

编号 图名 类型 位置
图1 用户模块用例图 用例图 第一次迭代/用例图/
图2 用户档案模块用例图 用例图 第一次迭代/用例图/
图3 职业发展规划模块用例图 用例图 第一次迭代/用例图/
图4 系统信息库与管理模块用例图 用例图 第一次迭代/用例图/
图2-3 职业发展规划模块用例图(补充25、26) 用例图 第三次迭代/StarUML模型文件/
图2-4 系统信息库与管理模块用例图 用例图 第三次迭代/StarUML模型文件/
图5-3 启航AI完整业务流程活动图 活动图 第三次迭代/UML图/ & StarUML模型文件/
图5-4 用户画像生命周期状态机图 状态机图 第三次迭代/UML图/ & StarUML模型文件/
图5-5 系统部署架构部署图 部署图 第三次迭代/StarUML模型文件/
职业生涯规划模块设计类图 设计类图 第三次迭代/StarUML模型文件/
SSD 用例14 生成用户画像 系统顺序图 第三次迭代/UML图/
SSD 用例18 查看职业规划建议 系统顺序图 第三次迭代/UML图/

环境要求

  • Python 3.10+
  • Node.js 18+(推荐 20 LTS)
  • npm 9+
  • StarUML(可选,用于编辑 .mdj 模型文件)

License

本项目为大学课程作业,仅供学习交流使用。

About

2026年华南理工大学软院UML大作业

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages