1. 软件工程25秋课程概述
2025年秋季学期的软件工程课程将全面升级为"软件工程-25秋"版本,这是面向计算机科学与技术专业高年级学生的核心专业课。课程代码SE4025,共48学时(3学分),采用线上线下混合式教学模式。作为现代软件开发的基石课程,它延续了传统软件工程知识体系的同时,特别强化了云原生、AI辅助开发等前沿技术实践。
本课程最显著的特点是采用"双主线"教学架构:一方面系统讲解软件生命周期各阶段的方法论(需求分析→设计→实现→测试→维护),另一方面通过贯穿学期的电商平台实战项目,让学生体验敏捷开发全流程。每位学员将经历从产品原型设计到持续交付的完整过程,使用Git进行版本控制,并在AWS Educate云环境中部署应用。
2. 课程技术栈与工具链
2.1 核心开发框架
课程推荐使用React 19(2025年稳定版)作为前端主框架,配合Next.js 15实现服务端渲染。后端技术栈采用Spring Boot 4.x与Quarkus双轨制,学生可自主选择JVM生态或GraalVM原生编译方案。数据库层包含三种选型组合:
- 关系型:PostgreSQL 18+TimescaleDB扩展
- 文档型:MongoDB 7.0+Atlas Search
- 图数据库:Neo4j 5.12
特别值得注意的是,课程要求所有项目必须实现"AI结对编程"——在VS Code或JetBrains全家桶中集成GitHub Copilot X或Amazon CodeWhisperer,并将AI生成的代码纳入代码审查流程。这要求学生掌握prompt engineering技巧,能精准描述需求并验证AI输出。
2.2 DevOps工具链
持续集成环节采用GitHub Actions 3.0的矩阵构建功能,支持同时测试多运行时环境(JDK21/Node.js22/Python3.12)。监控方案使用OpenTelemetry自动埋点+Prometheus+Grafana Loki栈,要求实现四个黄金信号(延迟、流量、错误、饱和度)的可观测性。
容器化部署方面,课程创新性地引入WasmEdge作为Docker替代方案,学生需要对比传统容器与WebAssembly模块在冷启动时间、内存占用等指标的差异。云服务使用AWS Educate提供的免费额度,重点实践Serverless模式(Lambda@Edge + Aurora Serverless v2)。
3. 课程项目实战要点
3.1 电商平台需求规格
实战项目模拟跨境电商场景,包含以下核心模块:
- 多币种定价引擎(实时汇率API集成)
- AI商品推荐系统(使用Amazon Personalize)
- 欺诈检测模块(采用AWS Fraud Detector)
- 可持续性计算(碳足迹追踪API)
项目采用事件驱动架构,要求使用Amazon EventBridge实现跨服务通信。关键业务流必须实现Saga模式的事务管理,使用Step Functions编排分布式事务。
3.2 代码质量管控标准
课程设立严格的代码质量门槛:
- SonarQube检测必须达到A级(零阻断问题)
- 单元测试覆盖率:Java≥85%,TypeScript≥80%
- 集成测试包含混沌工程实验(如模拟Region中断)
- API必须符合OpenAPI 3.1规范并生成Swagger UI
- 所有接口实现GraphQL Federation兼容
特别要求提交的PR必须包含:
- Architecture Decision Record(ADR)
- Threat Model分析报告
- 能耗分析(使用Scaphandre工具)
4. 前沿技术专题
4.1 AI辅助需求工程
课程引入需求挖掘黑科技:
- 使用ChatGPT-5分析用户访谈录音(通过AWS Transcribe)
- 用Stable Diffusion 3生成原型界面
- 通过Amazon CodeGuru检测需求文档的歧义点
学生需要掌握"需求-测试用例-AI生成代码"的三位一体验证法,建立可追溯的需求矩阵。
4.2 量子计算准备
虽然量子软件开发尚未普及,但课程包含:
- Amazon Braket基础实验
- Q#与经典系统的混合编程
- 量子加密在支付模块的应用模拟
这部分内容通过Jupyter Notebook交互式学习,不纳入核心考核。
5. 学习建议与避坑指南
根据往期学员反馈,需要特别注意:
- 云资源成本控制:设置AWS Budgets告警,课后立即释放测试实例
- 依赖管理:使用Renovate Bot自动更新依赖,警惕log4j式漏洞
- 文化差异:跨国团队协作需考虑时区管理(建议使用Obsidian记录会议纪要)
- 技术债管理:在项目初期就必须建立Tech Debt看板
推荐的工具链组合:
- 本地开发:DevPod+GitHub Codespaces
- API调试:Bruno替代Postman
- 文档协作:Figma Jam+Notion AI
- 知识管理:Logseq关联式笔记
考试采用"项目答辩+系统设计+代码审计"三重评估,其中代码审计会随机抽取某个提交历史,要求学生解释特定修改的技术决策过程。建议从第一天就保持规范的Git提交信息(符合Conventional Commits标准)
