master #16
| @ -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 | ||||||
		Reference in New Issue
	
	Block a user