おけらのブログ++

駆け出しWebエンジニアの奮闘記

日程調整アプリのデータベース設計〜要件整理編

 今週は会社の専門教育セミナーでデータベース設計を受講してきたので、それを振り返りながら実際にアプリのデータベース設計をしてみようと思います。
先週立てたHTML/CSSの目標はいいのか!?と思いつつもせっかく受けたセミナーなので今振り返りをしておきます。

日程調整アプリについて

 題材は日程調整アプリをRallsを使って実装してみます。なぜ日程調整アプリかというと会社で困っているからです。私は若手のため飲み会担当なのですがセキュリティが無駄に厳しくて、世にある便利な日程調整サービスを使えないんです。(まさかのExcelでやってます)

 既に会社でRailsを使ってチーム用のWebページを作っているので、それを拡張するのがゴールとなります。会社でチーム用Webページを作った際も私なりに工夫したので、年内にはブログを書こうと思います。

日程調整アプリの要件整理(トップダウン分析)

 まずは要件の整理を行います。実はデータベース設計をするときにいきなりテーブルを考えていたのですが、それが出来ていたのは簡単な内容だったからだと思います。これからはちゃんと要件の整理と画面設計をやってからやってきます。

 トップダウン分析は要件からエンティティや属性を洗い出す分析方法のことです。
目的としてはボトムアップ分析では見つからない、現システムにはないが新しい要件定義にはあるといった情報を漏れなく抽出すること。また将来的に拡張したい要件なども抽出して、後の手戻りをなくすといったことも目的のひとつであるようです。

が、今回はとりあえず要件だけ記載します。データベースのモデル設計は後半のボトムアップ分析で検討します。

イベントの作成
  • イベントを作成し、一覧を表示できること。ただし見られたくない場合を考慮し、表示するかしないかは任意で決めれること。
  • イベント作成時に日程の選択肢を◯△✕形式か◯✕のみかを選択できること
  • イベント作成後はURLを表示すること
  • イベントは削除できること
  • イベントのIDは特定できないようにランダムの数字を使うこと
イベントの表示
  • イベントの表示画面には日程と参加者の回答、日程ごとの集計結果を表示すること
イベントの編集
  • イベントは日付を自由に追加できること
  • イベント名は誰でも修正できること
  • 回答者名を修正できること
  • イベントや回答者は削除できること

こんなもんでしょうか。実は学習内容の振り返りとブログ用に文書化したので要件はかなり雑です。。。許して下さい
とりあえず前半は以上。今日中に実際にリレーションシップモデルの検討までやってみます。メインの後半に続く。

okerra.hatenablog.com