システム開発

System Development

システム開発のプロセス

①要件定義

「要件定義」フェーズでは、構築すべき機能を明確にします。オーナーからの「業務を効率化したい」という抽象的な希望をどのように解決するかを決めます。要件定義は、システム開発においてもっとも重要なプロセスで、全体の方向性を決めるフェーズとなります。方角を間違えたらいつまでたっても目的地にたどり着けないように、要件定義のミスは納期の遅れや、予算の増加につながります。

②外部設計

「外部設計」フェーズは、システムの外見、つまりインターフェースやシステムの流れを決める部分です。使いやすさはシステムの定着度につながる要素です。したがって外部設計は、クライアントにとっての使いやすさを考えるフェーズになります。

③内部設計

「内部設計」フェーズは、システムの内面を設計する部分です。今後のメンテナンスのしやすさを考慮して、シンプルな仕組み、構成を考えるのが重要なフェーズです。

④プログラミング

「プログラミング」フェーズは、プログラムを設計し、それを実際に組み上げる部分です。一つのシステムにおいて、作るべきプログラムは一つとは限りません。システムをいくつかのプログラムに分け、それぞれを設計、プログラミングをする必要があります。またこの時に、次の「単体テスト」で確認するべき項目も決めておきます。

⑤単体テスト

「単体テスト」フェーズは、開発者が、システムがパートごとに正しく動作するかを確かめるフェーズです。パートごとにテストすることで、問題が発生したときの原因がわかりやすくなります。

⑥結合テスト

「結合テスト」フェーズは、単体テストを終えたパートを複数合わせて、それらが正しく動作するか、を確かめる段階ステップです。システム開発においてはそれぞれのパートが問題なく動いても、結合しても正しく動作するとは限りません。単体テストと同じく、結合テストにおいても、事前にチェックしておくべきテスト項目を決めておきます。

⑦システムテスト

「システムテスト」フェーズは、システム全体が設計通りに動いているか、を確認するテストです。システムテストは本番とほぼ同じ状況の中で行われます。

⑧ユーザーテスト

「ユーザーテスト」フェーズは、最後に行われるテストで、システム開発を依頼したオーナー自身がシステムを操作して、結果を確認します。

⑨システム移行

「システム移行」フェーズは、テストが完了したシステムを、開発環境から実際の本番環境へ移すフェーズです。

⑩運用・保守

「運用・保守」フェーズは、システムを実際に動かし、適宜メンテナンスをするフェーズです。運用がシステムの稼働状況を監視するのに対して、保守は、修正などのためにシステムに変更を加えます。「運用・保守」のどちらもシステムの安定稼働が目的です。