こんにちは、Takamiです!
文系出身だけどIT系職種への就職を考えている皆さんの中には、就職した時のために今からプログラミングやIT知識について勉強をしようとしている方もいるかと思います。
今回はそんな皆さんのために、システム開発の中でも最も重要な仕事である「要件定義」「要求定義」について解説していきます。
ディレクター、エンジニア問わず、ITシステムの開発に携わる者であれば必ず目にする言葉ですので、文系の皆さんは今から勉強してしまいましょう!
はじめに
要件定義・要求定義はシステム開発において一番最初に行う作業、かつ一番重要な作業でもあります。
要件定義を含めた開発の流れについては、下リンクの記事で解説していますので合わせてご覧下さい!
要求定義とは
「要求定義」とは、システムを利用するクライアント・ユーザーがシステムに求める仕様のことです。
システムを利用するクライアントにとって、そのシステムはどのような場面でどのような役割を果たしているのか。そしてどんな課題が発生しておりどのような解決を求めているのか。
こうしたクライアント側の課題・意向をまとめ、システムに対する要求にまで落とし込むことが「要求定義」にあたります。
例えば昨今叫ばれている「DX化」を推進するシステムの場合、要求定義は「いままで紙面で行っていた作業にかかる時間を削減するため、紙面に書いてもらっている情報をシステムで入力してもらうようにし、登録・申請処理をシステム上で行うことができるようにする」といったようになります。
この要求定義が抜けもれなくできていないと、開発をしても結局クライアント・ユーザーの利便性が向上されない…という事態になりかねません。
要件定義とは
「要件定義」とは、定義した要求を実現するシステムを動作させるために必要な機能(仕様)を定義することです。
求められる効果を実現するためには、システム上でどのような機能を実装する必要があるのかを明確化しなければいけません。また処理速度や同時処理数など機能だけではなく性能面でもどれくらいのレベルが求められるかの定義も必要です。
たとえは先ほどの「DX化」の例でいうと、「ユーザーが情報入力できる画面の設置」「画面から入力してもらった情報をデータベースに登録」「データベースに情報が登録され次第、管理者に通知が飛ぶ」「管理者がシステム上で情報をチェックし、申請ボタンを押すことで申請完了としてデータベースに登録」といった感じです。
上記の例のような、要求に対して必要な機能のことを「機能要件」、処理速度やシステムの運用フロー管理、システムを利用可能な時間帯など機能要件以外にシステムに求められる機能・仕様のことを「非機能要件」といいます。要件定義ではこの「機能要件」「非機能要件」の両方の定義を決める必要があります。
さいごに
今回は「要件定義」と「要求定義」について解説していきました!
「要求定義」「要件定義」は、どんな立場で業務を行うにせよ、IT系の職種で働く上では必ず把握しておかなければならないものです。
IT系職種を目指す皆さんは、就職前にしっかりとこの二つについて理解しておきましょう!
以上、Takamiがお送りしました!