联系我们

课程大纲

敏捷思维基础

  • 敏捷宣言及其在软件之外的适用性
  • 敏捷与传统瀑布及计划驱动模型的比较
  • Scrum角色、事件与工件在学术项目周期中的映射
  • 适用于研究与教学团队的看板与基于流程的管理
  • 选择适合工程与设计环境的敏捷混合方法

敏捷规划与协作

  • 为工程问题编写用户故事并定义验收标准
  • 待办事项优先级技术:MoSCoW、价值与努力、风险驱动排序
  • 与非软件团队进行冲刺规划与估算
  • 学术环境中的回顾与持续改进
  • 适用于多学科参与者的协作工具与看板

DevOps文化导论

  • 定义DevOps:打破开发与运维之间的壁垒
  • CALMS模型:文化、自动化、精益、测量、共享
  • DevOps在研究实验室、土木工程团队与建筑工作室中的应用
  • 在教育机构中构建无责文化与反馈循环
  • 学术DevOps采用中的伦理、安全与合规考量

版本控制与协作代码管理

  • Git基础:用于可复现的工程与设计工作
  • 分支策略:主干开发、功能分支与简化的GitFlow
  • 教学团队中的拉取请求、同行评审与代码所有权
  • 管理非代码资产:CAD文件、BIM模型、模拟数据集
  • 课程材料与学生项目的仓库组织

持续集成与构建自动化

  • 持续集成概念及其在编译与脚本化工程工具中的应用
  • 为软件、模拟与文档设置自动化构建
  • 流水线阶段:编译、打包、代码检查与预检
  • 常见持续集成平台概览:GitHub Actions、GitLab CI、Jenkins
  • 处理大型工件、依赖缓存与并行执行

软件质量与静态分析

  • 定义软件质量:可维护性、可靠性、可用性、效率
  • 代码指标:圈复杂度、耦合性、内聚性与重复性
  • Python、Java、C++及常见工程脚本的静态分析工具
  • 文档即质量:文档字符串、README标准与动态文档
  • 在持续集成流水线中集成质量门,不阻碍学生进度

测试策略与测试设计

  • 测试金字塔:单元测试、集成测试、系统测试与验收测试
  • 为工程计算、模拟与工具编写单元测试
  • 测试驱动开发(TDD)与行为驱动开发(BDD)基础
  • 模拟外部系统:传感器、API、有限元求解器
  • 为多学科团队项目构建测试套件

测试自动化与持续测试

  • 在持续集成/持续交付流水线中自动化测试执行
  • 测试报告、覆盖率阈值与不稳定测试管理
  • 工程算法的基于属性测试与模糊测试
  • 针对不断演变的课程作业的回归测试策略
  • 模拟与渲染工作负载的性能与负载测试

持续交付与部署概念

  • 持续交付基础:交付与部署、环境与推广
  • 部署模式:蓝绿部署、金丝雀部署与功能开关
  • 应用持续交付原则发布研究工件、课程网站与apps
  • Docker容器基础:用于可复现的工程环境
  • 基础设施即代码简介:声明式管理实验室与云环境

可观测性、监控与反馈

  • 学术软件与模拟的日志记录、指标与追踪
  • 为学生项目与研究工具设置轻量级监控
  • 利用反馈数据迭代教学材料与实验作业
  • 适用于教育环境的仪表盘与告警
  • 部署后验证与回滚流程

安全与质量最佳实践

  • 安全编码基础:输入验证、身份验证与密钥管理
  • 开源技术栈中的依赖扫描与漏洞管理
  • 教学与出版中使用的软件许可合规
  • 处理学生与研究数据时的数据隐私考量
  • 在工程与设计项目中构建安全意识文化

将实践转化为教学模块

  • 为系统、土木、设计与建筑学生设计敏捷项目作业
  • 创建评估过程质量与产品质量的评分标准
  • 为学生设置预配置持续集成的模板仓库
  • 在一学期内逐步引入DevOps概念
  • 使用真实世界质量与自动化指标评估学生团队

工具链选择与学术约束

  • 评估适合预算有限部门的免费与开源工具
  • 与现有LMS、文件存储与实验室基础设施集成
  • 管理长期研究代码库中的技术债务
  • 为不同技术背景的学生与教职员工提供入门指导
  • 在关键贡献者毕业或轮换时保持可持续性

要求

  • 对软件开发概念有基本了解
  • 熟悉一般工程或设计工作流程
  • 有使用计算机进行学术或项目工作的经验

目标受众

  • 系统工程、土木工程、设计与建筑项目的教授与讲师
  • 希望用行业相关实践更新教学内容的学术人员
  • 将技术整合到课程中的研究负责人与实验室协调员
 42 小时

客户评论 (2)

即将举行的公开课程

课程分类