2-A-1【システム開発技術】システム開発のプロセスと重要な要素
ブログ教材(コード)一覧
音声解説はこちらのWebページ最上部の▶︎を押してください
バックグラウンド再生も可能です。
【過去問はこちら】どんな問題が出るのか事前に確認しよう!
システム開発は、企業や組織の要求に基づき、ソフトウェアやシステムを設計・開発・導入する一連のプロセスを指します。これらのプロセスは、システムの要求定義から始まり、最終的な運用と保守に至るまで、多くの重要なステップで構成されています。本記事では、システム開発の各プロセスとその関連用語について詳細に解説します。
1. システム要件定義・ソフトウェア要件定義
システム・ソフトウェアに要求される機能と性能の明確化
システム要件定義とソフトウェア要件定義は、システム開発の最初のステップであり、システムが実現すべき機能や性能を明確にするプロセスです。この段階で、システムがどのような機能を持ち、どの程度の性能を発揮する必要があるのかを定義します。
要件の種類
機能要件:システムが実行するべき具体的な機能を定義します。例えば、「ユーザーがログインできる」「データを検索できる」といった要件です。
非機能要件:システムがどのように機能するか、またその性能を定義します。これには、信頼性、効率性、使用性、安全性などが含まれます。
要件定義のプロセス
共同レビュー:開発チームとステークホルダーが集まり、定義した要件を確認・修正するプロセスです。
品質特性:システムの品質を評価する基準で、機能性、効率性、使用性、信頼性などがあります。
2. 設計
システム設計とソフトウェア設計
設計は、要件定義に基づいてシステムやソフトウェアの構造を決定するプロセスです。このプロセスには、大きく分けてシステム設計とソフトウェア設計があります。
システム設計
システム全体のアーキテクチャを決定します。システムの構成要素(ハードウェア、ネットワーク、データベースなど)や、それらの間のインターフェースを設計します。
ソフトウェア設計
ソフトウェアの内部設計を行い、各プログラムの構造やデータフロー、アルゴリズムを決定します。これには、機能設計と詳細設計が含まれます。
機能設計:システムの各機能を具体的に設計します。
詳細設計:実際のコーディングを行うための、より細かい仕様を設計します。
3. プログラミング(単体テストの実施までを含む)
プログラムの作成と単体テスト
プログラミングは、設計に基づいて実際にコードを記述する作業です。この段階で、ソフトウェアの機能を実装し、その後に単体テストを行って、各プログラムが正しく動作するかを確認します。
プログラミングにおける用語
コーディング:プログラムコードを実際に書く作業です。
ホワイトボックステスト:プログラム内部のロジックをテストする方法で、コードが正しく動作するかを確認します。
デバッグ:プログラムの誤り(バグ)を修正する作業です。
コードレビュー:他の開発者が書いたコードを確認し、品質を向上させるための作業です。
テストデータの作成及び分析
テストデータを作成し、プログラムが意図した通りに動作するかを確認します。このデータを分析して、不具合や問題点を発見します。
4. 統合・テスト
ソフトウェア・システムの動作確認
統合・テストは、単体テストが完了したプログラムを統合し、システム全体が要求通りに動作するかを確認するプロセスです。この段階では、テスト計画を策定し、テストを実施して評価します。
テストの種類
統合テスト:個々のプログラムを統合して、システム全体が正しく動作するかを確認します。
ブラックボックステスト:システムの外部から見た動作をテストし、内部の実装を気にせず機能が正しいかを確認します。
性能テスト:システムが指定された性能基準を満たしているかを確認するテストです。
負荷テスト:システムが高負荷状態でも正常に動作するかを確認します。
回帰テスト(リグレッションテスト):システムに変更を加えた後に、既存の機能が正常に動作するかを確認するテストです。
5. 導入・受入れ
システムの運用環境での確認
導入・受入れは、システムが完成した後に、実際の運用環境で動作するかを確認するプロセスです。この段階では、受入れテストを行い、システムが意図した用途を達成しているかを確認します。
導入・受入れのステップ
利用者マニュアルの作成:システムを使うユーザー向けの操作ガイドを作成します。
受入れテスト:システムが実際の業務環境で動作するかを確認します。
妥当性確認テスト:システムがビジネス要件を満たしているかを確認します。
移行:既存システムから新システムへデータや業務を移行する作業です。
6. 保守
システムの運用後のサポート
ここから先は
このマガジンでは、システム開発技術に関する基礎から応用までを解説しています。具体的には、システム開発プロセスや技術的な手法、実践的な開発ス…
この記事が気に入ったらチップで応援してみませんか?