顧客からシステムに関する要望を聞き取ったうえで、盛り込むべき機能やスピードなどの性能を決める作業です。お客様のご要望に矛盾点や無理がないかの精査や、実務において本当に必要な機能であるかどうかなど、実際にご利用頂くシチュエーションまで含めた設計を検討します。しっかり認識を合わせておくことが重要であり、作業の手戻りやトラブルを防ぐだけでなく、満足度の高い業務環境への改善も期待できます。
要件定義の工程で定めた要件を実現するためにシステムを設計する工程になります。要件定義ではお客様の要求をもとにシステムに実装する機能や性能を決定しますが、設計は実際にシステムを動かすため仕様を決定します。この設計段階で作成される設計書や仕様書をもとに、次の工程である開発を行います。開発が開始されてから修正が生じた場合は予定外の時間やコストが発生する可能性が高く、スケジュールの遅延や予算オーバーを招きかねません。こうした問題を避けるために綿密な設計を行っておくことが重要であり、必要不可欠な工程といえます。
詳細設計書の内容に基づき、プログラミングを行っていきます。開発内容に応じて、必要な言語で効率的なコード記述を実施します。開発後のメンテナンスをスムーズに行うため、多くのプログラマーが理解できる、わかりやすい記述を心がけて制作いたします。また、一般的に利用されているモジュールについては、他の処理との親和性を考慮し導入いたします。
プログラミング工程が終わったら、作成したプログラムが要件定義で決めた通りの動きをするかを確認するため、テスト工程に移ります。モジュール単位でのテストから、複数のモジュールを組み合わせたサブシステムに不具合が起きないか、各サブシステムのインターフェースにズレがないか、各サブシステムの連携がうまくいっているかなどの確認をしていきます。その後、稼働シナリオを利用しながら、システム全体に不具合がないかの確認をするシステムテストも実施いたします。