Différences entre versions de « UML »

De Didaquest
Aller à la navigationAller à la recherche
 
(10 versions intermédiaires par le même utilisateur non affichées)
Ligne 235 : Ligne 235 :
 
<!-- ****************** Commercez les modifications **************************  -->
 
<!-- ****************** Commercez les modifications **************************  -->
  
*Difficultés d'enseignements rencontrées:
+
*'''Difficultés d'enseignements rencontrées:'''
  
 
:*Les étudiants veulent commencer à programmer sans avoir étudié le besoin des utilisateurs, et sans avoir fait une conception du logiciel en bonne et due forme.
 
:*Les étudiants veulent commencer à programmer sans avoir étudié le besoin des utilisateurs, et sans avoir fait une conception du logiciel en bonne et due forme.
  
Quand on fais la remarque, on reçois généralement des réponses du type :
+
:*Quand on fait la remarque, on reçoit généralement des réponses du type :
  
On n’est pas vraiment obligé de modéliser un logiciel que l’on doit réaliser.
+
  - On n’est pas vraiment obligé de modéliser un logiciel que l’on doit réaliser.
  
À quoi  modéliser le logiciel, puisqu'on sais exactement ce qu’il faut ?
+
  - À quoi  modéliser le logiciel, puisqu'on sais exactement ce qu’il faut ?
  
C’est une perte de temps. La réalisation de ce logiciel est urgente.
+
  - C’est une perte de temps. La réalisation de ce logiciel est urgente.
  
Etc.
 
  
la réponse  par une analogie:
 
 
 
Un logiciel qui a été réalisé sans analyse et sans conception (étapes où l’on modélise le futur logiciel) risque lui aussi de ne pas répondre aux besoins, de comporter des anomalies et d’être très difficile à maintenir.
 
 
la réalisation d’un logiciel ou d’un ensemble de logiciels a besoin d’un certain nombre de diagrammes.
 
 
Le temps que prend la modélisation ne devrait pas être un frein. Cette étape nous permet de ne pas perdre davantage de temps ultérieurement :
 
 
:*Pour « faire coller » un logiciel déjà développé aux besoins (qu’on n’avait pas étudié, ni compris) ;
 
 
:* Pour comprendre comment un logiciel a été créé avant d’y apporter des modifications. 
 
 
                                              
 
                                              
  
Ligne 275 : Ligne 262 :
  
  
* Les étudiants en informatique souhaitent préparer leurs projets logiciels avec UML, Ils souhaitent proposer une version visuelle de leurs projets et compréhensible de tous.
+
* '''Les étudiants en informatique souhaitent préparer leurs projets logiciels avec UML, Ils souhaitent proposer une version visuelle de leurs projets et compréhensible de tous.
 
+
'''
 
Pour ce faire:
 
Pour ce faire:
 
                                                
 
                                                
* Il faut présenter le langage UML et réaliser, avec les étudiants, les premières analyses de besoin d’un projet logiciel à partir d'un  
+
* '''Il faut présenter le langage UML et réaliser, avec les étudiants, les premières analyses de besoin d’un projet logiciel à partir d'un  
   exemple concret.  
+
   exemple concret.'''
 
   
 
   
* À la fin du cours, sera capable de réaliser ses premiers diagrammes définissant les éléments de base de son projet : le contexte, les utilisateurs, les actions et leur déroulement en adoptant les objectifs d'enseignement suivant:                                               
+
* '''Voici une réponse par une analogie pour les étudiants qui veulent commencer à programmer  sans avoir fait une conception du logiciel:'''
:*Maîtriser les bases de l'approche objet avec UML
+
 
:*Maîtriser les étapes d'analyse de besoin d'un projet informatique
+
Est-ce que ça vous viendrait à l’idée de laisser un maître d’œuvre commencer la construction d’une maison sans avoir préalablement fait réaliser des plans par un architecte ? La réponse est bien sûr que non, à moins que l’on veuille bien accepter une maison qui ne réponde pas à nos besoins, qui soit bancale ou qui le deviendrait dans peu de temps, et dans laquelle il serait difficile de faire des travaux faute de plans.
:*Sélectionner les diagrammes en fonction des besoins et contexte d'un projet
+
 
