IT、ソフトウェア、インターネット業界の基礎知識 (プログラマ、SE) を勉強するサイト

コラム
スポンサーリンク

以前、次のようなコラムを書きました。

ITエンジニアが語るIT業界で必要なスキル、基礎知識 (プログラマー、システムエンジニア)
この記事は、ある程度ITの経験のある私が、まだIT関連の仕事にはついたことがないけれどITの仕事に興味がある人、またはITの仕事についたばかりの人向けにITで必要な知識を語ります。 ITの仕事とは? 皆さんはITの仕事と言えば何を想...

 

今回は、IT業界で必要な知識について、より具体的な内容をまとめてみました。

 

スポンサーリンク

IT業界で必要な知識

 

IT業界で必要な知識を1枚のスライドにまとめると、ざっと以下のようになります。

 

WS000149

 

  • 開発のライフサイクル(SDLC, System Development Life Cycle)

 

  • 業界の知識

 

  • OS(オペレーティングシステム、基本ソフト)
    • Windows, Linux(UNIX), MacOS, Android, iOS, Windows Phone

 

  • データベース
    • 商用: Oracle, DB2, SQL Server
    • オープン: MariaDB, MySQL, Postgres, SQLite

 

  • プログラミング言語
    • コンパイラ: C, C++, C#, Java, Objective C, Swift, Visual Basic
    • インタープリタ: PHP, JavaScript, Perl, Ruby, Python

 

  • TCP/IP&WEBサーバー (ネットワークとインターネット)
    • TCP/IP
    • WEBサーバー

 

 

それでは、順番に見ていきましょう。

 

開発のライフサイクル(SDLC, System Development Life Cycle)とは

 

 

SDLC、System Development Life Cycleとは、SIあるいは受託開発におけるソフトウェア開発の流れです。

開発手法として、ウォーターフォールモデル、スパイラル、アジャイル、クリーンルームなどいろいろありますが、現在、主流の開発手法はウォーターフォールモデルです。

 

ウォーターフォールモデル(局面化開発手法)においては、要件定義、外部設計(基本設計)、内部設計(詳細設計)、システム開発、単体テスト、統合テスト、納品、保守の順番で作業は進みます。

 

これらの局面で何を作るか、何をやるかを理解して実践する必要があります。

 

BD, UT, IT, ST, UATとは?ウォーターフォールモデル型のシステム開発における各工程・各段階の用語の意味
ウォーターフォール型のシステム開発における各工程でよくでる言葉をまとめてみました。 も参照してください。 ウォーターフォールモデル (Waterfall Model)とは まず、ウォーターフォールモデルについて。 こ...

も参照してください。

 

業界の知識

ITが扱う業種は多種に富みますが、業界独自の知識はシステム開発において必須になります。

 

業種の分類として何か正解というものはありませんが、日本標準産業分類の大分類を基準としては以下に分類しています。

  • A 農業,林業
  • B 漁業
  • C 鉱業,採石業,砂利採取業
  • D 建設業
  • E 製造業
  • F 電気・ガス・熱供給・水道業
  • G 情報通信業
  • H 運輸業,郵便業
  • I 卸売業・小売業
  • J 金融業,保険業
  • K 不動産業,物品賃貸業
  • L 学術研究,専門・技術サービス業
  • M 宿泊業,飲食店
  • N 生活関連サービス業,娯楽業
  • O 教育学習支援業
  • P 医療、福祉
  • Q 複合サービス事業
  • R サービス業(他に分類されないもの)
  • S 公務(他に分類されるものを除く)
  • T 分類不能の産業

 

他には、以下の6業種に分けるという考え方もあります。

  • 流通・サービス業界
  • 製造業界
  • 金融業界
  • 通信業界
  • 医療・バイオ業界
  • 官公庁・公共サービス業界

 

分類方法はさておき、業界の知識は、一般に難解で一朝一夕で理解できるものではありません。

また、本で学ぶだけで不十分なことが多く、長年の経験が必要になります。

 

これらは実務を通じで学ぶものになります。

 

OS(オペレーティングシステム、基本ソフト)とは

os-mini-logo

 

OSは一番ベースとなるソフトウェアです。

 

OSそのものを開発する機会はまずないと思いますが、OSの仕組み、種類、OSのAPI(アプリケーションプログラミングインターフェース)は理解する必要があります。

 

