ソフトウェア開発手法
a. ソフトウェア開発モデル
ソフトウェア開発の効率化や品質向上のために用いられるソフトウェア開発モデルの考え方,必要性,代表的なソフトウェア開発モデルの考え方を理解する。
【用語例】
ウォータフォールモデル,スパイラルモデル,プロトタイピングモデル,RAD ( Rapid Application Development ) ,アジャイル,ソフトウェアプロダクトライン,繰返し型モデル,段階的モデル( Incremental Model ) ,進展的モデル ( Evolutionary Model )
b. アジャイル
迅速かつ適応的にソフトウェア開発を行う軽量な開発手法であるアジャイルの特徴を理解する。
【用語例】
XP(エクストリームプログラミング),テスト駆動開発,ペアプログラミング,リファクタリング
c. ソフトウェア再利用
ソフトウェアの開発生産性や品質向上のためには,部品化や再利用が必要であり,部品化を進める際には,部品は再利用されるという前提に立って設計や作成に取り組む必要があること,ソフトウェアパッケージを活用することによって,開発生産性や品質向上が可能になることなどを理解する。
【用語例】
モジュール独立性,標準化,カスタマイズ
d. リバースエンジニアリング
既存のソフトウェアを分析して,基本的な設計方針を解釈するリバースエンジニアリングがあること,リバースエンジニアリングの結果に基づいて,元のソフトウェアの権利者の許可なくソフトウェアを開発,販売すると,元の製品の知的財産権を侵害する可能性があること,利用許諾契約によっては,リバースエンジニアリングを禁止している場合もあることなどを理解する。
【用語例】
互換性,コールグラフ
e. マッシュアップ
マッシュアップは,複数の提供元によるAPI を組み合わせることで,新しいサービスを構築する手法であることを理解する。また,マッシュアップの生産性,品質面での特徴を理解する。
【用語例】
Web2.0
構造化手法
大規模なシステムや複雑な処理内容に対して適切な品質を確保し,また,プログラムの保守を容易にするために構造化手法が用いられること,構造化手法の手順,効果を理解する。
【用語例】
階層構造化,段階的詳細化,構造化チャート,状態遷移図,HIPO ( Hierarchy plus Input Process Output ) , DFD ,ソフトウェア構造