:*Identifier les besoins et contexte d'un projet informatique
+
Un logiciel qui a été réalisé sans analyse et sans conception  risque lui aussi de ne pas répondre aux besoins, de comporter des anomalies et d’être très difficile à maintenir.
:*Réaliser un diagramme de contexte en fonction d'un projet
+
 
:*Réaliser un diagramme de package en fonction d'un projet
+
Tout comme la construction d’une maison nécessite des plans à différents niveaux (vision extérieure, plan des différents étages, plans techniques…), la réalisation d’un logiciel ou d’un ensemble de logiciels a besoin d’un certain nombre de diagrammes.
:*Définir des cas d'utilisation
+
 
:*Décrire le scénario des cas d'utilisation à l'aide d'un diagramme d'activité
+
Cette étape de modélisation nous permet de ne pas perdre davantage de temps ultérieurement :
:*Réaliser la description textuelle d'un cas d'utilisation                                               
+
 
 +
    - Pour faire associer un logiciel déjà développé aux besoins (qu’on n’avait pas étudié, ni compris) ;
 +
 
 +
    - Pour comprendre comment un logiciel a été créé avant d’y apporter des modifications.
 +
 
 +
 
 +
                                         
  
 
}}<!-- ************************* Fin Astuces-Enseignement ********************** -->
 
}}<!-- ************************* Fin Astuces-Enseignement ********************** -->
Ligne 303 : Ligne 296 :
 
<!-- ****************** Commercez les modifications ************-->
 
<!-- ****************** Commercez les modifications ************-->
  
:* ..................
+
:* https://www.youtube.com/watch?v=dJd6azZr9Kg&list=PLRR7wjtXb1cBQCE8ddM0B1D9DFj-WL3BX
:* ..................
+
 
:* ..................
+
:* https://www.youtube.com/watch?v=VCMVJs5gi2Y
  
 
}}<!-- ************ Fin Liens Education ********************** -->
 
}}<!-- ************ Fin Liens Education ********************** -->
Ligne 321 : Ligne 314 :
 
* https://openclassrooms.com/fr/courses/2035826-debutez-lanalyse-logicielle-avec-uml/2035851-uml-c-est-quoi                                               
 
* https://openclassrooms.com/fr/courses/2035826-debutez-lanalyse-logicielle-avec-uml/2035851-uml-c-est-quoi                                               
 
* https://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet#L1-2-1
 
* https://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet#L1-2-1
 +
 
                                                
 
                                                
  

Version actuelle datée du 4 juin 2020 à 10:24


Autres Fiches Conceptuelles
Posez une Question


(+)

Target Icon.pngVotre Publicité sur le Réseau Target Icon.png

Puce-didaquest.png Traduction


More-didaquest.png Traductions


Puce-didaquest.png Définition

Domaine, Discipline, Thématique


More-didaquest.png Justification


Définition écrite



Blue-circle-target.png Caractéristiques Les principales caractéristiques d'UML sont:

  • UML est basé sur un méta-modèle

UML est un moyen d'exprimer des modèles objet en faisant abstraction de leur implémentation, c'est-à-dire que le modèle fourni par UML est valable pour n'importe quel langage de programmation. UML est un langage qui s'appuie sur un métamodèle, un modèle de plus haut niveau qui définit les éléments d'UML (les concepts utilisables) et leur sémantique (leur signification et leur mode d'utilisation).

Le métamodèle permet de se placer à un niveau d'abstraction supérieur car il est étudié pour être plus générique que le modèle qu'il permet de construire.

Le méta-modèle d'UML en fait un langage formel possèdant les caractéristiques suivantes :

-un langage sans ambiguités

-un langage universel pouvant servir de support pour tout langage orienté objet

-un moyen de définir la structure d'un programme

-une représentation visuelle permettant la communication entre les acteurs d'un même projet

-une notation graphique simple, compréhensible même par des non informaticiens


Le métamodèle permet de donner des bases solides et rigoureuses à ce langage graphique, dont les représentations graphiques ne sont là que pour véhiculer des concepts de réalisation.

  • UML comme visualisation complète d'un système

UML offre une manière élégante de représenter le système selon différentes vues complémentaires grâce aux diagrammes.

  • UML permet d'économiser de l'argent

