First class diagram messaging extension #13
@ -11,7 +11,7 @@ extension_messagerie.pdf:use_case_messagerie.tex extension_messagerie.bbl extens
|
||||
use_case_messagerie.tex: 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 $^
|
||||
|
||||
extension_messagerie.bbl: extension_messagerie.bcf
|
||||
@ -24,6 +24,7 @@ clean:
|
||||
latexmk -C
|
||||
rm -f use_case_messagerie.tex
|
||||
rm -f extension_messagerie.{bbl,run.xml}
|
||||
rm -f class.tex
|
||||
|
||||
run: extension_messagerie.pdf
|
||||
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