Blog

システム開発にはどんな種類がある?それぞれの特徴やメリット・デメリットについて解説

記事の監修

代表取締役村越 聖人

2006年からエンジニアよりデジタル業界でのキャリアをスタート。
大小様々なWebシステム開発およびシステム運用保守を経験。

フルスタックエンジニアとして上流から下流工程まで一連の業務を担当するとともに、サーバー設計、構築、運用設計などのサーバー管理者業務も兼任。

近年は、顧客折衝を含む提案型営業からDMP絡みのデータ分析業務をはじめ、プロジェクトの全体統括・SEなど業務要件に合わせたポジショニングで顧客ニーズの最大化を図るサービス提案を実施。

新規事業で立ち上げた自社サービスにて、発明者として特許取得。

2019年5月 株式会社glorious future 設立。

2006年からエンジニアよりデジタル業界でのキャリアをスタート。
大小様々なWebシステム開発およびシステム運用保守を経験。

フルスタックエンジニアとして上流から下流工程まで一連の業務を担当するとともに、サーバー設計、構築、運用設計などのサーバー管理者業務も兼任。

近年は、顧客折衝を含む提案型営業からDMP絡みのデータ分析業務をはじめ、プロジェクトの全体統括・SEなど業務要件に合わせたポジショニングで顧客ニーズの最大化を図るサービス提案を実施。

新規事業で立ち上げた自社サービスにて、発明者として特許取得。

2019年5月 株式会社glorious future 設立。

システム開発には、どのような種類が存在するのでしょうか。この記事では、主だったシステム開発の種類とそれぞれの特色やメリット・デメリットを。
そして、自社システム開発の際にどれを選ぶべきかについて解説します。

この記事はこんな人におすすめ
  • システム開発を考えている人
  • システム開発の種類を知りたい人
  • 自社に合った開発形態を模索している人

システム開発にはどんな種類がある?

システム開発には、どのような種類があるのでしょうか。まずは、システム開発の一般的な種類について解説します。

オープン系

オープン系開発は、主に業務用システムを作るために行われる開発形態です。利用範囲がある程度限定的であり、オンラインオフラインどちらでも使えることが多いのが特徴です。

オープン系で作られたシステムとして、下記のような物が挙げられるでしょう。

  • 生産管理システム
  • 在庫管理システム
  • 顧客管理システム
  • 営業支援システム

利用者が社内の人間のみであり、アクセスされるデバイスも限定的なのでオープン系の特色とマッチするわけです。

汎用系

汎用系は、汎用機(メインフレーム)で稼働させるためのシステムを開発する形態です。汎用機とは、今現在の小型コンピューターが出る前に活躍していた汎用性の高い大型コンピューターのことです。

汎用系開発は、主にメーカーの基幹システムや金融・物流系において用いられています。安定性やセキュリティ、大規模なデータ処理において信頼性が高いのが特徴だからです。

Web系

Web系は、主にWebサーバーで稼働するシステムやサービスを開発する形態です。現代ではインターネットを通じてさまざまなサービスを活用することができますが、あれらはWeb系で作られているわけです。

オープン系に似ていますが、あちらは利用範囲が限定的であるのに対し、Web系はあらゆる人を対象とするのが特徴です。たとえば、インターネットの大手ショッピングサイトは多くの人が多種多様なデバイスで利用することが想定されるでしょう。

多様な環境に対し、適切なユーザー体験を提供するのがWeb系に求められる要素の一つです。

このセクションのまとめ

システム開発には「オープン系」「Web系」「汎用系」が存在する

  • オープン系は企業内システムに採用されることが多い
  • Web系はWebサーバーで稼働するシステムやサービス
  • 汎用系はメーカーの基幹システムや金融・物流等が多い

オープン系開発の特徴

次に、オープン系開発の特徴について深掘りしていきましょう。

使用できる言語が多い

オープン系の特徴として、使用できる言語が多い点が挙げられます。C#やJavaといった汎用性の高い言語に加え、PHPやRuby、Javascriptあたりの言語も用いられます。

利用言語が多いことによる選択肢の多さが、オープン系のメリットと言えるかもしれません。プログラミング言語にはそれぞれ特徴があるため、作るシステムに応じて適切なものを選びやすいわけです。

開発の柔軟性が高い

オープン系の開発は、比較的柔軟性が高いのも特徴です。利用範囲がある程度限定されていることによる選択肢の多さにより、システムやユーザーに合わせた最適化が可能です。

