Initiation à UML: Partie 1

D
DIALLO BoubacarIngénieur Sécurité des Systèmes d'Information et Monétique em B&T Sécurity
Université Barack Obama
L2 Sciences Informatique
Session: 2013-2014

1- Introduction

2- Historique
3- Le génie logiciel
4- La modélisation UML
1
Auteur: DIALLO Boubacar Tel: 664 26 55 51 / 620 26 90 98 E-mail: hamanah08@yahoo.fr
1- Introduction


Contexte
 L'appréhension d'une problématique complexe telle que
le développement d’application repose de plus en plus
sur le recours à la modélisation informatique.
 L’accélération du renouvellement des technologies conjuguée
avec la pression économique et concurrentielle qui s’exerce sur
les entreprises, obligent les acteurs du monde informatique à
produire des solutions de plus en plus rapidement dans un
contexte d’amélioration continue de la qualité et de la
performance des systèmes d’information.
 Notons aussi qu’Internet a été un vecteur favorisant le
développement de très nombreuses applications dont une
grande partie utilise des solutions à base de langage de
programmation objet comme Java, C++ ou C#.

2
1- Introduction


Objectif
 Depuis longtemps, les informaticiens ont développé le langage
UML (Unified Modelling Language) pour formaliser des
besoins clients aux programmes qu'ils réalisent.
 Ce langage est proposé comme moyen de communication entre
modélisateurs ou informaticiens, et les autres métiers
indépendamment des disciplines et de la technique
informatique.
 UML a apporté tout naturellement le support méthodologique
qui manquait à tous les concepteurs et développeurs qui
voulaient formaliser l’analyse et la conception technique de leur
logiciel.
3
1- Introduction


Spécifications
 Depuis plus de 30 ans, la conception des bases de données est réalisée
à l’aide du modèle entité-association. Ce modèle a fait ses preuves et la
plupart des outils informatiques de conception l’utilisent encore
aujourd’hui.
 La notation UML s’est imposée depuis quelques années pour la
modélisation et le développement d’applications écrites dans un
langage objet (C++ et Java principalement).
 Initialement, UML n’a pas été conçue pour les bases de données.
Cependant, elle offre un même formalisme aux concepteurs d’objets
métiers et aux concepteurs de bases de données.
 UML s’est donc imposée en tant que langage graphique de
modélisation puisque non seulement ce langage répond à un véritable
besoin mais en outre il est devenu un standard de fait puisqu’il
s’appuie sur une norme très structurante.

4
2- Historique


 UML hérite principalement des méthodes objets de Booch ,
OMT (Object Modeling Technique en français Technique de
modélisation objet) et OOSE (Object Oriented Software
Engineering) inventées respectivement par Grady Booch,
Rumbaugh et Jacobson
 UML est une fusion de OOA/OOSE/OMT;
 Adopté par l' OMG en Novembre 1997 devient un standard.

5
3- Le génie logiciel


1- Présentation
2- Les phases de réalisation d’un logiciel
2.1- La phase d’analyse
2.2- La phase de conception
2.3- La phase de réalisation
2.4- La phase de mise en place
2.5- La phase d’exploitation et maintenance
2.6- La phase de démontage

6
1- Présentation du géni logiciel


 Un logiciel est un ensemble d’appels de sous-programmes
 Le génie logiciel est un domaine de l’informatique qui a pour objet l’étude
des moyens (méthodes, outils) qui permettent de créer des logiciels de qualité.
 Le but du génie logiciel est de réaliser une industrialisation de la
conception logicielle afin de créer des procédés de fabrication qui répond au
CQFD:



Coûts: les coûts ne seront pas dépassés: optimisation des ressources
Qualités: le logiciel doit avoir les qualités suivantes:












Validité: capacité à exécuter les tâches pour lesquelles il à été créer
Fiabilité: capacité de fournir les résultats attendus
Robustesse: capacité à fonctionner dans des condition anormales
Extensibilité: capacité à ajouter de nouvelles fonctionnalités
Compatibilité: capacité à coopérer avec d’autres logiciel
Efficacité: capacité de fournir de bon résultats dans les délais prévus
Portabilité: capacité à être porté sur d’autre OS
Lisibilité: capacité d’une personne à comprendre le code

Fonctionnalités: le logiciel doit répondre aux attentes des commanditaires
Délais: Les délais ne seront pas dépassés: gestion du temps

7
2- Les phases de réalisation d’un
logiciel



 La réalisation d’un logiciel se résume en 6 phases:
3.1- La phase d’analyse
3.2- La phase de conception
3.3- La phase de réalisation
3.4- La phase de mise en place
3.5- La phase d’exploitation et maintenance
3.6- La phase de démontage

8
2.1- La phase d’analyse

Etude de faisabilité
 Consiste à déterminer:
 les avantages,
 les inconvénients

que procureraient la réalisation et l’utilisation d’un nouveau
logiciel.
 Elle est destinée aux décideurs qui:
 Valident les orientations
 Chiffrent l’effort, coût de réalisation, gestion des délais,
