
システム開発工程を徹底解説!開発チームの仕事を理解しよう
自社サイトを制作するとき、制作会社に委託することがあります。專門的な知識や技術を用いて質の高いサイトを制作してもらいたいものですが、どのような工程で制作を進めるのか、詳しく理解している担当者は少ないのではないでしょうか。
制作会社の開発工程を理解しておくと、工程の中で重要な部分や、開発に必要な情報がみえてきます。それに応じて発注側が事前に準備しておくことで、開発が円滑に進んだり、リスクを先回りして防いだりすることができるでしょう。
今回は、システム開発の工程をコーポレートサイトの制作の例に当てはめて解説します。
システム開発工程とは
システム開発工程とは、制作会社がシステム開発を進める上での過程をまとめたものです。それぞれの過程に共通の名称があります。
「ウォーターフォールモデル」と「アジャイルモデル」
システム開発の工程にはいくつか種類があります。中でも代表的なものが、「ウォーターフォールモデル」と「アジャイルモデル」です。
ウォーターフォールモデル
ウォーターフォールモデルとは、システム開発の工程を決められた順番に進めていくモデルです。高いところから水を流すように、上流から下流に工程を進めていくことから名前がついています。世界中で活用されており、もっとも主流の開発モデルといえます。
ウォーターフォールモデルは、プログラミングの前に目的(要件定義)や設計に時間をかけるため、その後の業務効率化が図れます。また、工程が明確なので、顧客と意思疎通がしやすいことも特徴です。
アジャイルモデル
アジャイルモデルは、システム開発においてスピードを優先して進めていくモデルです。アジャイルは「素早い」という意味を持ちます。
ウォーターフォールモデルが決められた工程に忠実に進めていくのに対して、アジャイルモデルでは、システムの実装とテストを繰り返し、修正しながら少しずつ進めていくのが特徴です。
アジャイルモデルでは、途中で不具合が発生しても、開発工程で戻る工数を最小限に留めることができます。顧客による突然の仕様変更にも柔軟に対応できます。
システム開発工程(ウォーターフォール型)
今回は、コーポレートサイト制作を例に、多くの企業で採用されている主流のウォーターフォールモデルの開発工程を解説します。
全体の開発工程は以下の通りです。
【1】要件定義(要求定義)
【2】外部設計
【3】内部設計
【4】プログラミング
【5】単体テスト
【6】結合テスト
【7】システム(総合)テスト
【8】運用テスト
【9】システム移行(リリース)
【10】運用・保守
【1】要件定義(要求定義)
要件定義では、顧客の目的や要望、システムの要件を定義づけます。
コーポレートサイトであれば、サイトを作る目的やターゲットを明確にします。その目的やターゲットに応じて、サイトで搭載したい機能を考え、どこまで実装するかを打ち合わせます。
コンテンツの種類、画面表示や操作方法なども具体的に考えていきます。サイトの見た目だけでなく、運用方法やセキュリティなど安全性についても仕様を検討します。
制作会社と顧客で打ち合わせた内容は「要件定義書」という文書にまとめます。ウォーターフォールモデルの場合、工程を逆戻りすることはないため、ここでしっかり認識を合わせておく必要があります。
【2】外部設計
外部設計では、サイトを具体的にどのようなシステムで実装していくか設計します。ホームページのレイアウト、画面遷移の方法やコンテンツの配置を設計します。データベースをどこで管理するかというサーバー環境、セキュリティの仕組みも決めます。
開発工程におけるスケジュールや費用も、ここで制作会社が提案し、顧客をすり合わせます。
【3】内部設計
内部設計では、システムの内部の動作やデータ処理などを設計します。内部設計はプログラミングに必要なものなので、システム開発向けに作られ、顧客に確認をとることはほとんどありません。
外部設計で決めたシステムをどのように実現するかを設計していきます。ここでは、「機能仕様書」「データフロー図」「データベース物理設計書」などを作成します。
【4】プログラミング
プログラミングでは、内部設計をもとに「プログラミング設計」と「プログラミング」を行います。
プログラム設計では、プログラミングにおけるルールを決めます。プログラミングの前段階として、プログラミングの動作や処理方法を設計していきます。プログラミング後に行うプログラムごとの単体テストの仕様書も作成します。
その後、設計をもとにプログラミングを行います。
【5】単体テスト
単体テストでは、作成したプログラムの動作テストを行います。プログラム設計のときに作成した単体テストの仕様書をもとにテストします。
不備があった場合、プログラマーが修正します。
【6】結合テスト
結合テストでは、単体テストが終わったプログラム同士を結合し、連携がきちんとできているかというテストを行います。
コーポレートサイトの場合、画面遷移やデータの受け渡しがきちんとできているかテストします。実際の利用場面を想定し、当初の予定どおり動作するかを確認します。
【7】システム(総合)テスト
システム(総合)テストでは、システムの総合的な動作テストを行います。システム開発側の最後のテストです。
Webブラウザなど、サイトのユーザー環境と同じ環境に合わせてテストします。
【8】運用テスト
運用テストでは、顧客がテストを行います。
【1】要件定義のときに打ち合わせた要件が満たされているか、顧客側に確認してもらいます。実際に出来上がったサイトの操作感(UI)も確認してもらいます。
【9】システム移行(リリース)
全てのテストが終わると、本番環境でリリースします。
【10】運用・保守
制作会社は、リリース後もシステムの運用や保守をサポートします。不具合があった場合の修正や、新しいコンテンツの開発、追加などを行います。
- コーポレート
- コーポレートとは、日本語の「企業」のことです。インターネット上で「コーポレートサイト」という場合は、企業のホームページであることを表します。また、コーポレートは接頭語として使われることが多く、「コーポレートガバナンス(企業内統制)」などのように、他の単語と組み合わせて使うことが多いようです。会社そのものを指すことが多い「カンパニー」とは使い方が異なります。
- コーポレート
- コーポレートとは、日本語の「企業」のことです。インターネット上で「コーポレートサイト」という場合は、企業のホームページであることを表します。また、コーポレートは接頭語として使われることが多く、「コーポレートガバナンス(企業内統制)」などのように、他の単語と組み合わせて使うことが多いようです。会社そのものを指すことが多い「カンパニー」とは使い方が異なります。
- コーポレート
- コーポレートとは、日本語の「企業」のことです。インターネット上で「コーポレートサイト」という場合は、企業のホームページであることを表します。また、コーポレートは接頭語として使われることが多く、「コーポレートガバナンス(企業内統制)」などのように、他の単語と組み合わせて使うことが多いようです。会社そのものを指すことが多い「カンパニー」とは使い方が異なります。
- コンテンツ
- コンテンツ(content)とは、日本語に直訳すると「中身」のことです。インターネットでは、ホームページ内の文章や画像、動画や音声などを指します。ホームページがメディアとして重要視されている現在、その内容やクオリティは非常に重要だと言えるでしょう。 なお、かつてはCD-ROMなどのディスクメディアに記録する内容をコンテンツと呼んでいました。
- ページ
- 印刷物のカタログやパンフレットは、通常複数のページから成り立っています。インターネットのホームページもまったく同じで、テーマや内容ごとにそれぞれの画面が作られています。この画面のことを、インターネットでも「ページ」と呼んでいます。ホームページは、多くの場合、複数ページから成り立っています。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- コンテンツ
- コンテンツ(content)とは、日本語に直訳すると「中身」のことです。インターネットでは、ホームページ内の文章や画像、動画や音声などを指します。ホームページがメディアとして重要視されている現在、その内容やクオリティは非常に重要だと言えるでしょう。 なお、かつてはCD-ROMなどのディスクメディアに記録する内容をコンテンツと呼んでいました。
- データベース
- データベースとは、複数のアプリケーションまたはユーザーによって共有されるデータの集合体のことです。特定のテーマに沿ったデータを集めて管理され、検索や抽出が簡単にできるようになっているものを指します。
- データベース
- データベースとは、複数のアプリケーションまたはユーザーによって共有されるデータの集合体のことです。特定のテーマに沿ったデータを集めて管理され、検索や抽出が簡単にできるようになっているものを指します。
- プログラム
- プログラムとは、ここではコンピューターが行うべき処理を順序立てて記述したものを指します。 すべてのコンピューターはプログラムに従って動作しており、データとして表現され、記憶装置に格納されます。広義では「ソフトウェア」の一部ですが、プログラムの一部でソフトウェアという語を用いる場合もあります。
- プログラム
- プログラムとは、ここではコンピューターが行うべき処理を順序立てて記述したものを指します。 すべてのコンピューターはプログラムに従って動作しており、データとして表現され、記憶装置に格納されます。広義では「ソフトウェア」の一部ですが、プログラムの一部でソフトウェアという語を用いる場合もあります。
- プログラム
- プログラムとは、ここではコンピューターが行うべき処理を順序立てて記述したものを指します。 すべてのコンピューターはプログラムに従って動作しており、データとして表現され、記憶装置に格納されます。広義では「ソフトウェア」の一部ですが、プログラムの一部でソフトウェアという語を用いる場合もあります。
- プログラム
- プログラムとは、ここではコンピューターが行うべき処理を順序立てて記述したものを指します。 すべてのコンピューターはプログラムに従って動作しており、データとして表現され、記憶装置に格納されます。広義では「ソフトウェア」の一部ですが、プログラムの一部でソフトウェアという語を用いる場合もあります。
- コーポレート
- コーポレートとは、日本語の「企業」のことです。インターネット上で「コーポレートサイト」という場合は、企業のホームページであることを表します。また、コーポレートは接頭語として使われることが多く、「コーポレートガバナンス(企業内統制)」などのように、他の単語と組み合わせて使うことが多いようです。会社そのものを指すことが多い「カンパニー」とは使い方が異なります。
- ユーザー
- ユーザーとは、コンピューターやシステムを利用する人のことを指します。 利用者、使用者、消費者などの意味を持つ英単語で、対義語は「メーカー」や「デベロッパー」などがあります。
- UI
- UIとは、ユーザーインターフェイス(User Interface)の略で、ユーザー(使い手)とデバイスとのインターフェイス(接点)のことを意味します。
- コンテンツ
- コンテンツ(content)とは、日本語に直訳すると「中身」のことです。インターネットでは、ホームページ内の文章や画像、動画や音声などを指します。ホームページがメディアとして重要視されている現在、その内容やクオリティは非常に重要だと言えるでしょう。 なお、かつてはCD-ROMなどのディスクメディアに記録する内容をコンテンツと呼んでいました。
おすすめ記事
おすすめエントリー
カテゴリから記事をさがす
Web マーケティング
- SEO(検索エンジン最適化)
- SNSマーケティング
- アプリマーケティング
- Web広告
- グロースハック
- ABテスト・EFO・CRO
- LP制作・LPO
- CMS・Webサイト制作
- 記事制作・ライティング
- コンテンツマーケティング
- メール配信・メールマーケティング
- マーケティングオートメーション(MA)
- リードジェネレーション(見込み顧客獲得)
- カスタマーサポート・カスタマーサクセス
- アクセス解析・広告効果測定
- データ分析
- リサーチ・市場調査
- 口コミ分析・ソーシャルリスニング
- O2O(Online to Offline)
- EC・通販・ネットショップ
- 多言語・翻訳
- 動画・映像制作
- AR・VR制作
- 統計データ
- マーケティングお役立ちレポート
- 連載
- チャットボット
- Web会議
- 動画マーケティング