RON_wanwan
2021年04月11日更新 520 Views

ソフトウェア開発プロセスの概要を整理してみた

文系出身の私が、営業職として飛び込んだIT業界。現在育休中なので隙間時間にて改めてITのお勉強。。。難しいなと思ったポイントを備忘録として整理しておきます。

ソフトウェア開発プロセス

よく見る図かと思われるが、大まかな流れとしては下記となる。
スクリーンショット 2021-04-10 23.44.31.png

尚、ここでは設計工程は外部設計/内部設計として記載をしているが、基本設計/詳細設計で分けることも多い。また、ISO/IEC 12207 をベースとしたフレームワークだと、ソフトウェア方式設計プロセス/ソフトウェア詳細設計プロセス という言葉が使われる。

開発プロセス詳細

要件定義
ユーザー要求を整理・分析しながら、実装すべき機能や満たすべき性能を明確化していく。
この工程では「何が必要となるか」を、ユーザー・開発者双方の合意のもと、要件定義書に記載していく。

要件定義書の内容
・システム化の目標と対象範囲
・必要となるシステム機能と必要となる性能
・対象業務の処理手順、対象データ、利用者の操作イメージ
・システム構成
・開発期間
・品質
・開発環境
・移行、運用、保守、障害対策、教育訓練   等


「インターネットショップを開きたい」
→ 取り扱う商品数は100種類、1万点を上限にする
→ 決済方法はクレカのみ
→ 認証はXXのシステムを利用する

外部設計
「外部」という言葉は、ユーザーから観察可能な部分という意味。画面やインターフェース、帳票、伝票などの外部仕様を明らかにし文書化していく。

作業内容
・業務の詳細な流れを形にする
・データの流れを整理する
・画面などのインターフェース、帳票、伝票などの形を設計する
・セキュリティ対策を決める
・システム保守を決める

ヒアリング、ユースケース図、プロトタイプ、DFD、E-R図、UMLなどの手法が使われる

ユーザーの視点で観察可能な振る舞いが外部仕様であり、外部仕様を明らかにして文書に落とし込む活動が外部設計です。
一方、内部設計ではソフトウェアの内部に注目し、外部仕様を実現するのに必要なソフトウェアコンポーネントの洗い出しや、コンポーネント間の相互作用を設計します。

なお、エンドユーザーだけでなく、外部のシステムやサービスも当該ソフトウェアのアクターとして捉えるため、外部インタフェースの設計は外部設計ということになります。

内部設計
「内部」という言葉は、ソフトウェアの内部に注目する、という意味である。前段で決めた外部仕様を実現するには、どの機能が必要かを洗い出す。この機能のことを、サブシステム/コンポーネントと呼ぶ。またそれらを繋ぐインターフェースの設計も行う。

・コンポーネント構成図の例
スクリーンショット 2021-04-03 22.06.54.png

加えて、上記コンポーネントを、さらに詳細にしていく。
コーディング向けに、モジュールレベルに分解していく。モジュールのことを、ソフトウェアユニット/クラス とも呼ぶ。

モジュールレベルとは、例えば帳票出力の場合、「データを読み込む」「データを編集する」「データを保存する」「データファイルを出力する」といったように、処理単位に分解しておくことである。

開発
各ソフトウェアモジュールのコーディングを行う。ソースコードを書く際の共通ルールである「コーディング規約」に沿って、プログラム作成を進める。

テスト
テストは大きく4つに分かれている。
①単体テスト: モジュール単位、ソースコードそのものを検証する。
②結合テスト: 単体テストをクリアしたモジュールを組み合わせ、インターフェースを含め、機能としてうまくいくかを検証する。
③システムテスト: システムとしての機能、定義された要件を満たしているかを検証する。
④受入テスト: 実際の運用、業務の流れで利用できるかを検証する。

→ 完成後は、計画に基づき新システムへの移行を実施

関連記事

VPN、アプリケーションGW、RASなどネットワークセキュリティを図解。WAF、無線LANの暗号化なども含め、社内セキュリティの全体像を把握することを目指します。
2021年03月27日
プロキシサーバとリバースプロキシサーバの流れを図解。各々の機能・役割を含め把握することを目指します。
2021年04月03日
代表的な図式手法となるUML、DFD、E-R図、決定表、状態遷移図を図解。各々の記載方法を含め理解することを目指します。
2021年07月11日
オブジェクト、属性、メソッド、カプセル化、クラスにインスタンス、独特な単語の意味を図解を含め整理。クラス図の書き方も含め、オブジェクト指向設計の基本を理解することを目指します。
2021年06月10日
ホームへ戻る