0% ont trouvé ce document utile (0 vote)
175 vues24 pages

C1 Introduction

Ce document présente une introduction à la modélisation UML. Il contient des informations pratiques sur le cours ainsi que son organisation, objectifs et évaluation. Le document décrit également les principes de base de la modélisation, le cycle de vie logiciel et les méthodes agiles.

Transféré par

M Yacine
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)
175 vues24 pages

C1 Introduction

Ce document présente une introduction à la modélisation UML. Il contient des informations pratiques sur le cours ainsi que son organisation, objectifs et évaluation. Le document décrit également les principes de base de la modélisation, le cycle de vie logiciel et les méthodes agiles.

Transféré par

M Yacine
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

Modélisation UML

Prof. Asmaa El Hannani


2017/2018

Informations pratiques

1
Informations pratiques
 Cours: Salle (B8), site ENSAJ
 Prof. A. El Hannani
[email protected]

 TP: Salle (B8), site ENSAJ


 Mme FZ Salmam

 Matériel du cours et exercices sous:


http://moodle.ensaj.ucd.ac.ma

Prof. Asmaa El Hannani 2ITE-S2 3

Organisation

 ~1H50 de cours
 Transparents
 Publication des supports sur le site (username et password
communiqués en classe)

 ~1H50 TP par groupe


 Réponse aux questions, explication du TP courant, travail sur PC

Prof. Asmaa El Hannani 2ITE-S2 4

2
Objectifs du cours

 E1: Modélisation UML


 Apprendre les formalismes et méthodes utilisés en modélisation
d'entreprise
 Maitriser la modélisation UML

 E2: Génie logiciel


 Connaitre les principales techniques et méthodes permettant de
mettre en oeuvre des logiciels dont le principe de base est qu’ils
fonctionnent correctement conformément aux besoins de ses
utilisateurs.
 Analyser les différentes méthodes et les outils qui améliorent la
qualité et diminuent le coût de développement et de gestion de
systèmes logiciels.

Prof. Asmaa El Hannani 2ITE-S2 5

Evaluation

 Un contrôle pratique: devoir à rendre (mini-projet) (40% de


la note finale de l’élément de module)
 Un examen écrit (60% de la note finale de l’élément de
module)

Prof. Asmaa El Hannani 2ITE-S2 6

3
Références
 Références bibliographiques:
 UML 2 Pratique de la modélisation, Benoît Charroux, Aomar
Osmani, Yann Thierry-Mieg – Pearson
 UML 2 par la pratique (étude de cas et exercices corrigés),
Pascal Roques – Eyrolles.
 UML 2 – de l'apprentissage à la pratique (cours et exercices),
Laurent Audibert – Ellipses.

 Références webographiques:
 http://www.uml.org
 http://uml.free.fr
 http://laurent-audibert.developpez.com/Cours-UML/html/

Prof. Asmaa El Hannani 2ITE-S2 7

Introduction

4
Pourquoi modéliser ?

 Un modèle est une simplification de la réalité qui permet de


mieux comprendre le système à développer.

 Il permet de:
 Simplifier la problématique posée par le client.
 Visualiser le système comme il est ou comme il devrait l'être.
 Valider le modèle vis à vis des clients.
 Spécifier les structures de données et le comportement du
système.
 Fournir un guide pour la construction du système.
 Documenter le système et les décisions prises.

Prof. Asmaa El Hannani 2ITE-S2 9

Démarche du développement de logiciels

 Une bonne démarche permet de :


 Bien comprendre les demandes et exigences des utilisateurs
finaux
 Bien communiquer avec le client
 Tenir compte des changements du cahier des charges
 Empêcher la découverte tardive de défauts sérieux dans le projet
 Traiter au plus tôt tous les points critiques du projet
 Bien maîtriser la complexité
 Favoriser la réutilisation
 Définir une architecture robuste
 Faciliter le travail en équipe

Prof. Asmaa El Hannani 2ITE-S2 10

5
Activités du développement de logiciels

Valider le
logiciel

Assembler les
composants

Développer un
des composants

Définir comment
il sera développé

