Commit d6cf4da5 authored by damien.raemy's avatar damien.raemy
Browse files

Writing chapters

parent d88b481a
\section{Vos choix en tant qu’administrateur de votre SGBD}
\subsection{Estimation de la taille des données}
Cf. chapitre organisation physique
......
% 1. DMS implementation
% ======================
\section{Vos choix en tant qu’administrateur de votre SGBD}
\input{chapters/01-dms_implementation/01-dms_admin_choices}
\input{chapters/01-dms_implementation/02-optimization_choices}
\input{chapters/01-dms_implementation/03-implementation_plan_study}
......
% 2. Présentation des composants utilisés
% =======================================
Pour chacun des composants que vous pensez utiliser, vous devez en faire :
\begin{itemize}
\item une présentation globale,
\item son utilité par rapport à votre projet
\item une présentation détaillée des contraintes que cela vous impose :
\begin{itemize}
\item Au niveau de la modélisation de votre base de données
\item Au niveau des accès à la base
\item Au niveau du transactionnel
\end{itemize}
\end{itemize}
\section{Environnement spécifique de développement}
\subsection{Framework}
Il s'agit de remplir et compléter les informations sur des éventuelles couches et Framework qui ont été rajouté sur l'environnement de base :
\begin{enumerate}
\item Couche JSF
\item Couche AJAX
\item lus d'infos \& liens :
\begin{enumerate}
\item \url{https://glassfish.dev.java.net/}
\end{enumerate}
\end{enumerate}
\ No newline at end of file
\section{Éléments architecturaux}
\subsection{Couche présentation}
Il s'agit de remplir et compléter les informations suivantes :
\begin{enumerate}
\item Type de l'IHM
\begin{enumerate}
\item Client léger.
\begin{enumerate}
\item Pourquoi ? : ...
\end{enumerate}
\item Client lourd.
\begin{enumerate}
\item Pourquoi ? : ...
\end{enumerate}
\item Client mixte.
\begin{enumerate}
\item Pourquoi ? : ...
\end{enumerate}
\end{enumerate}
\item Support du IHM
\begin{enumerate}
\item Navigateur (version :….). Pourquoi ?
\item Autre approche. Laquelle ? (ex. infopath). Pourquoi ? ….
\end{enumerate}
\item Explication sur le choix technologique :
\begin{enumerate}
\item Explications générales :
\begin{enumerate}
\item Ex. pour la couche présentation, l'approche utilisé est d'implémenter un client riche avec AJAX parce que...
\end{enumerate}
\item Plateforme :
\begin{enumerate}
\item Ex. Dojo, Pourquoi ?
\end{enumerate}
\end{enumerate}
\item Réalisation de l'interface
\begin{enumerate}
\item L'interface IHM est réalisé « from scratch » par le développeur.
\begin{enumerate}
\item Pourquoi et comment ?
\end{enumerate}
\item L'interface IHM est réalisée par l'environnement de développement
\begin{enumerate}
\item Pourquoi et comment ?
\end{enumerate}
\end{enumerate}
\item L'interface IHM est réalisée par l'environnement de développement
\begin{enumerate}
\item Lequel ? (ex. Skincrafter)
\item Pourquoi et comment ?
\end{enumerate}
\end{enumerate}
\ No newline at end of file
% 2. IS implementation
% ====================
\input{chapters/02-is_implementation/01-specific_dev_environment}
\input{chapters/02-is_implementation/02-architectural_elements}
% Scenario 01
% ===========
Remarque: Au moins un diagramme de séquence et de communication par cas d'utilisation. Indiquez à quel cas d'utilisation les diagrammes se rapportent (en indiquant le No. et le nom du cas). Utilisez la même numérotation (même ordre) que pour le diagramme de cas d'utilisation et les fiches descriptives de votre rapport d'analyse (en prenant en compte les éventuelles modifications indiquées dans le chapitre précédent). Commencez chaque nouveau cas d'utilisation au haut d'une nouvelle page.
Vous devez fournir des diagrammes de séquence/communication de conception. C'est à dire qu'ils doivent contenir tous les objets potentiels dont vous aurez besoin.
De plus sur les diagrammes de séquence vous devez indiquer chaque transaction avec la BD. Nommer vos transactions et indiquer clairement où commence et où fini la transaction ainsi que le genre d'opération faite sur la BD comme indiqué sur l'exemple de diagramme de séquence ci-dessous.
\section{Cas 1: Nom du cas d'utilisation}
Résumé du cas.
\subsection{Diagramme(s) de séquence}
\includegraphics[width=\textwidth]{img/uml_sequence.png}
\subsection{Diagramme(s) de communication}
\includegraphics[width=\textwidth]{img/uml_communication.png}
\subsection{Transaction(s)}
Pour chaque transaction présente dans ce diagramme, indiquer les informations suivantes:
\begin{description}
\item[Nom de la transaction :]
XXXXXXX
\item[Description :]
Brève description si nécessaire
\item[Type de la transaction : ]
Lecture / écriture ou les deux à la fois.
\item[Isolation :]
Niveau d’isolation qui lui est nécessaire
\item[Isolation justificatif :]
(lecture sale ? Lecture non renouvelable ? Fantôme ? Pourquoi ?)
\item[Table(s) touchée(s) :]
XXXXXXXX
\item[Fréquence :]
Élevé / moyenne / rare
\item[Période(s) :]
Si active qu’à une certaine période de temps
\end{description}
Le prochain cas d'utilisation commence sur une nouvelle page.
\ No newline at end of file
% 4. Liste des objets et composants
% =================================
Dans ce chapitre indiquez la liste de tous les objets et composants (au format de la table ci-dessous) que vous utilisez dans vos diagrammes de séquence et de communication. Pour chaque objet indiquez dans quel(s) cas d'utilisation(s) il est utilisé et de quelle classe il est une instance.
\begin{table}[H]
\resizebox{\textwidth}{!}{%
\begin{tabular}{|l|l|l|l|}
\hline
\textbf{No} & \textbf{Nom de l'objet ou du composant} & \textbf{Nom de la classe} & \textbf{No. Des Use Case} \\ \hline
1 & ObjetA & Classe B & 1,3,6 \\ \hline
2 & ComposantX & & 2 \\ \hline
... & ... & ... & ... \\ \hline
\end{tabular}
}
\end{table}
\ No newline at end of file
% Modèle Relationnel normalisé
% ============================
\includegraphics[width=\textwidth]{img/uml_class.png}
Commentez le diagramme et en particulier l’utilisation des patterns (si vous en avez utilisé). C'est un diagramme de classe de conception, vous devez y indiquer la multiplicité (par défaut =1) et les noms des rôles. Il ne devrait y avoir plus que des agrégations (simple ou composition), des généralisations (ou implémentation), éventuellement des classe associations des<<use>> ou des <<create>>. Si vous pensez que vous avez besoin d'autres relations, discutez-en avec votre professeur. Faites usage de la notions de «stéréotype» si vous pensez que certaines classes ne seront pas vraiment implémentées comme des classes (au sens habituel du terme). Si vous utilisez des composants proposez des solutions à votre professeur de GL pour les faire apparaître dans votre diagramme de classe.
\textbf{ATTENTION:} Les diagrammes de classe doivent être lisibles. Si nécessaire utilisé un format A3 ou éclatez votre diagramme en plusieurs parties.
% 6. Concurrence
% ==============
\section{Récapitulatif sur les transactions}
Avoir une vue synthétique de toutes les transactions votre application. Les transactions pouvant attaquer la base de données pendant des périodes différentes de temps période, ceci apparaitra dans le tableau. Pour chaque transaction, définir quelles tables sont utilisées ainsi que le mode d’accès, lecture(R) ou écriture (W).
Si vous avez des périodes temporelles dans votre application, qui font qu’elle a des comportements différenciés suivant ces périodes, alors faire un tableau par période.
\textbf{Période1 - avant inscription}
\begin{table}[H]
\begin{tabular}{|l|l|l|l|l|l|l|}
\hline
\begin{sideways}
\begin{tabular}[c]{@{}l@{}}
Nom\\ Transactions
\end{tabular}
\end{sideways}
& \begin{sideways}Table1\end{sideways}
& \begin{sideways}...\end{sideways}
& \begin{sideways} ... \end{sideways}
& \begin{sideways} ...\end{sideways}
& \begin{sideways}Table n \end{sideways}
& \begin{sideways}Niveau Isolation \end{sideways} \\ \hline
... & R & R & R & & & 1 \\ \hline
... & & & & & & 0 \\ \hline
... & & & & & & 3 \\ \hline
... & & R & & & & \\ \hline
\end{tabular}
\end{table}
\textbf{Période2 - pendant inscription}
\begin{table}[H]
\begin{tabular}{|l|l|l|l|l|l|l|}
\hline
\begin{sideways}
\begin{tabular}[c]{@{}l@{}}
Nom\\ Transactions
\end{tabular}
\end{sideways}
& \begin{sideways}Table1\end{sideways}
& \begin{sideways}...\end{sideways}
& \begin{sideways} ... \end{sideways}
& \begin{sideways} ...\end{sideways}
& \begin{sideways}Table n \end{sideways}
& \begin{sideways}Niveau Isolation \end{sideways} \\ \hline
... & R & R & R & & & 1 \\ \hline
... & & & & & & 0 \\ \hline
... & & & & & & 3 \\ \hline
... & & R & & & & \\ \hline
\end{tabular}
\end{table}
\section{Approche conceptuelle}
\subsection{Version sans composants pour la BD}
Expliquez votre philosophie pour la gestion de la concurrence qui assure le sérialisable (Utilisation d’une colonne timestamp, mémorisation du contenu des tuples etc.).
\subsection{Version avec composants pour la BD}
Si vous avez choisi d’utiliser un composant pour la communication avec votre base de données, vous devez expliciter la philosophie préconisée par ce composant pour la gestion des transactions et des niveaux d’isolations.
\section{Présentation d’un scénario concurrentiel}
Indiquez un scénario clair avec un problème de concurrence dans votre application. Indiquez clairement :
\begin{enumerate}
\item les noms des transactions en jeu
\item les problèmes qui risquent d’arriver
\item expliquez alors clairement comment s’applique la philosophie de la gestion de concurrence que vous avez choisie sur ce cas et avec laquelle vous évitez les problèmes
\end{enumerate}
% 7. Diagramme de composants
% ==========================
Il s’agit de représenter les composants et les dépendances explicites entre interfaces.
\textbf{ATTENTION :} Les interfaces doivent être détaillées et, pour les composants que vous avez développés, il faut indiquer la liste des classes que contient le composant.
\includegraphics[width=\textwidth]{img/uml_components.png}
\ No newline at end of file
% Actors
% ======
Fribourg, le \today
\begin{table}[H]
\begin{tabular}{p{0.3\textwidth} p{0.3\textwidth} p{0.3\textwidth}}
\AuthorA & \AuthorB & \AuthorC \\[2cm]
\SupervisorA & \SupervisorB & \SupervisorC \\[2cm]
\end{tabular}
\end{table}
\ No newline at end of file
......@@ -147,43 +147,15 @@
\pagestyle{fancy}
\chapter{Implémentation SGBD}
\label{chap:changes}
\label{chap:dms_implementation}
\thispagestyle{fancy}
\input{chapters/01-dms_implementation/dms_implementation}
\chapter{Présentation des composants utilisés}
\label{chap:components}
\chapter{Implémentation SI}
\label{chap:is_implementation}
\thispagestyle{fancy}
\input{chapters/02-components}
\input{chapters/02-is_implementation/is_implementation}
\chapter{Diagrammes de séquence et de communication}
\label{chap:sequence_communication}
\thispagestyle{fancy}
\input{chapters/03-sequence_communication/01-usecase01}
\chapter{Liste des objets et composants}
\label{chap:objects_components}
\thispagestyle{fancy}
\input{chapters/04-objects_components}
\chapter{Diagramme de classe}
\label{chap:class_diagram}
\thispagestyle{fancy}
\input{chapters/05-class_diagram}
\chapter{Concurrence}
\label{chap:concurrency}
\thispagestyle{fancy}
\input{chapters/06-concurrency}
\chapter{Diagramme de composants}
\label{chap:component_diagram}
\thispagestyle{fancy}
\input{chapters/07-component_diagram}
\chapter{Signatures}
\label{chap:signatures}
\thispagestyle{fancy}
\input{chapters/08-signatures}
\end{document}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment