「開発プロセス・手法」における目標
ソフトウェア開発プロセスに関する手法の考え方,特徴を修得し,応用する。
アジャイルの概要,アジャイルソフトウェア開発手法の考え方,特徴を修得し,応用する。
1.1. ソフトウェア開発手法
1.1.1. ソフトウェア開発モデル
ソフトウェア開発の効率化や品質向上のために用いられるソフトウェア開発モデルの考え方,必要性を理解し,ソフトウェア開発モデルの特徴を理解する。
1.1.2. アジャイル
迅速かつ適応的にソフトウェア開発を行う軽量な開発手法であるアジャイルの特徴を理解する。
1.1.2.1. アジャイルの概要
アジャイルの概要として,アジャイルソフトウェア開発手法の種類などを理解する。
1.1.2.2. XP(エクストリームプログラミング)の特徴
XP(エクストリームプログラミング)の特徴を理解する。
1.1.2.3. スクラムの特徴
スクラムの特徴を理解する。
1.1.3. ソフトウェア再利用
ソフトウェアの開発生産性や品質向上のためには,部品化や再利用が必要であり,部品化を進める際には,部品は再利用されるという前提に立って設計や作成に取り組む必要があること,ソフトウェアパッケージを活用することによって,開発生産性や品質向上が可能になることなどを理解する。また,ソフトウェア部品の種類,特徴,部品設計のポイントを理解する。
1.1.3.1. 部品の種類と特徴
ソフトウェア部品の種類と特徴を理解する。
1.1.3.2. 部品設計の基準
部品の利用用途に応じた,設計基準の目的,内容を理解する。
1.1.4. リバースエンジニアリング
既存のソフトウェアを解析して,仕様や構成部品などの情報を得るリバースエンジニアリングがあること,リバースエンジニアリングの結果に基づいて,元のソフトウェアの権利者の許可なくソフトウェアを開発,販売すると,元の製品の知的財産権を侵害する可能性があること,利用許諾契約によっては,リバースエンジニアリングを禁止している場合もあることなどを理解する。
1.1.5. マッシュアップ
マッシュアップは,複数の提供元によるAPI を組み合わせることで,新しいサービスを構築する手法であることを理解する。また,マッシュアップの考え方,生産性,品質面での特徴,留意事項を理解する。
1.1.6. モバイルアプリケーションソフトウェア開発
モバイルアプリケーションソフトウェア開発の手順,留意事項を理解する。
1.2. 構造化手法
大規模なシステムや複雑な処理内容に対して適切な品質を確保し,また,プログラムの保守を容易にするために構造化手法が用いられること,構造化手法の考え方,特徴,手順,効果,留意事項を理解する。
1.3. 形式手法
形式手法(Formal Method)は,形式仕様記述言語を使用してルールに従って厳密に記述し,ソフトウェアの品質を高めるための手法であること,モデルの状態を記述することに重点をおいていること,そのモデル記述言語であるVDM-SL(Vienna Development Method -Specification Language),VDM++の考え方,特徴を理解する。
1.4. 開発プロセス
1.4.1. ソフトウェアライフサイクルプロセス
SLCP(Software Life Cycle Process:ソフトウェアライフサイクルプロセス)の目的 と全体像を理解する。
1.4.2. プロセス成熟度
開発と保守のプロセスを評価,改善するに当たって,システム開発組織とプロセス成熟度をモデル化したCMMI があること,プロセス成熟度を5 段階のレベルで定義するなどCMMI の考え方,高次のレベルに達するために必要な方策を理解する。