業務効率化のためにシステム開発を検討しているが、どのようなフローで進んでいくのか把握していない方も多いのではないでしょうか。
システム開発の代表的なフローとして、内容ごとに分かれた工程を、段階的に踏みながら進んでいくウォーターフォールモデルがあります。
設計が完了したら開発が行われ、開発が終了したら、テストの実施後にリリースとなります。リリース後は持続的にシステムが使われるための運用と保守が実施されます。
このコラムでは、開発までの設計フローと、設計後のフローについて解説していきます。
「ウォータフォールモデル開発」と「アジャイルモデル開発」について知りたい方は、以下の記事も合わせてご覧ください。
システム設計は段階を踏んで進める
冒頭でも説明した通り、システム開発は設計内容ごとに分かれた工程を段階的に踏んで行われます。スムーズなシステム設計と品質の高いシステム開発を実現するためです。
システムの内容によって異なりますが、大規模なシステム開発の場合、長くて1年以上の時間を要することがあります。設計は長期間に渡るため、工程を分けてシステム設計を進めることで、その工程でやるべきタスクが明確になり、スムーズな設計が行えます。
また工程が分かれていることで、途中で何か問題が生じたときには次の工程へ進む前に対応できます。質を保ったまま設計を終えられるため、結果として質の高いシステム開発が可能になるのです。
システム設計の流れ(フロー)
実際の開発に入る前に、大まかに3つの設計工程があり、1工程ずつ段階的に進められます。
設計のフローは次の通りです。
要件定義
1つ目の設計工程は、システムに必要な機能を決める「要件定義」です。
システム開発は要件定義に基づいて行うため、この工程はシステム設計の工程の中で最も重要です。
要件定義では、主に次のようなことを決めていきます。
- 何を解決/実現するためのシステムを作るのか
- 解決/実現したいことのためにはシステムにどのような機能が必要か
- どのくらいの時間と費用をかけてシステム開発をしていくか
要件定義の内容は「要件定義書」などの書類に記され、その後の設計の工程や開発の工程で活用されます。
基本設計
2つ目の設計工程は、要件定義を元に「システムに搭載する機能」を具体化する「基本設計」です。
「基本設計」は、ユーザーから見えるインターフェースの仕様を決定する設計工程であり、「外部設計」と呼ばれることもあります。具体的には次のような内容について設計します。
- 画面や帳票などのインターフェースをどのような見た目にするか
- 動作や振る舞いをどのようにするか
基本設計の内容は「基本設計書」や「外部設計書」といった書類に残され、その後の詳細設計の工程や開発の工程で活用されます。
詳細設計
3つ目の設計工程は、基本設計までに決めた内容について詳細な仕様を決める「詳細設計」です。
詳細設計は、基本設計で決めた仕様を元にして、実際にプログラムが作れるまで処理を分割、整理、処理のロジック(内容、手順)を定義する工程です。
詳細設計はシステム内部の動作や機能を設計することから、「内部設計」などと呼ばれることもあります。
システム開発から運用・保守まで
システムの設計の後は4つの工程が段階的に進められます。
そのフローは次の通りです。
開発
ここまでに行ってきた設計内容を踏まえ、ここからは実際にプログラミングコードを記述する「開発」のフェーズに入ります。
プログラム作りに関わるのは、システムエンジニアやプログラマーといった技術者です。
技術者はJava ScriptやC言語、PHPなど、開発するシステムに合わせたプログラミング言語を使用してプログラムを作っていきます。
テスト
開発後は、テストが行われます。
システムを導入した後、スムーズに業務を行うことができるか、テストをします。システム設計後の工程の中でも、特に重要な工程と言えるでしょう。
テストには主に4種類あります。システム開発業者に依頼する場合は、業者によって名称や内容が異なることがありますが、以下の順で段階的に行われるのが一般的です。
単体テスト | 作成したプログラムが単体で正常に動くかどうかのテストです。関数やメソッドと呼ばれる、システムを構成する「部品」のような小さなユニットが単位となり、開発者レベルでテストが行われることが多いです。 |
---|---|
結合テスト | 単体でテストしたユニットを複数結合させて、想定通りに動くかテストをします。複数のユニット間でデータが正しくやり取りできているかなどを確認します。 |
システムテスト | システム全体が正常に動くかテストを行います。設計時の条件を満たしているかを確認します。 |
ユーザー 受入れテスト |
実際にシステムを使用するユーザーが、本番の動作環境に近い環境で、運用方法に沿ったテストを行います。ユーザーは、システムが仕様を満たしているか確認をします。 |
リリース
テストが終わって問題がなければ、システムがリリースされます。リリースとは、システムをユーザーに引き渡すことです。
システムのリリース時には、開発者が操作方法を説明したり、マニュアルを渡したりとユーザーが操作に困らないようにフォローしていきます。
運用・保守
リリースしたら終了ではなく、その後はシステムの運用と保守が行われます。
「運用」は、導入したシステムを安定的に稼働できるように管理・監視を行うことです。安定稼働するための仕組み作り、システムの障害、リソース不足などのアラーム検知などのことを指します。
「保守」というのは、システムを長く使えるようにするために行われる機能のアップデートや仕様の変更、システムに不具合が生じたときに行われる処理や修理などを指します。「メンテナンス」と呼ばれることもあります。
システムの安定的かつ継続的な稼働を実現させるためにも、無事にリリースされても運用と保守は必要です。
業務効率化のためのシステム開発を検討している方は、ここまで説明してきたシステム開発のフローがご参考になれば幸いです。
自社での小規模なシステム開発におすすめの「CELF」
「コストや導入のハードルを考えると、自社でシステム開発ができれば…」とのお考えであれば、業務効率化のためのアプリを自社で作れるサービス「CELF(セルフ)」の活用がおすすめです。
エクセルと同じ見た目・操作感で画面を作成できるため、システム開発が初めてでも簡単にシステムを作れます。CELFであれば、さまざまな業務の効率化にスピーディーに対応できます。
30日間の無料トライアルもございますので、業務効率化でお悩みの方はお問い合わせください。