
どうもこんにちは!
サバ缶(@tech_begin)です。
私たちが普段何気なく使っているシステムの裏側について、理解していますか?
ITに興味があれば、最低限の分類について理解しておくことが求められます。
ぜひこの機会に、システムの分類と種類について理解しておきましょう!
イチから丁寧に解説するので、無理せず自分のペースで学んでくださいね。
システムの分類と種類
システムは、「用途」と「場面」によって様々な種類に分類されます。
利用場面による分類
大きく2つに分けられます。
- ビジネス系システム
- 組み込み系システム
以下で詳しく見ていきましょう。
ビジネス系システム
ビジネス系システムとは、ビジネスを遂行するために必要な業務を行うシステムのことです。
ビジネス系システムにも、「基幹系」と「情報系」の2つがあります。
- 基幹系システム
- システム化する業務内容で、直接業務に関わるシステムのこと。
- 一般的には、販売管理、在庫管理、人事管理などを含む。
- 企業活動の要(かなめ)となる業務を担うため、重要度がとても高い。
- 情報系システム
- 基幹系システムで入力されたデータを解析し、役に立つ情報を生成したり、特定業務を支援するために必要な情報を提供する。
- 例えば、顧客管理システムの情報から解析し、どのユーザが購買意欲が高いかなどをアウトプットするサービスなど。
- 社内SNS、メーラー、Web会議システムなども「特定業務の支援」という意味で情報系システムに含まれる。
組み込み系システム
組み込み系システムとは、家電製品・機械・装置などを動かすために組み込まれるシステムのことです。
開発する場合は、ソフトウェアだけでなくハードウェアの機械制御技術の知識も必要になります。
組み込み系システムは、以下のように分けられます。
分野 | 製品例 |
---|---|
家庭用電気機器 | 炊飯器、洗濯機、デジタルカメラ、スマホなど |
輸送機器 | 自動車のエンジン制御機器、カーナビ、航空機、エレベータ、鉄道車両など |
産業用機器 | POSレジ、信号機、産業用ロボット、自動販売機など |
医療用機器 | 心電計、自動血圧機、体温計など |
利用者による分類
利用者による分類は、大きく3つに分けられます。
- 社内システム
- BtoB
- BtoC
以下で詳しく見ていきましょう。
社内システム
社内システムとは、特定の企業内で従業員を中心に利用するシステムのことです。
- 自社でも他社でも関係なく「社内」という言葉を用いる
- 使用するのは特定の企業のみなので、動作環境やプラットフォームを統一しやすいメリットがある
- 一方で、保守や機能追加が行えるベンダー会社が限られる
BtoB
BtoBとは「Business to Business」の略称で、企業間での電子商取引です。
個人の一般ユーザは利用せず、企業間で利用する場合のことを指します。
- 「B2B」と記述されることもある
- 企業間でプラットフォームが異なるケースが多い
- データの誤りが他社へ影響を及ぼすこともある
BtoC
BtoCとは「Business to Consumer」の略称で、企業と一般消費者での電子商取引です。
一般の顧客が利用するシステムを指しています。
- 「B2C」と記述されることもある
- 不特定多数の多くのユーザが利用するため、UI(ユーザインタフェース)はわかりやすく、使いやすいものが多い
- 操作性が悪いと、ユーザ減少につながることも。カスタマーサポートなどのコスト増加にも影響する
- 障害が起きた場合、ユーザ離れはもちろん、訴訟問題にまで発展することもある。
- 個人情報の流出、サービス提供内容に伴う犯罪行為の幇助など
- 一般的に運用開始やアップデートの予告を行うため、公開期日は厳守である。
- 利用ユーザ数によっては多くの損害を生むことになる
処理形態による分類
システムは複数のコンピュータ(サーバ)を組み合わせて構成していることもあります。
- 分散型システム
- 複数のコンピュータやソフトウェアの組み合わせによって、規模の大きいサービスを提供する
- 集中型システム
- さまざまなソフトウェアやデータを1つのコンピュータで一元管理し、サービスを提供する
以下で詳しく説明しています!
構築による分類
構築による分類は大きく2つに分けられます。
- オープン系システム
- プロプライエタリシステム
オープン系システム
様々なメーカーのソフトウェアやハードウェアを組み合わせて構築されたシステムのことです。
メリットは以下の通りです。
- 新技術への適応が早い
- 開発コストを抑えやすい
- ネット上や書籍の情報が豊富にある
デメリットは以下の通りです。
- プラットフォームやライブラリの知識がないと、トラブル発生時の対処に時間がかかる恐れがある
- サポートが得られない
プロプライエタリシステム
ある特定のメーカーの製品のみを組み合わせて構築されたシステムです。
メリットは以下の通りです。
- 問題発生時、サポートを受けることが可能
デメリットは以下の通りです。
- 新技術への対応が遅い
- プラットフォームやライブラリの調達コストがかかり、導入後のサポートなどでコストがかさむ可能性あり
処理の実行タイミングによる分類
処理の実行タイミングによってもシステムは分類されます。
(たくさん種類があるので、必要なところだけ覚えていきましょう!)
- オンライン系
- ネットワークを通じて、リアルタイムで処理を行うこと
- 情報検索サイトやオンラインショッピング、動画配信サービスなど
- バッチ系
- オフライン状態で多数のデータをあらかじめ処理しておき、特定のタイミングに一括で処理を実行すること
- 振り込み処理、入庫/出庫による在庫管理データの更新など
システムの開発範囲による分類
ここでは、より開発現場に近い内容になります。
システムの開発範囲による分類は以下の3つです。
- 新規開発
- 既存システムの拡張
- 既存システムのリプレイス
新規開発
これまでシステム化されていなかった業務のために新しくシステムを開発することです。
ユーザからの要求分析と分析、要件定義が非常に重要になります。
いや、もう設計も製造も全て重要です。その理由は、以下の通りです。
- 少しでもボロがあるままでいると、システムが終了するまで負の遺産として引きずるためです。
- 数十年残るシステムとなったら、一人の数十秒が積み重なり、大きな損失にもつながります。
- 技術的負債とも言います。
- ユーザの期待と乖離している場合、「ユーザ離れ」にもつながります。
『何事も最初が肝心』ということですね……!
既存システムの拡張
既存システムを維持したまま、新たな機能を加えたり、機能を拡張することです。
既存システムの拡張には「保守」と「派生」の2種類があります。
開発現場でもよく使われる言葉なので、覚えておきましょう!
- 保守開発
- 既存のシステムに潜む、不具合やアップデートに伴う改修を加えていくこと
- スマホアプリやWebアプリにおいてこの形式が多く取られる
- 派生開発
- 既存のシステムを元に、新たなシステムを構築・開発すること
- 組み込みシステムにおいてこの形式が多く取られる
既存システムがブラックボックス化している場合が多いです。
したがって、機能拡張時に影響範囲が特定しにくくなります。
それは「設計書などのドキュメント不足」や「開発時のメンバーが不在」といった理由が考えられます。
すでに稼働しているシステムなので、時間は巻き戻せません。。。
グッと堪えるか、空いた工数で改善をしていくしかありません。
新規開発と比べて、研究や分析が遅れている傾向にあります。
既存システムのリプレイス
既存システムの機能を保証した状態で、プラットフォームやミドルウェアの変更を行います。
- ハードウェアの寿命、サポート期限切れ、今後に向けての機能拡張などを目的として行われる
- 機能拡張も込みで行われることが多い
- 既存システムの機能を把握した上でリプレイスを行うが、機能の把握が困難
- ユーザー側は機能に変化がないためメリットは少なく、開発者側はリスクが大きい(現行保証、機能把握)
「リグレッションテスト」というデグレードしていないことを確認するテストも必須です。
まとめ
システムの様々な分類の仕方について学ぶことができました。
- 利用場面による分類
- 利用者による分類
- 処理形態による分類
- 構築による分類
- 処理の実行タイミングによる分類
- システムの開発範囲による分類
長文となってしまいましたが、これらを一気に覚える必要はありません。
自分が参画するプロジェクトや、こういう仕事をしたい!という指針にも繋がればよいかと思います!