応用情報技術者試験
情報技術者試験まとめへ

開発技術(1)

ソフトウェア開発管理技術

ソフトウェア開発モデル

ウォータフォールモデル

ウォータフォールモデルは、古くから利用されているシステム開発モデルの一種
各開発工程を見渡した一連の流れを、段階的に流れ落ちる滝のように見立てている。
開発プロジェクトを時系列に、作業工程を分割し、原則として前工程が完成しないと次工程に進まないことで、前工程の成果物の品質を確保し、前工程への後戻り(手戻り)を最小限にする。通常は「線表(ガントチャート)」を使用してスケジューリングする

ウォーターフォールモデル
スパイラルモデル

システムをいくつかのサブシステムに分割し、サブシステムごとに「要件分析」「システム設計」「開発」「テスト」のサイクルを繰り返しながら、システムの完成度を高めていく開発モデル。「繰返し型モデル」
独立性の高いシステムの開発に利用される
サブシステムごとに利用者が検証し、次のサイクルで利用者の要求を取り入れることができる
利用者の満足度は高くなるが、開発工程の管理が複雑になるという特徴がある

スパイラルモデル
プロトタイピングモデル

システム開発工程の早い段階で、試作品(プロトタイプ)を作成し、ユーザに試用してもらうことによって「ユーザの要求と合っているか?」「使い勝手はどうか?」など、認識があっているかどうかをチェック、場合によってはプロトタイプを修正しながら、要求仕様を確定していく
この手法はシステム開発の初期段階での誤りを発見し、開発期間の短縮やコストの低減を狙ったものだが、開発を進めていくにあたって、ユーザ側の要求仕様が変わったり、拡張や変更時に問題が発生したり、進め方によっては逆に開発期間が延長してしまったりする

プロトタイピングモデル
XP(Extreme Programming)

設計よりもコーディングとテストを重視し、各工程を順序立てて積み上げていくというよりも、常にフィールドバックして修正・再設計をしていく
経験に基づいた具体的な実践項目(プラクティクス)として、
シンプルデザイン
リファクタリング
ペアプログラミング
スモールリリース
40時間労働
オンサイト顧客   など12項目

インクリメンタルモデル(段階的モデル)

システムを独立性の高いいくつかのサブシステムに分割して、サブシステムごとに順次開発、リリースしていくプロセスモデル
サブシステムの開発が並列進行する点が、スパイラルモデルと異なる。最初にシステム全体の要求定義を行い、要求された機能を幾つかに分割してだんかいてきにリリースするので、すべての機能がそろっていなくても、最初のリリースからシステムの動作を確認することができる

エボリューショナルモデル

システム全体のプロトタイプを最初に作り、それをバージョンアップしていく。スパイラルモデルは、部分毎にプロトタイプ、バージョンアップとしながら全体を作っていくので、この点で異なる

ランドトリップ

オブジェクト指向開発において、分析と設計、プログラミングを何度か行き来しながらトライアンドエラーで完成させていく手法

RAD

ソフトウェア開発技術のひとつ。プロトタイプと呼ばれるシステムの完成イメージを何度も制作、評価し、プロトタイプを次第に完成品に近づけて行く手法。一般に、スパイラルアプローチと呼ぶ方法を採用する。設計・開発・テストというサイクルを繰り返して完成品に近づけていく。一定の期間が来たら、次の工程に強制的に移る。注意点としては、必ず実現項目ごとに優先順位をつけて、その優先順位の高い順に構築すること

共通フレーム

コンピュータ・システムの開発において、システム発注側(ユーザー)と受注側(ベンダ)の間で相互の役割や業務の範囲・内容、契約上の責任などに対する誤解がないように、双方に共通して利用できるよう用語や作業内容の標準化するために作られたガイドライン
システム構築・運用の受発注において、契約上のトラブル防止、作業内容の確認、役割分担の明確化、社内作業標準の策定や人員計画、見積もり精度の向上、品質確保などに利用される
代表的なものがSLCP(ソフトウェアライフサイクルプロセス)

SLCP(software lifecycle process)

ソフトウェア開発プロジェクトで、発注者と受注者の間で、開発作業に対する相互誤解がないように、さまざまな作業内容の詳細を規定するもの

 

ページトップへ 次へ