RailsApp PlantUML 2018年 11月 5日
学生が卒業研究で Rails のアプリを作成している. 私自身も Rails でかなりプログラムは書いているが,この世界はかなり移り変わりが激しいので,既存の知識では対応できないものがある. そこで,現在の最新の Rails 環境で一つアプリを作り,その過程を記録しようと思う.
作成するアプリだが,実際に自分が欲しいものを作りたい. 現在,担任をやっていて面倒なのは,いろんなイベントにおける出席管理である. 現状では,Numbers のフォーム機能を使っているが,未確認の学生だけを探すのが面倒である. そこで,この部分を楽に管理できる Web アプリを作ろうと思う. 出席・欠席・遅刻は同時に入力することはないのでモード選択とする. モードを選択した段階で,表示された未確認学生だけが一覧として表示され,クリック動作だけで割り当てられるようにする.
(12/14修正) Event の接続先を Kurasu に変更した.
@startuml
left to right direction
skinparam packageStyle rectangle
actor teacher
rectangle attendance {
teacher -- (クラスを作成)
teacher -- (クラスに学生を追加)
teacher -- (イベントを作成)
teacher -- (モードを選択)
teacher -- (出席・欠席・遅刻を設定)
}
@enduml
@startuml
start
fork
:ログイン;
fork again
:学生を一括登録;
fork again
:クラスを作成;
:学生を登録;
fork again
:イベントを作成;
fork again
:モードを選択;
:出席・欠席・遅刻を登録;
endfork
stop
@enduml
@startuml
class Teacher {
name : String
}
class Kurasu {
name : String
obsolete: Boolean
teacher_id: Integer
}
class Gakusei {
number : Integer
name : String
kurasu_id: Integer
}
class Event {
name: String
date: Date
sort_order: Integer
kurasu_id: Integer
}
class EventGakusei {
event_id: Integer
gakusei_id: Integer
shusseki: Integer
}
Teacher "1" --"*" Kurasu : < teacher
Kurasu "1" -- "*" Gakusei : < kurasu
Kurasu "1" -- "*" Event : < kurasu
Event "1" -- "*" EventGakusei : < event
Gakusei "1" -- "*" EventGakusei : < gakusei
@enduml
とりあえず今日はここまで