はじめに
リアルタイムでチャットができるアプリを作ろうと思い要件定義の準備からはじめました。
経緯
node.jsでアプリ作りたい
↓
backbone.jsも使ってアプリ作りたい
↓
上2つを使ってリアルタイムチャットアプリを作ってみよう
↓
どうせなら要件定義の方法も学びたい
↓
要件定義から実装まで一通りやってみよう←今ここ
とは言ったものの
要件定義に関する書籍1を読んだところ、どうやら要件定義にも準備が必要なようなので、まずは要件定義の準備から入りました。
要件定義の準備
要件定義に必要な要素
まず要件定義には以下の要素を決めておく必要があります。
- UI
- 機能
- データ
上記3点を決めるために必要な準備
企画を固める
まずは企画を具体的に明文化してみました。
【リアルタイムチャットツール】
[目的]
インターネットを介して様々な人とチャットを使いコミュニケーションをとることで、人のつながりを増やす
[目的達成のために製作するもの]
複数人で話すためのチャットルーム
[製作物の説明]
・主な機能
→ ログイン機能
→ カテゴリ毎のチャットルーム
[制作物の利用者]
・一般利用者
[利用する人が得られる便益]
・同じ趣味・嗜好の人達とのコミュニケーション
[作るための体制]
・個人開発
[制作物の期限]
・未定
全体像を描く
どういった利用者がいるのか、どういう機能を利用するのかを決めました。
[全体像]
~利用者~
・一般利用者
→ 会員登録
→ ログイン/ログアウト
→ チャットルーム作成
→ チャット
・システム管理者
→ システムを監視する
→ ログ確認する
→ データのバックアップをとる
→ 障害時に復旧を行う
実装技術を決める
どういった技術を使い実装を行うのかをまとめました。
※赤いコメント枠は実力不足によりよく決めきれなかった部分です。
要求を整理する
要件定義を円滑に進めるために、お客さんの要求(この場合自分)を一覧できるようにリスト化しました。
[要求一覧]
・不特定多数の人とチャットをしたい
・カテゴリ毎にチャットルームを作りたい
・ユーザーを判別したい
・チャットルームに誰がいるか可視化したい
・画像も表示できるようにしたい
行動シナリオを定義する
[行動シナリオ]
・一般利用者
→会員登録する
→ログイン/ログアウトする
→チャットルームを作成する
→チャットをする
概念データモデルを定義する
[概念データモデルの作成]
・会員
・メールアドレス
・チャットルーム
・チャット
これで準備完了だが……
これで準備は完了です。
ここから要件定義に入りたいところですが、今回は時間がないためこのまま実装に入ります。(手抜き)
今後作りたいアプリができた時に改めて要件定義を行います。