システム開発の種類はどんなのがあるか


システム開発の種類とその特徴を解説します
システム開発の種類はどんなのがあるか

システム開発とは

システム開発という言葉が使われだしたのは1960年代以降であり、最初のコンピュータはIBM社が1911年に開発したと言われています。IBM社は、International Business Machines Corporationの頭文字であり、直訳すると、国際事務機器となります。手計算で事務処理を行っていた時代に、大量に自動計算処理をするための機械となります。そこから名称は編成し、オンラインシステムと言われる銀行や企業での伝票処理に使われ、そのシステムは、人が行っていた業務を、機会の言語(言葉)に置き換えることで、自動的に決められた処理を行わせてきました。つまり、人のやることを分析し、その結果をもとに決められた機械の言語に落とし込み、行ったのと同じ結果が出てくるものを作る。そして、1967年に経営情報システム(MIS:Management Information System)の実態が日本に紹介されたことを契機に,1970年代にかけていわゆるMISブームがおこった。経営情報システムは大量のデータを集計して経営の各層に瞬時に提供するものであって,オンライン処理やデータベース技術が用いられました。
1970年代後半頃からオフィスの生産性向上を目指すオフィスオートメーションが盛んになり,いわゆるOAブームがおこりました。これを支えた情報技術はパソコン,オフコン,ワードプロセッサーなどのOA機器と,データ管理(表計算,データベース),文書処理(ワープロ,DTP:Desk Top Publishing)などのソフトウエアです。
その後、1990年代になると,組織内のコンピュータシステムの構成は,特定の機能を持ったサーバとLAN(Local Area Network)で結合されたエンドユーザー側の多数のパソコン(クライアント)からなるクライアントサーバシステムが主流となってきました。さらに従来は接続されていなかった組織外や国外の多数のコンピュータがネットワークを介して組織内のコンピュータとつながることになり、パソコンやモバイル機器の低価格化や通信費の低下により,スモールオフィス,ホームオフィス,あるいはモバイルオフィスなどテレワーク(telework)と呼ばれる新しい勤務形態が実現し,ワークスタイル自体が変化することとなりました。
これらがコンピュータやシステムの歴史の変遷となりますが、昨今のシステム開発では、企業や団体の目標・課題の解決に向けた、ビジョンを実現するために何が必要かを分析し、場合によっては組織や企業内(製造業であればプラント)の改善を加味し、それを実現する手段の一つがシステム開発であり、戦略的な意味合いが多くなっています。そしてターゲット市場で生まれるデータの利活用により、新たな価値を創造するものでなければありません。一般的にはSEが設計し、プログラマーがプログラムを作ることがシステム開発と思われていますが、それらはごく一部を指しており、企業や団体、世の中の価値を生み出す仕組み作りが、大義としてのシステム開発ということになります。


システム開発の主要な種類

オープン系システム開発

一般的にはPC(パソコン)上で動作するソフトウエアとその周辺の仕組みそのものを相称してオープン系システムと言います。様々なソフトウエア開発ベンダーが制作したソフトを購入し、共通仕様で連携させて、導入構築し、動作する仕組み事を総称して述べます。サーバにはデータを格納し、そのサーバに対して各PCのシステム(プログラム)から、参照や更新を行う構成が一般的です。例えばコンピュータ本体、周辺機器、OS、ミドルウェア、アプリケーションソフトなどの構成要素単位で開発目的に適った製品をそれぞれ選択してシステムを構築することを指します。ほかの名称としてクライアントサーバーシステムとも言われていました。
日本では1970年代までは大手のメインフレーム(大型汎用機)メーカー一社が単独でコンピュータ本体からアプリケーションソフトまで一体的に開発して納品し、運用やサポートまで担当する情報システムが一般的でしたが、1980~90年代にこれをUNIXサーバなどを中心とするオープンシステムへ置き換える「オープン化」が流行しました。オープン系の問題点としては、PC上のシステムの管理や、PCとサーバ間でデータの伝送が発生するため、どうしても、システム上脆弱な部分もあります。また、システムの作り方を誤ると、大量のデータがネットワーク上を行きかう可能性があり、特に外部ネットワークを介するときは、性能面でも考慮が必要になります。主に業務系のシステムで利用されていましたが、最近では徐々にWebシステムにマイグレーション(移植)が盛んにおこなわれています。

システム開発の種類

汎用系システム開発

