見出し画像

【IT業界】各開発工程についてのまとめ 何をやるのか?

こんにちは!ワーパパエトウです!

今回は各開発工程についての記事です。
現場によってやり方は様々かと思われますが、私の経験に基づいて各開発工程についてお伝えいたします。各工程で何をやるのかについて参考になれば幸いです。

それでは各工程についてみていきましょう。

■要件定義について

システムを利用するお客様から「もっと〇〇な機能が欲しい」とか「今度、こんなサービスを展開よていなんだけど」のように要望・要求が挙がってきます。
それに対してシステム開発側は「その要求を満たすにはA機能とB機能が必要ですね」といった感じで『何をやるのか』『何をやらないのか』について要件定義書としてまとめていきます。この際、機能要件だけでなく非機能要件(性能面など)についても記載しておきます。
したがって、要件定義書はお客様が読むことを前提として書き、お客様の要求に対してシステム開発側が何をやるのかを約束する書類となります。
要件定義書は性能試験、総合試験、受入試験などで確認観点として利用される書類にもなります。

■基本設計について

要件定義書が作成されると、次は基本設計書を作成します。
基本設計書では要件定義書に記載されている要件が、実際のシステムのどこの機能に対してどんな機能追加・改修を行うのかについて記載していきます。あくまでもどこの機能にどんな機能を作るのかについて記載し、具体的な実装方法には触れません。
基本設計書は結合試験の確認観点として利用される書類にもなります。

■詳細設計について

基本設計書のあとは、詳細設計書を作成します。
詳細設計書はプログラマ向けの書類となり、基本設計で『どんな機能にどのような機能を追加・改修する』のようにまとめたものに対して、『その機能をどのように実現するのか』について記載された書類です。例えば『XXテーブルのXXカラムにXXという値を登録する』という粒度で記載する必要があります。
詳細設計書は単体試験の確認観点として利用される書類にもなります。

■単体試験について

単体試験では、開発したモジュール単体に対してテストクラスを作成して、ホワイトボックステストやブラックボックステストで単体試験レベル(境界値、条件分岐など)の確認をしていきます。テストクラスを作成するとカバレッジを取得できます。今の現場の場合はカバレッジ100%を目指しましょうとのことですが、実際は90%程度にとどまっております。

■結合試験について

結合試験は内部結合試験と外部結合試験に分けられます。
ITa、ITbって言っている現場もあります。

内部結合試験では、単体試験をクリアしたモジュールを結合して試験を行います。他のサブシステムなどと結合している箇所についてはスタブやドライバなどを用いて試験を行い、自システム単独で正常に動作するかについて確認していきます。

外部結合試験では、システムを構成する他サブシステムと結合して試験を行います。他システムとの結合ですので、事前に設計しているとはいえ、想定していないパラメータが渡ってきたりすることもあるので注意が必要です。

■性能試験・総合試験について

結合試験が完了すると性能試験や総合試験を実施します。
性能試験では要件定義書に記載されている非機能要件について、要件を満たしているのかについて試験していきます。

総合試験では全サブシステムを結合し、実際に本番環境で動くことを想定して一気通貫で試験を行います。この際シナリオを事前に作成し、シナリオ通りに動くかどうか確認していきます。

性能試験・総合試験ともに、要件定義書が確認観点となります。

■受入試験について

受入試験は実際に作成したシステムを利用する人に試験を実施していただきます。完全にお客様目線での試験となります。
要件定義書で漏れなく定義を行っていないと、この受入試験で言った言わないの不毛な争いが生まれますのでご注意を。。。

■まとめ

画像1

ここまで記載した内容は上図のウォーターフォールモデルの考え方になります。最近ではアジャイルチックな開発が増えてきて、詳細設計書を作らなかったりすることもありますが、ベースとして頭に入れておくと他の開発手法に言った場合でもスムーズに対応可能かと思います。

ではまた(^_^)ノシ



記事を書く合間のコーヒー代、待ってます!(*´ー`*)