Extension Messagerie (#11)

Voici le use case de messagerie.
et l'interaction overview messagerie.

Co-authored-by: Debucquoy <debucqquoy.anthony@gmail.com>
Co-authored-by: Anthony Debucquoy <debucquoy.anthony@gmail.com>
Reviewed-on: #11
Reviewed-by: Maxime <231026@umons.ac.be>
This commit is contained in:
Debucquoy Anthony 2023-12-14 15:15:39 +01:00
parent 5d8c3d03c5
commit 26bcb045ed
3 changed files with 45 additions and 55 deletions

View File

@ -3,6 +3,7 @@
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath, amsfonts, amssymb, amsthm}
\usepackage{dirtytalk}
\usepackage{tikz}
\usepackage{biblatex}
@ -20,77 +21,74 @@
\resizebox{345pt}{!}{
\input{./use_case_messagerie.tex}
}
\caption{Use Case Diagram of the messaging extension}
\caption{Use Case Diagram pour l'extension de messagerie}
\label{fig:useCase:msg_ext}
\end{figure}
In the diagram Figure~\ref{fig:useCase:msg_ext},
the <<extend>> definition is not pulled from the "Genie logiciel" course
of the University of Mons (UMONS). It is in fact the definition from
the Dan Pilone's pocket reference \cite{Pilone2006-fn}.
Dans le diagramme \ref{fig:useCase:msg_ext}, la définition du <<extend>> est tirée du livre:
"uml Pocket reference" de Dan Pilone \cite{Pilone2006-fn}.
\say{Use case extension encapsulates a distinct flow of events
that are not considered part of the normal or basic flow.
They are not necessarily exceptional conditions.}
\subsection{Answer topic}
The user should be able to answer to a topic created by a teacher.
This answer will depend on the type of topic. The answer could be a selection on a poll,
a private answer (which mean that the answer is not visible to the other users except to the professor).
The answer could finally be a basic answer to the topic and be visible to other users browsing the topic.
L'utilisateur doit être capable de répondre à un topic crée par l'enseignant.
Cette réponse va dépendre du type de topic. Elle peut être une réponse à un questionnaire,
un message privé (qui ne serait pas visible par les autres utilisateur excepté l'enseignant) ou
une simple réponse qui serait visible par tous.
\subsection{Create discutions}
The user can select multiple users and group them into a discussion.
In this discussion, users will be able to exchange messages readable by
every other members of the discussion
L'utilisateur peut séléctionner plusieurs utilisateurs et les include dans un groupe de discussion.
Dans cette discussion, les utilisateurs peuvent échanger des messages lisible par les autres membres du
groupe
\subsubsection{Send messages}
Allow the creation of a message in a discussion.
The text sent to others shall be received by other users
and these users shall be notified of this message by the notification
system.
Permet la création d'un message dans une discusison.
Ce message va être reçu par les autres utilisateur et ceux-ci vont être notifié
du message par le système de notification
\subsection{Ask appointment}
A student can ask for an appointment to a teacher.
In this request, the student will have to give a date, a time
and a subject he want to propose to the teacher.
Un étudiant peut demander un rendes-vous à un enseignant.
Dans cette demande, l'étudiant doit donner une date qui lui convient pour ce rendez-vous
ainsi qu'une raison à ce rendez-vous.
\subsubsection{Export to calendar}
When an appointment is made. The program can export the event
to an open format that can be read by calendar software to add
the event to the user's calendar.
Quand un rendez-vous est crée, Le programme peut exporter l'événement dans un
format libre qui pourra être lu par les programme de gestions de planning.
\subsection{Manage appointment}
When a teacher received an appointment, he is able to
validate, deny or propose a new appointment schedule to the
student.
Quand un enseignant reçois une demande de rendez-vous,
il a la possibilité de valider/refuser ou de proposer un nouveau rendez-vous
à l'étudiant
\subsubsection{Propose new appointment}
If the teacher can't attend to an appointment because of his
schedule, he can make a new time proposal and send it to
the student. The student then receive a notification of
the proposed modifications.
Si l'enseignant n'est pas disponible pour le rendez-vous proposé,
il peut alors proposer un nouveau créneau horaire et l'envoyer à l'étudiant.
L'étudiant reçois alors une notification du nouveau créneau horaire.
\subsection{Create forum}
The teacher can create a new forum under a specific course
The new forum will then make every student of this course
follow the forum and its topic.
L'enseignant peut créer un nouveau forum lié à un cours.
Ce nouveau forum enregistrera les étudiant du cours automatiquement.
\subsubsection{Post topics}
The teacher can post a new topic inside a forum to let
the student know of something specific or to ask a question to
them.
L'enseignant peut envoyer un topic dans un forum pour préciser quelque chose aux étudiants
ou pour poser une questions
\subsubsection{Post poll}
When posting a topic to a forum, the teacher can choose to
make the post as a poll. In that case, student will have to vote
for one of the options or if allowed by the teacher, create a new option.
Lors d'un post, il est possible de choisir de créer un questionnaire à choix multiples ou non.
Dans ce cas, les étudiants vont devoir voter pour l'une des options proposée ou potentiellement
crée une nouvelle option.
\printbibliography

View File

@ -1,23 +1,19 @@
@startuml
note
Appointment
endnote
mainframe Appointment
start
:Asking Apointment]
:Asking Appointment]
repeat
if (accepted) is (yes) then
:Export to calendar]
stop
else (no)
:Propose new apointment]
:Propose new appointment]
endif
@enduml
@startuml
note
Messaging
endnote
mainframe Messaging
start
split
:Create Discution]
@ -31,10 +27,7 @@ stop
@enduml
@startuml
note
Forum
endnote
mainframe Forum
start
:Forum Creation]

View File

@ -5,14 +5,13 @@ left to right direction
:Student: as s
:Teacher: as t
package "Messagerie"{
(Answer topics) as at
(Ask appointement) as aa
(Create Discution) as cd
(Ask appointment) as aa
(Create Discussion) as cd
(Create Forum) as cf
(Manage appointement) as ma
(Manage appointment) as ma
s -- at
s -- aa
@ -32,7 +31,7 @@ cf <-- pt : << include >>
pt <|-- (Post poll)
cd <-- (Send messages) : << include >>
ma <-- (Propose new appointment) : << exlude>> \n [refuse]
ma <-- (Propose new appointment) : << extends >> \n [refuse]
}