近年レガシーシステムと呼ばれ徐々に導入台数も減って、時代遅れのシステムのように思われている汎用機ですが、金融・保険や政府などでは、今でも使われています。汎用機は一つのメーカがハードウェアから基本ソフトウェアまで、一社で開発し提供しているため、問題発生時に責任の所在が明確で、利用者からすると安定したシステムとして利用できます。それをベースにし、最も多い言語はCOBOLで、システムの開発はウォーターフォール型の手法で行うのが通常です。ただそ、最近この種の技術者が高齢化し減少していることもあり、中小企業の中には「動いているけど触れない」と対応に苦慮している企業も少なくありません。これは大きな問題となり、日本のIT化が世界から後れを取り、かつDXが進まない理由となっている為、急速にWebシステムへのマイグレーション(移植)が行われています。

システム開発の種類

Web系システム開発

インターネットを介して利用できるソフトウェアやアプリケーションの開発の事を示します。Webブラウザが使える環境であれば、利用者は使う媒体に依存することなく、利用することが可能になります。多くのメーカーのモバイル端末、デスクトップパソコン、ノートパソコン、携帯、アップル製パソコン、このようにメーカ問わず、インターネットに接続できるブラウザというツールだけあれば利用できます。また利用する端末機器には貴重なデータは保存されない仕組みとなっており、サーバ上でデータを厳重に管理し、処理させることができます。企業や団体でも基幹系の業務を、オープン系からWeb環境へ移行し、運用の負荷を軽減することが当たり前の時代になっています。ここ数年で、開発効率が向上したWeb開発ツールやフレームワークもいろいろ発売されており、システムの複雑さ・規模・求める安全性を元にコスト面も考慮し、開発ツールを選定する必要があります。また、Webシステムの代表例として最もわかりやすいものが、ECサイトと言われるショッピングサイトやオンラインバンキング等、今では我々の生活の中に入り込んでいる身近なものになっています。

システム開発の種類

その他のシステム開発

例えば近代の自動車は、安全性・運転支援、更には自動運転の機能を搭載しているものが当たり前となっています。これは、カーナビそのもの中にコンピュータ制御システムを搭載しているからです。実際はこれらの中身の技術は特殊なものではなく、一般の技術者でも開発可能な環境下で作られています。衝突回避の機能事件のテストで、いきなり車に搭載して、衝突させるテストを毎回やるわけにはいきませんから、従来からそれなりのテストツール(シミュレーションツール)が準備されていました。また、我々の生活空間である家屋の中を見渡してみてください。家電製品を見ると、自走の掃除機やクーラー・冷蔵庫・洗濯機等々、我々の周りには様々なところに、システムが組み込まれています。これを「組み込みシステム」と呼びますが、一世代前は、機械語でプログラムを作っていましたが、最近は自動車同様に一般的な環境下でシステムを開発し、組み込みシステムを実現する場合が多くなっています。そのためにより小さく、より性能の良い半導体が必要になるわけです。この分野はこれからも成長し、本来の機器の開発よりも魅力的な製品開発のために使われていくことでしょう。一般用語ではこれらの開発のことをIoT組込み系デバイスなどと表現しますし、このIoTから自動取得したデータを人工知能(いわゆるAI)が頭脳として学習することによって、無人化、自動化に向けた開発も急激に進んでいます。

システム開発の種類

各種開発種類のメリットデメリット

オープン系開発の利点と課題

前述しましたようにオープン系クライアントサーバーシステムは、各PC上でシステムが動作するため、そのPCの持つ柔軟さ操作性を発揮し、使いやすいシステムが作成できます。入力項目が完了した都度、次の画面の制御を自動的にコントロールすることも可能となります。しかし、PCとサーバの間でのデータのやり取りが多くなった場合、ネットワーク環境によっては性能劣化を起こす可能があります。また、利用するPCのバージョンや、利用環境が変わった場合、動作保証ができないこともあり、その都度検証作業を行うことが必要で、場合によってはそれごとに、提供するシステムを変更する必要がありますので、技術の進歩とともに保守コストも増加していくことも懸念事項です。更に、各PCにシステムをインストールしますので、プログラム等の機能改善や改修バージョンアップなど、変更があった場合、すべての関連PCへの配布と併せて、正しいものが配布されたかどうかの管理も必要となり、運用管理面での注意を要します。昨今は新規システム開発をこの方式で実施することはありませんが、当時はシステムを導入して目的を達成したけれども、システム維持コストが膨らんだり、開発した会社が倒産して、他の会社に引継ぎができないことも少なからず発生していました。現代ではありえない伝説的な話ですね。

システム開発の種類

汎用機の強みと限界

