课程大纲

QA/CI

  • 什么是QA?
  • 什么是CI?
  • 软件开发、重构和修复错误的成本
  • 识别和理解项目
  • 为组织带来的收益

DDD

  • 基于业务需求的软件开发,DDD假设
  • IT与业务沟通中的问题
  • 领域模型

最佳实践

  • KISS原则和DRY原则
  • 编码标准
  • 通过OOP和设计模式创建可重用代码
  • 识别并降低圈复杂度

软件度量

  • 类的权重方法
  • 类的响应
  • 继承树深度
  • 对象间耦合
  • 方法缺乏内聚性
  • 子类数量
  • 圈复杂度
  • 类度量
  • 模型度量
  • 使用度量

软件测试

  • 测试什么、何时测试以及如何测试?
  • “白盒”和“黑盒”方法
  • 测试在敏捷方法中的作用
  • TDD仅可能增加项目成本
  • 使用JUnit(Java)、PHPUnit(PHP)进行单元测试
  • 使用JBehave(Java)、Behat和Mink(PHP)进行行为测试
  • 功能测试

重构

  • 什么是重构?
  • 技术债务
  • 代码异味
  • 重构模式

文档

  • 文档在敏捷方法中的作用
  • 需要记录什么?
  • 文档类型
  • 文档与敏捷方法,或称为(可工作的软件胜过全面的文档)?
  • 标准XMI
  • 从Javadoc(Java)、ApiGen(PHP)自动生成文档

CI工具与环境

  • CI工具与环境
    • PMD(Java)、phpmd(PHP)
    • CPD(Java)、phpcpd(PHP)
    • 代码行计数器(Java)、phploc(PHP)
    • UCDetector(Java)、phpdcd(PHP)
    • Jdepend(Java)、phpdepend(PHP)
  • Jenkins持续集成服务器

敏捷与CI/QA

  • 计划与增量开发
  • 拥抱变化
  • 短周期
  • 跨职能团队
  • 极限编程,代码审查
  • 个体和互动胜过流程和工具

总结

  • 讨论
  • 问题
  • 如何开始实施过程?

要求

软件开发过程知识

 14 小时

客户评论 (5)

即将举行的公开课程

课程分类