pulpul 日本の試験

ITパスポート 概念書 · ソフトウェア開発管理技術

開発の進め方

要点と定義

この節は、IPAシラバス Ver.6.5「26. 開発プロセス・手法」のうち、主なソフトウェア開発手法・モデルとアジャイルに関する項目を扱います(PDF pp.33–34)。

アジャイル開発は、機能を小さな単位に分け、短い期間で開発とリリースを繰り返す進め方です。各回の結果を踏まえて、次に開発する機能や優先順位を見直し、変化する要求に対応します。短期間の反復で機能を順次追加する事例を見分ける知識が問われています。

XP(エクストリームプログラミング)は、要求の変化に対応しながら短いサイクルで開発・リリースするアジャイル開発のアプローチの一つです。XPの説明を、テスト駆動開発やペアプログラミングなど個別の技法と区別する必要があります。

オブジェクト指向は、クラスや継承を利用してソフトウェアを部品化し、再利用しやすくする考え方です。クラスや継承による部品化が判断の手掛かりになります。

DevOpsは、開発担当と運用担当が連携し、自動化などを活用してリリースやサービス改善を進める取り組みです。変更要求に迅速かつ柔軟に対応することを目指します。

リバースエンジニアリングは、既存のプログラムやソフトウェアを解析して、仕様や設計情報を明らかにする作業です。

リファクタリングは、機能仕様や外部から見た振る舞いを変えずに、プログラムの内部構造を改善することです。

適用条件と例

短い周期で動く機能を追加し、各周期の結果を見て次の優先順位を決めるなら、アジャイル開発の特徴に合います。例えば、予約アプリに空き状況の表示を加えた後、利用状況を見て次に通知機能を作るかを決めます。単に試作品を作って利用者に評価してもらう説明なら、中心となる手法はプロトタイピングです。

クラスと継承を用いて共通の部品を作り、複数の機能で再利用する設計は、オブジェクト指向の例です。

開発と運用が協力し、バージョン管理や本番移行の自動化を取り入れて、新機能のリリースとサービス改善を進める場合はDevOpsです。開発側だけで試作品を作ることや、工程を終えてから運用側へ引き渡すことだけでは、DevOpsの説明になりません。

既存ソフトウェアのソースコードを調べて仕様書を作るならリバースエンジニアリングです。一方、同じ処理結果を保ったまま重複した処理を整理するならリファクタリングです。前者は既存成果物から仕様を調べる作業、後者は動作を保ちながら内部構造を改善する作業です。

この節の続き

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む