大容量の情報を、安定的に処理が可能であり、特に国家級の研究開発、宇宙規模の大量計算業務に対しては、今でもこの形態のシステムが稼働しています。また金融や保険及び公共機関等で重要な業務は今なお中心的な位置で存在感を発揮しています。また、海外拠点にシステムを導入する際に、保守性を考えその国で保守可能な機に統一し、現地要員に技術者がいなくても、本国からの指示でメーカと連携できるというメリットもあり、そのような機種を選択している例も多々あります。しかしながら、汎用機は価格的に他の手法よりも価格が高く、機能的にも実質1980年ごろ発売されたものを、マイナーチェンジして画期的な機能は出てきていません。そのため、システム再構築を行う際には、費用対効果の面で、オープン系やWEB系を採用することが多くなりなり、徐々に汎用機の資産は減少しています。国産メーカの中には、汎用機に見切りをつけて、生産を停止している会社も出てきています。そのため、開発を行う社内外の技術者も汎用機離れが進み、特に2003年ごろに発生した半導体不況で一気に技術者の減少が起こり、特に汎用機の技術者の不足と高齢化が今の現実となっています。そこに取り残されたシステムが、「稼働しているけど、触れないシステム」になってしまい、社内にシステム仕様や技術が理解できない中堅企業が、頭を抱えている現実があります。今後、近いうちに汎用機は消えていく方向であることは、間違いないと思われます。


Webシステムの特色と可能性

Webシステムは、インターネットを介してブラウザ上で、稼働するシステムを指します。大きく分けて、ブラウザ上の画面の制御を行うフロントエンドと、サーバ上でデータの処理を行うバックエンドの二つの分野があります。フロントエンドの部分は、よく聞く言語はJavaScriptですが、それ以外にも用途に合わせて選択し、利用者側(ブラウザ)上の画面の表示や操作をコントロールします、またバックエンド側はJavaやphpなどの言語があり、サーバ内の処理やデータベースの更新等行います。この形態は用途に合わせたツールも出ており、例えばPythonは汎用性が高く、最近はやりのデータ分析・AI等、これからの業務システムに本格的に搭載される技術にも対応しています。機能性・操作性・生産性共に各種ツールが開発され、飛躍的に進歩しており、最近ではローコードの簡易言語やノーコードの部品を組み合わせることで、ある程度の機能の構築が可能なまでになりつつあります。ただ、注意点としては、インターネットを介して処理を行うことで、セキュリティー面の脆弱性を、ネットワークやセキュリティーのソフトにより、回避することも重要なテーマとなります。

システム開発の種類

プロジェクトごとの開発種類の選び方

プロジェクトごとの開発種類の選び方

定型的な業務を昼間オンライン入力し、夜間処理で大量なデータを処理させるような、金融機関・証券会社及び政府系のシステムには、汎用機システムの選択もありますが、すでに要員面で不足している実態があり注意が必要です。また、在庫管理・販売管理・会計ソフトなど、ある程度閉じた環境下では、操作性の良いオープン系システムの利用も検討の余地はあります。特に利用する言語が公開されており、ベンダーによる格差が低いことが挙げられますが、PC上にシステムを置くためその管理には十分注意が必要です。しかし、最近新たに開発するシステムの多くはWeb系のシステム開発に移っています。技術的な進歩の中で、新たな機能を搭載させることも容易になり、技術者の数も増加し、比較的スタンダードな開発手法と言えます。プロジェクトにおいて、どの開発手法を選択するかは、その企業の保有スキル(保守性)や、費用対効果・IT市場の動向を考慮し、目的を実現するために最も適した開発手法を選択することをお勧めいたします。


システム開発会社選定のポイント

システム開発会社選定のポイント

システム構築には、一時的に多くの要員を必要となり、日々の仕事を抱えている自社の要員だけでは賄いきれないことがしばしばあります。また、目標達成のために自社にない技術やスキルを活用する場面もあることでしょう。そんな時にシステム開発会社に開発を委託したり、派遣社員として受け入れることがあります。その場合、どのような会社を選ぶかが、成功のカギを握ることになります。システム開発の成功要因の一つは開発の体制の整備にあります。そのため、開発会社の選定には、

  • 経営の状況を把握し、的確かつ身の丈に合った最適なシステムを提案してくれること

  • 開発実績が多く、これから開発するシステムに類似した開発の実績が多いこと

  • 開発実績が多く、類似システム開発経験が無い場合でも、提案力、改善提案ができるノウハウがあること

  • システム開発に必要なスキル(技術)を十分に持っていること

  • 新しい技術にどん欲になりチャレンジしている会社であること(古い技術中心の会社はNG)

  • 依頼する会社の技術者間社内コミュニケーションが円滑であること

  • 経営状態が良く、システム構築後も継続して保守ができること

  • 上流工程やビジネスコンサルとセットで、継続したパートナーになり得ること


コストと品質のバランスを考える

コストと品質のバランスを考える