temps de formation des utilisateurs, coûts d’achat de
nouveaux matériels, récupération des anciennes données.
9
2.1- La phase d’analyse

Cahier des charges
 Faire une étude de l’existence des logiciels.
 Est un guide qui permet de définir les logiciels dans
ses grandes lignes (pas trop techniques)
 Indique ce qui doit être fait mais sans dire vraiment
comment.
 Permettra au concepteur de valider chaque étape de
la réalisation du logiciel.
 Indique les spécification du projet.
10
2.2- La phase de conception



 C’est la phase la plus importante, elle définit l’architecture
du logiciel (son squelette, son comportement, etc.).
 On distingue 2 architectures:

 L’architecture global du logiciel: qui consiste à faire un
représentation global du logiciel (c’est-à-dire, décrire le
logiciel de façon global);
 L’architecture détaille: décrit les composants du logiciel et le
lien entre les différents composant du logiciel.

 L’architecture d’un logiciel concerne 2 aspects:

 Statique: décrit les parties non variable du logiciel une fois
validé;
 Dynamique : décrit le comportement du logiciel de façon
global et de chaque composant du logiciel
11
3.3- La phase de réalisation



 Une fois la conception terminée et validée, la
réalisation du logiciel doit être effective.
 Il s’agit de transformer le schéma du logiciel en un
produit (exécutable).
 Cette phase consiste à conduire le logiciel
Spécification

Conception

Réalisation

Validation

12
2.3- La phase de réalisation



 La spécification consiste à décrire toutes les spécification:
 Fonctionnelles: ce que doit réaliser le logiciel (sousprogrammes / traitements à réaliser)
 Non fonctionnelles: contraintes d’environnements,
performance, sécurité.

 La conception consiste à apporter une réponse à l’étape
précédente:
 Architecture (modules, objets, classes, fonctions)
 Matériel (environnement de développement, application
externes utilisées).

 L’implantation ( implémentation ou codage) consiste à
coder les données.

13
2.3- La phase de réalisation



 La validation sert à vérifier chaque module.
Texte.dft
(Résultat correct)
Module

Comparaison

Test de module

Texte.res

 Garder la trace de ce qui a été fait.
14
2.4- La phase de mise en place



 Maintenant que le logiciel est réalisé (l’exécutable obtenu),
il faut passer à sa mise en œuvre;
 Mettre en œuvre un logiciel c’est le déployer :
 Installer le logiciel dans l’environnement de production.
 Dès le début de la phase de réalisation, il faudrait pouvoir
disposer d’une machine dans l’environnement de
production

 Le déploiement d’un logiciel exige la préparation de son
environnement de production.
 Interconnecter tous les systèmes et processus devant
communiquer avant le logiciel;
 Transfert des données et conversion dans un nouveau
format (Récupération).

15
2.5- Exploitation et maintenance


Exploitation
 Le logiciel étant en place, son n’exploitation devient
fondamentale.
 Cette phase résume deux tâches qui doivent se
réaliser depuis la mise en place du logiciel jusqu’à sa
fin.
 Pour commencer l’exploitation du logiciel, on fait le
paramétrage du logiciel (l’insertion des données);
 Ensuite faire le traitement de donné (tester le
logiciel) pour détecter les erreurs s’ils y existent.
16
2.5- Exploitation et maintenance


Maintenance
 Une fois les erreurs détectées, il faut maintenant passer à la
correction (la maintenance du logiciel).
 La maintenance doit se tenir régulièrement
 Il existe 3 types de maintenance:

 Corrective: consiste à corriger les erreurs détectées lors de
l’exploitation. Bugs qui apparaissent
 Adaptative: consiste à adapter le logiciel à un besoin ou à un
environnement: Besoins exprimés par les utilisateurs pour faciliter
leur travail.
 Perfective: le logiciel satisfaisant à toutes les exigences du cahier des
charges, il est nécessaire de penser à son évolution. Il s’agit de le
rendre plus performent. Mise en place d’un système de traçage des
bugs (date/conditions de reproduction/solution et correction)

17
2.6- Démontage



 Malgré toutes les maintenances réalisées, le logiciel ne
peut plus satisfaire les besoins du client; donc révolue:
c’est la fin de vie du logiciel on parle alors de démontage.
 Un logiciel est qualifié de révolue lorsque:
 Le logiciel ne satisfait plus les besoins des utilisateurs et
aucune maintenance ne peut palier à problème;
 Le logiciel est dépassé par la technologie;
 Le client n’à plus besoin du logiciel.

 Le démontage du logiciel est assimilé comme la fin de vie
du logiciel;
 Il faut donc supprimer les exécutables, les drivers et les
données.
18
La modélisation UML


1- Présentation de UML
2- Le modèle
3- L’utilisation des modèles

19
4- Présentation de UML


 UML (Unified Modeling Language) est normalisé par l'OMG
(Object Management Group)
http://www.omg.org/spec/UML/
Dernière version : 2.4.1 (Août 2011)
 UML est une notation standard pour la modélisation
