TEXTBOOK SECTION / AI LEARNING

アプリ開発の大きな流れ

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

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

OVERVIEW

この節で学べること

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

TABLE OF CONTENTS

目次

CONTENT

ここから

アプリ開発は、いきなりコードを書く作業ではありません。

最初に、誰が何に困っているのかを見つけます。

そのあと、どのようなアプリなら解決できるのかを考えます。

そして、必要な画面や機能を整理してから、実際にFlutterで作っていきます。

この流れを知っておくと、アプリを作るときに迷いにくくなります。


アプリ開発の全体像

アプリ開発は、大きく分けると次の流れで進みます。

  1. ヒアリング
  2. 課題整理
  3. 要件定義
  4. 基本設計
  5. 詳細設計
  6. 実装
  7. テスト
  8. 改善

言葉だけ見ると難しく感じるかもしれません。

しかし、やっていることはとてもシンプルです。

困っていることを聞く。

本当に解決したいことを整理する。

作るものを決める。

画面や動きを考える。

Flutterで作る。

使ってみて直す。

この順番で進めると、アプリ開発の全体像が見えてきます。


1. ヒアリング

最初に行うのは、ヒアリングです。

ヒアリングとは、実際に使う人から話を聞くことです。

出席管理アプリの場合は、先生、学生、管理者、受付担当者などに話を聞きます。

たとえば、次のようなことを聞きます。

  • 出席管理で困っていることはありますか
  • どの作業に時間がかかっていますか
  • どこでミスが起きやすいですか
  • どの情報をすぐに確認したいですか
  • 今のやり方で不便なところはありますか

ヒアリングで大切なのは、相手の言葉をそのまま機能にしないことです。

たとえば、先生が「QRコードで出席を取りたい」と言ったとします。

このとき、すぐに「QRコード機能を作ろう」と考えるのではありません。

なぜQRコードが必要なのかを考えます。

出席確認を早く終わらせたいのか。

紙の記録をなくしたいのか。

入力ミスを減らしたいのか。

代理出席を防ぎたいのか。

このように、要望の奥にある本当の困りごとを見つけることが大切です。


2. 課題整理

ヒアリングで話を聞いたら、次に課題を整理します。

課題整理とは、集めた話の中から「本当に解決すべき問題」を見つけることです。

たとえば、出席管理では次のような課題が考えられます。

  • 出席確認に時間がかかる
  • 紙の記録をあとから集計するのが大変
  • 欠席者をすぐに確認できない
  • 遅刻や早退の記録が曖昧になる
  • 出席率を計算するのに手間がかかる
  • イベント受付で人が並んでしまう

ここで大切なのは、すべての課題を一度に解決しようとしないことです。

最初から大きなアプリを作ろうとすると、完成しにくくなります。

まずは、今回の授業で解決したい課題を1つか2つに絞ります。

たとえば、次のように考えます。

今回は「先生が出席確認に時間がかかる」という課題を解決する。

今回は「イベント受付で参加者確認に時間がかかる」という課題を解決する。

今回は「学生が自分の出席状況を確認できない」という課題を解決する。

課題を絞ることで、アプリの方向性がはっきりします。


3. 要件定義

課題が整理できたら、次に要件定義を行います。

要件定義とは、今回のアプリで何を作るのかを決める作業です。

簡単に言うと、作るものと作らないものを決めることです。

たとえば、先生向けの出席管理アプリなら、次のような機能が考えられます。

  • 授業を選ぶ
  • 学生一覧を見る
  • 出席・遅刻・欠席を選ぶ
  • 欠席者だけを表示する
  • 出席率を表示する
  • 出席データを保存する
  • CSVで出力する
  • QRコードで出席を登録する

しかし、最初からすべてを作る必要はありません。

まずは、最低限必要な機能を選びます。

たとえば、最初の完成形は次のようにしても構いません。

  • 授業を選ぶ
  • 学生一覧を見る
  • 出席・欠席を選ぶ
  • 保存する

これだけでも、出席管理アプリとしての基本は作れます。

要件定義では、次の3つを決めると整理しやすくなります。

必ず作る機能

今回のアプリに必要な中心機能です。

例。

学生一覧を表示する。

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

出席データを保存する。

できれば作りたい機能

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

例。

出席率を表示する。

欠席者だけを絞り込む。

CSVで出力する。

今回は作らない機能

今回は範囲外にする機能です。

例。

ログイン機能。

QRコード機能。

通知機能。

管理者用の詳細画面。

作らない機能を決めることで、完成までの道が見えやすくなります。


4. 基本設計

要件定義で作るものが決まったら、次は基本設計です。

基本設計とは、アプリ全体の形を考えることです。

ここでは、主に次の3つを考えます。

  • どんな画面が必要か

  • 画面はどのように移動するか

  • どんなデータを扱うか たとえば、先生向けの出席管理アプリなら、次のような画面が考えられます。

  • ホーム画面

  • 授業一覧画面

  • 学生一覧画面

  • 出席入力画面

  • 集計画面 画面の流れは、次のようになります。

ホーム画面を開く。