同じ「生産管理」でも、企業によって意味するところが異なるかもしれません。そういった細かな差異に適切に合わせられ、企業の独自的な部分をしっかりサポートできるのがオープン系開発の強みです。

各種管理システムに向いている

以上の特色から、オープン系開発は企業の社内管理システムに向いていると言えるでしょう。生産管理や勤怠管理、営業管理、進捗管理等、業務においてさまざまな管理タスクが生じますが、それらをシステムによって効率化する試みです。

自社に合ったシステムを開発できれば効果は大きいですが、そうでない場合は逆に生産性を阻害してしまうかもしれません。そのような事態を避けるためにも、各種管理系システムは柔軟性の高いオープン系開発によって構築するのが望ましいでしょう。

このセクションのまとめ

オープン系開発の特徴は柔軟性が高いこと

  • 使用できる言語やOS、ミドルウェアが多いため選択肢が豊富
  • 企業の特色にしっかりと合わせていける
  • その結果、費用対効果の高いシステムを構築できる

汎用系開発の特徴

続いて、汎用系開発の特徴について見ていきましょう。

使用できる言語が少ない

汎用系の特徴として、使用できる言語の少なさが挙げられます。 基本的にはCOBOLが主流であり、他の言語が用いられる機会はさほどありません。

言語が制限されることによるデメリットとして「柔軟性が低い」「開発者を見つけづらい」あたりが挙げられます。逆に、メリットとしては「やることが明確」「開発をシンプルに考えやすい」あたりが挙げられるかもしれません。

選択肢が多いと、言語や環境選びにそれなりの根拠が必要になります。根拠を構築するためには各言語や環境についてある程度知る必要があるため、そこにリソースを割く必要が生じます。

逆に言語や環境が一定であれば、シンプルな対応で事足りるわけです。

大量のデータを高速処理できる

汎用系システムの特徴として、大量のデータをリアルタイムに高速処理できる点が挙げられます。そのため、特定の業種においては汎用系でないとシステムの運用が難しいと言えるでしょう。

具体的には、金融機関や公共交通機関等です。両者ともデータの処理に誤りが生じたら多大な損害が生じてしまうため、汎用系による高速処理や信頼性の高さが必須とされています。

クローズドな利用環境が求められる

汎用系で開発されたシステムは、基本的にクローズドな利用環境が求められます。重要な処理を担うため、オープン系よりもさらに利用範囲を狭めるのが一般的でしょう。

また、汎用系のシステム開発はオープン系やWeb系に比べるとコストパフォーマンスが良くありません。業務を効率化して生産性を上げる目的もなくはないのですが、どちらかというと安定的でエラーや誤りが生じづらいシステムが重視されるからです。

このセクションのまとめ

汎用系開発は、安定かつ高速な処理が特徴

  • 使用できる言語が少なく、開発の難度は高い
  • 大量のデータを高速に処理できるため、特定のシーンには必須
  • 社会の根幹を担っているとも言える

Web系開発の特徴

では最後に、Web系開発の特徴について見ていきましょう。Web系で開発されたシステムは、私達にもっとも身近な存在かもしれません。

Web系に特化した言語を利用する

Web系では、Webに特化した言語を利用するのが一般的です。具体的にはPHPやRuby、Javascript等が挙げられるでしょう。

また、デザインのためのHTMLやCSSも頻繁に用いられます。Web系は他の二つに比べて利用者の範囲が広いため、見やすく使いやすいデザインが重視されるからです。

特に、異なるデバイスによるデザインや操作感を均一化させることが求められます。Web系システムのデザイン分野には、汎用性の高さを確保できる技術やノウハウが比較的豊富に揃っているのも特徴です。

コストパフォーマンスに優れている

Web系開発は、コストパフォーマンスに優れているのも特徴です。極端な話、フロントエンドだけであれば、OSに付属しているメモ帳等に記述して一般ブラウザで閲覧が可能です。

バックエンドはWebサーバーで処理を行う必要がありますが、インターネットを利用すれば実行環境を用意するのはさほど難しくありません。もちろんローカルで環境を構築することもできるため、必要に応じて柔軟に構築可能です。

完成したWeb系システムは、AWSやAzure等のクラウドサーバーで稼働させるのが一般的です。AWSやAzureを契約すればWeb系開発に役立つサービスを利用できるため、開発を効率化できるのも利点でしょう。