d'applications à base d'objets (et de composants depuis la
version 2)
 UML est utilisable dans de nombreux autres contextes de
conception ou spécification
Exemple : schéma de BDD
 UML est un langage utilisant une notation graphique
20
1- Présentation de UML (suite)



 UML, différent d’un processus de développement
 UML fournit une notation/syntaxe pour les diagrammes
et modèles définis pendant tout le cycle de
développement
 UML permet de définir des modèles de niveaux différents
Analyse
Conception
Spécification d'implémentation
....
 Il faut préciser à quel niveau correspond un modèle
 On peut raffiner un modèle pour le spécifier à chaque
niveau
21
2- Le modèle (Diagramme)


Un modèle est une représentation partielle de
la réalité
 Abstraction de ce qui est intéressant pour
un contexte donné
 Vue subjective et simplifiée d'un système
 Avec UML, on va s'intéresser
principalement aux modèles d'applications
informatiques
 Un modèle UML = des diagrammes UML
22
3- L’utilité des modèles


 Faciliter la compréhension d'un système
 Permettre également la communication avec le
client
 Vision de communication, de documentation
 Définir voire simuler le fonctionnement d'un
système
 Dans ce cas, on se doit d'être le plus précis
possible dans le contenu des modèles pour
s'approcher du code
 Vision de développement, de production

23
1- Introduction
2- Les différents types de diagrammes
2.1- Les diagrammes structurelles
2.2- Les diagrammes comportementaux
2.2.1- Les diagrammes d’interactions
24
1- Introduction


 Afin d’assurer un bon niveau de cohérence et d’homogénéité
sur l’ensemble des modèles, UML propose:
 d’une part un certain nombre de règles d’écriture ou de
représentations graphiques normalisées
 et d’autre part des mécanismes ou des concepts communs
applicables à l’ensemble des diagrammes.

 Certains éléments, comme les stéréotypes, sont spécifiquement
prévus pour assurer une réelle capacité:
 d’adaptation
 et d’évolution

 de la notation notamment pour prendre en compte les
particularités des différentes situations à modéliser.
25
2- Les différents types de
diagrammes



 UML dans sa version 2 propose treize diagrammes
qui peuvent être utilisés dans la description d’un
système.
 Ces diagrammes sont regroupés dans deux grands
ensembles.
 Les diagrammes Structurels
 Les diagramme comportementaux
 Dans cette catégorie, on identifie un autre sous
type;
 Les diagramme d’interaction

26
2.1- Les diagrammes structurels


 Ces diagrammes, au nombre de six, ont vocation à
représenter l’aspect statique d’un système (classes,
objets, composants…).
 Diagramme de classe – Ce diagramme représente la
description statique du système en intégrant dans
chaque classe la partie dédiée aux données et celle
consacrée aux traitements. C’est le diagramme pivot
de l’ensemble de la modélisation d’un système.
 Diagramme d’objet – Le diagramme d’objet permet la
représentation d’instances des classes et des liens entre
instances.
27
2.1- Les diagrammes structurels


 Diagramme de composant (modifié dans UML 2) – Ce
diagramme représente les différents constituants du
logiciel au niveau de l’implémentation d’un système.
 Diagramme de déploiement (modifié dans UML 2) – Ce
diagramme décrit l’architecture technique d’un
système avec une vue centrée sur la répartition des
composants dans la configuration d’exploitation.
 Diagramme de paquetage (nouveau dans UML 2) – Ce
diagramme donne une vue d’ensemble du système
structuré en paquetage. Chaque paquetage représente
un ensemble homogène d’éléments du système
(classes, composants…).

28
2.1- Les diagrammes structurels


 Diagramme de structure composite: ce diagramme
permet de décrire la structure interne d’un ensemble
complexe composé par exemple de classes ou
d’objets et de composants techniques.
 Ce diagramme met aussi l’accent sur les liens entre
les sous-ensembles qui collaborent.

29
2.2- Les diagrammes comportementaux


 Ces diagrammes représentent la partie dynamique
d’un système réagissant aux événements et
permettant de produire les résultats attendus par les
utilisateurs. Sept diagrammes sont proposés par
UML :
 Diagramme des cas d’utilisation – Ce diagramme est
destiné à représenter les besoins des utilisateurs par
rapport au système. Il constitue un des diagrammes
les plus structurants dans l’analyse d’un système.
30
2.2- Les diagrammes comportementaux


 – Diagramme d’état-transition (machine d’état) – Ce
diagramme montre les différents états des objets en
réaction aux événements.
 – Diagramme d’activités (modifié dans UML 2) – Ce
diagramme donne une vision des enchaînements des
activités propres à une opération ou à un cas
d’utilisation. Il permet aussi de représenter les flots
de contrôle et les flots de données.

31
2.2- Les diagrammes comportementaux


 – Diagramme de séquence (modifié dans UML 2) – Ce
