忍者ブログ

最強のソフトウェア開発

最強のソフトウェア開発を目指した知識等を提供する

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


アジャイル関連の用語

ペアプログラミング

一台のマシンで、2人のプログラマーが、共同でコードを作成する

一人はプログラミングを書き、もう一人は、コードを見て、エラーを発見したり

改善点を発見する



Test Driven Development (TDD)

ユニットテストをパスするために、コードを書いていくやりかた

まず、ユニットテストのコードを書き実行する。これは、プログラムが書けていないため、失敗する

そして、ユニットテストにパスするように、コードを書き直す


継続的な統合


日に数回、プログラマはコードをチェックインし、統合する

システムが、日に数回ビルドされる



シンプルな設計

デザインをシンプルに保つ

今のイテレーションで実現するストーリーに集中し

将来のための設計はしない

イテレーションの間にチームは、デザインを見直す

チームは、インフラの設計やデータベースを選択する、ミドルウエアを選択することから

始めるわけではない

もっともシンプルな実現方法からはじめる

インフラは、必要なストーリーが来たときに考える



Refactoring


コードは、機能を加えるごとに、あるいは、バグを直すたびに、構造が崩れる

これをほっておくと、保守性に問題がでる

リファクタリングは、これを防ぐ方法である

リファクタリングは、システムの振る舞いを変更することなく

内部の構造を改善するものである

リファクタリングを行うことで、コードをクリーンに、シンプルに保つ





PR

XPの流れ

(1)計画ゲーム

顧客は要求(ユースケース)を、ストーリーカードに書き出す

開発者は、各ストーリーの優先順位づけ、コスト評価を行う


(2)イテレーション計画

ストーリーを具体的な開発作業に分割し、タスクを人に割り当てる



(3)イテレーション

テストケースの作成、コードの作成を行う

ストーリー全体を検証し、リリースする















-----

総合テストの代表的な内容

総合テストの代表的な内容。


名称概要
負荷テスト短期間に重い負荷をかける
大容量テスト大容量のデータを入力する
構成テストハードウェアの構成を確認する
互換性テスト既存の機能が正常に稼働するか
機密保護テストプログラムなどの機密保護に関する機能のテスト
記憶域テスト主記憶、補助記憶に関わる要件に適合しているか
性能テスト性能に関わる要件に適合しているか
信頼性テスト信頼性(故障時間、エラー数の目標値)
境界値テスト入力データの境界値
障害回復テスト障害発生時の回復
保守性テスト保守に関するツールのテスト
使用可能性テスト使いやすさ
説明書テスト説明書の内容でシステムが利用できるか

ソフトウェア開発のプラクティス

プラクティスとは


ソフトウェア開発を、そして、製品をよりよくするための

概念、手順、手法、ツールなどをさす。(と理解している)

 

いろいろな原則

(1)シンプルにする


  ・設計、プログラム、すべてをシンプルにする。

  ・シンプルとは、単に簡単にすることではない。

          考えを持って、シンプルにすることである。

(2)自分が作ったものを、他人が使う、直す


  ・他人に理解してもらわなければならない。







Waterfallの基本原則

Waterfallの基本原則
  • プロジェクトは、順番に実行するフェーズに分割される
  • フェーズのオーバーラップや後戻りもある程度許容される
  • 計画、スケジュール、予算等に重点が置かれる
  • システムを一度に実装していく
  • ドキュメントや公式レビュにより管理される