Lorsqu'une entreprise désire un logiciel, elle le réalise parfois en interne, mais le fait plus généralement réaliser par une société de services.

Dans un cas comme dans l'autre il est nécessaire de définir l'ensemble des fonctionnalités que le logiciel doit possèder. Le demandeur du logiciel n'a parfois pas de compétences particulières en informatique et exprime donc ses souhaits sous forme d'un CdCF (Cahier des Charges Fonctionnelles), c'est-à-dire un document décrivant sous forme textuelle l'ensemble des particularités que le logiciel doit possèder, les conditions qu'il doit remplir (système(s) d'exploitation visé(s)), les écueils à éviter, ainsi que les délais impartis, éventuellement des clauses sur le coût, les langages à utiliser, ...

Le CdCF est ainsi distribué à différentes sociétés de services (dans le cas d'une sous-traitance) sous forme d'un appel d'offre, auquel les sociétés vont répondre par un coût, un délai, ...

Lorsqu'une société obtient le marché et qu'elle décide (si elle a le choix) d'opter pour un langage orienté objet, il lui faut dans un premier temps créer un modèle (c'est là qu'intervient UML) afin :

-de présenter au client la façon suivant laquelle elle compte développer le logiciel

-d'accorder tous les acteurs du projet (une application de grande envergure est généralement réalisée par modules développés par différentes équipes)

Ainsi, si le modèle ne convient pas au client, il sera "simple" à modifier, contrairement à une application directement implémentée (qui aurait mobilisé beaucoup plus de personnel, pendant une période plus longue), ce qui signifie une perte d'argent beaucoup moins importante pour la société de services, ainsi qu'une meilleure probabilité de rendre dans les temps (on parle généralement de dead line) une application conforme aux exigences du client (si l'application se conforme au modèle présenté au client, celui-ci peut difficilement contester la validité du logiciel).


More-didaquest.png UML - Historique (+)


Définition graphique




Puce-didaquest.png Concepts ou notions associés


More-didaquest.png UML - Glossaire / (+)



Puce-didaquest.png Exemples, applications, utilisations

  • UML, est conçu pour fournir une méthode normalisée pour visualiser la conception d'un système. Il est couramment utilisé en développement logiciel et en conception orientée objet.
  • UML n'étant pas une méthode, l'utilisation des diagrammes est laissée à l'appréciation de chacun. Le diagramme de classes est généralement considéré comme l'élément central d'UML. Des méthodes, telles que le processus unifié proposé par les créateurs originels de UML, utilisent plus systématiquement l'ensemble des diagrammes et axent l'analyse sur les cas d'utilisation (« use case ») pour développer par itérations successives un modèle d'analyse, un modèle de conception, et d'autres modèles. D'autres approches se contentent de modéliser seulement partiellement un système, par exemple certaines parties critiques qui sont difficiles à déduire du code.
  • Une façon de mettre en œuvre UML est de considérer différentes vues qui peuvent se superposer pour collaborer à la définition du système: 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.
  • UML et les diagrammes d'UML sont utilisés par deux types de vue : D'un point de vue statique ou structurelle du domaine avec les diagrammes de structure (Structure Diagrams). D'un point de vue dynamique avec les diagrammes de comportement (Behavior Diagrams) et les diagrammes d’interactions (Interaction Diagrams).
  • UML est utilisé par les méthodes agiles ( comme Scrum) par le principe agile suivant: l'utilisation de modèles UML à des fins de documentation doit être restreinte au strict nécessaire, les méthodes agiles mettant plus l'accent sur la production rapide de code opérationnel que sur la documentation et minimisant donc la modélisation en amont: Les modèles UML utilisés par les méthodes agiles ne sont pas forcément à conserver et maintenir. Une fois qu'ils ont atteint leur but, on peut les jeter.
  • Par contre l'approche Model-Driven, préconisée par l'OMG, s'appuie sur une modélisation UML très poussée visant à une génération automatique de code quasi-complète.

(+)


Puce-didaquest.png Erreurs ou confusions éventuelles



Puce-didaquest.png Questions possibles



Puce-didaquest.png Liaisons enseignements et programmes

Idées ou Réflexions liées à son enseignement



Aides et astuces



Education: Autres liens, sites ou portails




Puce-didaquest.png Bibliographie