本日はITパスポート試験システム開発編について見てまいります。
出題が予想される単語が多いので、大枠をご説明した後、一つづつて見てまいります
本日もよろしくお願いします。
システム開発のプロセス
システム開発とは、業務課題をITの力で解決するために、IT技術を活用したシステム構築やソフトウェアなどの開発を行う業務です。システム開発のプロセスは、以下の工程で進みます。
- 要件定義:何を作るかを明確にします。
- 設計:要件定義で明確にした何を作るかという点を、どのように実装するかという観点で具体化します。
- 開発:設計に基づいてシステムなどを実装をします。
- テスト:正しく動作するかを確認します。

これらの工程を一つひとつ見ていきましょう。
要件定義
要件定義は、何を作るかを明確にする工程です。
この工程は3つの要素に分けて考えることができます。
・業務要件定義
業務フローや現場の課題を洗い出し、システムを用いた業務課題の解決方針を明確にします。
・機能要件定義
ユーザーが使う機能(例:検索機能、登録機能など)を明文化します。
・非機能要件定義
性能、セキュリティ、稼働率など、使いやすさ・安全性に関する条件です。
この段階のすり合わせが不十分だと、後の工程で手戻りが発生しやすくなります。
設計
設計は、要件定義で明確になった何を作るかという点を、どのように実装するかという観点で具体化する工程です。
開発工程に先立ち、画面構成や内部構造を具体化します。
・基本設計(外部設計)
ユーザーが目にする画面や入出力の形式などを設計します。
例えば、「このボタンを押すと、何が表示されるか」など、ユーザーが直接体験する部分にあたるので、使いやすさや操作性の検討が必要となります。
・詳細設計(内部設計)
画面や機能の裏側にある、データベース設計や処理の手順を定義します。
例えば、「この情報はどこに保存されるか」「どんな順番で処理されるか」といった観点から、データの構造や処理の手順を論理的に整理し、プログラム実装に必要な設計情報へと落とし込む工程です。
この段階の精度が、後工程の品質や効率に大きく影響します。
開発
開発工程は、設計図に基づいてプログラマーがソースコードを記述し、システムなどを実装する工程です。
これまでの工程での要件定義の明確さや設計の妥当性によって、実装のスムーズさが大きく変わります。
テスト
テスト工程では、要件通りに正しく動作するかを検証します。
一例として下記のテスト方法があげられます。
・ 単体テスト
プログラムの各モジュール(部品)単位で、正しく動くかを確認するテストです。
内部構造に基づいてテストするホワイトボックステストが用いられます。
・結合テスト
複数のモジュールを組み合わせて、連携が正しく行われているかを検証します。
内部構造を意識せず、複数プログラムを組み合わせたシステムの入出力や、ユーザー視点に着目した外部仕様のみを見るブラックボックステストも使われます。
・システムテスト
システム全体として、設計通りに動作するかを確認するテストです。要件との整合性が問われます。
・運用テスト(受入テスト)
実際の運用環境を想定して、ユーザーがテストを行います。
この結果によって、本番運用が可能かどうかが判断されます。
・レグレッションテスト(回帰テスト)
修正や機能追加のあとに、他の部分が影響を受けていないかを確認するための再テストです。
調達
要件定義から設計、開発、テストまでの一連の工程は、まとめて外部の専門業者に委託するケースが一般的です。その場合、信頼できるパートナーの選定が非常に重要となります。こうした委託準備の段階で用いられる代表的な文書には、以下の2つがあります。
・RFI(Request for Information:情報提供依頼書)
RFIは、まだ具体的な発注には至っていない段階で使用され、どのような技術的選択肢があるかを把握するために活用される文書です。これはあくまで情報収集を目的としており、提案や契約を依頼するものではありません。

・RFP(Request for Proposal:提案依頼書)
RFPは、委託先を正式に選定する段階で用いる文書です。導入を検討しているシステムの基本方針や概要、実現すべき機能などの具体的な提案や見積もりを、ベンダーに対して求めるために使用します。

RFIはInformation(情報)でRFPはProposal(提案)ですので、ベンダーから情報を回答してもらう、提案をしてもらう、と覚えておくと便利です。
ここまでシステム開発のプロセスを見てまいりました。
各工程ごとに役割があり、全体のプロセスを抑えることが重要です。
本日もお付き合いありがとうございました。


