Commit 0b413181 authored by Marc Demierre's avatar Marc Demierre
Browse files

Merge branch 'master' of /var/home/git/repositories/damien.raemy/heia-latex-pi-rapports

parents 63874096 767b4b6a
# Final output PDF
rapport-construction-transition
\ No newline at end of file
\section{Vos choix en tant qu’administrateur de votre SGBD}
\subsection{Estimation de la taille des données}
Cf. chapitre organisation physique
Estimation moyenne:
\begin{table}[H]
\centering
\begin{tabular}{|c|c|c|c|c|c|}
\hline
\textbf{Table} & \textbf{NbTuples} & \textbf{Nbchamps} & \textbf{Formule Calcul} & Taille tuple & Taille Table \\ \hline
& & & 1*1+2*20 & & \\ \hline
& & & & & \\ \hline
\end{tabular}
\end{table}
Taille des champs utilisés :
\begin{table}[H]
\centering
\begin{tabular}{|c|c|}
\hline
\textbf{Type} & \textbf{Taille} \\ \hline
int & 4 bytes \\ \hline
& \\ \hline
\end{tabular}
\end{table}
Justifiez alors de la taille de la BD (n’oubliez pas les index) que devez réserver à sa création en tenant compte de l’évolution de la taille de ces données suivant votre application.
\subsection{Comptes sur votre SGBD}
Choix pour implémenter la sécurité (revoke et grant) : Lien entre vos vues externes (rapport analyse) et les comptes crées.
\ No newline at end of file
\section{Vos choix pour l'optimisation}
\subsection{Choix d'index pour chaque relation }
\begin{itemize}
\item Commencer par présenter les choix que vous avez fait pour l'implémentation des relations et des index à leur associer.
\item Prenez une de vos relations et montrer l'apport de l'ajout d'un index en étudiant les temps d'exécution d'une requête que vous aurez choisi.
\end{itemize}
\subsection{Argumentation sur la dénormalisation}
Étude des performances et choix de dénormalisation (duplication de l'information, fusion de tables...), choix relatifs aux données dérivées ajout de clés numériques, clustérisation...
\subsection{Les procédures stockées et vues}
Les procédures stockées et vues mises en places pour optimiser les jointures etc. et géré la sécurité
\ No newline at end of file
\section{Etude d'un plan d'exécution}
Isoler une requête compliquée de votre application, ou créez-en une à la main.
\begin{enumerate}
\item Présenter la requête (SQL),
\item Votre plan d'exécution en AR
\item Le plan d'exécution généré par le SGBD
\item Commentez clairement ce qui se passe.
\end{enumerate}
\ No newline at end of file
\section{Code SQL dans cet ordre}
Attention aux CIs indiquées dans le modèle relationnel : il doit y avoir un commentaire qui indique l'endroit où elles ont été implémentées. \textbf{Utiliser leur nom.}
\subsection{Code de l'implémentation des tables}
\subsection{Code des triggers}
\subsection{Code des procédures stockées et des fonctions implémentés}
\subsection{Code de création des utilisateurs avec leurs privilèges}
\subsection{Remarques}
Mettre ici toute astuce qui a dû être utilisée parce que le SGBD utilisé ne permet pas une gestion de quelque chose que vous pensiez utiliser : gestion des exceptions etc.
\ No newline at end of file
\section{Caractéristiques SGBD}
Complétez les sections suivantes qui permettent de comprendre le SGBD utilisé et ses caractéristiques.
\begin{itemize}
\item NOM du SGBD :
\item Version :
\item Références d’où proviennent vos commentaires :
\end{itemize}
\subsection{Explicitez les triggers et leur caractéristiques}
\subsection{Explicitez les niveaux d’isolations de votre SGBD et le protocole qu'il utilise}
\subsection{Le support de XML et XSD}
\subsection{Les types d'index disponibles}
\ No newline at end of file
% 1. DMS implementation
% ======================
\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}
\input{chapters/01-dms_implementation/04-sql_code}
\input{chapters/01-dms_implementation/05-dms_characteristics}
\ No newline at end of file
\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}
\input{chapters/02-is_implementation/02-architectural_elements/01-presentation_layer}
\input{chapters/02-is_implementation/02-architectural_elements/02-business_layer}
\input{chapters/02-is_implementation/02-architectural_elements/03-service_layer}
\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
\subsection{Couche métier}
Il s'agit de remplir et compléter les informations suivantes :
\begin{enumerate}
\item Inventaire des servlets et des JSP / ASPX et CS / PhP avec un tableau après le diagramme de package avec une explication succinct de chaque classe. Ex. diagramme de package
\begin{table}[H]
\begin{tabular}{|l|l|l|}
\hline
Nom package & Liste des classe & explications \\ \hline
\multicolumn{1}{|c|}{} & \multicolumn{1}{c|}{} & \\ \hline
\multicolumn{1}{|c|}{} & \multicolumn{1}{c|}{} & \\ \hline
& & \\ \hline
\end{tabular}
\end{table}
\item Techniques de mapping BD vs. XML schémas : il s’agit de fournir des explications sur les moyens utilisés pour assurer le mapping entre les champs de la base de données et les éléments XML nécessaires à la publication :
\begin{enumerate}
\item Feuilles de style XSLT. il s'agit de présenter le(s) feuille(s) de styles commentées, un exemple d'instance XML et un exemple de résultat(s).
\item Programmation classique. il s'agit de présenter le(s) programme(s) commentés, un exemple d'instance XML et un exemple de résultat(s).
\item Autre. il s'agit de présenter le(s) approche(s) commentées, un exemple d'instance XML et un exemple de résultat(s).
\end{enumerate}
\item Les Technologies XML pour publication
\begin{enumerate}
\item From scratch. Pourquoi et comment ?
\item Des APIs externes. Lesquelles ? Pourquoi et comment ?
\end{enumerate}
\end{enumerate}
\ No newline at end of file
\subsection{Couche service}
Il s'agit de remplir et compléter les informations suivantes :
\begin{enumerate}
\item L'accès à la base de données : il s'agit de donner des informations sur le connecteur vers la base de données.
\begin{enumerate}
\item Nom :
\item Version :
\item Plateforme :
\item Configuration :
\end{enumerate}
\item La gestion de la politique et des droits d'accès : il s'agit de donner des informations sur les éléments de gestion de la politique d'accès.
\begin{enumerate}
\item Interne à la base de données
\begin{enumerate}
\item Utilisateurs
\item Rôles et droits
\end{enumerate}
\item Externe à la base de données
\begin{enumerate}
\item Où ?
\begin{enumerate}
\item Web.xml. Configuration :
\item Web.config. Configuration :
\end{enumerate}
\item Autre : ... Configuration :
\end{enumerate}
\end{enumerate}
\item La gestion des aspects de sécurité: il s'agit de donner des informations sur les éventuelles techniques de protection de passwd, de cryptographies, du protocole https, etc...
\end{enumerate}
\ No newline at end of file
\section{Éléments technologiques}
\subsection{Outils de gestion de versionning (CVS / SVN)}
Il s'agit de donner les plus amples informations sur le système de gestion de version utilisé dans le cadre de votre projet : L'adresse du serveur, Le client utilisé, Le chemin d'accès, Synthèse sur les avantages et les facilités d'utilisation, Synthèse sur les désavantages et les difficultés d'utilisation
\subsection{Outils de modélisation}
Il s'agit de donner les plus amples informations sur l'utilisation de XXXX au niveau :
\begin{enumerate}
\item La génération du code (C\#, java, ou PHP)
\item La génération des documents de documentation pour développeurs (Doc, Excel, et PowerPoint)
\begin{enumerate}
\item Ex. de chaque Template
\end{enumerate}
\item Plus d'infos \& liens : \url{http://staruml.sourceforge.net/en/}
\end{enumerate}
\subsection{Outils de documentation du code}
Il s'agit de donner des informations sur l'outil(s) de génération de documentation du code :
\begin{enumerate}
\item Outil natif à l'environnement de développement
\begin{enumerate}
\item Synthèse sur son utilisation
\end{enumerate}
\item Outil externe. Lequel ? ex. javadoc, ndoc
\begin{enumerate}
\item Synthèse sur son utilisation
\end{enumerate}
\item Ex. de commentaire avec syntaxe complet (class, attribut, commentaires,)
\item Ex. de résultat de cette génération sur un fichier code
\item Plus d'infos \& liens :
\begin{enumerate}
\item \url{http://www.winnershtriangle.com/w/}
\item \url{http://www.codeproject.com/KB/macros/kingstools.aspx}
\item \url{http://sandcastle.codeplex.com/}
\end{enumerate}
\end{enumerate}
\subsection{Outils de journalisation de prototype}
Il s'agit de donner des informations sur l'outil(s) de journalisation de prototype.
\begin{enumerate}
\item Outil natif à l'environnement de développement
\begin{enumerate}
\item Synthèse sur son utilisation
\end{enumerate}
\item Outil externe. Lequel ? ex. log4java
\begin{enumerate}
\item Synthèse sur son utilisation
\end{enumerate}
\item Ex. de résultats commentés
\item Plus d'infos
\begin{enumerate}
\item \url{http://logging.apache.org/}
\item \url{http://en.wikipedia.org/wiki/Log4j}
\item \url{http://logging.apache.org/log4net/}
\item \url{http://lutecefalco.developpez.com/tutoriels/dotnet/log4net/introduction/}
\item \url{http://www.dotnetspace.com/articles/general-articles/using-log4net---very-quick-start.html}
\item \url{http://www.kellermansoftware.com}
\end{enumerate}
\end{enumerate}
\subsection{Outils de test}
Il s'agit de donner des informations sur l'outil(s) de test « Fonctionnelle » et « unitaire ».
\begin{enumerate}
\item Outil natif à l'environnement de développement
\begin{enumerate}
\item Synthèse sur son utilisation
\end{enumerate}
\item Outil externe. Lequel ? ex. ncover, junit, rational functional Tester
\begin{enumerate}
\item Synthèse sur son utilisation
\end{enumerate}
\item Ex. de résultats commentés
\item Plus d'infos \& liens:
\begin{enumerate}
\item \url{http://fr.wikipedia.org/wiki/Test_unitaire}
\item \url{http://en.wikipedia.org/wiki/Functional_test}
\item \url{http://en.wikipedia.org/wiki/Unit_test}
\item \url{http://www.geekzone.co.nz/vs2008/4819}
\item \url{http://seleniumhq.org}
\end{enumerate}
\end{enumerate}
\subsection{Outils de gestion de licences}
Il s'agit de donner des informations sur l'outil(s) de gestion de licence.
\begin{enumerate}
\item Outil natif à l'environnement de développement
\begin{enumerate}
\item Synthèse sur son utilisation
\end{enumerate}
\item Outil externe. Lequel ? ex. softwarekey
\begin{enumerate}
\item Synthèse sur son utilisation
\end{enumerate}
\item Ex. de résultats commentés
\item Plus d'infos \& liens:
\begin{enumerate}
\item \url{http://www.softwarekey.com}
\item \url{http://www.xheo.com/Products/Licensing}
\item \url{http://www.mancosoftware.com/licensing/howto.htm}
\item \url{http://www.gnu.org/licenses/gpl.html}
\item \url{http://www.infralution.com/licensing.html}
\item \url{http://www.jproductivity.com/products/protection/developer.htm}
\item \url{http://members.chello.at/stefan-schneider/JavaLicenseKit.html}
\end{enumerate}
\end{enumerate}
\subsection{Outils de d'installation et de packaging}
Il s'agit de donner des informations sur l'outil(s) d'installation et de packaging.
\begin{enumerate}
\item Outil natif à l'environnement de développement
\begin{enumerate}
\item Synthèse sur son utilisation
\end{enumerate}
\item Outil externe. Lequel ? ex. installshield
\begin{enumerate}
\item Synthèse sur son utilisation
\end{enumerate}
\item Ex. de résultats commentés
\item Plus d'infos \& liens:
\begin{enumerate}
\item \url{http://en.wikipedia.org/wiki/InstallShield}
\item \url{http://www.innosetup.com/isinfo.php (ex. pour ruby et autre)}
\item \url{http://www.pantaray.com/}
\end{enumerate}
\end{enumerate}
\ No newline at end of file
\section{Diagrammes d'architecture}
\subsection{Diagramme(s) de package}
Utilisé pour séparer le modèle en conteneurs logiques, et décrire leurs interactions à un haut niveau. Il s'agit de fournir un diagramme de paquetage au format UML commentée en détails. Ci-dessous un exemple de diagramme de paquetage.
\includegraphics[width=\textwidth]{chapters/02-is_implementation/04-architecture_diagrams/01-package_diagram_example}
\subsection{Diagramme(s) d'état-transition}
Il s'agit de schématiser la navigation entre les pages (interface utilisateur) constituant votre application. Pour cela vous allez utiliser un diagramme d'état-transition. Chaque état correspond à une page et les transitions sont les évènements qui font passer d'une page à l'autre (par exemple un « click » de l'utilisateur. Ci-dessous un exemple simple.
\includegraphics[width=\textwidth]{chapters/02-is_implementation/04-architecture_diagrams/02-state_diagram_example}
\subsection{Diagramme de déploiement}
Il s'agit de fournir une illustration commentée en détails des éléments formant le diagramme. Ce diagramme est une version complète qui indique principalement quelles machines sont impliquées et pour chaque machine quelle plateforme/outil est déployé. On indiquera également pour chaque lien la technologie utilisée pour la communication ainsi que les multiplicités. Le diagramme représentera le déploiement maximal possible de l'application et pas forcément la façon dont l'application sera effectivement déployée à la fin de projet. Indiquez également quels composants sont déployés sur chaque noeud. Ces composants doivent être cohérents avec ceux du document d'élaboration. S'il y a des changements redonnez le nouveau diagramme de composants dans une figure séparée.
\includegraphics[width=\textwidth]{chapters/02-is_implementation/04-architecture_diagrams/03-deployment_diagram_example}
\ No newline at end of file
\section{Choix technologique}
\begin{table}[H]
\begin{tabular}{|l|l|l|l|}
\hline
\textbf{Approche technologique et langages} & \textbf{IHM} & \textbf{Logique / Middleware} & \textbf{Data} \\ \hline
ASP.NET - préciser le contrôle utilisé : &&&\\
~~\llap{-}~~ HTML server controls &&&\\
~~\llap{-}~~ Web controls &&&\\
~~\llap{-}~~ Rich controls &&&\\
~~\llap{-}~~ Validation controls &&&\\
~~\llap{-}~~ etc.
& & & \\ \hline
C\# / VB / etc. & & & \\ \hline
ADO.NET - préciser les librairies utilisées : &&&\\
~~\llap{-}~~ Dataset &&&\\
~~\llap{-}~~ DataReader &&&\\
~~\llap{-}~~ DataAdapter &&&\\
~~\llap{-}~~ Etc. & & & \\ \hline
Java - JSP & & & \\ \hline
Java - STRUTS & & & \\ \hline
Java - Servlets & & & \\ \hline
Java - TagLib & & & \\ \hline
JDBC – préciser la version & & & \\ \hline
AJAX – préciser la plateforme ou les librairies utilisées & & & \\ \hline
Web Services – préciser les librairies & & & \\ \hline
DOM – préciser les librairies & & & \\ \hline
SAX– préciser les librairies & & & \\ \hline
SQL & & & \\ \hline
XQuery & & & \\ \hline
XSLT– préciser les librairies & & & \\ \hline
XSL-FO– préciser les librairies & & & \\ \hline
JAXB & & & \\ \hline
XML schéma, validation avant stockage dans la base & & & \\ \hline
Fichiers de configuration : Java EE (web.xml, etc.) & & & \\ \hline
Fichiers de configuration : .NET (web.config, etc.) & & & \\ \hline
Fichiers de configuration : XXXX (xxx.xxx, etc.) & & & \\ \hline
PHP/Ruby – etc. & & & \\ \hline
Browser - iexplorer & & & \\ \hline
Browser - firefox & & & \\ \hline
Browser - xxxx & & & \\ \hline
LDAP & & & \\ \hline
XAML / XUL / etc. & & & \\ \hline
Plugins & & & \\ \hline
& & & \\ \hline
& & & \\ \hline
& & & \\ \hline
\end{tabular}
\end{table}
\ No newline at end of file
\section{Contraintes d'utilisation technologique}
\begin{table}[H]
\begin{tabular}{|l|l|l|}
\hline
& OUI (justifier) & NON (justifier) \\ \hline
Utilisation une architecture 3 tiers au minimum & & \\ \hline
Utilisation des web services dans votre architecture & & \\ \hline
Utilisation des RIA dans votre architecture & & \\ \hline
Utilisation au minimum d'une feuille de style XSLT & & \\ \hline
Utilisation au minimum d'une feuille de style XSL-FO & & \\ \hline
Utilisation du SQL & & \\ \hline
Utilisation du XQuery & & \\ \hline
Utilisation au minimum d'un contrôle de && \\ validation sur la saisie des données & & \\ \hline
Utilisation de DOM, SAX ou JDOM, JAXP & & \\ \hline
& & \\ \hline
& & \\ \hline
\end{tabular}
\end{table}
\ No newline at end of file
\section{Outils administratifs}
\begin{table}[h]
\begin{tabular}{|l|l|l|}
\hline
& Oui (justifier) & Non (justifier) \\ \hline
Outil de gestion de planning & & \\ \hline
Gestion tache, etc. & http://www.clockingit.com/ & \\ \hline
& & \\ \hline
& & \\ \hline
\end{tabular}
\end{table}
\ No newline at end of file
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