diagramme permet de décrire les scénarios de
chaque cas d’utilisation en mettant l’accent sur la
chronologie des opérations en interaction avec les
objets.
 – Diagramme de communication (anciennement appelé
collaboration) – Ce diagramme est une autre
représentation des scénarios des cas d’utilisation qui
met plus l’accent sur les objets et les messages
échangés.
32
2.2- Les diagrammes comportementaux


 – Diagramme global d’interaction (nouveau dans UML 2)
– Ce diagramme fournit une vue générale des
interactions décrites dans le diagramme de séquence
et des flots de contrôle décrits dans le diagramme
d’activités.
 – Diagramme de temps (nouveau dans UML 2) – Ce
diagramme permet de représenter les états et les
interactions d’objets dans un contexte où le temps a
une forte influence sur le comportement du système
à gérer.
33
FIN


Merci pour votre attention!!!!
Vos questions SVP…
Prof: M. DIALLO Boubacar Tel: 664 26 55 51 / 620 26 90 98 E-mail: hamanah08@yahoo.fr

34
1 de 34

Recomendados

UML por
UMLUML
UMLangeeLee
677 visualizações35 slides
Uml por
UmlUml
UmlMohammed Zaoui
7.3K visualizações257 slides
Architectures 3-tiers (Web) por
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Heithem Abbes
12.6K visualizações13 slides
Modèle en cascade por
Modèle en cascadeModèle en cascade
Modèle en cascadeGhodhbane Mohamed Amine
28.7K visualizações12 slides
Uml por
UmlUml
UmlVINOT Bernard
10.8K visualizações259 slides
Chp4 - UML por
Chp4 - UMLChp4 - UML
Chp4 - UMLLilia Sfaxi
4.6K visualizações20 slides

Mais conteúdo relacionado

Mais procurados

TP2-UML-Correction por
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
10K visualizações6 slides
diagramme des cas d'utilisation por
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisationAmir Souissi
7.3K visualizações29 slides
Cours Génie Logiciel - Cours 2 - Cycles de vie por
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieMohammed Amine Mostefai
54.4K visualizações114 slides
Chp1 - Introduction aux méthodologies de Conception por
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionLilia Sfaxi
19.7K visualizações27 slides
Modélisation avec UML por
Modélisation avec UMLModélisation avec UML
Modélisation avec UMLECAM Brussels Engineering School
2.4K visualizações55 slides
2.2 cycles de vie por
2.2 cycles de vie2.2 cycles de vie
2.2 cycles de vieHarun Mouad
4.9K visualizações57 slides

Mais procurados(20)

TP2-UML-Correction por Lilia Sfaxi
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
Lilia Sfaxi10K visualizações
diagramme des cas d'utilisation por Amir Souissi
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
Amir Souissi7.3K visualizações
Cours Génie Logiciel - Cours 2 - Cycles de vie por Mohammed Amine Mostefai
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
Mohammed Amine Mostefai54.4K visualizações
Chp1 - Introduction aux méthodologies de Conception por Lilia Sfaxi
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
Lilia Sfaxi19.7K visualizações
2.2 cycles de vie por Harun Mouad
2.2 cycles de vie2.2 cycles de vie
2.2 cycles de vie
Harun Mouad4.9K visualizações
Architectures n-tiers por Heithem Abbes
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
Heithem Abbes32.3K visualizações
Cours uml por zimamouche1
Cours umlCours uml
Cours uml
zimamouche12.9K visualizações
Chp2 - Diagramme des Cas d'Utilisation por Lilia Sfaxi
Chp2 - Diagramme des Cas d'UtilisationChp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'Utilisation
Lilia Sfaxi5.4K visualizações
Architecture des Systèmes Logiciels por Ghazouani Mahdi
Architecture des Systèmes LogicielsArchitecture des Systèmes Logiciels
Architecture des Systèmes Logiciels
Ghazouani Mahdi4.1K visualizações
Génie Logiciels : Introduction aux architectures por Mohammed Amine Mostefai
Génie Logiciels : Introduction aux architecturesGénie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architectures
Mohammed Amine Mostefai26.3K visualizações
Chp3 - Diagramme de Classes por Lilia Sfaxi
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
Lilia Sfaxi7.7K visualizações
Les règles de passage por marwa baich
Les règles de passageLes règles de passage
Les règles de passage
marwa baich4.7K visualizações
Uml 2 pratique de la modélisation por Nassim Amine
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisation
Nassim Amine13.4K visualizações
diagramme de séquence UML por Amir Souissi
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
Amir Souissi21.4K visualizações
Chap5 diagramme d'etats-transitions por Amir Souissi
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
Amir Souissi3.1K visualizações
Tp3 - Application SOA avec BPEL por Lilia Sfaxi
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
Lilia Sfaxi6.7K visualizações
Rapport Sockets en Java por Soukaina Boujadi
Rapport Sockets en JavaRapport Sockets en Java
Rapport Sockets en Java
Soukaina Boujadi3.7K visualizações

Similar a Initiation à UML: Partie 1