Définir ce qui
sera développé

 L’organisation de ces activités et leur enchaînement définit le


cycle de développement du logiciel
Prof. Asmaa El Hannani 2ITE-S2 11

Problèmes avec le processus classique

Ce que le client a Ce que le chef de projet Ce que l’analyste


souhaité a compris a spécifié

Ce que le programmeur a Ce qui a été facturé au Ce que le client n’a pas


écrit client su exprimer

Prof. Asmaa El Hannani 2ITE-S2 12

6
Le cycle de vie d’un logiciel

 Le cycle de vie d’un logiciel (en anglais software lifecycle),


désigne toutes les étapes du développement d’un logiciel, de sa
conception à sa disparition.

 L’objectif d’un tel découpage est de permettre d’assurer la


conformité du logiciel avec les besoins exprimés, et
l’adéquation des méthodes mises en œuvre.

 Il existe plusieurs types de cycle de vie, cependant dans tous


les cycles de vie les phases sont liées entre elles pour former
une séquence d'activités.

Prof. Asmaa El Hannani 2ITE-S2 13

Le cycle de vie d’un logiciel

 Les étapes du cycle de vie d'une application :


 Expression des besoins : Il traduit l'apport du futur système,
 Spécifications: Précision avec des descriptifs, schémas, modèles
et enchainements d'écrans,
 Analyse : Détermination des éléments du système,
 Conception : Comprend tous les choix techniques,
 Implémentation : Génération des squelettes d'une application,
 Tests de vérification : Tests unitaires et finals,
 Validation : Utilisation d'un cahier de recettes,
 Maintenance et évolution : Suivi du logiciel en production.

Prof. Asmaa El Hannani 2ITE-S2 14

7
Modèle de cycle de vie en cascade

Expression des
Spécification Analyse
besoins

Tests de
Implémentation Conception
vérification

Inconvénients :
 Pas de travail en parallèle
Validation
 Anomalies détectées tardivement

Prof. Asmaa El Hannani 2ITE-S2 15

Modèle de cycle de vie en V

Expression des Validation des


besoins besoins

Spécification Validation
fonctionnelles fonctionnelle

Conception du
Tests du système
système

Inconvénients :
Implémentation
 Mise en œuvre tardive

 Manque de souplesse

Prof. Asmaa El Hannani 2ITE-S2 16

8
Modèle de cycle de vie en spirale
Analyse détaillée

Spécification
Conception P1 P2 P3

V1 V2
Réalisation
Validation

Tests

Construction d'une série de prototypes !


Prof. Asmaa El Hannani 2ITE-S2 17

Modèle de cycle de vie itératif

Une version simplifier et plus souple que le


modèle en spirale !
Prof. Asmaa El Hannani 2ITE-S2 18

9
Méthodes agiles
 La majorité des méthodes agiles se basent sur un modèle itératif (RAD,
RUP (IBM), Scrum, … )
 Les méthodes agiles partent du principe que Spécifier et planifier dans les
détails l'intégralité d'un produit avant de le développer (approche prédictive)
est contre productif !!
 Valeurs fondamentales:
 Mettre le client et son besoin au centre du projet ( rencontres fréquentes)

 Livrer le plus souvent possible des versions opérationnelles de

l’application
 Accueillir les demandes de changement « à bras ouverts »

 Favoriser la programmation en binôme (Pair programming),


l'appropriation collective du code
 Faire simple

 Ajuster à intervalles réguliers son comportement et ses processus pour

être plus efficace


Prof. Asmaa El Hannani 2ITE-S2 19

Modèle…c’est quoi ?

 Un modèle est une simplification de la réalité qui permet de


mieux comprendre le système à développer.

 Il permet de:
 Simplifier la problématique posée par le client.
 Visualiser le système comme il est ou comme il devrait l'être.
 Valider le modèle vis à vis des clients.
 Spécifier les structures de données et le comportement du
système.
 Fournir un guide pour la construction du système.
 Documenter le système et les décisions prises.

Prof. Asmaa El Hannani 2ITE-S2 20

10
Modélisation UML