授業一覧から授業を選ぶ。

学生一覧を表示する。

学生ごとに出席・遅刻・欠席を選ぶ。

保存する。

集計画面で確認する。

このように、利用者がどの順番でアプリを使うのかを考えます。

画面の流れが整理できると、アプリ全体の形が見えてきます。


5. 詳細設計

基本設計で全体像を決めたら、次は詳細設計です。

詳細設計では、画面ごとの細かい動きを考えます。

たとえば、出席入力画面では、次のようなことを決めます。

  • 出席ボタンを押したら、出席状態が変わる
  • 遅刻を選んだら、遅刻として記録される
  • 欠席を選んだら、欠席理由を入力できる
  • 保存ボタンを押したら、データが保存される
  • 何も選ばずに保存しようとしたら、注意を表示する
  • 保存に失敗したら、エラーメッセージを表示する

詳細設計をしておくと、実装するときに迷いが少なくなります。

「ボタンを押したら何が起きるのか」

「入力が空だったらどうするのか」

「保存したあとはどの画面に戻るのか」

このような細かい動きを先に決めておくことで、作業が進めやすくなります。


6. 実装

設計ができたら、Flutterで実装します。

実装とは、実際にコードを書いてアプリを作る作業です。

Flutterでは、画面の部品をWidgetとして作ります。

文字、ボタン、入力欄、一覧、カードなどは、すべてWidgetとして考えます。

出席管理アプリでは、次のようなものを作ることになります。

  • 授業一覧
  • 学生一覧
  • 出席ボタン
  • 欠席ボタン
  • 保存ボタン
  • 出席率の表示
  • 入力フォーム

また、出席・遅刻・欠席のように変わる情報は、状態として管理します。

画面を移動するには、画面遷移の仕組みを使います。

データを残したい場合は、保存の仕組みを使います。

ここで大切なのは、設計した内容を少しずつ形にしていくことです。

最初からすべての機能を完成させる必要はありません。

まずは、画面を表示する。

次に、ボタンを押せるようにする。

次に、状態が変わるようにする。

次に、保存できるようにする。

このように、小さく作って確認しながら進めます。


7. テスト

実装したら、テストを行います。

テストとは、作ったアプリが正しく動くか確認することです。

たとえば、次のようなことを確認します。

  • 画面は正しく表示されるか
  • ボタンを押したら出席状態が変わるか
  • 保存ボタンを押したらデータが保存されるか
  • 学生一覧が正しく表示されるか
  • 入力ミスをしたときに注意が出るか
  • スマートフォンで操作しやすいか
  • 文字が小さすぎないか
  • 必要な情報がすぐ見えるか

テストでは、作った本人だけで確認するのではなく、できれば他の人にも使ってもらいます。

自分ではわかりやすいと思っていても、他の人には使いにくい場合があります。

アプリは、作った人ではなく、使う人のためにあります。

そのため、利用者の目線で確認することが大切です。


8. 改善

テストをすると、直したいところが見つかります。

これを改善します。

たとえば、次のような改善が考えられます。

  • ボタンを大きくする
  • 表示する情報を減らす
  • 欠席者だけを見やすくする
  • 出席率をわかりやすく表示する
  • 入力ミスを防ぐメッセージを追加する
  • 保存できたことがわかる表示を出す
  • 画面の順番をわかりやすくする

改善は、アプリを良くするための大切な作業です。

最初から完璧なアプリを作る必要はありません。

作って、使って、直す。

この繰り返しで、アプリは少しずつ使いやすくなります。


出席管理アプリで考える開発の流れ

ここまでの流れを、出席管理アプリに当てはめると次のようになります。

ヒアリング

先生や学生に、出席管理で困っていることを聞く。

課題整理

出席確認に時間がかかる、欠席者を確認しにくいなどの課題を整理する。

要件定義

今回作る機能を決める。

例。

学生一覧を表示する。

出席・欠席を選ぶ。

保存する。

基本設計

必要な画面を決める。

例。

ホーム画面。

授業一覧画面。

学生一覧画面。

出席入力画面。

詳細設計

ボタンを押したときの動きや、保存するときの流れを決める。

実装

Flutterで画面や機能を作る。

テスト

実際に操作して、正しく動くか確認する。

改善

使いにくい部分を直す。

この順番で考えると、アプリ開発の流れがつながって見えてきます。


この節のまとめ

アプリ開発には、大きな流れがあります。

ヒアリングで困りごとを聞きます。

課題整理で、本当に解決したい問題を見つけます。

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

基本設計で、アプリ全体の画面や流れを考えます。

詳細設計で、ボタンや入力の細かい動きを決めます。

実装で、Flutterを使って形にします。

テストで、正しく動くか確認します。

改善で、使いやすく直します。

この流れを理解すると、アプリ開発はただコードを書く作業ではなく、困りごとを解決するための作業だとわかります。

今回の出席管理アプリも、同じ流れで作っていきます。

最初から完璧に作る必要はありません。

大切なのは、考えたことをメモに残しながら、小さく作って、使ってみて、少しずつ良くしていくことです。

FAQ

よくある質問

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