class diagram messaging extension (#13)
Co-authored-by: Anthony Debucquoy <debucquoy.anthony@gmail.com> Reviewed-on: PGL/Clyde#13 Reviewed-by: Maxime <231026@umons.ac.be>
This commit is contained in:
parent
4f1a44549b
commit
abef330bd7
@ -11,7 +11,7 @@ extension_messagerie.pdf:use_case_messagerie.tex extension_messagerie.bbl extens
|
|||||||
use_case_messagerie.tex: use_case_messagerie.uml
|
use_case_messagerie.tex: use_case_messagerie.uml
|
||||||
plantuml -tlatex:nopreamble use_case_messagerie.uml
|
plantuml -tlatex:nopreamble use_case_messagerie.uml
|
||||||
|
|
||||||
image: use_case_messagerie.uml interaction_diagram.uml
|
image: use_case_messagerie.uml interaction_diagram.uml class.uml
|
||||||
plantuml $^
|
plantuml $^
|
||||||
mmdc -i ERD.md -o ERD.png
|
mmdc -i ERD.md -o ERD.png
|
||||||
|
|
||||||
@ -25,6 +25,7 @@ clean:
|
|||||||
latexmk -C
|
latexmk -C
|
||||||
rm -f use_case_messagerie.tex
|
rm -f use_case_messagerie.tex
|
||||||
rm -f extension_messagerie.{bbl,run.xml}
|
rm -f extension_messagerie.{bbl,run.xml}
|
||||||
|
rm -f class.tex
|
||||||
|
|
||||||
run: extension_messagerie.pdf
|
run: extension_messagerie.pdf
|
||||||
xdg-open $<
|
xdg-open $<
|
||||||
|
86
Documents/proto/messaging_extension/class.uml
Normal file
86
Documents/proto/messaging_extension/class.uml
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
@startuml
|
||||||
|
title Class diagram for Messaging extension
|
||||||
|
|
||||||
|
package Messages {
|
||||||
|
class Message{
|
||||||
|
content: String
|
||||||
|
response: Message
|
||||||
|
respond(User, String)
|
||||||
|
}
|
||||||
|
class Discussion{
|
||||||
|
name: String
|
||||||
|
users: ArrayList<User>
|
||||||
|
invite(User)
|
||||||
|
sendMessage(User, String)
|
||||||
|
}
|
||||||
|
Discussion *-- Message
|
||||||
|
}
|
||||||
|
|
||||||
|
package Forums {
|
||||||
|
class Forum{
|
||||||
|
name: String
|
||||||
|
Owner: Teacher
|
||||||
|
Registered: ArrayList<User>
|
||||||
|
{static} createForum(Course): Forum
|
||||||
|
createTopic(String): Topic
|
||||||
|
createPoll(String, PollType, ArrayList<Option>): Poll
|
||||||
|
}
|
||||||
|
class Topic{
|
||||||
|
subject: String
|
||||||
|
author: Teacher
|
||||||
|
content: String
|
||||||
|
answer(User, String): Answer
|
||||||
|
lock(Boolean)
|
||||||
|
}
|
||||||
|
class Answer{
|
||||||
|
author: User
|
||||||
|
content: String
|
||||||
|
anonymous: Boolean
|
||||||
|
remove()
|
||||||
|
}
|
||||||
|
class Poll{
|
||||||
|
options: ArrayList<Option>
|
||||||
|
type: PollType
|
||||||
|
answer(User, Option): Vote
|
||||||
|
addOption(Option)
|
||||||
|
}
|
||||||
|
class Option{
|
||||||
|
name: String
|
||||||
|
}
|
||||||
|
class Vote{
|
||||||
|
voter: User
|
||||||
|
}
|
||||||
|
enum PollType {
|
||||||
|
ALLOW_NEW_OPTIONS
|
||||||
|
ALLOW_MULTIPLE_CHOICE
|
||||||
|
}
|
||||||
|
note "Change the behaviour of poll" as N
|
||||||
|
|
||||||
|
Forum *-l- Topic
|
||||||
|
Topic *-l- Answer
|
||||||
|
|
||||||
|
Topic <|-d- Poll
|
||||||
|
Poll *-l- Option
|
||||||
|
Option "1..*" -d-x Vote
|
||||||
|
Poll *-- Vote
|
||||||
|
|
||||||
|
Poll -- PollType
|
||||||
|
PollType .r. N
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
package Appointments{
|
||||||
|
class Appointment{
|
||||||
|
date: Date
|
||||||
|
teacher: Teacher
|
||||||
|
student: Student
|
||||||
|
{static} Appointment(Student, Teacher, Date)
|
||||||
|
accept()
|
||||||
|
refuse()
|
||||||
|
propose(Date)
|
||||||
|
export(): File
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Appointments -[hidden]d- Messages
|
||||||
|
@enduml
|
Loading…
Reference in New Issue
Block a user