駆け出しエンジニアぱかぱかの成長記録

引くほど忘れっぽい新卒2年目駆け出しSEぱかぱかの備忘録です。

【Android】飲食店記録アプリ〜要件定義・基本設計①〜

こんにちは!ぱかぱかです!
今日は久しぶりにAndroid開発の記事を書きたいと思います。
私は応用情報の勉強が忙しくなる前まで、バードウォッチングアプリのようなものをお試しで作りながらAndroidの基礎的な機能と実装を学習していました。
ただ、この時は教本の章の内容に合わせて行き当たりばったりで機能を追加していたために、今やごちゃついて微妙な状態なってしまっております…
(記事にはしていませんが色々な実装にトライしていました…)

最近は業務で設計の大切さを身に染みて感じることが多く、ここからは気を取り直して設計レベルから腰を据えて新しいアプリの開発をしてみたいと思います!

作りたいアプリ

今回作ろうとしているアプリは「飲食店記録アプリ」です!
100番煎じのありがちなアプリな気はしますが、自分にとっても需要があるのでモチベも保ちやすいかと思いこの題材にしてみました。
今私のメモ帳にはたくさん行きたいお店が溜まっているのですが、全然整理できておらずいざ行こうという時になかなかお店を見つけられないので…
作ったら早速活用したいです!…と思ったけど自分はiPhoneユーザだからAndroidアプリ入れられないんだった笑
Androidが形になったらそのままiOSアプリも作ってみたいと思います!

設計手順

大きく以下のような手順で進めていきたいと思います!

1. 要件定義

ここは自分の中であったらいいなと思う機能を列挙してみます。
あまり複雑にし過ぎると時間がかかって先に進めなくなりそうなので、欲張らないようにしたい。

2. 基本設計

ワイヤーフレーム

 ここでざっくりのデザイン案を定めます。
 デザインはセンスがないので、とりあえずダサくても作ってみます。
 画面遷移図もこれに内包してしまいたいと思います。

3. 詳細設計

ここが勉強の上で大事になる気がします…

・ER図

 テーブルデザインはぶっちゃけやったことがないのですが、いい練習になる気がします。
 

・クラス図

 ちゃんと保守性の高いクラス構成を意識して作りたい。
 デザインパターンとかも入れ込めるかな…?

・シーケンス図

 正直シーケンス図が必要になるような処理があまり思い付いていないのですが、シーケンスも書きたい。
 通信処理を使いたいですね。

4. 実装

 あとは設計に従ってコードを書いていきます。
 ワクワクですね。

1. 要件定義

それでは早速にはなりますが、ざっくり要件定義をしてみます笑
大まかなのでまた手戻りがありそうな予感…
次の記事でもっと詰めてもいいかもしれません。

開発要件には機能要件と非機能要件があるようです。

機能要件:具体的な機能。システムにより何を実現できるか。
非機能要件:機能以外。システムの性能やセキュリティ保守。

今回はお試し開発なので非機能要件についてはそこまで考えず、機能要件だけ考えていきたいと思います。

なんちゃって要件定義

◆アプリの目的

・行きたいお店を整理してすぐに探せるようにしたい。
・行ったお店の記録を残せるようにしたい。
・お気に入りのお店を登録して、次回以降のお店選びの参考にしたい。

◆画面と機能

行きたいお店リスト
 店名・場所 ・ジャンル・登録日・メモを記載。
 リスト形式で表示。
 ジャンルや場所で絞り込み調べられるようにしたい。

行きたいお店登録画面
 行きたいお店を登録する画面

行ったお店リスト
 店名・場所 ・ジャンル・登録日・メモ・評価を記載。
 リスト形式で表示。
 ジャンルや場所で絞り込み調べられるようにしたい。
 お気に入りに登録できるボタンもつけたい。

行ったお店登録画面
 行ったお店を登録する画面。

お気に入り店画面
 店名・場所 ・ジャンル・登録日・メモ・評価を記載。
 リスト形式で表示。

メニューバー
 右上にハンバーガーメニューを設置。
 画面の切り替えを行えるようにする。

2. 基本設計(仮)

一旦なんとなくのワイヤーフレームを作ってみてイメージだけ固めてみたいと思います。
デザインはセンスがないのでご愛嬌…
Figmaというツールを使って以下のように作ってみました!

なんかダサいが…

登録画面やメニューバーなどまだ作れていないところもありますが、ひとまずはこんな雰囲気で行きたいと思います!
(途中で店名を考えるのがめんどくさくなっている…)

次回の記事ではこの要件定義とワイヤーフレームをもう少し練っていけたらと思います!
ではまた!