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