以前、次のようなコラムを書きました。
今回は、IT業界で必要な知識について、より具体的な内容をまとめてみました。
目次
IT業界で必要な知識
IT業界で必要な知識を1枚のスライドにまとめると、ざっと以下のようになります。
- 開発のライフサイクル(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あるいは受託開発におけるソフトウェア開発の流れです。
開発手法として、ウォーターフォールモデル、スパイラル、アジャイル、クリーンルームなどいろいろありますが、現在、主流の開発手法はウォーターフォールモデルです。
ウォーターフォールモデル(局面化開発手法)においては、要件定義、外部設計(基本設計)、内部設計(詳細設計)、システム開発、単体テスト、統合テスト、納品、保守の順番で作業は進みます。
これらの局面で何を作るか、何をやるかを理解して実践する必要があります。
も参照してください。
業界の知識
ITが扱う業種は多種に富みますが、業界独自の知識はシステム開発において必須になります。
業種の分類として何か正解というものはありませんが、日本標準産業分類の大分類を基準としては以下に分類しています。
- A 農業,林業
- B 漁業
- C 鉱業,採石業,砂利採取業
- D 建設業
- E 製造業
- F 電気・ガス・熱供給・水道業
- G 情報通信業
- H 運輸業,郵便業
- I 卸売業・小売業
- J 金融業,保険業
- K 不動産業,物品賃貸業
- L 学術研究,専門・技術サービス業
- M 宿泊業,飲食店
- N 生活関連サービス業,娯楽業
- O 教育学習支援業
- P 医療、福祉
- Q 複合サービス事業
- R サービス業(他に分類されないもの)
- S 公務(他に分類されるものを除く)
- T 分類不能の産業
他には、以下の6業種に分けるという考え方もあります。
- 流通・サービス業界
- 製造業界
- 金融業界
- 通信業界
- 医療・バイオ業界
- 官公庁・公共サービス業界
分類方法はさておき、業界の知識は、一般に難解で一朝一夕で理解できるものではありません。
また、本で学ぶだけで不十分なことが多く、長年の経験が必要になります。
これらは実務を通じで学ぶものになります。
OS(オペレーティングシステム、基本ソフト)とは
OSは一番ベースとなるソフトウェアです。
OSそのものを開発する機会はまずないと思いますが、OSの仕組み、種類、OSのAPI(アプリケーションプログラミングインターフェース)は理解する必要があります。
主なOSとしては、Windows、Linux(UNIX)、Android、MacOS、iOS、Windows Phoneに分類できます。
OSについては以下にまとめました。
データベースとは
データベースはデータを保存するためのソフトウェアです。
OSと同様にデータベースそのものを開発することはまずないと思います。
データベースは歴史上は、階層型の階層データベースから、関係型のリレーショナルデータベースへと進化してきました。
現在のデータベースは、ほとんどリレーショナルデータベース(RDB, 関係データベース)です。
主なデータベースとして、商用ではOracle, DB2 UDB, SQL Server、オープン系としてMariaDB, MySQL, Postgres, SQLiteなどがあります。
いずれのリレーショナルデータベースもSQL(Structured Query Language)を使ってデータにアクセスします。
データベースについては以下にまとめました。
プログラミング言語とは
現在の主要なプログラミング言語は、アセンブラと異なり、人間が見て直感的に理解できるという意味で、いわゆる高級言語とよばれるものです。
プログラミング言語は処理系によって、コンパイラ、バイトコード、インタープリタのように分類できます。
- コンパイラ: Fortran, COBOL, C, C++, Objective C, Swift, Visual Basic
- バイトコード: C#, Java
- インタープリタ: PHP, JavaScript, Perl, Ruby, Python
処理系ではなくて、クライアント系かサーバー系かで分けるという考え方もあります。
プログラミング言語については以下にまとめました。
TCP/IP、WEBサーバー (ネットワークとインターネット)とは
インターネットが普及する以前のLAN, WANの仕組みと、インターネットが普及後のWEBの知識が必要になります。
LAN, WAN, インターネットも含めて、プロトコルであるTCP/IPを理解する必要があります。
WEBアプリケーションを作るなら、また、WEBサーバーやWEBアプリケーションフレームワークの知識も必要です。
多くのWEBアプリケーションは、Linux、Apache、MySQL、PHPで構成されるため、LAMPと呼ばれることがあります。
TCP/IPとWEBサーバーについては以下にまとめました。
まとめ
業界の知識がない、または経験がない人は、まず、
- OSの知識
- データベース
- プログラミング言語
- TCP/IPとWEBサーバー
について理解を深めてください。
これらは座学、本、ネットからの勉強でも十分学べます。
その後、経験を積んで、
- 開発のライフサイクル
- 業界の知識
を深めていきます。
最後まで読んでいただきありがとうござました。
この記事が気に入っていただけたらシェアしてくれると嬉しいです。
コメント
[…] IT、ソフトウェア、インターネット業界で必要な知識 (プログラマ、システ… […]
[…] IT、ソフトウェア、インターネット業界で必要な知識 (プログラマ、システ… […]