コース概要

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 時間

参加者の人数


参加者1人当たりの料金

お客様の声 (5)

今後のコース

関連カテゴリー