IT / エンジニア / 開発方法論、プロセス


IT / エンジニア / 開発方法論、プロセス
  • 反復開発のメリット
    • 客観的に進捗を把握できる(きちんと動くものが出来ているかを見て)
    • ユーザーは動くものを見ないとフィードバックできない
    • どのリスクをどの反復で回避するのかを計画できる
  • DFDのメリット
    • 網羅性を判断できる(あるデータエンティティにCRUDがあるか?)
    • パフォーマンスのボトルネックを判断できる(あるデータエンティティに線が集中?)
    • 業務処理間ではいた処理を行うべきエンティティを発見できる

XP

  • - XPJUG - 日本XPユーザグループ
  • eXtreme programming FAQ
  • eXtreme Programming の魅力を探る
  • 常時結合
    • NAnt
    • NAnt
    • アジャイル開発を導入できていない.NET開発者たちへ
      • ペア・プログラミングは難しくても、常時結合のプラクティスは実践できる可能性がある。 常時結合は、アプリケーション全体を1日に何回も結合することにより、常にシステムをエラーのない状態に保っておくという手法である。各開発者はソース・コード管理ツールを使ってネットワーク上にあるリポジトリに、単体テストをパスしたコードをチェックインし、NAntなどの自動ビルド・ツールを使ってシステム全体をビルドしてから、すべての単体テスト、受け入れテストを実行する。ここでエラーが発生した場合は、それまでは100%テストが通っているので、自分のコードがほかの部分と整合性が取れていないということになる。エラーが発生した場合は、エラーの個所を確認して修正を行い、テストをすべてパスさせる。

オブジェクト倶楽部

テストの分類

  • 単体テスト
    • 個々のモジュールがプログラムの内部設計どおりに動作するか調べるテスト
    • 通常は、プログラマがコーディングと同一の環境で実施するものであり、コーディングとは明確に工程を区切らず、並行して実施することもあります
  • 結合テスト
    • 単体テスト済みの複数のクラスにより構成される実行可能単位の機能について、外部仕様に合っていることを確認します
    • クラス間や機能間のインターフェイスなどを中心に確認します
    • 一般的にはテスト専任の担当者がテスト専用の環境で実施しますが、結合テストの中の初期フェーズではプログラマが実施することもあります
  • システムテスト(総合テスト)
    • システムテストは、本番に近い環境で行い、システムが全体として要求された仕様のとおりに動作するかを確認します
    • 機能だけでなく、性能をはじめとする非機能に対するテストや、本番での運用を意識したテストを行います
  • 回帰テスト

RFP

分からない]]

  • 1. システム概要
    • システム化の背景、システム化の目的・方針、
    • 解決したい課題、狙いとする効果、現行システムとの関連、
    • 会社・組織概要、新システムの利用者、予算
  • 2. 提案依頼の手続き
    • 提案手続き・スケジュール、提案依頼書に対する窓口、
    • 提案資料、参加資格条件、選定方法について
  • 3. 提案していただきたい事項
    • 提案企業情報、提案の範囲、調達内容・業務の詳細、
    • システム構成、品質・性能条件、運用条件、
    • 納期およびスケジュール、納品条件、
    • 定例報告および共同レビュー、開発推進体制、
    • 開発管理・開発手法・開発言語、移行方法、
    • 教育訓練、保守条件、グリーン調達、費用見積もり、そのほか
  • 4. 開発に関する条件
    • 開発期間、作業場所、
    • 開発用コンピュータ機器・使用材料の負担、
    • 貸与物件・資料
  • 5. 保証要件
    • システム品質保証基準、セキュリティ
  • 6. 契約事項
    • 発注形態、検収、支払い条件、
    • 保証年数(瑕疵担保責任期間)、
    • 機密事項、著作権等、そのほか
  • 添付資料
    • 要求機能一覧、DFD(データフローダイヤグラム:データの流れを図示したもの)、
    • 情報モデル(*)、現行ファイルボリューム、現行ファイルレイアウト
  • *(筆者注)ER(エンティティ−リレーションシップ図:データとデータの間の関連を図示したもの)モデル、あるいは簡単なクラス図に相当するもの