【プログラミング】仕事内容、案件、具体的な作業の進め方

プログラミング
今はまだプログラミングの勉強中だけど、いつかは身につけた知識を活かして実際に仕事してみたい!でも、具体的にどういった作業の流れになるのかな…
仕事を受けてみたいけど、不安で一歩踏み出せない…

 

上記にお悩みの方向けの記事を書いていきます。

 

システムを作成する上でいくつか工程があり、ほとんどの開発が各種工程のプロセスを踏んで最終的に本番稼働していきます。

 

とりあえず、プログラミングの勉強をはじめました!最近流行っているのでやってみました!って方も少なからずおられるでしょう。

 

おそらく、その先にはフリーランスとして稼ぎたい!その業界に転職したいと思われている方も多いかと思います。

 

そういった方々の参考になれればと思います。

 

システム開発の作業の流れ

プログラミング 仕事内容

システムの開発手法で有名なのは以下になります。

ウォーターフォール型:水が下に落ちていくように上流工程から下流工程へ順に進めていく方法
アジャイル開発:機能単位で開発工程を小さいサイクルで繰り返し行っていく方法

 

案件によりますが、だいたいウォーターフォール型がほとんどですので、ウォーターフォール型について書いていきます。

 

ウォーターフォール型とは簡単に言うと各種工程を順番に行っていく手法です。

 

会社によって呼び方が違う場合がありますが、各種工程は以下になります。

①要件定義
②基本設計(外部設計)
③詳細設計(内部設計)
④製造(プログラミング)
⑤単体テスト
⑥結合テスト
⑦総合テスト

 

①要件定義

顧客よりヒアリングして、顧客の要望や要求をもとに具体的にどういったシステムを作るのかを決める。

 

②基本設計

システムを作る上でどういった機能が必要か、どういったデータを保持する必要があるかなどのシステムの土台を決める

 

③詳細設計

基本設計で決めた内容を具体的にどう実現するかを決める。

処理フローなど、システムの詳細部分を決める。

 

④製造

詳細設計をもとにプログラミングを行う。

 

⑤単体テスト

作成したプログラムが詳細設計どおりになっているか確認する。

※PCL(プログラムチェックリスト)を作成して、テストを実施する。

 

⑥結合テスト

基本設計通りにシステムが出来上がっているかを確認する。

主に機能間の試験を実施する。

 

⑦総合テスト

要件定義で決めた内容が満たされているか確認する。

 

上記、いろいろと書きましたがもっと簡単に書くと以下になります。

 

設計 → 作成(プログラミング) → 確認(テスト)

 

分かりやすく料理で例えると、以下みたいな感じです。

レシピを作る → 料理を作る → 味見する

 

上記のように物作りを始める際には設計書を作成する作業があります。

はじめに基本的なことを設計して、その後に具体的な内容を設計してようやく製造になります。

 

なので、物を作り始めるまでにそれなりに時間がかかります。

 

プログラマーがするお仕事

プログラミング 仕事内容

簡単に仕事の流れを書きました。

経験が浅いプログラマーは、基本的には製造と単体テストが主な仕事になるかと思います。

 

具体的に書くと、以下の内容です。

 

①リーダーより設計書を渡されてそれをもとにプログラミング(製造)する。
②設計書をもとにプログラムチェックリストを作成する
③作成したプログラムチェックリストをもとにテストを実施する
④不具合があれば修正する

 

そこで不安になるのがどういった設計書が渡されるのだろう…と思われている方もおられるかと思うので、簡単に説明していきます。

結論から言うと会社や案件によって設計書の内容(フォーマット)はそれぞれ違います。

一例として記載しますので参考程度に見ていただけたらと思います。

 

WEBアプリケーションを例に書きます。

おおよそ以下の設計書が出来上がっていることが多いです。

※場合によってはないこともありますが。。。

 

・データベース設計書
・インターフェース設計書
・画面設計書
・処理フロー(API仕様書)

 

最低限、画面設計書もしくは処理フローがないと製造ができないので、これらはあるかと思います。もしくは似たような資料があるはずです。

 

順に書いていきます。

まず、画面設計書ですが概ね以下の内容が書かれています。

 

・レイアウトイメージ

手書きやもしくはエクセルなどで画面の見た目がどういったものかが表現されています。

この見た目をもとにHTMLでWEBページを作成する形です。

 

・画面項目

各配置されたオブジェクトの仕様が書かれています。

レイアウトイメージでテキストボックスやボタンの配置が定義され、
画面項目で各々の仕様が記載されています。

例えば、最大文字数は何文字まで入力可能かや、フォーカスが外れたらどういった動作するかなどです。

後は、必須の入力項目などもここで記載されます。

 

・処理内容

もしかしたら画面項目と合わせて記載されることもありますが、ボタン押下時などの挙動を記載しています。

見た目とは別のビジネスロジック部分です。

主に、サーバとの問い合わせ部分がメインになります。

 

上記は、フロントエンジニア向けになります。

ほんと案件によって様々なので、だいたいこういうものがもらえると思って頂けたらいいと思います。

 

逆に上記の情報がないと、何を作成したらいいか分からないので、もしもらえない場合や製造してて疑問点がある場合はすぐにリーダーに報告したほうがいいです。

考えても無駄に時間が過ぎていくだけですので。

 

バックエンドは以下の通りです。

 

・データベース設計書

データの取得や更新、追加、削除などを行うので、これらの処理を記載する場合に必要になります。

案件によっては細かくどういった条件で取得するかが処理フローとかで記載されていたりしますが、たまに簡単にしか書いていない場合もあるので、その場合は自分自身でデータベースの仕様書を確認してSQLを書いていくことになります。

 

・インターフェース設計書

クライアントとやり取りする上で必要になっていきます。

クライアントからどういったデータが送られてきて、サーバはどういった情報をクライアントへ返すかが記載されています。

 

・処理フロー(API仕様書)

実際の処理部分の仕様になります。基本的にはこれを見て製造していくことになるかと思います。

 

最後に

作業の進め方のイメージはわきましたでしょうか?

 

作業内容はプログラミングをするだけでないということが理解できたかと思います。

技術的な能力も確かに必要ですが、実際に仕事をしていく上では以下の要素も重要になってきます。

 

・仕様をしっかり理解すること
 →内容をちゃんと理解する。分からないことを分からないままにしておかない。
・自分が作成したものに責任をもつこと
 →試験を実施し品質をあげる。

 

上記のように品質の高い作業を行っていけば、おのずとその実績から信頼が生まれていきます。

 

アジャイル開発だったとしても、「設計→製造→試験」の流れは変わりないので、本記事の内容は役立つのではと考えています。

 

はじめは分からないことばかりですが、とりあえず行動して試行錯誤を行って、自身の経験として積み上げていきましょう!

コメント

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