品質とコストは密接に関係します。しかし、いくらコストを掛けても、品質向上に向けた計画を立案し、それを実施しなければいくらコストを掛けても、品質向上は望めません。品質向上のために何が必要でそれを実施するためのコストをいくら掛けるかのバランスを取ることが重要になります。品質のコストには、大きく分けて4つに分類されます。まず、システム構築の計画・設計段階で品質を図るための仕組みをプロジェクトのタスクとして組み込むことで発生する、品質に対する予防コスト。作りこんだシステムの品質を図るためテストを実施し、品質を高める評価コスト。評価テストにより発生した障害に対応し品質を戻す内部不具合コスト。本稼働後に発生した障害に対して対応すし、本来の品質にする外部不具合コスト。これには、障害対応に加えて、場合によっては障害により発生したデータの復旧、さらに実損が発生した場合その保証もこのコストに加算されます。外部不具合コストの発生はコスト以外に顧客の信用を失う結果となります。
その意味では、予防コストで品質の良いシステム構築するための計画や設計を行い、作成したものに評価コストを使い確認し、できるだけ内部・外部不具合コストを発生させないことが重要になります。また、目的を達成した場合の価値を考え、その価値に見合った投資を行うことも重要になります。目的達成に重点を置きすぎると、どんどん要求が膨らみ予定していたコストを大きく上回ることが良くあります。そうなると、要求を削ったり、無理な要員計画を立てることで、結果的に整合性が崩れ当初の目的が達成できないことや、コスト削減のために無理な要員計画を立て、結果的に破綻したり、品質問題を起こした事例も数多くあります。コストと品質に加え、効果に付いてもバランスをとることも重要なテーマとなります。

システム開発の種類

最新技術のシステム開発動向

最新技術のシステム開発動向

昨今の技術の進化は目まぐるしいものがあります。今流行中のChatGPTは、日本国内で1年もたたないうちに普及し、携帯の普及の10分の1のスピードで革新的なアプリが登場しています。このようにシステム開発は未来に向けてスピード的に大きく変わることが予想されます。特にローコード開発と自動生成AI(人工知能)の融合により、新しいスタンダードも生まれるでしょう。ローコード開発により、プログラム知識のない人でも、直感的にアプリケーションを作成することができ、開発プロセスを効率化し、システムの迅速な買い替えを可能にします。さらに最新の技術と組み合わせることで、次世代のアプリケーション開発に革新をもたらす可能性を秘めています。自動生成AIについても大量のデータから機械学習して、人間の様な文章やコンテンツを生成する技術を活用して、様々な作業や仕事に適用することが高く、人手不足、人材不足、少子高齢化課題改善に高いパフォーマンスを発揮することは間違いないでしょう。
またAI自身が様々な情報を組み合わせて新たな命令やタスクに適用することも可能で、その際は適切な判断を行うことが可能になりますので、これらの技術が組み合わさることで、スステム開発の超高速化、人間の知恵を超えた最適なサービス、そしてユーザーエクスペリエンス(製品やサービスを利用する際の体験や印象の総体)の変革が実施されるでしょう。未来のシステムは、ローコード開発と自動生成AIの力を借りて、より効率的で革新的なものになることが期待されますので、人間の技術者は要件定義や設計、製造されたもの、運用などの決断プロセスに介在していくことになると推測されています。

システム開発の種類

まとめ

まとめ

システム開発の種類について、説明させて頂きましたが、コンピューターが開発され、約1世紀弱で目覚ましい進歩を遂げてきました。しかし、その進歩の過程では適用範囲も限られて、それが徐々に拡大していき、今では会社や家庭のどこにでも入り込んでいる時代になっています。だたし、まだ発展の過渡期であり、今後は人とコンピューターの協業、または代替がさらに増えてくる時代になります。今後はそれが社会の中に溶け込み、我々の生活に気が付かないうちに浸透することでしょう。そんな中で、システムの開発形態もより高度な、より迅速なものが求められ、それを実現するために、その開発を支える、ハードとソフトの形態も進化しながら、簡素化されたシステムの開発スタイルに変化していくでしょう。そういう意味では、今までの企業内のシステムから、その垣根を超えた社会全体のシステムへ、変異して行く時代に入ろうとしています。しかしながらその対応に必要なIT人材の不足は囁かれており、少子高齢化の時代に、より効率的な開発が求められてきます。
ここまで、システム開発の様々な種類と特徴について、その周りの環境も含め説明差し上げましたが、いかかでしたか。最後に言えることは、システムの開発の技術の進歩は、開発する側の要求ではなく、求められるニーズやビジネス創造、イノベーションによって進歩し、それを実現していく為にどんどん生まれてきました。そのことそのものは過去からなにも変わらないものとして、人間の価値創造だと考えます。これがシステム開発の基本理念になると考えます。

システム開発の種類
システム開発種類 モデル,アジャイル開発,杭州,ai エンジニア