TEXTBOOK SECTION / AI LEARNING

要件定義で作るものと作らないものを決める

Flutterアプリケーション開発概論の「アプリ開発の流れを理解する」より、要件定義で作るものと作らないものを決めるを解説。生成AI、AI活用、DX、業務改善を実践しながら学べるオンライン教材です。

3アプリ開発の流れを理解するFlutter / iOS / Android / MacOS / Windows / 基礎から学ぶ / 開発 / アプリ開発

OVERVIEW

この節で学べること

概要を表示する
項目内容
教材名Flutterアプリケーション開発概論
アプリ開発の流れを理解する
要件定義で作るものと作らないものを決める
カテゴリFlutter / iOS / Android / MacOS / Windows / 基礎から学ぶ / 開発 / アプリ開発
学習内容生成AI、AI活用、DX、業務改善を実践しながら理解するための教材です。

TABLE OF CONTENTS

目次

CONTENT

ここから

アプリを作るときは、最初に「何を作るのか」を決める必要があります。

これを要件定義といいます。

少し難しい言葉に聞こえるかもしれませんが、やっていることはシンプルです。

今回のアプリで作るものを決める。

今回のアプリでは作らないものを決める。

どこまでできたら、まず完成とするのかを決める。

この3つを整理する作業です。

出席管理アプリを作る場合、考えられる機能はたくさんあります。

学生一覧を表示する。

出席、遅刻、欠席を記録する。

欠席理由を入力する。

出席率を表示する。

QRコードで出席登録する。

CSVで出力する。

先生用と学生用で画面を分ける。

ログイン機能をつける。

通知を送る。

便利そうな機能を考え始めると、どんどん増えていきます。

しかし、最初からすべてを作ろうとすると、完成しにくくなります。

だからこそ、要件定義では「今回は何を作るのか」を絞ります。

同時に、「今回は何を作らないのか」も決めます。

作らないものを決めることは、手を抜くことではありません。

むしろ、アプリを完成させるためにとても大切な判断です。

要件定義はアプリの約束を決める作業

要件定義は、アプリを作る前の約束を決める作業です。

たとえば、先生向けの出席管理アプリを作るとします。

このとき、次のように決めます。

誰が使うアプリなのか。

どんな困りごとを解決するのか。

どんな機能が必要なのか。

どんな画面が必要なのか。

どこまで作れたら、まず完成と言えるのか。

この約束がないまま作り始めると、途中で迷いやすくなります。

「やっぱりQRコードも必要かもしれない」

「学生用の画面も作った方がいいかもしれない」

「通知機能もあった方が便利そう」

このように、作っている途中で機能が増え続けると、最初に作ろうとしていたものが完成しなくなります。

アプリ開発では、便利そうなものを全部入れることが正解ではありません。

まずは、解決したい困りごとに対して、必要な機能を選ぶことが大切です。

まずは解決したい困りごとを確認する

要件定義をするときは、最初に困りごとを確認します。

出席管理アプリなら、次のような困りごとが考えられます。

出席確認に時間がかかる。

欠席者をすぐに確認できない。

紙の出席簿をあとから集計するのが面倒。

出席率を計算するのに時間がかかる。

遅刻や早退の記録が曖昧になる。

イベント受付で人が並んでしまう。

学生が自分の出席状況を確認できない。

ここで大切なのは、今回のアプリで全部を解決しようとしないことです。

まずは、1つか2つに絞ります。

たとえば、今回は次の課題に絞るとします。

先生が授業中に出席確認をすばやく終えたい。

この場合、必要になりそうな機能は限られます。

授業を選ぶ。

学生一覧を見る。

出席、遅刻、欠席を選ぶ。

保存する。

欠席者を確認する。

このように、困りごとを絞ると、必要な機能も見えやすくなります。

反対に、困りごとが曖昧なままだと、必要な機能も曖昧になります。

必ず作る機能を決める

次に、必ず作る機能を決めます。

これは、今回のアプリにとって中心になる機能です。

出席管理アプリであれば、たとえば次のような機能です。

学生一覧を表示する。

出席、遅刻、欠席を選べるようにする。

選んだ出席状態を保存する。

欠席者を確認できるようにする。

このような機能がないと、出席管理アプリとして成り立ちません。

必ず作る機能は、多くしすぎない方がよいです。

最初は、少なくて構いません。

たとえば、最初の目標を次のように決めても大丈夫です。

学生一覧を表示する。

学生ごとに出席、欠席を選べる。

選んだ状態が画面上で変わる。

ここまでできれば、出席管理アプリの基本形が見えてきます。

そのあと、保存機能や集計機能を追加していけばよいです。

できれば作りたい機能を決める

次に、できれば作りたい機能を決めます。

これは、時間があれば追加したい機能です。

たとえば、次のようなものです。

出席率を表示する。

欠席者だけを一覧で表示する。

遅刻者を確認する。

欠席理由を入力する。

授業ごとに出席履歴を見る。

CSVで出力する。

QRコードで出席登録する。

これらは便利な機能です。

しかし、最初から全部作ろうとすると大変です。

そのため、まずは必ず作る機能を完成させます。

そのあと、時間があれば追加します。

アプリ開発では、最初から大きく作るよりも、小さく作って少しずつ広げる方が進めやすいです。

今回は作らない機能を決める

