[Advent Calendar 2021][Day3]どんなAdvent Calendarを作るか考える

はじめに

Advent Calendar 2021のDay3。 前回は、どんなWebアプリを作るかで、Advent CalendarのWebアプリを作ることに決めました。 今回は、どんな機能を搭載するか考えていきます。

Advent Calendarのユーザー

  • 読者
  • カレンダー参加者
  • カレンダー作成者

Advent Calendarの機能を分析

とりあえず基本的な機能のみを、ざっくり列挙してみる。

  • ユーザ登録/更新/削除
  • カレンダー登録/更新/削除
  • カレンダー一覧
  • カレンダー表示
  • カレンダー参加登録/更新/削除
  • 記事表示

ユースケース図にしてみる

@startuml
left to right direction
actor "読者" as reader
actor "カレンダー参加者" as participant
actor "カレンダー作成者" as creator
package User {
    usecase "ユーザ登録/更新/削除" as uc_user
}
package Calendar {
    usecase "カレンダー登録/更新/削除" as uc_calendar
    usecase "カレンダー参加登録/更新/削除" as uc_calendar_participate
    usecase "カレンダー一覧" as uc_calendar_list
    usecase "カレンダー表示" as uc_calendar_read
}
package Article {
    usecase "記事表示" as uc_article_read
}
creator --> uc_user
creator --> uc_calendar
participant --> uc_user
participant --> uc_calendar_participate
reader --> uc_calendar_list
reader --> uc_calendar_read
reader --> uc_article_read
@enduml

usecase diagram

機能としてはシンプルですね。 作れそうな感じがしてきました。

まとめ

次回は、具体的にどんなAdvent Calendarを作るかを、まとめていこうと思います。