今日も今日とて学習です。
システム開発プロセス/開発モデル
共通フレーム
ソフトウェアの開発者と発注者の間で段取りに対する共通概念を作ること
基本①から⑤まで順番に行います。
①企画プロセス
経営の目的、目標より計画を作成
②要件定義プロセス
必要機能、使いやすさを明確にする
③開発プロセス
要件を詳細にし設計を進め、作成しテストする。
④運用プロセス
システムを導入し、ユーザー教育し継続運用する。
⑤保守プロセス
不具合や諸事情の変化に対応
④に適時行う
⑥管理プロセス
①②③④⑤格プロセスの管理
共通フレームの開発プロセス活動
流れとしては
1,要件定義 : 機能要件の定義
2,方式設計 : 具体的なシステムの構成
3,結合: できた格コード、ソフトウェアの結合
4,適格性確認テスト: 結合からの性能確認
が基本となる流れで
システム(全体)とソフトウェアの開発を合わせる
と下記のとうに順番に行っていく形です。
①システム全体を対象とした作業:初期段階
システム要件定義
システム方式設計
②ソフトウェアを対象とした作業
ソフトウェア要件定義
ソフトウェア方式設計
ソフトウェア詳細設計
コード作成とテスト
ソフトウェア結合
ソフトウェア適格性確認テスト
③システム全体を対象とした作業:完成段階
システム結合
システム適格性確認テスト
ウォーターフォールモデル
下記のように上流工程と下流工程に別れ
①から順番に行っていく形です。
開発の終わりの見通しが立ちやすく
コストや開発期間の見積もりが容易ですが
後戻りを考慮してないので、やり直しの大きなコストがかかってしまいます。
上流工程
①基本計画
ユーザー要求を分析して、
「要求仕様書」にまとめます。
②外部設計
ユーザー側の視点で捉えて設計します。
大まかな機能単位にシステムを分けます。
- 論理データ設計
- 入出力設計
- コード設計
③内部設計
プログラムでどう具体的にどう実現するか設計します。
- 物理データ設計
- 入出力詳細設計
④プログラム設計
内部設計で定義したプログラムを
モジュール単位に分割します。
モジュール
プログラムを組み立てる部品となるソフトウェアです。
下流工程
⑤プログラミング
⑥テスト
下記の順番で行われます。
1,単体テスト
2,結合テスト
3,システムテスト
4,運用テスト
⑦運用・保守
下記のように分類されます。
- 修正保守
- 変更(適応)保守
- 改良保守
⑧レビュー
見直し作業のこと
- ウォークスルー: 開発者が自ら説明して意見を求める
- インスペクション: 進行役のモデレーターによって進められる
- ラウンドロビン: 参加者が持ち回りする
スパイラルモデル
ウォーターフォールとは逆で修正しやすくしたもの
下記の①②③④を4回繰り返して完成させます。
①目標、代替案、制約の決定
②代替案とリスクの評価
③開発とテスト
④次フェーズの計画
プロトタイプモデル
ベータ版とも言われ、ユーザーに試作品を使ってもらい
意見を聞く
アジャイル開発
ウォーターフォールモデルの改良版で
時間の短縮、要求対応、品質向上を目的とした
開発手法の総称です。
下記のような用語があります。
- XP(エクストリームプログラミング): 仕様変更は当たり前として、柔軟性やスピード重視
- ペアプログラミング: コンビのプログラマが行う
- 継続的インテグレーション: 単体テストが終わったら、すぐ結合テストをする
- テスト駆動型開発: テストケースを事前作成する
- スクラム: スプリントと呼ばれる、短い周期で行う。
- リファクタリング: コードの整理
リバースエンジニアリング
下流工程の成果物から上流工程の成果物を生成する。
リエンジニアリング
リバースエンジニアリングからの製品より
新たに製品を作ること。