Uml Introduction
Uml Introduction
Uml Introduction
Conception
UML
Dimanche 12 Février 2023
Table of contents
01 02 03
Introduction Qualité POO
logiciel
04 05 06
Pourquoi UML Overview
modéliser diagrammes
Introduction
● l'informatique est au cœur de toutes les grandes entreprises et de la vie de
chaque jour.
● 20% Matériel, 80% Logiciel.
● Un logiciel ou une application est un ensemble de programmes, qui permet à
un système informatique d'assurer une tâche ou une fonction en particulier
(exemple : Logiciel de gestion d’écoles, logiciel de gestion des crédits
bancaires…).
● 1995, Etude de Standish Group 365 entreprises, 8 380 applications.
● le taux de succès est de 9% seulement, 37% des projets sont arrêtés en
cours de réalisation, 50% aboutissent hors délai et hors budget.
● Client (maître d’ouvrage).
● Face à la complexité des systèmes d’informations, de nouvelles méthodes ont
vu le jour. La Programmation Orienté Objet (POO) est l’une des plus grandes
avancées de la technologie d’aujourd’hui.
● programmation à objets (Smalltalk, C++, Eiffel, CLOS, Java, C#...)
Conception à objets (Business process, classes, qualité logiciel …)
Introduction
Les problèmes liés aux systèmes informatiques sont principalement des problèmes
logiciel (matériel standardisé, fabricants connus)
Comment avoir un logiciel de qualité ?
Comment aligner le maître d’ouvrage au maître d’œuvre ?
Quels sont les critères pour la réussite d’un projet informatique ?
Qualité logiciel
Qualité logiciel
● Différents facteurs:
● Utilité ou Validité : Besoins et réalisation
● Fiabilité ou robustesse : conditions anormales.
● Extensibilité (maintenance) : coûts très élevés (82%)
● Réutilisabilité :
● Compatibilité :
● Efficacité :
● Portabilité :
● Vérifiabilité : tests
● Intégrité : sécurité d’accès aux données
● Facilité d'emploi :
Trouver un compromis de critères
Cycle de vie logiciel
● La qualité d’un logiciel est tributaire de la qualité de son processus de développement
● Plusieurs cycles de vie (Y, Cascade, Spirale…)
● Le cycle de vie d’un logiciel comporte des étapes:
● Étude de faisabilité
● Spécification : Déterminer les fonctionnalités du logiciel.
● Conception : Déterminer la façon dont dont le logiciel fournit les différentes
fonctionnalités recherchées.
● Codage : Développement des applicatifs
● Tests :Essayer le logiciel sur des données d'exemple pour s'assurer qu'il fonctionne
correctement.
● Maintenance
Modélisation
Modèle
● Un modèle est une représentation abstraite de la réalité qui exclut certains
détails du monde réel. Il permet de réduire la complexité d'un phénomène en
éliminant les détails qui n'influencent pas son comportement de manière
significative. Il reflète ce que le concepteur croit important pour la
compréhension et la prédiction du phénomène modélisé, les limites du
phénomène modélisé dépendent des objectifs du modèle.
Subjectif
Conceptuel
Exemples : Modèles démographique, modèle météorologique, plan de construction
de bâtiment, plan de câblage électrique…
Modéliser
● Pourquoi modéliser: Mieux comprendre le fonctionnement du système. Maîtriser sa
complexité, mieux communiquer Précis et concis.
● Répartir les tâches de développement, réduire les coûts et les délais.
● Faciliter la maintenance.
● Qui fait la modélisation ? MOE/MOA
● MOA (Maîtrise d’ouvrage): Le MOA est une personne morale (entreprise, direction,
etc.), une entité de l'organisation. Ce n'est jamais une personne.
● MOE (Maîtrise d’œuvre): Le MOE est une personne morale (entreprise, direction, etc.)
garante de la bonne réalisation technique des solutions
● Le MOA est client du MOE à qui il passe commande d'un produit nécessaire à son
activité.
● Le MOE fournit ce produit
MOA ET MOE
Approche Orienté Objet
○ Méthode fonctionnelle
Approche orienté objet
● Logiciel: collection d’objets (caractéristiques: attributs, fonction), interaction des objets.
https://www.omg.org/spec/UML/#spec-versions-formal
Diagrammes UML
UML
Diagrammes
d’interaction
Diagrammes UML
● Diagrammes structurels ou diagrammes statiques (UML Structure)
● diagramme de classes (Class diagram)
● diagramme d'objets (Object diagram)
● diagramme de composants (Component diagram)
● diagramme de déploiement (Deployment diagram)
● diagramme de paquetages (Package diagram)
● diagramme de structures composites (Composite structure diagram)
● Diagrammes comportementaux ou diagrammes dynamiques (UML Behavior)
● diagramme de cas d'utilisation (Use case diagram)
● diagramme d'activités (Activity diagram)
● diagramme d'états-transitions (State machine diagram)
● Diagrammes d'interaction (Interaction diagram)
○ diagramme de séquence (Sequence diagram)
○ diagramme de communication (Communication diagram)
○ diagramme global d'interaction (Interaction overview diagram)
○ diagramme de temps (Timing diagram)
Diagrammes UML
Evolution des diagrammes
Diagramme des cas
• Le diagramme de cas d’utilisation
d'utilisation représente la
structure des grandes
fonctionnalités nécessaires
aux utilisateurs du
système. C'est le
diagramme qui décrit la
relation entre l'utilisateur et
les objets que le système
met en œuvre.
Diagramme de classe
● Le diagramme de
classes est
généralement considéré
comme le plus important
dans un développement
orienté objet. Il
représente l'architecture
conceptuelle du
système, les objets et
leurs relations.
Diagramme d’objets
● Le diagramme d'objets
permet d'éclairer un
diagramme de classes
en l'illustrant par des
exemples. Il est, par
exemple, utilisé pour
vérifier l'adéquation d'un
diagramme de classes à
différents cas possibles.
Diagramme d’états-
● Le diagramme d'états-
transitions
transitions représente la
façon dont évoluent
(i.e. cycle de vie) les
objets appartenant à
une même classe
● État : abstraction d'un
moment de la vie d'une
entité pendant lequel elle
satisfait un ensemble de
conditions
● Transition :
changement d'état
Diagramme d’activités
● un diagramme d'activité fournit
une vue du comportement d'un
système en décrivant la séquence
d'actions d'un processus.
● ils montrent les flux entre les
actions dans une activité. Les
diagrammes d'activité peuvent,
cependant, aussi montrer les flux
parallèles simultanés et les flux de
remplacement.
Diagramme de séquence
● Le diagramme de
séquence représente la
succession
chronologique des
opérations réalisées par
un acteur. Il indique les
objets que l'acteur va
manipuler et les
opérations qui font
passer d'un objet à
l'autre.
Diagramme de
● un diagramme de communication
communication représente
les interactions entre les
objets ou les rôles associés
aux lignes de vie et les
messages transmis entre
les lignes de vie. Dans les
versions précédentes
d'UML, ce diagramme
s'appelait diagramme de
collaboration
Diagramme d’interaction
● Un diagramme global
d'interaction est une
variante d'un
diagramme d'activité.
La différence réside
dans le fait que les
nœuds des
diagrammes globaux
d'interaction
représentent les
occurrences des
interactions dans un
système ou un logiciel.
Diagramme de temps
● Les diagrammes de
temps sont utilisés pour
expliciter visuellement
les divers
comportements des
objets d'un système au
cours d'une période
donnée.
Diagramme de composants
● Les diagrammes de
composants UML
représentent les relations
entre les différents
composants d’un
système dans une vue
d’ensemble statique. Ils
peuvent inclure des
aspects de modélisation à
la fois logiques et
physiques.
Diagramme de déploiement
● un diagramme de
déploiement est une vue
statique qui sert à
représenter l'utilisation de
l'infrastructure physique
par le système et la
manière dont
les composants du
système sont répartis ainsi
que leurs relations entre
eux
Diagramme de structure
● Un diagramme de composite
structures composites est
un diagramme UML qui
fournit une représentation
graphique des classes,
interfaces et packages qui
composent un système, en
incluant les ports et parties
qui décrivent leurs
structures internes.
Diagramme de paquetage
● Le diagramme de package
est utilisé pour simplifier
les diagrammes de classes
complexes, on peut
regrouper les classes en
packages. Un package est
une collection d’éléments
UML logiquement liés.
Diagramme de profils
● Diagramme de profil est un
diagramme de structure qui décrit
un mécanisme d'extension léger à
UML en définissant des stéréotypes
personnalisés, des valeurs
étiquetées et des contraintes. Les
profils permettent l'adaptation du
métamodèle UML pour différentes:
plates-formes, telles que Java
Platform, Enterprise Edition (Java
EE) ou Microsoft .NET Framework,
ou domaines, tels que la
modélisation des processus
d'affaires, l'architecture orientée
service, les applications médicales,
etc.
Diagramme UML : quelques symboles
● Contrainte: Une
contrainte affine un
élément de modèle en
exprimant une condition ou
une restriction à laquelle
l'élément de modèle doit se
conformer.
UML: Quelques symboles