社員技術ブログ

製造、開発、プログラミング、コーディング、実装工程とは (ウォーターフォールモデル)

 

 

登場人物

 

 

名前: スーさん。(SUさん)

仕事: 神戸のソフトウェア会社W社でSEをやっている

最近燃え尽きたこと:「東京喰種トーキョーグール」の連載が終わってしまった。。グールロスになっている。コーヒーとサンドイッチで休憩中。

 

 

 

 

名前: ター坊

仕事: 無職。仕事を探している。

最近燃え尽きたこと:就職活動がうまく行かず飽きてきた。。就職活動ロスになっている。幸せのパンケーキで休憩中。

 

 

 

ある日のこと。。。。

 

ター坊
ねぇねぇ。スーさん。

 

スーさん
なになに?ター坊

 

ター坊
次はプログラミングの話になりそうだよね。

 

スーさん
おお~。先読みしてたんだね。

 

ター坊
そうそう。

実は就職活動が飽きてきて、暇していたんでプログラミングの学習していたんだ。

 

スーさん
(暇?は?真面目に就職活動しろよ~。)

 

スーさん
ところで、どんなプログラミング言語を勉強しているの?

 

ター坊
コボル!

 

スーさん
コ、コボル!?

COBOL??

 

スーさん
な、なんでCOBOL勉強してるの?

 

ター坊
ウィキペディアによると「稼動中のCOBOLプログラムは全世界で2,400億行で、年間30億行が追加されている。全世界のCOBOLプログラマは200万人。フォーチュン500の90%の企業はCOBOLプログラムを使用中。」なんだって。

https://ja.wikipedia.org/wiki/COBOL

 

ター坊
これだけ使われているんだし、必要だと思って。

 

スーさん
(いや、そういう見方も出来るけど、今、覚えるべきプログラミング言語じゃないだろ。。)

 

 

 

これまで、システム開発ライフサイクルの全体像を、以下の記事でまとめました。

SE (システムエンジニア) の仕事とは?仕事内容とシステム開発ライフサイクルをわかりやすく解説

 

そして、要件定義については以下にまとめました。

要件定義書って何?書き方と目的、要求仕様書、RFPとの違いまとめ

 

次に、基本設計と詳細設計については以下にまとめました。

基本設計とは?詳細設計とは?仕様書との違い、書き方、目次、成果物とサンプル (外部設計と内部設計)

 

今回は、ウォーターフォール型のシステム開発ライフサイクルにおける基本設計、詳細設計に続く工程である、製造(開発)について見てみましょう。

製造(開発、プログラミング、コーディング、実装)とは

製造は別名、開発、プログラミング、コーディング、実装、インプリメンテーションなどと呼ばれることもあります。

前工程である、詳細設計を元にプログラミングやパラメータ設定等を行う工程です。

製造と言うと、工場のラインでネジを使って何かを作っている労働者のイメージを持ってしまいますが、ソフトウェア開発工程での製造とか開発は、パソコンの前でプログラムを書くことを意味する場合がほとんどです。

一般人がソフトウェアを作るイメージに一番近いのが、この工程になります。

 

 

プログラミング工程でインプットとアウトプット(成果物)は次の通りです。

インプット アウトプット(成果物)
詳細設計書
・機能設計書
・データベースの物理設計書
・データベースの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は、今覚えるプログラミング言語ではないかな。

 

ター坊
あああ。なんか分かった。

 

ター坊
AIに興味があるので、僕の使っているコンピューターにPythonを入れようとしているんだけど、なんかインストール出来ない。

 

スーさん
えっ?

 

ター坊
何でか、僕のコンピューターって

・アセンブラ
・FORTRAN
・COBOL

しか使えないようなんだ。

 

スーさん
えっ?

 

スーさん
ター坊って、どんなコンピューターを使っているの?

 

ター坊
何かめっちゃデカいやつ。

 

スーさん
えっ?

 

ター坊

 

スーさん
げっ?

(!50年前のメインフレーム、大型汎用機だ。。)

 

スーさん
ター坊。。。まず、パソコン買おうか。。。

 

ター坊
えっ?

 

プログラミング学習するには、パソコンとソフトウェアを揃えよう。

 

関連記事

TOP