製造

製造
システム開発工程の「製造」の業務内容や定義について解説した記事です。会話形式のやさしい文章で「製造」の用語のイメージを紹介した後に、業務内容や製造に関わるエンジニアなど採用に役立つ製造の知識を解説しています。

1分で分かる!システム開発における製造とは?

ジャバ―ド先生、やっと見つけた!この前の続きを教えて!

ことりん君おはよう!この前は詳細設計まで教えたから、今日は「製造」について説明するね。

お願いします!

ことりん君はエンジニアって聞くと、どんな仕事をしているイメージかな?

エンジニアって聞くとパソコンに向かってプログラミングしている姿かなぁ。

そうだね。ことりん君のそのイメージこそが、今日説明する製造という工程の作業だよ。

どういうこと??

製造工程では、詳細設計の工程までに作った基本設計書とか詳細設計書の内容をもとに、実際にプログラミングしていくんだよ。「製造」って言われると、なんだか仰々しくてちょっと構えちゃうよね。

あぁ、製造ってプログラミングのことなんだ!もっと大変な作業があるのかと思っちゃったよ!あれ、ジャバ―ド先生ちょっと待って!製造って設計書を見ながら、プログラミングするだけ?なんだよね。

うん。そうだよ。

設計書の内容をプログラミングしていくだけなら、そんなに難しくないのかな?

うーん。そうだね。ある程度の経験を積んだエンジニアなら、アプリケーションの最終的な動作だけをいえば、そんなに変わらないかもしれないね。でも、エンジニアの腕の見せ所は、処理時間をいかに短くするかとか、わかりやすくシンプルなプログラムにするかとか、セキュリティ面で不安がないようにとか、詳細設計書でも記載されていないところを、どうつくっていくかってところなんだ。

なるほど…。もう職人さんの域だね…。

ことりん君、製造でやることがもう1つあるよ。それは「単体テスト」という作業だよ!

プログラミングだけじゃないんだ!単体テストって何をやるの??

単体テストはプログラミングした機能それぞれについて、仕様通りになっているかを確認するんだ。どれだけプログラミングが上手な人でも、ミスをすることはあるからね。誰が作ったとしても、きちんと単体テストをして「この機能は仕様通りになっているよ」っていうことを明らかにしておくのは、とっても大事なことなんだよ。

そっかぁ。なんかエンジニアの人って、プログラミングばっかりやっているイメージだったよ。

プロジェクトによってもそれぞれだけど、プロジェクト全体に対する製造工程の割合は、だいたい30%位といわれているんだ。なので、プログラミングだけでみると約20%前後くらいかな。

エンジニアってプログラミング以外にも色々仕事があるんだね。

そうだね。ひとまず今日は、製造という工程は「プログラミング」と「単体テスト」っていう作業があることを覚えておこう!

ジャバ―ド先生ありがとう!

製造とは?製造の基礎知識

製造の業務内容

製造は、基本設計や詳細設計の成果物である各種設計書をもとに、分割された機能毎にプログラミングをしていきます。また、プログラミングした各機能について、仕様を満たしているかを確認するために単体テストも行います。

単体テストを行った結果、仕様に反した動作(バグ)を発見することがあります。その場合は、再度プログラミングを行い、単体テストを再実施します。これを繰り返すことで、単一機能としての品質を担保するのです。

なお、製造工程の定義については、企業やプロジェクトで多少異なることがあります。今回はプログラミングと単体テストをまとめて、製造工程としてご説明しています。こちらについて「実装工程(プログラミング)」と「単体テスト」に分けることもあります。

製造に対するエンジニアの関わり方

製造工程を始めるにあたって、エンジニアは設計書を細部まで読み込みます。このタイミングで、設計書の不明点や矛盾などを発見した場合、速やかに担当者あるいは上長などに問い合わせます。

設計書の内容を把握した時点で、プログラミングを行います。趣味のプログラミングとは異なり、業務でプログラミングを行う際は、さまざまなルールを作り、それらを守る必要があります。このルールをコーディングルール(あるいは開発規約)といいます。このルールを守りつつ、よりメンテナンスがしやすく、より処理が速く、より美しく、よりセキュリテイ面で安全なコードを意識して、プログラミングをすすめます。

また、単体テストについては、単体テスト仕様書というものを作る必要があります。これは設計書などをもとにして、各機能の仕様を満たしているかを確認するための項目をまとめたものです。ひと昔前まではExcelに項目を書き出して、1つずつ検証していく方法が一般的でしたが、最近ではテスト用のプログラムをつくり、自動的にテストをするケースが増えています。

関連記事

  1. 総合テスト

    総合テスト

  2. IaaS

  3. Microsoft 365

  4. Node.js

  5. プロジェクトマネージャー

    プロジェクトマネージャー(PM/PL)

  6. ゲームエンジニア採用で知っておくべき技術用語