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 | ||||
		Reference in New Issue
	
	Block a user