要件定義でとても大切なのが、今回は作らない機能を決めることです。

たとえば、今回の授業では次の機能は作らない、と決めても構いません。

ログイン機能は作らない。

通知機能は作らない。

QRコード機能は作らない。

管理者用画面は作らない。

オンライン同期は作らない。

CSV出力は作らない。

「作らない」と決めると、不安になるかもしれません。

しかし、これはアプリの完成度を下げるためではありません。

まず完成させるためです。

作らないものを決めることで、今やるべきことがはっきりします。

作業の範囲が見えると、実装もしやすくなります。

最初の小さな完成形を決める

要件定義では、最初の小さな完成形を決めます。

これを、最初のゴールと考えてください。

たとえば、出席管理アプリなら、次のような小さな完成形が考えられます。

学生一覧が表示される。

学生ごとに出席、欠席を選べる。

選んだ状態が画面に反映される。

ここまでできれば、まだ保存機能がなくても、出席管理アプリの形は見えてきます。

次の段階で、保存機能を追加します。

さらに次の段階で、出席率を表示します。

そのあと、欠席者だけを見られるようにします。

このように、アプリは段階的に作っていきます。

最初から完璧を目指すよりも、まず動くものを作ることが大切です。

出席管理アプリの要件定義例

ここでは、先生向けの出席管理アプリを例にして、要件定義を整理します。

誰のためのアプリか

先生のためのアプリ。

解決したい困りごと

授業中の出席確認に時間がかかる。

欠席者をすぐに確認できない。

出席状況をあとから見直しにくい。

必ず作る機能

授業を選べる。

学生一覧を表示できる。

学生ごとに出席、欠席を選べる。

出席状態を保存できる。

欠席者を確認できる。

できれば作りたい機能

遅刻を記録できる。

欠席理由を入力できる。

出席率を表示できる。

授業ごとの履歴を見られる。

CSVで出力できる。

今回は作らない機能

ログイン機能。

QRコード出席機能。

通知機能。

管理者用画面。

学生用画面。

最初の小さな完成形

学生一覧を表示して、学生ごとに出席・欠席を選べるところまで作る。

そのあと、保存機能を追加する。

さらに余裕があれば、欠席者一覧や出席率表示を追加する。

このように整理すると、何から作ればよいのかがわかりやすくなります。

要件定義を書くときの考え方

要件定義を書くときは、きれいな文章にする必要はありません。

まずは、メモで大丈夫です。

大切なのは、次の内容がわかることです。

誰のためのアプリなのか。

何を解決したいのか。

必ず作る機能は何か。

できれば作りたい機能は何か。

今回は作らない機能は何か。

最初の小さな完成形はどこか。

この6つが書けていれば、アプリの方向性はかなり整理できます。

要件定義があると、実装に入ったときにも迷いにくくなります。

「今はこの機能を作る段階」

「これは今回は作らない機能」

「まずは小さな完成形を目指す」

このように判断できるようになります。

今日のメモに書くこと

自分のメモ帳に、次の内容を書いてください。例を記載しています。

1. 誰のためのアプリか

先生のためのアプリ。

学生のためのアプリ。

イベント受付担当者のためのアプリ。

2. 解決したい困りごと

出席確認に時間がかかる。

欠席者をすぐに確認できない。

受付で人が並んでしまう。

3. 必ず作る機能

学生一覧を表示する。

出席、欠席を選べるようにする。

保存する。

4. できれば作りたい機能

出席率を表示する。

欠席者だけを表示する。

QRコードで出席登録する。

5. 今回は作らない機能

ログイン機能。

通知機能。

CSV出力。

6. 最初の完成形

学生一覧を表示して、出席・欠席を選べるところまで作る。

授業一覧から1つの授業を選び、学生一覧に移動できるところまで作る。

イベント参加者一覧を表示し、受付済みに変更できるところまで作る。

この節のまとめ

要件定義は、今回のアプリで作るものと作らないものを決める作業です。

便利そうな機能を全部入れることが目的ではありません。

解決したい困りごとに対して、必要な機能を選ぶことが大切です。

まずは、必ず作る機能を決めます。

次に、できれば作りたい機能を分けます。

そして、今回は作らない機能も決めます。

最後に、最初の小さな完成形を決めます。

この流れで考えると、アプリ開発の方向性がはっきりします。

要件定義ができると、次に必要な画面やデータを考えやすくなります。

つまり、要件定義は、ヒアリングで見つけた困りごとを、実際に作るアプリへつなげる大切な橋渡しです。

FAQ

よくある質問

要件定義で作るものと作らないものを決めるは医療関係者向けだけの内容ですか。
医療分野の例が含まれる場合もありますが、医療関係者だけに限定した内容ではありません。生成AI、AI活用、DX、業務改善、プロトタイプ開発など、一般的なAI学習の事例として読める内容です。
AI初心者でも読めますか。
はい。AIをこれから学ぶ方、数学が苦手な方、仕事でAIを使いたい方にも読み進めやすいように、教材の章と節の流れに沿って整理しています。
サムネイル画像は必ず表示されますか。
はい。教材にcoverUrlが設定されている場合はその画像を表示し、未設定の場合は代替サムネイル画像を表示します。
Flutterアプリケーション開発概論のほかの章も読めますか。
はい。教材トップから章立てを確認でき、前後の節へもページ下部のナビゲーションから移動できます。