Modélisation UML

 À la fin des années 80, l’industrie commence à utiliser


massivement les langages de programmation orientés objet.

 Les systèmes deviennent de plus en plus complexes et


dépassent la compréhension et la maîtrise par un seul
individu.

 Le recours à un modèle conceptuel s’avère indispensable.

 UML (Unified Modeling Language) est devenu alors le


standard industriel de modélisation orientée objet.

Prof. Asmaa El Hannani 2ITE-S2 22

11
UML dans le cycle de vie d’un logiciel

Expression des besoins


U
Spécifications du système
M Analyse
L Conception
Implémentation
Tests
Validation
Maintenance

Prof. Asmaa El Hannani 2ITE-S2 23

Méthodes de conception

Années 70  Les approches cartésiennes


 Orientée traitements.

Années 80  Les approches systémiques


 Orientée données.

Années 90  Les approches objet


 Orientée données et traitements.
 UML
Prof. Asmaa El Hannani 2ITE-S2 24

12
Historique

Début des années 1990


 Plusieurs équipes proposent alors des méthodes qui, pour la
plupart, modélisent les mêmes concepts fondamentaux dans
différents langages, avec une terminologie, des notations et des
définitions différentes:
 méthode OOD de Grady Booch (1991)
 méthode OMT de James Rumbaugh (1991)
 méthode OOSE de Ivar Jacobson (1991)
 méthode OOA/OOD de Coad and Yourdon (1992)
 méthode de Schlaer and Mellor (1992)
 Etc.
 Les différents protagonistes conviennent rapidement du besoin
d’unifier ces langages en un standard unique;
 D’où la naissance de UML (Unified Modeling Language).
Prof. Asmaa El Hannani 2ITE-S2 25

Historique

Prof. Asmaa El Hannani 2ITE-S2 26

13
Historique

Les versions se succèdent :


 Début 1998
 UML 1.2
 En 1998
 UML 1.3
 En 2001
 UML1.4
 En 2003
 UML 1.5
 En 2005
 UML 2.0
 En 2008
 UML 2.2
 En 2011
 UML 2.4

 La dernière version diffusée par l'OMG est UML 2.5 depuis juin 2015
Prof. Asmaa El Hannani 2ITE-S2 27

UML

 UML (Unified Modeling Language ou langage de modélisation


unifié ) est un langage de modélisation graphique et textuel,
standardisé par l'O.M.G Object Management Group et destiné à:
 Comprendre et décrire les besoins;

 de manière précise et complète, sans ambiguïté


 Exprimer visuellement les systèmes;
 chaque symbole graphique a une sémantique
 Spécifier et documenter les systèmes;
 les différents diagrammes, notes, contraintes, exigences seront
présentés dans un document.
 Concevoir des Solutions
 les classes, les relations SQL peuvent être générées automatiquement

Prof. Asmaa El Hannani 2ITE-S2 28

14
Eléments représentables en UML

 Les différents éléments représentables dans UML sont :


 Activité d'un objet/logiciel

 Acteurs

 Processus

 Schéma de base de données

 Composants logiciels

 Réutilisation de composants

Prof. Asmaa El Hannani 2ITE-S2 29

Domaines d’utilisation d’UML

 Systèmes à forte composante logicielle


 Les systèmes d’information pour les entreprises
 Les services bancaires et financiers
 Les télécommunications
 Les transports
 La défense / l’aérospatiale
 L’électronique médicale
 Les services distribués et les applications WEB

 Pas limité à un domaine précis !

Prof. Asmaa El Hannani 2ITE-S2 30

15
Le formalisme d'UML

 UML se décompose en plusieurs sous-ensembles


 Les vues : Les vues sont les observables du système. Elles
décrivent le système d'un point de vue donné, qui peut être
organisationnel, dynamique, temporel, architectural,
géographique, logique, etc. En combinant toutes ces vues, il est
possible de définir (ou retrouver) le système complet.
 Les diagrammes : Les diagrammes sont des éléments
graphiques. Ceux-ci décrivent le contenu des vues, qui sont des
notions abstraites. Les diagrammes peuvent faire partie de
plusieurs vues.
 Les modèles d'élément : Les modèles d'élément sont les briques
