CONTENT
ここから
今日の提出物
今日の授業では、完成したアプリだけを提出する必要はありません。
提出するものは、次の2つです。
- アプリを作るまでのプロセスのメモ帳
- アプリのできたところまで
メモ帳には、次のような内容を書いてください。
- どんな困りごとを見つけたのか
- 誰のためのアプリなのか
- どんな機能が必要だと思ったのか
- なぜその機能が必要だと考えたのか
- どんな画面が必要だと思ったのか
- 実装してみて、どこまでできたのか
- まだできていない部分は何か
- 次に改善したいことは何か
今日の目的は、完璧なアプリを作ることではありません。
「自分はこう考えて、このアプリを作ろうとしている」という流れを残すことが大切です。
アプリ開発では、完成したものだけでなく、そこにたどり着くまでの考え方もとても重要です。
アプリ開発は、いきなり作り始めない
アプリを作ると聞くと、多くの人はすぐにコードを書くことを想像します。
- 画面を作る。
- ボタンを置く。
- 入力できるようにする。
- 保存できるようにする。
もちろん、これらはアプリ開発の大切な作業です。しかし、実際のアプリ開発では、いきなりコードを書き始めるわけではありません。まず考えるべきことは、次の問いです。
誰が、何に困っているのか。
ここが決まらないまま作り始めると、アプリの方向性がわからなくなります。たとえば、出席管理アプリを作る場合でも、困っている人によって必要なアプリは変わります。
- 先生が困っているのか。
- 学生が困っているのか。
- 学校の事務担当者が困っているのか。
- イベントの受付担当者が困っているのか。
同じ「出席管理」でも、使う人が変われば、必要な機能も画面も変わります。
だから、アプリ開発は最初に「困りごと」を見つけるところから始まります。
今回のテーマは「出席管理アプリ」
今回の授業では、Flutterを使って出席管理アプリを作ります。Flutterとは、スマートフォンアプリなどを作るための道具です。
ただし、今回の授業では、Flutterの書き方だけを覚えることが目的ではありません。大切なのは、出席管理の悩みを見つけて、それをアプリとして形にしていくことです。
たとえば、出席管理には次のような困りごとがあります。
- 出席確認に時間がかかる
- 紙の出席簿をあとから集計するのが面倒
- 遅刻や早退の記録が曖昧になる
- 欠席者をすぐに確認できない
- 出席率を計算するのに時間がかかる
- 誰がまだ出席していないのか見つけにくい
- イベント受付で人が並んでしまう
- 学生が自分の出席状況を確認できない
このような困りごとをもとに、どんなアプリがあれば便利になるかを考えます。
まずは「誰の困りごとか」を決める
アプリを考えるときは、最初に使う人を決めます。
これを決めないと、何を作ればよいのかがぼんやりしてしまいます。
たとえば、同じ出席管理アプリでも、使う人によって目的が変わります。
先生が使う場合
先生が使う出席管理アプリなら、授業中にすばやく出席を記録できることが大切です。
必要になりそうな機能は、次のようなものです。
- 授業を選ぶ
- 学生一覧を見る
- 出席・遅刻・欠席を選ぶ
- 欠席者を確認する
- 出席率を見る
先生にとって大切なのは、短い時間で正確に記録できることです。
学生が使う場合
学生が使う出席管理アプリなら、自分の出席状況を確認できることが大切です。
必要になりそうな機能は、次のようなものです。
- 自分の出席履歴を見る
- 欠席回数を確認する
- 遅刻回数を確認する
- 欠席理由を送信する
- 出席登録をする
学生にとって大切なのは、自分の状況がわかりやすく見えることです。
管理者が使う場合
学校の管理者が使う出席管理アプリなら、全体を確認できることが大切です。
必要になりそうな機能は、次のようなものです。
- クラスごとの出席状況を見る
- 欠席者を一覧で見る
- 出席率を集計する
- データを出力する
- 授業ごとの記録を確認する
管理者にとって大切なのは、全体をまとめて確認できることです。
イベント受付で使う場合
イベント受付で使う出席管理アプリなら、来場した人をすばやく確認できることが大切です。
必要になりそうな機能は、次のようなものです。
- 参加者一覧を見る
- 受付済みに変更する
- 未受付の人を確認する
- QRコードで受付する
- 来場人数を確認する
受付担当者にとって大切なのは、混雑しないように短時間で処理できることです。
「欲しい機能」よりも「困っている理由」を考える
アプリを作るとき、すぐに機能を考えたくなります。
たとえば、次のように考えるかもしれません。
- QRコードを使いたい。
- ログイン機能をつけたい。
- グラフを出したい。
- CSV出力をしたい。
- 通知を出したい。
これらは便利な機能です。しかし、最初から機能だけを考えると、何のための機能なのかわからなくなることがあります。大切なのは、機能の前に理由を考えることです。
たとえば、QRコードを使いたい場合は、次のように考えます。
- なぜQRコードが必要なのか。
- 出席確認を早くしたいから。
- 入力ミスを減らしたいから。
- 受付の行列を短くしたいから。
- 代理入力を減らしたいから。
このように考えると、QRコードを使う理由が見えてきます。理由が見えると、その機能が本当に必要なのか判断しやすくなります。
困りごとをアプリの形に変えていく
困りごとが見つかったら、それをアプリの形に変えていきます。
このとき、次の順番で考えると整理しやすくなります。
1. 誰が困っているのか
まず、使う人を決めます。
例。
先生が困っている。
学生が困っている。
管理者が困っている。
受付担当者が困っている。
2. 何に困っているのか
次に、具体的な困りごとを書きます。
例。
出席確認に時間がかかる。
欠席者をすぐに確認できない。
出席率を計算するのが面倒。
受付で人が並んでしまう。
3. なぜ困っているのか
次に、その原因を考えます。
例。
紙で管理しているから。
あとから手作業で集計しているから。
出席情報がまとまっていないから。
確認する画面がないから。
4. アプリで何をできるようにするのか
次に、アプリで解決できそうなことを考えます。
例。
学生一覧から出席状態を選べるようにする。
欠席者だけを一覧で見られるようにする。
出席率を自動で表示する。
受付済みと未受付を分けて表示する。
5. どんな画面が必要か
最後に、必要な画面を考えます。
例。
授業一覧画面。
学生一覧画面。
出席入力画面。
出席履歴画面。
集計画面。
この流れで考えると、アプリの全体像が少しずつ見えてきます。
例:先生向けの出席管理アプリを考える
ここでは、先生向けの出席管理アプリを例にして考えます。
誰が困っているのか
先生。
何に困っているのか
出席確認に時間がかかる。
あとから出席状況を集計するのが面倒。
欠席者をすぐに確認できない。
なぜ困っているのか
紙で記録しているため、あとから見直す必要がある。
授業ごとの出席情報がまとまっていない。
出席率を手作業で計算している。
アプリで何をできるようにするのか
授業を選べるようにする。
学生一覧を表示する。
出席・遅刻・欠席を選べるようにする。
欠席者だけを確認できるようにする。
出席率を表示できるようにする。
どんな画面が必要か
ホーム画面。
授業一覧画面。
学生一覧画面。
出席入力画面。
集計画面。
このように考えると、いきなりコードを書かなくても、アプリに必要な内容が見えてきます。
Flutterで作るときに関係すること
ここまで考えた内容は、あとでFlutterで実装するときにつながります。
たとえば、学生一覧を表示したい場合は、Flutterで一覧表示を作ります。
出席・遅刻・欠席を切り替えたい場合は、状態を管理します。
授業一覧から出席入力画面へ移動したい場合は、画面遷移を使います。
欠席理由を入力したい場合は、入力フォームを使います。
出席データを保存したい場合は、データ保存の仕組みを考えます。
つまり、Flutterの技術は、いきなり出てくるものではありません。
困りごとを整理して、必要な機能を考えた結果として、Flutterの技術を使います。
技術から考えるのではなく、課題から考えます。
今日の作業
今日の作業では、まずアプリを作る前のメモを作成します。
次の項目を、自分のメモ帳に書いてください。
1. 作りたいアプリの名前
例。
先生向け出席チェックアプリ。
学生向け出席確認アプリ。
イベント受付アプリ。
欠席連絡アプリ。
2. 誰のためのアプリか
例。
先生。
学生。
管理者。
受付担当者。
3. どんな困りごとを解決するのか
例。
出席確認に時間がかかる。
欠席者をすぐに確認できない。
出席率の計算が面倒。
受付で人が並んでしまう。
4. なぜその困りごとが起きているのか
例。
紙で管理しているから。
データがまとまっていないから。
手作業で集計しているから。
その場で確認できる画面がないから。
5. アプリでできるようにしたいこと
例。
出席状態を選べるようにする。
欠席者だけを表示する。
出席率を表示する。
受付済みの人を確認する。
6. 必要そうな画面
例。
ホーム画面。
一覧画面。
入力画面。
確認画面。
集計画面。
7. まず作る小さな完成形
例。
学生一覧を表示して、出席・欠席を選べるところまで作る。
授業一覧を表示して、1つの授業を選べるところまで作る。
受付者一覧を表示して、受付済みに変更できるところまで作る。
最初からすべてを作る必要はありません。
まずは、小さく作ります。
できたところまでで大丈夫です。
ただし、なぜそのアプリを作るのか、どのような考えで作っているのかは、メモとして残してください。
この節のまとめ
アプリ開発は、いきなりコードを書くことから始まるわけではありません。
まず、困りごとを見つけます。
次に、誰が困っているのかを考えます。
そのあと、なぜ困っているのかを整理します。
そして、アプリで何をできるようにするのかを決めます。
最後に、必要な画面や機能を考えて、Flutterで実装していきます。
この流れで考えると、アプリを作る全体像が見えてきます。
出席管理アプリだけでなく、他のアプリを作るときにも同じ考え方が使えます。
今日の授業では、まず「困りごとを見つけること」から始めましょう。
そして、自分の考えをメモに残しながら、できるところまでアプリを作っていきましょう。