0% ont trouvé ce document utile (0 vote)
28 vues16 pages

Cours INF4067 : UML et Design Patterns

Le cours INF4067 à l'Université de Yaoundé I se concentre sur UML et les Design Patterns, avec des séances de cours magistraux et des travaux pratiques. Il vise à enseigner la construction de systèmes logiciels de qualité, en abordant les défis de développement et les solutions éprouvées via des patrons de conception. Les évaluations comprennent des contrôles continus, des examens et des travaux pratiques, et le cours met l'accent sur la modularité, la cohésion et la réutilisabilité des logiciels.

Transféré par

joseph Ewondjo
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
28 vues16 pages

Cours INF4067 : UML et Design Patterns

Le cours INF4067 à l'Université de Yaoundé I se concentre sur UML et les Design Patterns, avec des séances de cours magistraux et des travaux pratiques. Il vise à enseigner la construction de systèmes logiciels de qualité, en abordant les défis de développement et les solutions éprouvées via des patrons de conception. Les évaluations comprennent des contrôles continus, des examens et des travaux pratiques, et le cours met l'accent sur la modularité, la cohésion et la réutilisabilité des logiciels.

Transféré par

joseph Ewondjo
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

INF4067

2022-2023
Université de
Yaoundé I

INF4067 : UML et Design Patterns


Introduction Générale
Septembre 2022

Valéry MONTHE
[email protected]
Bureau R114, Bloc pédagogique 1
Déroulement du cours
• CM :
– Des séances de 2h à 3h
– Lieu : En ligne et en salle de cours
• TD/TP :
– Des séances de 2 h
– Lieu : En ligne et en salle de cours
• TPE:
– Lectures
• Outils:
– Supports de cours
– Cahier de cours et TD
– Ordinateurs personnels
INF4067 || 2022-2023 Présentation du Cours 29/09/2022 2
Règles du Cours
• Accès:
– Plus d’entrées possibles après 20 min
• Discipline:
– Respect, courtoisie, ponctualité et assiduité
• Mail:
– près de 50 mails reçu par jour
– Objets de vos mails : [INF4067] au début de l’objet
– Exemple : [INF4067] : remise du TP N°3
• Remise de travaux : pénalité de 10% par jour de retard

INF4067 || 2022-2023 Présentation du Cours 29/09/2022 3


Evaluations
• Présences : Prise en compte
• TD :
– Contrôle des exercices faits à domicile
– Petites évaluations basées sur des exercices de la fiche de TD
• CC (20%):
– Contrôle continu écrit
• Examen (50%):
– Examen écrit en salle
• TP (30%):
– TP individuels
– Projets en groupes
INF4067 || 2022-2023 Présentation du Cours 29/09/2022 4
Motivations
❑ Objectif du GL : Construction des systèmes logiciels
▪ Qui résolvent des problèmes réels
▪ Qui résolvent ces problèmes de façon correcte

❑ Des logiciels de bonne qualité


▪ Utilisation facile
▪ Facile à faire évoluer
▪ Simple à maintenir
▪ Facilement compréhensible
▪ Etc.

INF4067 || 2022-2023 Présentation du Cours 29/09/2022 5


Motivations
❑ Difficultés
▪ De développer des logiciels efficaces, robustes,
extensibles et réutilisables

❑ Il faut entre autre


▪ Définir une bonne architecture
▪ Réaliser une bonne conception
▪ Utiliser les bonnes manières et avoir de bonnes habitudes

INF4067 || 2022-2023 Présentation du Cours 29/09/2022 6


Motivations
❑ Il est essentiel de comprendre les techniques bien éprouvées, qui
on déjà montré leur capacité à résoudre des problèmes de
développement récurrents.
❑ Constat
▪ En développement (conception et implémentation), comme dans
toute discipline, certains problèmes sont récurrents.
▪ Un développeur expérimenté sait identifier de tels problèmes, et
connaît généralement leur solution.
❑ Et donc
▪ Pourquoi ne pas répertorier ces problèmes et leur solutions, afin
de faciliter l’activité de développement.
❑ => Patrons de conception / Design Patterns
▪ Les patrons de conception (« Design Patterns ») sont des
canevas (« frameworks ») qui aident à saisir, spécifier et mettre
en œuvre ces techniques éprouvées.
INF4067 || 2022-2023 Présentation du Cours 29/09/2022 7
Définitions
Patron / modèle / motif de conception (design pattern) :

▪ Une solution réutilisable à un problème récurrent de


conception logiciel, dans un certain contexte.

▪ Solution connues et éprouvée dont la conception provient


de l’expérience de programmeurs.

▪ Un schéma à objet qui forme une solution conceptuelle


réutilisable à un problème connu et fréquent,

INF4067 || 2022-2023 Présentation du Cours 29/09/2022 8


Objectifs des DP
Ils visent :

▪ la modularité : facilité de gestion a travers la technologie objet