des diagrammes UML, ces modèles sont utilisés dans plusieurs
types de diagramme.

Prof. Asmaa El Hannani 2ITE-S2 31

Diagrammes UML

 UML permet de construire plusieurs modèles d’un système


selon les vues:
 certains montrent le système du point de vue des utilisateurs,
 d’autres montrent sa structure interne,
 d’autres encore en donnent une vision globale ou détaillée des
fonctionnalités du système.

 Les modèles se complètent et peuvent être assemblés.

 Ils sont élaborés tout au long du cycle de vie du


développement d’un système (depuis le recueil des besoins
jusqu’à la phase de conception)

Prof. Asmaa El Hannani 2ITE-S2 33

16
Diagrammes UML

 UML 2.5 propose 14 types de diagrammes (9 en UML 1.3).

 UML n'étant pas une méthode, leur utilisation est laissée à


l'appréciation de chacun, même si le diagramme de classes
est généralement considéré comme l'élément central d'UML.

 Les 14 diagrammes UML sont dépendants hiérarchiquement et


se complètent, de façon à permettre la modélisation d'un projet
tout au long de son cycle de vie.

Prof. Asmaa El Hannani 2ITE-S2 34

Axes de modélisation des diagrammes

 UML modélise le système selon trois modes de


représentations:
 Fonctionnel: décrit les services fonctionnels rendus par le
système;
 Statique: décrit la structure statique du système;
 Dynamique: concerne le dynamique fonctionnel du système.

 Les trois représentations sont nécessaires et complémentaires


pour schématiser la façons dont le système est composé et le
fonctionnement de ses composants.

Prof. Asmaa El Hannani 2ITE-S2 35

17
Axes de modélisation des diagrammes
Statique ou structurels
Diagramme de Classes
Diagramme d’Objets
Diagramme de Composants
Diagramme de Déploiement
Diagramme des paquetages
Diagramme de structure composite
Diagramme de profile

Fonctionnel ou comportementaux Dynamique ou d’interaction


Diagramme des cas d’utilisation Diagramme de Séquence
Diagramme d‘états-transitions Diagramme de communication
Diagramme d‘activité Diagramme global d'interaction
Diagramme de temps
Prof. Asmaa El Hannani 2ITE-S2 36

Hiérarchie des diagrammes

Prof. Asmaa El Hannani 2ITE-S2 37

18
Rappel: Quatre distinctions capitales

 Développement = Conception + Réalisation


 La conception: consiste à comprendre et prévoir ce qu’il a à faire.

 La réalisation (implémentation): consiste à faire concrètement ce

qu’il y a à faire.

 Conception = Analyse fonctionnelle + Analyse organique


 L’analyse fonctionnelle s’occupe des fonctions (ou des services)

que le système offre à ses utilisateurs. Ce sont les « cas


d’utilisation » (vocabulaire UML). On parle ici du QUOI.
 L’analyse organique s’occupe de la façon dont sera construit le
système pour répondre aux attentes de l’analyse fonctionnelle.
On parle ici du COMMENT.

Prof. Asmaa El Hannani 2ITE-S2 38

