From a4ad435432901d6006c68869ca447f7a3b60aa81 Mon Sep 17 00:00:00 2001 From: Debucquoy Date: Tue, 21 Nov 2023 16:04:18 +0100 Subject: [PATCH] First use_case proto --- Documents/proto/messaging_extension/Makefile | 26 +++++ Documents/proto/messaging_extension/README.md | 16 +++ .../extension_messagerie.tex | 98 +++++++++++++++++++ .../proto/messaging_extension/references.bib | 9 ++ .../use_case_messagerie.uml | 39 ++++++++ 5 files changed, 188 insertions(+) create mode 100644 Documents/proto/messaging_extension/Makefile create mode 100644 Documents/proto/messaging_extension/README.md create mode 100644 Documents/proto/messaging_extension/extension_messagerie.tex create mode 100644 Documents/proto/messaging_extension/references.bib create mode 100644 Documents/proto/messaging_extension/use_case_messagerie.uml diff --git a/Documents/proto/messaging_extension/Makefile b/Documents/proto/messaging_extension/Makefile new file mode 100644 index 0000000..99759d4 --- /dev/null +++ b/Documents/proto/messaging_extension/Makefile @@ -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 $< diff --git a/Documents/proto/messaging_extension/README.md b/Documents/proto/messaging_extension/README.md new file mode 100644 index 0000000..02b66a4 --- /dev/null +++ b/Documents/proto/messaging_extension/README.md @@ -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 +``` diff --git a/Documents/proto/messaging_extension/extension_messagerie.tex b/Documents/proto/messaging_extension/extension_messagerie.tex new file mode 100644 index 0000000..16d8fe0 --- /dev/null +++ b/Documents/proto/messaging_extension/extension_messagerie.tex @@ -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 <> 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} + diff --git a/Documents/proto/messaging_extension/references.bib b/Documents/proto/messaging_extension/references.bib new file mode 100644 index 0000000..2f50877 --- /dev/null +++ b/Documents/proto/messaging_extension/references.bib @@ -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" +} diff --git a/Documents/proto/messaging_extension/use_case_messagerie.uml b/Documents/proto/messaging_extension/use_case_messagerie.uml new file mode 100644 index 0000000..d0d4b8b --- /dev/null +++ b/Documents/proto/messaging_extension/use_case_messagerie.uml @@ -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