登場人物
名前: スーさん。(SUさん)
仕事: 神戸のソフトウェア会社W社でSEをやっている
最近燃え尽きたこと:「東京喰種トーキョーグール」の連載が終わってしまった。。グールロスになっている。コーヒーとサンドイッチで休憩中。
名前: ター坊
仕事: 無職。仕事を探している。
最近燃え尽きたこと:就職活動がうまく行かず飽きてきた。。就職活動ロスになっている。幸せのパンケーキで休憩中。
ある日のこと。。。。
実は就職活動が飽きてきて、暇していたんでプログラミングの学習していたんだ。
COBOL??
これまで、システム開発ライフサイクルの全体像を、以下の記事でまとめました。
そして、要件定義については以下にまとめました。
次に、基本設計と詳細設計については以下にまとめました。
今回は、ウォーターフォール型のシステム開発ライフサイクルにおける基本設計、詳細設計に続く工程である、製造(開発)について見てみましょう。
製造(開発、プログラミング、コーディング、実装)とは
製造は別名、開発、プログラミング、コーディング、実装、インプリメンテーションなどと呼ばれることもあります。
前工程である、詳細設計を元にプログラミングやパラメータ設定等を行う工程です。
製造と言うと、工場のラインでネジを使って何かを作っている労働者のイメージを持ってしまいますが、ソフトウェア開発工程での製造とか開発は、パソコンの前でプログラムを書くことを意味する場合がほとんどです。
一般人がソフトウェアを作るイメージに一番近いのが、この工程になります。
プログラミング工程でインプットとアウトプット(成果物)は次の通りです。
インプット | アウトプット(成果物) |
---|---|
詳細設計書 ・機能設計書 ・データベースの物理設計書 ・データベースのER図 |
・実装したプログラム ・パラメーターが設定されたアプリケーションソフト |
このように、詳細設計の成果物をインプットとして、実際に動くプログラムを作る訳です。
ここで、プログラムを書く人をプログラマーと呼びます。
一般的には、要件定義や基本設計、詳細設計を行う人よりは、人月単価が安い人が行うことが多いです。
また、最も多くの工数がかかるのもこの工程です。
大規模開発においては、要件定義、基本設計、詳細設計までの上流工程を1次請け事業者(プライムコントラクター)が作業を行い、製造(開発)については、2次請け事業者、3次請け事業者が行うこともあります。
プログラミングで覚えておく言葉
プログラミングでは独特の言い回しをすることがあります。
ここでは製造工程で使われる用語をまとめてみました。
プログラミング言語
プログラムを書くための言語をプログラミング言語と呼びます。
ソフトウェアの開発工程では、システムに応じて、あらかじめどんな言語を使うかは決まっている場合が多いです。
コンパイル/コンパイラ (Compile/Compiler)
コンパイルは、プログラマーが書いたプログラムをコンピューターが理解できる形式に翻訳することです。
コンパイラは、コンパイルを行うプログラムです。
リンク/リンカ (Link/Linker)
リンクは、コンパイルした複数の結果をまとめて繋げることです。
リンカは、リンクを行うプログラムのことです。
実行ファイル/実行モジュール
実行ファイルは、リンカが最終的に吐き出してくれる、動作するモジュールのことです。
ビルド (Build)
ビルドは、コンパイルから始まり、リンクして実行ファイルを作るまでの一連の作業のことです。
バグ (Bug)
バグは、プログラムを動かしてみたら見つかった処理がおかしな不具合のことです。
バグとは虫のことです。
デバッグ (Debug)
デバッグとは、バグを探し出して修正することです。
IDE(統合開発環境)
IDEとは、プログラム開発において、プログラムを簡単に開発を行うためのソフトウェアです。
Microsoft Visual Studio、Eclipse、WebStrom等が存在します。
一般的には、ソフトウェア開発はIDEを使って行うと考えてよいでしょう。
製造(開発、プログラミング)でよく使われるプログラミング言語
システム開発では、あらかじめ使う言語は決まっていることがほとんどです。
では、現在、よく使われているプログラミング言語は何でしょうか?
TIOBE Indexという、プログラミング言語の人気度をランキングした有名なサイトがあります。
このサイトによると、2018年9月においてプログラミング言語の人気ランキングは次の通りです。
1位 Java
2位 C言語
3位 Python
4位 C++
5位 Visual Basic .NET
6位 C#
7位 PHP
8位 JavaScript
9位 SQL
10位 Objective-C
(出典:https://www.tiobe.com/tiobe-index/)
TIOBE Indexは、世界的な統計なので、必ずしも日本のシステム開発市場での人気とは限りませんが、
- デスクトップアプリケーションでは、Java、C、C++、C#、Visual Basic .NET
- WEBアプリケーションでは、JavaScript、PHP
- スマホアプリケーションでは、Java、Objective-C
- AIでは、Python
が人気のプログラミング言語と言ってよいでしょう。
従って、IT分野でシステム開発を行うには、これらのプログラミング言語を学ぶべきです。
実際、これらの言語をマスターしておくとニーズが最もあります。
COBOLは、今覚えるプログラミング言語ではないかな。
・アセンブラ
・FORTRAN
・COBOL
しか使えないようなんだ。
https://www.kcg.ac.jp/museum/computer/mainframe_computers/ibm.html
(!50年前のメインフレーム、大型汎用機だ。。)
プログラミング学習するには、パソコンとソフトウェアを揃えよう。