Rappel: Quatre distinctions capitales

 Analyse organique = Architecture système + Analyse détaillée


 L’architecture système (s’occupe de l’organisation des sous-systèmes
logiciels et matériels du système complet. C’est aussi à ce niveau qu’on
situera l’architecture des données.
 L’analyse détaillée s’occupe du découpage en procédure et en fonctions
informatiques de chacun des sous-systèmes logiciels. A ce niveau vont
apparaître les en-têtes des fonctions, voir leurs pseudo-code.

 Données et Traitements
 Les données sont analysées pour elle-même, indépendamment des
traitements qu’on leur appliquera (structures, stockage, …).
 Les traitements sont les processus qui permettent la saisie, la validation
ou la mise-à-jour des données ou la production du savoir à partir des
données. (les méthodes des objets)
Prof. Asmaa El Hannani 2ITE-S2 39

19
Les diagrammes UML dans ce cours

 Dans ce cours nous allons couvrir les diagrammes UML qui


correspondent chacun à une étape de la conception:
1. Analyse fonctionnelle: avec des diagramme des cas
d’utilisation, de séquence et d’activités.
2. Analyse des données : avec un diagramme des classes.
3. Analyse organique détaillée: avec des diagramme de
séquence, d’objets, et d’états transition.
4. Architecture : avec des diagramme de composants et de
déploiement (optionnel).

Prof. Asmaa El Hannani 2ITE-S2 40

Les éléments de modélisation

20
Les éléments de modélisation

 Briques pour capturer la sémantique des applications


 Utilisés dans plusieurs types de diagramme.
 Représentation interne (outils)
 Représentation externe (échange entre outils)

Prof. Asmaa El Hannani 2ITE-S2 42

Les éléments de modélisation

 Les objets etudiant : Personne

 la description d’une entité du monde réel ou virtuel

 Les classes Personne


 la description d’un ensemble d’objets

 Les états
Attente
 une étape de la vie d’un objet

 Les acteurs
 utilisateurs finaux du système administrateur
Prof. Asmaa El Hannani 2ITE-S2 43

21
Les éléments de modélisation

 Les cas d’utilisation


 Une manière dont un acteur utilise le système

 Les collaborations
 La réalisation d’un cas d’utilisation par une société d’objets
collaborants

 Les micro-architectures (patterns)


 Un générateur pour la structure et l’interaction d’une société
d’objets

Prof. Asmaa El Hannani 2ITE-S2 44

Les éléments de modélisation

 Les composants
 Un module contenant des entités d’implémentation

 Les noeuds
 Un dispositif matériel capable d’exécuter du logiciel

 Les paquetages
 Une partition du modèle

 Les notes
 Un commentaire, une explication ou une annotation

Prof. Asmaa El Hannani 2ITE-S2 45

22
Relations

 L’association
 Une connexion sémantique entre instances

 La généralisation
 Une relation de classification

 La dépendance
 L’utilisation d’un élément par un autre

 La trace
 Dépendance inter-modèles

Prof. Asmaa El Hannani 2ITE-S2 46

Mécanismes communs

 Les stéréotypes <<stéréotype>>


 Annotation s’appliquant sur un élément de modèle

 Les étiquettes
 Paire (nom, valeur)

 Les notes
 Commentaire textuel

 Les contraintes {contrainte}


 Relation sémantique entre éléments

Prof. Asmaa El Hannani 2ITE-S2 47

23
Outils UML

 Il y a plusieurs outils pour la modélisation UML. Ils peuvent


être regroupés en trois catégories:
 Les outils de dessin des diagrammes (comme Visio et OmniGraffle) ne
sont pas vraiment le meilleur choix car mettent plus le focus sur
l’apparence visuel.
 Les éditeurs des diagramme UML (comme Violet UML and UMLet)
supportent explicitement l’édition des différents éléments des
diagramme UML et respectent la sémantique des diagrammes.
 Les outils CASE (Computer Aided Software Engineering) (comme
Papyrus, Rational Rose, ArgoUML, …) permet l’utilisation d’UML
pour la construction de modèles détaillés et puissants. Ils incluent
typiquement : la génération de code (génération de squelettes dans
différents langages cibles à partir des models UML) et le reverse
engineering (lire le code existant et générer ou mettre à jour les
diagrammes existant).
Prof. Asmaa El Hannani 2ITE-S2 48

Axes de modélisation des diagrammes


Statique ou structurels
Diagramme de Classes
Diagramme d’Objets
Diagramme de Composants
Diagramme de Déploiement
Diagramme des paquetages
Diagramme de structure composite

Fonctionnel ou comportementaux Dynamique ou d’interaction


Diagramme des cas d’utilisation Diagramme de Séquence
Diagramme d‘états-transitions Diagramme de communication
Diagramme d‘activité Diagramme global d'interaction
Diagramme de temps
Prof. Asmaa El Hannani 2ITE-S2 49

24

Vous aimerez peut-être aussi