First use_case proto

This commit is contained in:
Debucquoy 2023-11-21 16:04:18 +01:00
commit a4ad435432
Signed by: tonitch
GPG Key ID: A78D6421F083D42E
5 changed files with 188 additions and 0 deletions

View File

@ -0,0 +1,26 @@
.PHONY: all clean run
all: extension_messagerie.pdf
%.pdf: %.tex
pdflatex $<
extension_messagerie.pdf:use_case_messagerie.tex extension_messagerie.bbl extension_messagerie.tex
pdflatex extension_messagerie.tex
use_case_messagerie.tex: use_case_messagerie.uml
plantuml -tlatex:nopreamble use_case_messagerie.uml
extension_messagerie.bbl: extension_messagerie.bcf
biber extension_messagerie
extension_messagerie.bcf:
pdflatex extension_messagerie.tex
clean:
latexmk -C
rm -f use_case_messagerie.tex
rm -f extension_messagerie.{bbl,run.xml}
run: extension_messagerie.pdf
xdg-open $<

View File

@ -0,0 +1,16 @@
# Proto messaging extension
This is a prototype document for the use case.
## Build
these utilies should be installed on your machine.
- pdflatex
- plantuml
- bibtex
To view the document you should run :
```
$ make run
```

View File

@ -0,0 +1,98 @@
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath, amsfonts, amssymb, amsthm}
\usepackage{tikz}
\usepackage{biblatex}
\author{Debucquoy Anthony}
\title{Extension messagerie}
\addbibresource{references.bib}
\begin{document}
\section{Use case diagram}
\begin{figure}
\resizebox{345pt}{!}{
\input{./use_case_messagerie.tex}
}
\caption{Use Case Diagram of the messaging extension}
\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}.
\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.
\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
\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.
\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.
\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.
\subsection{Manage appointment}
When a teacher received an appointment, he is able to
validate, deny or propose a new appointment schedule to the
student.
\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.
\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.
\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.
\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.
\printbibliography
\end{document}

View File

@ -0,0 +1,9 @@
@BOOK{Pilone2006-fn,
title = "{UML} 2.0 Pocket Reference",
author = "Pilone, Dan",
publisher = "O'Reilly Media",
month = mar,
year = 2006,
address = "Sebastopol, CA",
language = "en"
}

View File

@ -0,0 +1,39 @@
@startuml
left to right direction
:Student: as s
:Teacher: as t
package "Messagerie"{
(Answer topics) as at
(Ask appointement) as aa
(Create Discution) as cd
(Create Forum) as cf
(Manage appointement) as ma
s -- at
s -- aa
s -- cd
t -- cd
t -- cf
t -- ma
(Export to calendar) as etc
aa <-- etc : << extend >>
ma <-- etc : << extend >>
(Post topics) as pt
cf <-- pt : << include >>
pt <|-- (Post poll)
cd <-- (Send messages) : << include >>
ma <-- (Propose new appointment) : << exlude>> \n [refuse]
}
@enduml