フロントエンドとバックエンドに分けて開発される

Web系の開発は、フロントエンドとバックエンドに分けて開発されるのが一般的です。フロントエンドというのはユーザーから見える部分であり、バックエンドというのはユーザーから受け取った情報を処理して返す部分です。

フロントエンドには主にHTMLやCSSが使われ、誰にとっても見やすいデザインが作られます。バックエンドにはPHPやRubyといったサーバーサイドの言語が使われ、受け取った情報を正確かつ高速にユーザーに返すことが求められます。

フロントエンドを構築するエンジニアとバックエンドを構築するエンジニアが分かれているのも、Web系の特徴かもしれません。それだけ、フロント側のインターフェースが重視されているとも言えるでしょう。

このセクションのまとめ

Web系システムは汎用性とコストパフォーマンスに優れている

  • Web系システムはフロントエンドとバックエンドに分かれている
  • フロントは主にHTMLやCSS、バックエンドにはPHPやRuby等が使われる
  • Web系システムはコストパフォーマンスに優れている

自社のシステム開発にはどれを選べばいいか

システム開発の種類について解説しましたが、ではどういった場合に何を選ぶのが適切でしょうか。続いて、自社システムの開発に落とし込んで考えてみたいと思います。

汎用系は特殊なケースに限られる

まず、汎用系は特殊なケースを除き選択肢から外していいでしょう。前述の通り、汎用系は限られた業種やシーンでのみ用いられる開発形態なので、自社がそれに該当していない限り選ぶ必要はありません。

オープン系やWeb系で事足りるのに、汎用系を選ぶメリットはあるのでしょうか。大量のデータをリアルタイムに正しく処理できるのは確かに魅力的ですが、どちらかというとデメリットの方が目立つでしょう。

開発者を見つけるのもシステムを構築するのも難しいため、費用対効果の悪化が懸念されます。

ある程度限定された環境での利用ならオープン系

社内での利用に限定したシステムであれば、オープン系を選択するのが好ましいかもしれません。汎用性をさほど考慮しなくていいため選択肢の幅が広く、自社業務に適したシステムを構築しやすいからです。

オープン系で開発されたシステムの注意点として、保守やメンテナンスの頻度が挙げられます。システム運用の安定性を保持するためにも、保守やメンテナンスのリソースはしっかりと考えておきましょう。

なお、オープン系のシステムには「オンプレミス型」と「クラウド型」が存在します。オンプレミス型は自前でシステムのための機器を購入し、自社内でシステム運用を完結させるやり方です。

クラウド型はシステムやデータをベンダーサイドで管理する手法であり、利便性やコストに優れているのが特徴です。Web系と特徴が似ておりシーンによっては同じ意味で使われることもあるかもしれませんが、利用範囲による区別が可能です。

便性やコストパフォーマンスを求めるならWeb系

利便性やコストパフォーマンスを追求したいなら、Web系を選択するのが良いでしょう。Web系はWebサーバー上で稼働するシステムなので、基本的に365日24時間アクセス可能だからです。

Webサーバーの管理は自社ではなく、ベンダー側で行ってくれるのが一般的です。機器全体のメンテナンスや保守を自社で考える必要がないため、リソースを開発主体に割り振れるわけです。

ただ、自社運営のWebサービス等に問題が生じた場合は自社で対応しなければならない点は注意です。また、Web系は誰がどんな環境で見ても適切に表示されるデザインを考慮して構築されるため、広く活用できるのもポイントです。

このセクションのまとめ

自社システムはどの開発形態を選ぶべきか

  • 汎用系は特殊な場合を除き選択肢には入らない
  • 自社のみで活用するのであればオープン系
  • 広い範囲でユーザーに訴求したいのであればWeb系

まとめ

システム開発には、大きく分けて「オープン系」「汎用系」「Web系」が存在します。いずれも特徴やメリット・デメリットが異なるため、システム開発の際には適切なものを選びましょう。

また、場合によってはそれぞれの言葉が異なる意味を指していることもあるため注意が必要です。やり取りの際には、定義を明らかにして進めた方がいいかもしれません。

この記事のまとめ

システム開発には「オープン系」「汎用系」「Web系」が存在する

  • それぞれ特色やメリット・デメリットが異なる
  • システム開発の際には適切なものを選択しよう
  • 言葉の意味を取り違えないよう注意しよう

Share

FacebookでシェアTwitterでシェアLINEでシェア