IT(システム)の根本を理解する方法

この記事は何?

概要

非ITエンジニアの社会人の方に向けて、ITを理解する方法を記載します。

もちろんITの全てを書くことはできないです(そんなスキルもないです)。

ただ、基本の基本となる部分を理解していない方(悪い意味ではないです)を社内でお見かけすることが多く、ITの根幹の部分を書こうと思いました。

私自身はこういった話を書籍等で見ることが少なく、また会社内で伝えたら評判も割と良かったので、ここに残そうと思いました。

これを学ぶことによって、ITの全てがわかるわけではないけれど、何かITのプロジェクトに接した時やITの新たな用語が出てきた時、何をすれば良いかが前より分かるようになれば幸いです。

記事の対象者

非ITエンジニアの社会人の方、特に、以下のような方を想定しています。

  • ITがよくわからず、苦手意識を持っている方

  • ITを理解しようと資格(Iパス等)を取得したが、結局よくわからない方

  • ITを理解しようと書籍を読んでも、何かスッキリしない方

  • ITプロジェクトにビジネスサイドで参画することになって不安な方

記事の対象でない方

ITエンジニアの方や既にITのことをわかっている方などは対象にしません。ここに書くことは非常に基本的なことなので、そんなことわざわざ書くの?と思われるかもしれません。

注意点として、ITの根本と書いていますが、厳密には会社でITプロジェクトを検討する際に、絶対に外してはいけない基礎の部分の意味です。
あくまで私の主観的な意見となりますので、ご容赦ください。

ITとは何か

入力・処理・出力の3つから考える

いかなるIT技術を考えるときも、常に入力・処理・出力の3つを考えます。

当たり前のことを言っているように思えるかもしれません。
ただ、社内(転職で3社経験しており、いずれも大手と呼ばれる部類です)でここを理解できていない人が驚くほど多かったです。

具体的には、それぞれ以下のことを指します。
・入力とは、データを投入することです。
・処理とは、投入したデータを保持・加工することです。
・出力とは、加工したデータを見せることです。

これだけだと何も分からないと思いますので、具体例とともに見ていきたいと思います。

皆さんに身近なSNS、おそらく毎日触っているであろう社内システム(勤怠システム等)、最近話題のAI、それぞれの入力・処理・出力を考えてみましょう。

SNSの例

SNS、例えばtwitter はどんな仕組みになっているでしょうか。

様々な機能がありますが、基本的な流れは以下のようになります。
1. ユーザーがつぶやきをtwitterに投稿する。
2. twitterが投稿されたつぶやきを保管する。
3. 他ユーザが投稿されたつぶやきをスマホ等の画面から確認できる。

上記は極端に単純化した例で、他にも色々なことが裏で行われていますが(特に処理のところ)、メインの機能は上記で間違いないかと思います。

これらはそれぞれ、以下に対応します。
入力:1. ユーザーがつぶやきをtwitterに投稿する。
処理:2. twitterが投稿されたつぶやきを保管する。
出力:3. 他ユーザが投稿されたつぶやきが確認できる。

同様に、Instagramではつぶやきが写真とコメントに変わったイメージになるかと思います。

そのため、SNSを新たに立ち上げたいとき(そんなことはあまりないと思いますが)、何をユーザに入力させて、それをどのように他のユーザに見せたいか、を考えることがはじめの一歩になるかと思います。

社内システムの例

社内システム、例えば勤怠管理システムはどんな仕組みになっているでしょうか。

これも会社によって多少違うと思いますが、例えば残業時間を計算する場合は以下のような流れになるかと思います。
入力:ユーザーが勤怠情報をシステムに入れる。
処理:入れられた勤怠情報、特に残業情報を年間・月間で集計する。
出力:ユーザは年別・月別の残業時間を確認できる。

AIの例

AI、例えばチャットボットはどんな仕組みになっているでしょうか。

こちらも細かなことは置いておくと、概ね以下の流れになるかと思います。
入力:ユーザーが質問をシステム(AI)に入れる。
処理:入れられた情報を元に、答えを生成する。
出力:ユーザに答えを表示する。

もちろん、AIでは(教師あり)、事前に学習データを用意して、どのような質問が来たらどのように答えるべきかを教え込む必要があります。

結論

これら例から何が分かるかというと、ITは入力・処理・出力から成り立っているということです。

一見複雑そうなシステムもこの3つに分解することで単純化できます。

これからITプロジェクトを始める時は、

  • なんのデータをユーザが入力して

  • 入力されたデータをどのように保持・加工して

  • そのデータをどのようにユーザに見せるか

を検討することがスタートになります。AIでもIoTでも変わりはありません。

この3つを軸に考えると、例えば、ネットワーク(IP、TCP/IP等)に関しては入力・出力データをどのように遠隔地に運ぶかの仕組みと大雑把に捉えられるかと思います。

またデータベースでは、処理におけるデータの保管が主な役割となります。リレーショナルデータベースとかNoSQLは、その保管方法の違いだけです。

これから複雑なITに出会ったときや複雑な問題に出会ったとき、この3つに分類することをスタートにするとわかりやすいと思います。

この記事が気に入ったらサポートをしてみませんか?