*begin *back *foward *end *contents

開発フェーズ編

第21章 開発フェーズの考え方




 Dropの開発サイクルは、ADGメンバが主体となるアプリケーション開発サイクルと、ODGメンバが主体となるコンポーネント開発サイクルで構成される。また、2つの開発サイクルは、それぞれいくつかの開発フェーズから構成される。本章では、Dropの定義する開発フェーズの詳細について解説する。


21.1 開発フェーズの意義

 Dropにおける開発フェーズの意義は、ソフトウェア開発の進捗管理を行う上での基準(ルール)を示したものである。この基準とは、作成ドキュメントや利用モデルを明確にしたものである。
 Dropにおける開発フェーズは工程という意味に加え、視点という意味が含まれている。よって、開発フェーズに書かれている内容は、Dropで定義されている開発モデルやドキュメントを「何時、誰が、何を」に加え「どんな観点で」を説いたものと考えればよい。
 このように「視点」との調和を図るために、Drop開発フェーズでは工程管理を犠牲にしている面もある点は否定できない。厳密な工程管理についてのメトリクスを用意しているものではない。各フェーズの開始時期は自由に決定でき、フェーズを並行に進めることも、工程を開発者の視点と考えればむしろ自然なのである。ただし、工程作業のなかで評価チェックポイントを設けることで、正しい工程の進め方と終わらせ方が解るようにしている。
 Drop開発フェーズで解説する内容は、以下の2つの使われ方を想定している。

  1. 管理者やリーダがチームの進捗を管理するために基準として使う。
  2. オブジェクト指向開発プロセスを学ぶ。
 進捗管理に対し、Dropは「Dropを使うと誰でも進捗管理ができる」という魔法を提供しようというものではなく、「Dropの思想を理解すれば、進捗を管理するための指針がたてられる」というものを目指している。



21.2 開発フェーズリファレンス

 以下に開発フェーズリファレンスを示す。表中のワークショップとは、ADGとODGのコンカレントチームワークによる開発プロセスを補うために、重要な意志決定を行うための会議のことである。このような会議をそれぞれの開発フェーズの中で開催することで、2つのチームの円滑なコミュニケーションを図り、意識を合わせながら開発を進めていけるようになる。

フェーズ主な作業項目開催されるワークショップ
ADG 問題領域分析
  • ユーザ要求の理解
  • 要求仕様の作成とユーザの合意獲得
  • 要求仕様に基づく開発基本計画作成
  • 要求仕様に基づく要求モデル構築
  • システムの実装基盤の決定
  • 要求計画
  • 要求モデル
  • 実装基盤
  • システム
    共通設計
     
  • システム機能・操作設計
  • ユーザインタフェース共通設計  
  • データストア設計
  • アプリケーション分割設計
  • アプリケーション相互作用設計  
  • プロセス・スレッド設計
  • ネットワーク設計
  • 信頼性設計(エラー処理構造の設計)
  • システム共通
  • アプリケーション
    設計・実装
     
  • アプリケーション特化層(Appレイア)のクラス設計  
  • アプリケーション特化層(Appレイア)の実装

  • システム
    テスト・評価
  • アプリケーションレベル(Appレイア)のテスト  
  • システムレベルのテスト  
  • システムレベルの評価・検証

  • ODG コンポーネント
    分析
     
  • コンポーネントの抽出とその構築のための分析
  • コンポーネント構築のための基盤形成と拡張分析
  • 再利用コンポーネント
  • コンポーネント
    設計・実装
     
  • クラス内部の詳細な設計と仕様化

  • パッケージ
    テスト・評価
     
  • コンポーネントのパッケージ単位のテスト
  • コンポーネントの評価・検証

  •  

    表1 開発フェーズリファレンス




    21.3 開発フェーズと開発モデルの関係

     それぞれの開発フェーズでは、どのように開発モデルを使っていけばよいのだろうか。
     図1は、開発フェーズで使われる開発モデルと開発手法の関係を示している。この中で、静的構造モデルと動的構造モデルは、すべてのフェーズにおいて視点を変えて使われるとこになるため、図中のモデルからでている矢印は2つの開発サイクルを指している。それ以外の開発モデルは利用フェーズが限定されているため、それぞれのモデルの利用フェーズを指している。


    sorry this is image

    図21-1 開発フェーズと開発モデルの関係





    *begin *back *foward *end *contents