▪ la cohésion : degré avec lequel les tâches réalisées par un seul
module sont fonctionnellement reliées. Une forte cohésion est une
bonne qualité pour un logiciel.

▪ Le couplage : degré d'interaction entre les modules dans le système.


Un couplage lâche est une bonne qualité.

▪ La réutilisabilité : les patterns de conceptions forment des


bibliothèques et des Framework utilisables pour la définition des
architectures.

INF4067 || 2022-2023 Présentation du Cours 29/09/2022 9


Avantages et utilités des DP
▪ Amélioration de l’efficacité, la robustesse, la lisibilité du code.
▪ Aide à la gestion de la complexité du logiciel
▪ Capitalisation de l'expérience : réutilisation de solutions qui ont
prouvé leur efficacité
▪ Un développement beaucoup plus rapide
▪ L’élaboration et la construction des logicielles de meilleure qualité
grâce à un niveau d'abstraction plus élevé.
▪ Réduction du nombre d'erreurs, d'autant que les patrons sont
examinés avec attention avant d'être publiés.
▪ Communication plus aisée : l’écriture du code facilement
compréhensible par les autres
▪ Apprentissage en suivant de bons exemples

INF4067 || 2022-2023 Présentation du Cours 29/09/2022 10


Inconvénients des DP
▪ La nécessité d’un effort de synthèse conséquent : reconnaitre,
abstraire, etc.
▪ La nécessite d’un apprentissage et d’expériences
▪ Le nombre de patterns à apprendre : les patrons de conceptions
sont nombreux (23 dans l'ouvrage du GOF et d'autres sont publiés
régulièrement)
▪ Des patrons qui se ressemblent.
▪ Des patrons qui s’appuient sur d’autres.

INF4067 || 2022-2023 Présentation du Cours 29/09/2022 11


Origine (un peu d’histoire !)

▪ Les DP tirent leur origine des travaux de l’architecte Christopher A


dans les années 70
▪ Les DP ont été formalisés pour la première fois en 1995 dans le livre
du « Gang of Four » (GoF)
▪ GoF : Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides, « Design
Patterns - Elements of Reusable Object-Oriented Software »

INF4067 || 2022-2023 Présentation du Cours 29/09/2022 12


Constitution
❑ Un patron de conception est défini par :
▪ Un Contexte : une situation qui engendre le problème
▪ Un Problème : le problème récurrent qui apparait dans ce
contexte
▪ Une Solution : une résolution validée du problème

INF4067 || 2022-2023 Présentation du Cours 29/09/2022 13


Description des Design Patterns
On documente un pattern de conception en donnant les éléments suivants :
▪ le nom : le nom du pattern
▪ la description (son intention): courte description du pattern, sa raison
d’être, description des conditions d'applications. Explication du problème
à résoudre et son contexte. En d’autre terme, que fait-il et quel problème
résout-il ?
▪ Un exemple (motivation) : décrire un problème et la solution basée sur le
pattern, décrit sous la forme d'un diagramme de classe UML, c'est à dire
montrer un cas particulier dans lequel le pattern peut être utilisé.
▪ La structure générique du pattern :
– Une représentation graphique des classes du modèle sous forme d'un
diagramme de classe UML.
– La liste des participants au pattern : objets, relations, responsabilités,
collaboration permettant de concevoir la solution au problème.
– Les domaines d'application du pattern
INF4067 || 2022-2023 Présentation du Cours 29/09/2022 14
Catégories de Patrons de conception
La classification du « GoF » organise les patterns selon leur vocation :
▪ Les patrons de construction ou de création : ont pour but
d’organiser la création des objets. On en distingue 5 : Abstract
Factory, Builder, Factory Methode, Prototype et Singleton.
▪ Les patrons de structuration : facilitent l’organisation de la
hiérarchie des classes et leurs relations. Ils sont au nombre de 7 :
Adapter, Bridge, Composite, Decorator, Facade, Flyweight, et
proxy.
▪ Les patrons de comportement : proposent des solutions pour
organiser les interactions et pour répartir les traitements entre les
objets. Ils sont au nombre de 11 : Chain of responsability,
Command, Interpreter, Iterator, Mediator, Memento, Observer,
State, Strategy, Template Method et Visitor.

INF4067 || 2022-2023 Présentation du Cours 29/09/2022 15


Bibliographie et ressources
Ouvrages recommandés
• Software Architecture in Practice, 3e édition, Len Bass, Paul Clements
et Rick Kazman, Addison-Wesley, 2012.

• “Design Patterns - Elements of Reusable Object-Oriented Software”,


Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

• POSA 1 - “Pattern-Oriented Software Architecture – A System of


Patterns”, Vol. 1, Frank Buschmann, Regine Meunier, Hans Rohnert,
Peter Sommerland, Michael Stal

INF4067 || 2022-2023 Présentation du Cours 29/09/2022 16

Vous aimerez peut-être aussi