主なOSとしては、Windows、Linux(UNIX)、Android、MacOS、iOS、Windows Phoneに分類できます。

 

OSについては以下にまとめました。

OSとは?オペレーティングシステム、Operating Systemって何?基本ソフトの機能と役割、種類
この記事の親記事は以下です。 OS、オペレーティングシステムって知っていますか? OSは、日本語では基本ソフトと呼ぶことがありますが、パソコンやスマホを起動したときに最初に起動するいわば、プラットフォームとなるソフトウェアで...

 

データベースとは

database

 

データベースはデータを保存するためのソフトウェアです。

OSと同様にデータベースそのものを開発することはまずないと思います。

データベースは歴史上は、階層型の階層データベースから、関係型のリレーショナルデータベースへと進化してきました。

現在のデータベースは、ほとんどリレーショナルデータベース(RDB, 関係データベース)です。

 

主なデータベースとして、商用ではOracle, DB2 UDB, SQL Server、オープン系としてMariaDB, MySQL, Postgres, SQLiteなどがあります。

いずれのリレーショナルデータベースもSQL(Structured Query Language)を使ってデータにアクセスします。

 

データベースについては以下にまとめました。

データベース(DB)とは?SQL(データ制御言語、データ定義言語、データ操作言語)とDBMSのシェア、種類
データベースとは、 大量のデータを集めて、コンピューターでデータの追加、削除、検索をしやすい形に整理したものです。 また、蓄積されたデータを管理するソフトウェアをデータベースマネジメントソフトウェア(DBMS)と呼ぶことがあります。 ...

 

プログラミング言語とは

program

 

現在の主要なプログラミング言語は、アセンブラと異なり、人間が見て直感的に理解できるという意味で、いわゆる高級言語とよばれるものです。

プログラミング言語は処理系によって、コンパイラ、バイトコード、インタープリタのように分類できます。

  • コンパイラ: Fortran, COBOL, C, C++, Objective C, Swift, Visual Basic
  • バイトコード: C#, Java
  • インタープリタ: PHP, JavaScript, Perl, Ruby, Python

 

処理系ではなくて、クライアント系かサーバー系かで分けるという考え方もあります。

 

プログラミング言語については以下にまとめました。

プログラミング言語とは?開発言語の種類と特徴、人気、シェアまとめ
プログラミング言語って何なんでしょうか? 初心者にもわかりやすくまとめました。 プログラミング言語とは プログラミング言語はコンピュータプログラムを記述するための言語です。 もとは機械語と言われるCPUの命令セットをそのまま記述していた...

 

TCP/IP、WEBサーバー (ネットワークとインターネット)とは

internet_earth

 

インターネットが普及する以前のLAN, WANの仕組みと、インターネットが普及後のWEBの知識が必要になります。

LAN, WAN, インターネットも含めて、プロトコルであるTCP/IPを理解する必要があります。

WEBアプリケーションを作るなら、また、WEBサーバーやWEBアプリケーションフレームワークの知識も必要です。

多くのWEBアプリケーションは、Linux、Apache、MySQL、PHPで構成されるため、LAMPと呼ばれることがあります。

 

TCP/IPとWEBサーバーについては以下にまとめました。

TCP/IPのプロトコルの階層モデル、ポート番号一覧 (SNAとOSI参照モデルとの違い、覚え方)
現在はパソコンもスマホも、インターネットに接続して使うのが一般的ですね。 ただ、20年以上前は、スタンドアローンでパソコンを使うのが一般的で、会社内でLAN(ローカルエリアネットワーク)を使ってパソコン同士を接続するのが普通の使い方でした...

 

まとめ

業界の知識がない、または経験がない人は、まず、

  • OSの知識
  • データベース
  • プログラミング言語
  • TCP/IPとWEBサーバー

について理解を深めてください。

これらは座学、本、ネットからの勉強でも十分学べます。

 

その後、経験を積んで、

  • 開発のライフサイクル
  • 業界の知識

を深めていきます。

 

 

最後まで読んでいただきありがとうござました。

この記事が気に入っていただけたらシェアしてくれると嬉しいです。

 

コメント

  1. […] IT、ソフトウェア、インターネット業界で必要な知識 (プログラマ、システ… […]

  2. […] IT、ソフトウェア、インターネット業界で必要な知識 (プログラマ、システ… […]

タイトルとURLをコピーしました