conception et réalisation plateforme collaboratif basant sur la methode agile... por
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...Sid Ahmed Benkraoua
4.3K visualizações47 slides
Processus_Unifie_et_Approche_Agile chapitre 1.pptx por
Processus_Unifie_et_Approche_Agile chapitre 1.pptxProcessus_Unifie_et_Approche_Agile chapitre 1.pptx
Processus_Unifie_et_Approche_Agile chapitre 1.pptxinformatiquehageryah
11 visualizações88 slides
RA et CCDS - Séance 1.pptx por
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxtestuser715939
4 visualizações25 slides
Génie Logiciel.pptx por
Génie Logiciel.pptxGénie Logiciel.pptx
Génie Logiciel.pptxLatifaBen6
49 visualizações16 slides
Cours Génie Logiciel 2016 por
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Erradi Mohamed
2.1K visualizações49 slides
Chp2 - Cahier des Charges por
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des ChargesLilia Sfaxi
9.1K visualizações23 slides

Similar a Initiation à UML: Partie 1(20)

conception et réalisation plateforme collaboratif basant sur la methode agile... por Sid Ahmed Benkraoua
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...
Sid Ahmed Benkraoua4.3K visualizações
Processus_Unifie_et_Approche_Agile chapitre 1.pptx por informatiquehageryah
Processus_Unifie_et_Approche_Agile chapitre 1.pptxProcessus_Unifie_et_Approche_Agile chapitre 1.pptx
Processus_Unifie_et_Approche_Agile chapitre 1.pptx
informatiquehageryah11 visualizações
RA et CCDS - Séance 1.pptx por testuser715939
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptx
testuser7159394 visualizações
Génie Logiciel.pptx por LatifaBen6
Génie Logiciel.pptxGénie Logiciel.pptx
Génie Logiciel.pptx
LatifaBen649 visualizações
Cours Génie Logiciel 2016 por Erradi Mohamed
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
Erradi Mohamed2.1K visualizações
Chp2 - Cahier des Charges por Lilia Sfaxi
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des Charges
Lilia Sfaxi9.1K visualizações
sûreté de fonctionnement du logiciel por Es-sahli bilal
 sûreté de fonctionnement du logiciel sûreté de fonctionnement du logiciel
sûreté de fonctionnement du logiciel
Es-sahli bilal2.4K visualizações
qualimétrie logiciel - Entreprise Software Analytic - nov 2015 por Julien Vq
qualimétrie logiciel -  Entreprise Software Analytic - nov 2015qualimétrie logiciel -  Entreprise Software Analytic - nov 2015
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
Julien Vq1.4K visualizações
introduction génie logiciel-1.ppt por SafaeElhouicha
introduction génie logiciel-1.pptintroduction génie logiciel-1.ppt
introduction génie logiciel-1.ppt
SafaeElhouicha33 visualizações
Introduction au Génie Logiciel por guest0032c8
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logiciel
guest0032c88.3K visualizações
Article de référence de Winston Royce por Fabrice Aimetti
Article de référence de Winston RoyceArticle de référence de Winston Royce
Article de référence de Winston Royce
Fabrice Aimetti1.3K visualizações
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptx por ssuserec8501
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptxChapitre 1 - Introcution & cycles de développement - Etudiant.pptx
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptx
ssuserec850137 visualizações
Prototype rapport por Ines Ouaz
Prototype rapportPrototype rapport
Prototype rapport
Ines Ouaz4.4K visualizações
Projet de fin d étude (1) por Sanaa Guissar
Projet de fin d étude (1)Projet de fin d étude (1)
Projet de fin d étude (1)
Sanaa Guissar3K visualizações
Fichier récupéré 1 por Bessghaier Narjess
Fichier récupéré 1Fichier récupéré 1
Fichier récupéré 1
Bessghaier Narjess1.2K visualizações
Introduction au test_logiciel-fr por EmanBali
Introduction au test_logiciel-frIntroduction au test_logiciel-fr
Introduction au test_logiciel-fr
EmanBali47 visualizações
Présentation projet de fin d'étude por Donia Hammami
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étude
Donia Hammami54.6K visualizações
1_Assurance_Qualit_et_Gnie_Logiciel.ppt por hbadir
1_Assurance_Qualit_et_Gnie_Logiciel.ppt1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppt
hbadir8 visualizações
le guide swebok por sammiiaa
le guide swebokle guide swebok
le guide swebok
sammiiaa1.8K visualizações

