\section{Conception d'un logiciel} \begin{frame}{\large \insertsection} \begin{block}{Quoi-qu'est-ce ?} \begin{itemize} \item "plan du code" (diagrammes de classes…) \item au début du projet, permet de prévoir le code à écrire \item pendant le projet, permet de suivre l'avancée du projet \item à la fin du projet, permet de documenter le code (maintenance)\\ $\rightarrow$ doit correspondre aux fonctionnalités prévues et au code réel \end{itemize} \end{block} \end{frame} \begin{frame}{\large \insertsection} \begin{block}{En pratique} \begin{itemize} \item représentation graphique + explications \item si possible, utiliser un formalisme classique (UML) \item utiliser plusieurs niveaux d'abstraction (vue d'ensemble, vues détaillées) \end{itemize} \end{block} \end{frame} \begin{frame}{\large \insertsection} \begin{block}{Étape de conception} \begin{itemize} \item étape \textbf{très importante}, à faire avant le développement \item évite "d'avoir à tout casser" au cours du développement \item permet de répartir le travail et de planifier plus finement \end{itemize} \end{block} \end{frame} \begin{frame}{\large \insertsection} \begin{block}{Quelques conseils} \begin{itemize} \item faire simple, logique, classique (MVC, design patterns…) \item granularité : ne pas trop détailler sauf si important/incertain/complexe \item vérifier \textbf{a priori} que la conception permet d'implémenter les fonctionnalités prévues dans le cahier des charges \end{itemize} \end{block} \end{frame}