|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ 反 : [はん, たん] 1. (n,vs,n-pref) anti- 2. opposite 3. antithesis 4. antagonism ・ 反復 : [はんぷく] 1. (n,vs) repetition 2. reverse ・ 型 : [かた] 【名詞】 1. mold 2. mould 3. model 4. style 5. shape 6. data type ・ 開発 : [かいはつ] 1. (n,vs) development 2. exploitation ・ 発 : [はつ] 1. (n,suf) (1) departure 2. (2) beginning 3. (3) issued by (e.g., document) 4. (4) counter for gunshots
反復型開発(はんぷくがたかいはつ、Iterative and Incremental Development)とは、より古典的なウォーターフォール・モデルの弱点を克服すべく開発されたソフトウェア開発工程の手法である。反復型開発の中でもRADとDSDMは、よく知られたフレームワークである。反復型開発は、エクストリーム・プログラミングや他のアジャイルソフトウェア開発フレームワークの基本的要素でもある。 ==ライフサイクル== 反復型開発の基本的考え方は、ソフトウェアシステムを徐々に開発していき、ソフトウェア開発者が過去の開発から学んだことを生かして、使用可能なシステムを段階的にリリースしていくというものである。開発者は、開発そのものと実際のシステムの使用から学ぶ。重要な点は、要求仕様の単純なサブセットから開発を始め、徐々に改良を加えていき、最終的に完全なシステムを実装するということである。反復ごとに設計が修正され、新たな機能が追加されていく。 手続きは、初期段階と反復段階から構成され、プロジェクト制御リストが付随する。初期段階では、基本となるシステムを作成する。初期段階の目標は、ユーザーがとりあえず使ってみることができる製品を実装することである。解決すべき問題の本質を捉え、簡単に実装可能な解決策を見出して、それを提供する。この工程を導くため、プロジェクト制御リストを作成し、必要な作業を全てリストアップする。これには、実装すべき新たな機能や、既存の解決策の再設計すべき箇所などが含まれる。制御リストは、分析フェーズの結果を受けて継続的に更新される。 反復段階では、プロジェクト制御リストやシステムの現状の分析から再設計や実装などの必要な作業を抽出して行う。反復ごとの作業量やその複雑さはなるべく小さく抑え、影響が広がらないようにモジュール化も考慮して、実装すべき機能を選択する。このとき、コード自体がシステムのソフトウェアドキュメンテーションの主要な源となることもある。各反復における分析は、主にユーザーからのフィードバックに基づいて行われる。プログラム解析ツールも利用可能で、構造、モジュール性、ユーザビリティ、効率、目標達成率などを分析する。このような分析結果に基づいて、プロジェクト制御リストが更新される。 画像:Iterative Development Concept.PNG 実装と分析のガイドラインには次のような項目が含まれる: * 何らかの変更によって、設計/コーディング/テストで問題が発生した場合、再設計や再コーディングの必要である。 * 修正は、一部の独立性のあるモジュール群に簡単に適用可能でなければならない。そうでない場合、再設計が必要である。 * テーブルの修正は、特に容易に実行できるようにする。テーブル修正が簡単でない場合、再設計が必要である。 * 修正は、反復を繰り返すにつれて容易なものになっていくはずである。そうならない場合、設計の流れに根本的な問題があり、パッチの増殖につながる。 * パッチは1、2回の反復の間だけ存在するのが普通である。パッチは、実装において再設計の必要が生じたときに、応急処置として使われる。 * 現状の実装を頻繁に分析することによって、プロジェクトの目標達成率を測る。 * プログラムを分析するために、プログラム解析ツールを可能な限り利用する。 * 現状の実装の問題点を明らかにするために、ユーザーの反応は是非とも必要であり、分析すべきである。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「反復型開発」の詳細全文を読む スポンサード リンク
|