Initiation à UML: Partie 1

  • 1. Université Barack Obama L2 Sciences Informatique Session: 2013-2014 1- Introduction 2- Historique 3- Le génie logiciel 4- La modélisation UML 1 Auteur: DIALLO Boubacar Tel: 664 26 55 51 / 620 26 90 98 E-mail: hamanah08@yahoo.fr
  • 2. 1- Introduction  Contexte  L'appréhension d'une problématique complexe telle que le développement d’application repose de plus en plus sur le recours à la modélisation informatique.  L’accélération du renouvellement des technologies conjuguée avec la pression économique et concurrentielle qui s’exerce sur les entreprises, obligent les acteurs du monde informatique à produire des solutions de plus en plus rapidement dans un contexte d’amélioration continue de la qualité et de la performance des systèmes d’information.  Notons aussi qu’Internet a été un vecteur favorisant le développement de très nombreuses applications dont une grande partie utilise des solutions à base de langage de programmation objet comme Java, C++ ou C#. 2
  • 3. 1- Introduction  Objectif  Depuis longtemps, les informaticiens ont développé le langage UML (Unified Modelling Language) pour formaliser des besoins clients aux programmes qu'ils réalisent.  Ce langage est proposé comme moyen de communication entre modélisateurs ou informaticiens, et les autres métiers indépendamment des disciplines et de la technique informatique.  UML a apporté tout naturellement le support méthodologique qui manquait à tous les concepteurs et développeurs qui voulaient formaliser l’analyse et la conception technique de leur logiciel. 3
  • 4. 1- Introduction  Spécifications  Depuis plus de 30 ans, la conception des bases de données est réalisée à l’aide du modèle entité-association. Ce modèle a fait ses preuves et la plupart des outils informatiques de conception l’utilisent encore aujourd’hui.  La notation UML s’est imposée depuis quelques années pour la modélisation et le développement d’applications écrites dans un langage objet (C++ et Java principalement).  Initialement, UML n’a pas été conçue pour les bases de données. Cependant, elle offre un même formalisme aux concepteurs d’objets métiers et aux concepteurs de bases de données.  UML s’est donc imposée en tant que langage graphique de modélisation puisque non seulement ce langage répond à un véritable besoin mais en outre il est devenu un standard de fait puisqu’il s’appuie sur une norme très structurante. 4
  • 5. 2- Historique   UML hérite principalement des méthodes objets de Booch , OMT (Object Modeling Technique en français Technique de modélisation objet) et OOSE (Object Oriented Software Engineering) inventées respectivement par Grady Booch, Rumbaugh et Jacobson  UML est une fusion de OOA/OOSE/OMT;  Adopté par l' OMG en Novembre 1997 devient un standard. 5
  • 6. 3- Le génie logiciel  1- Présentation 2- Les phases de réalisation d’un logiciel 2.1- La phase d’analyse 2.2- La phase de conception 2.3- La phase de réalisation 2.4- La phase de mise en place 2.5- La phase d’exploitation et maintenance 2.6- La phase de démontage 6
  • 7. 1- Présentation du géni logiciel   Un logiciel est un ensemble d’appels de sous-programmes  Le génie logiciel est un domaine de l’informatique qui a pour objet l’étude des moyens (méthodes, outils) qui permettent de créer des logiciels de qualité.  Le but du génie logiciel est de réaliser une industrialisation de la conception logicielle afin de créer des procédés de fabrication qui répond au CQFD:   Coûts: les coûts ne seront pas dépassés: optimisation des ressources Qualités: le logiciel doit avoir les qualités suivantes:           Validité: capacité à exécuter les tâches pour lesquelles il à été créer Fiabilité: capacité de fournir les résultats attendus Robustesse: capacité à fonctionner dans des condition anormales Extensibilité: capacité à ajouter de nouvelles fonctionnalités Compatibilité: capacité à coopérer avec d’autres logiciel Efficacité: capacité de fournir de bon résultats dans les délais prévus Portabilité: capacité à être porté sur d’autre OS Lisibilité: capacité d’une personne à comprendre le code Fonctionnalités: le logiciel doit répondre aux attentes des commanditaires Délais: Les délais ne seront pas dépassés: gestion du temps 7
  • 8. 2- Les phases de réalisation d’un logiciel   La réalisation d’un logiciel se résume en 6 phases: 3.1- La phase d’analyse 3.2- La phase de conception 3.3- La phase de réalisation 3.4- La phase de mise en place 3.5- La phase d’exploitation et maintenance 3.6- La phase de démontage 8
  • 9. 2.1- La phase d’analyse  Etude de faisabilité  Consiste à déterminer:  les avantages,  les inconvénients que procureraient la réalisation et l’utilisation d’un nouveau logiciel.  Elle est destinée aux décideurs qui:  Valident les orientations  Chiffrent l’effort, coût de réalisation, gestion des délais, temps de formation des utilisateurs, coûts d’achat de nouveaux matériels, récupération des anciennes données. 9
  • 10. 2.1- La phase d’analyse  Cahier des charges  Faire une étude de l’existence des logiciels.  Est un guide qui permet de définir les logiciels dans ses grandes lignes (pas trop techniques)  Indique ce qui doit être fait mais sans dire vraiment comment.  Permettra au concepteur de valider chaque étape de la réalisation du logiciel.  Indique les spécification du projet. 10
  • 11. 2.2- La phase de conception   C’est la phase la plus importante, elle définit l’architecture du logiciel (son squelette, son comportement, etc.).  On distingue 2 architectures:  L’architecture global du logiciel: qui consiste à faire un représentation global du logiciel (c’est-à-dire, décrire le logiciel de façon global);  L’architecture détaille: décrit les composants du logiciel et le lien entre les différents composant du logiciel.  L’architecture d’un logiciel concerne 2 aspects:  Statique: décrit les parties non variable du logiciel une fois validé;  Dynamique : décrit le comportement du logiciel de façon global et de chaque composant du logiciel 11
  • 12. 3.3- La phase de réalisation   Une fois la conception terminée et validée, la réalisation du logiciel doit être effective.  Il s’agit de transformer le schéma du logiciel en un produit (exécutable).  Cette phase consiste à conduire le logiciel Spécification Conception Réalisation Validation 12
  • 13. 2.3- La phase de réalisation   La spécification consiste à décrire toutes les spécification:  Fonctionnelles: ce que doit réaliser le logiciel (sousprogrammes / traitements à réaliser)  Non fonctionnelles: contraintes d’environnements, performance, sécurité.  La conception consiste à apporter une réponse à l’étape précédente:  Architecture (modules, objets, classes, fonctions)  Matériel (environnement de développement, application externes utilisées).  L’implantation ( implémentation ou codage) consiste à coder les données. 13
  • 14. 2.3- La phase de réalisation   La validation sert à vérifier chaque module. Texte.dft (Résultat correct) Module Comparaison Test de module Texte.res  Garder la trace de ce qui a été fait. 14
  • 15. 2.4- La phase de mise en place   Maintenant que le logiciel est réalisé (l’exécutable obtenu), il faut passer à sa mise en œuvre;  Mettre en œuvre un logiciel c’est le déployer :  Installer le logiciel dans l’environnement de production.  Dès le début de la phase de réalisation, il faudrait pouvoir disposer d’une machine dans l’environnement de production  Le déploiement d’un logiciel exige la préparation de son environnement de production.  Interconnecter tous les systèmes et processus devant communiquer avant le logiciel;  Transfert des données et conversion dans un nouveau format (Récupération). 15
  • 16. 2.5- Exploitation et maintenance  Exploitation  Le logiciel étant en place, son n’exploitation devient fondamentale.  Cette phase résume deux tâches qui doivent se réaliser depuis la mise en place du logiciel jusqu’à sa fin.  Pour commencer l’exploitation du logiciel, on fait le paramétrage du logiciel (l’insertion des données);  Ensuite faire le traitement de donné (tester le logiciel) pour détecter les erreurs s’ils y existent. 16
  • 17. 2.5- Exploitation et maintenance  Maintenance  Une fois les erreurs détectées, il faut maintenant passer à la correction (la maintenance du logiciel).  La maintenance doit se tenir régulièrement  Il existe 3 types de maintenance:  Corrective: consiste à corriger les erreurs détectées lors de l’exploitation. Bugs qui apparaissent  Adaptative: consiste à adapter le logiciel à un besoin ou à un environnement: Besoins exprimés par les utilisateurs pour faciliter leur travail.  Perfective: le logiciel satisfaisant à toutes les exigences du cahier des charges, il est nécessaire de penser à son évolution. Il s’agit de le rendre plus performent. Mise en place d’un système de traçage des bugs (date/conditions de reproduction/solution et correction) 17
  • 18. 2.6- Démontage   Malgré toutes les maintenances réalisées, le logiciel ne peut plus satisfaire les besoins du client; donc révolue: c’est la fin de vie du logiciel on parle alors de démontage.  Un logiciel est qualifié de révolue lorsque:  Le logiciel ne satisfait plus les besoins des utilisateurs et aucune maintenance ne peut palier à problème;  Le logiciel est dépassé par la technologie;  Le client n’à plus besoin du logiciel.  Le démontage du logiciel est assimilé comme la fin de vie du logiciel;  Il faut donc supprimer les exécutables, les drivers et les données. 18
  • 19. La modélisation UML  1- Présentation de UML 2- Le modèle 3- L’utilisation des modèles 19
  • 20. 4- Présentation de UML   UML (Unified Modeling Language) est normalisé par l'OMG (Object Management Group) http://www.omg.org/spec/UML/ Dernière version : 2.4.1 (Août 2011)  UML est une notation standard pour la modélisation d'applications à base d'objets (et de composants depuis la version 2)  UML est utilisable dans de nombreux autres contextes de conception ou spécification Exemple : schéma de BDD  UML est un langage utilisant une notation graphique 20
  • 21. 1- Présentation de UML (suite)   UML, différent d’un processus de développement  UML fournit une notation/syntaxe pour les diagrammes et modèles définis pendant tout le cycle de développement  UML permet de définir des modèles de niveaux différents Analyse Conception Spécification d'implémentation ....  Il faut préciser à quel niveau correspond un modèle  On peut raffiner un modèle pour le spécifier à chaque niveau 21
  • 22. 2- Le modèle (Diagramme)  Un modèle est une représentation partielle de la réalité  Abstraction de ce qui est intéressant pour un contexte donné  Vue subjective et simplifiée d'un système  Avec UML, on va s'intéresser principalement aux modèles d'applications informatiques  Un modèle UML = des diagrammes UML 22
  • 23. 3- L’utilité des modèles   Faciliter la compréhension d'un système  Permettre également la communication avec le client  Vision de communication, de documentation  Définir voire simuler le fonctionnement d'un système  Dans ce cas, on se doit d'être le plus précis possible dans le contenu des modèles pour s'approcher du code  Vision de développement, de production 23
  • 24. 1- Introduction 2- Les différents types de diagrammes 2.1- Les diagrammes structurelles 2.2- Les diagrammes comportementaux 2.2.1- Les diagrammes d’interactions 24
  • 25. 1- Introduction   Afin d’assurer un bon niveau de cohérence et d’homogénéité sur l’ensemble des modèles, UML propose:  d’une part un certain nombre de règles d’écriture ou de représentations graphiques normalisées  et d’autre part des mécanismes ou des concepts communs applicables à l’ensemble des diagrammes.  Certains éléments, comme les stéréotypes, sont spécifiquement prévus pour assurer une réelle capacité:  d’adaptation  et d’évolution  de la notation notamment pour prendre en compte les particularités des différentes situations à modéliser. 25
  • 26. 2- Les différents types de diagrammes   UML dans sa version 2 propose treize diagrammes qui peuvent être utilisés dans la description d’un système.  Ces diagrammes sont regroupés dans deux grands ensembles.  Les diagrammes Structurels  Les diagramme comportementaux  Dans cette catégorie, on identifie un autre sous type;  Les diagramme d’interaction 26
  • 27. 2.1- Les diagrammes structurels   Ces diagrammes, au nombre de six, ont vocation à représenter l’aspect statique d’un système (classes, objets, composants…).  Diagramme de classe – Ce diagramme représente la description statique du système en intégrant dans chaque classe la partie dédiée aux données et celle consacrée aux traitements. C’est le diagramme pivot de l’ensemble de la modélisation d’un système.  Diagramme d’objet – Le diagramme d’objet permet la représentation d’instances des classes et des liens entre instances. 27
  • 28. 2.1- Les diagrammes structurels   Diagramme de composant (modifié dans UML 2) – Ce diagramme représente les différents constituants du logiciel au niveau de l’implémentation d’un système.  Diagramme de déploiement (modifié dans UML 2) – Ce diagramme décrit l’architecture technique d’un système avec une vue centrée sur la répartition des composants dans la configuration d’exploitation.  Diagramme de paquetage (nouveau dans UML 2) – Ce diagramme donne une vue d’ensemble du système structuré en paquetage. Chaque paquetage représente un ensemble homogène d’éléments du système (classes, composants…). 28
  • 29. 2.1- Les diagrammes structurels   Diagramme de structure composite: ce diagramme permet de décrire la structure interne d’un ensemble complexe composé par exemple de classes ou d’objets et de composants techniques.  Ce diagramme met aussi l’accent sur les liens entre les sous-ensembles qui collaborent. 29
  • 30. 2.2- Les diagrammes comportementaux   Ces diagrammes représentent la partie dynamique d’un système réagissant aux événements et permettant de produire les résultats attendus par les utilisateurs. Sept diagrammes sont proposés par UML :  Diagramme des cas d’utilisation – Ce diagramme est destiné à représenter les besoins des utilisateurs par rapport au système. Il constitue un des diagrammes les plus structurants dans l’analyse d’un système. 30
  • 31. 2.2- Les diagrammes comportementaux   – Diagramme d’état-transition (machine d’état) – Ce diagramme montre les différents états des objets en réaction aux événements.  – Diagramme d’activités (modifié dans UML 2) – Ce diagramme donne une vision des enchaînements des activités propres à une opération ou à un cas d’utilisation. Il permet aussi de représenter les flots de contrôle et les flots de données. 31
  • 32. 2.2- Les diagrammes comportementaux   – Diagramme de séquence (modifié dans UML 2) – Ce diagramme permet de décrire les scénarios de chaque cas d’utilisation en mettant l’accent sur la chronologie des opérations en interaction avec les objets.  – Diagramme de communication (anciennement appelé collaboration) – Ce diagramme est une autre représentation des scénarios des cas d’utilisation qui met plus l’accent sur les objets et les messages échangés. 32
  • 33. 2.2- Les diagrammes comportementaux   – Diagramme global d’interaction (nouveau dans UML 2) – Ce diagramme fournit une vue générale des interactions décrites dans le diagramme de séquence et des flots de contrôle décrits dans le diagramme d’activités.  – Diagramme de temps (nouveau dans UML 2) – Ce diagramme permet de représenter les états et les interactions d’objets dans un contexte où le temps a une forte influence sur le comportement du système à gérer. 33
  • 34. FIN  Merci pour votre attention!!!! Vos questions SVP… Prof: M. DIALLO Boubacar Tel: 664 26 55 51 / 620 26 90 98 E-mail: hamanah08@yahoo.fr 34