WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et réalisation d'une application web de la gestion de recrutement militaire pour le cas de la FARDC.

( Télécharger le fichier original )
par Tathy Ngongo lotho
Institut superieur de statistique - licencie en informatique de gestion 2015
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

I.3.3. Historique de l'UML

Par rapport à la cinquantaine de méthodes d'analyse et de conception objet qui existaient au début des années 90, seulement trois d'entre elles se sont détachées nettement au bout de quelques années. En effet, la volonté de converger vers une méthode unifiée était déjà bien réelle et c'est pour cette raison que les méthodes OMT, BOOCH et OOSE se sont démarquées des autres.

OMT (Object Modeling Technique) de James Rumbaugh et BOOCH de GradyBooch ont été les deux méthodes les plus diffusées en France et partout ailleurs durant les années 90. Par ailleurs, OOSE de Ivar Jacobson s'est aussi imposée dans le monde objet pour la partie formalisation des besoins.

Pour aller plus loin dans le rapprochement, James Rumbaugh et GradyBooch se sont retrouvés au sein de la société Rational Software et ont été ensuite rejoints par Ivar Jacobson en se donnant comme objectif de fusionner leurs méthodes et créer UML (UnifiedMethodeLanguage).

Il est important de noter que contrairement à ce qui avait été envisagé au départ, le processus de développement a été sorti du champ couvert par le projet de norme. UML est donc une norme du langage de modélisation objet qui a été publiée, dans sa première version, en novembre 1997 par l'OMG (Object Management Group), instance de normalisation internationale du domaine de l'objet.

En quelques années, UML s'est imposée comme standard à utiliser en tant que langage de modélisation objet. Aujourd'hui, au milieu de la deuxième décennie des années 2000, nous avons déjà une dizaine d'années de recul sur l'enseignement et la pratique d'UML en entreprise.

Note : Une note correspond à un commentaire explicatif d'un élément d'UML.

- 15 -

I.3.4. Présentation d'UML

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 de ces diagrammes dont nous parlerons plus tard. 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. Les principaux éléments généraux d'UML que nous présentons sont : le stéréotype, la valeur marquée, la note, la contrainte, et la relation de dépendance.

En outre UML propose un méta-modèle de tous les concepts et notations associées utilisés dans les treize diagrammes de ce langage de modélisation.

Méta-modèle : Le langage de modélisation UML respecte un certain nombre de règles sur les concepts manipulés (classes, attributs, opérations, paquetages, ...) ainsi que sur la syntaxe d'écriture et le formalisme de représentation graphique. L'ensemble de ces règles constitue en soi un langage de modélisation qui a fait l'objet d'un méta-modèle UML. L'intérêt de disposer d'un méta-modèle UML permet de bien maîtriser la structure d'UML et de faciliter son évolution.

Stéréotype : Un stéréotype constitue un moyen de classer les éléments de la modélisation. Un certain nombre de stéréotypes sont déjà définis dans UML, mais d'autres valeurs de stéréotypes peuvent être ajoutées si cela est nécessaire soit à l'évolution générale d'UML, soit à la prise en compte de situations particulières propres aux entreprises. Les stéréotypes peuvent s'appliquer à n' importe quel concept d'UML. Nous nous utiliserons dans ce travail un certain nombre d'entre eux que nous présenterons au niveau des diagrammes lorsque leur utilisation nous paraîtra pertinente.

Valeur marquée : UML permet d'indiquer des valeurs particulières au niveau des éléments de modélisation et en particulier pour les attributs de classe. Une valeur marquée se définit au niveau méta-attribut.

15Joseph Gabay& David Gabay, UML 2. ANALYSE ET CONCEPTION, Mise en oeuvre avec étude de cas, édition DUNOD, Paris, 2008, page 17

- 16 -

Contrainte : Une contrainte est une note ayant une valeur sémantique particulière pour un élément de la modélisation. Une contrainte s'écrit entre accolades {}. Dans le cas où la contrainte concerne deux classes ou plus, celle-ci s'inscrit à l'intérieur d'une note.

a) UML 2

UML se définit comme un langage de modélisation graphique et textuel destiné à comprendre et décrire des besoins, spécifier et documenter des systèmes, esquisser des architectures logicielles, concevoir des solutions et communiquer des points de vue.

UML unifie à la fois les notations et les concepts orientés objet. Il ne s'agit pas d'une simple notation graphique, car les concepts transmis par un diagramme ont une sémantique précise et sont porteurs de sens au même titre que les mots d'un langage. UML unifie également les notations nécessaires aux différentes activités d'un processus de développement et offre, par ce biais, le moyen d'établir le suivi des décisions prises, depuis l'expression de besoins jusqu'au codage. Dans ce cadre, un concept appartenant aux exigences des utilisateurs projette sa réalité dans le modèle de conception et dans le codage.

Le fil tendu entre les différentes étapes de construction permet alors de remonter du code aux besoins et d'en comprendre les tenants et les aboutissants. En d'autres termes, on peut retrouver la nécessité d'un bloc de code en se référant à son origine dans le modèle des besoins.

b) Présentation générale des diagrammes

UML dans sa version 2 propose treize diagrammes qui peuvent être utilisés dans la description d'un système15. Ces diagrammes sont regroupés en deux grands ensembles. Avant de les voir, voyons d'abord quels sont les grands concepts qui permettront de mieux les comprendre.

1. Concept d'objet : Un objet représente une entité du monde réel(ou du monde virtuel pour les objets immatériels) qui se caractérise par un ensemble de propriétés (attributs), des états significatifs et un comportement. L'état d'un objet correspond aux valeurs de tous ses attributs à un instant donné. Les propriétés sont définies dans la classe d'appartenance de l'objet. Le comportement d'un objet est caractérisé par l'ensemble des opérations qu'il peut

- 17 -

exécuter en réaction aux messages provenant des autres objets. Les opérations sont définies dans la classe d'appartenance de l'objet.

2. Concept de classe : Une classe est l'abstraction d'un ensemble d'objets qui possèdent une structure identique (liste des attributs) et un même comportement (liste des opérations). Un objet est une instance d'une et une seule classe. Une classe abstraite est une classe qui n'a pas d'instance. Les concepts de classe et d'objet sont interdépendants. Nous ne pouvons passer sans parler des concepts d'attribut et d'opération.

3. Unattribut : est une propriété élémentaire d'une classe. Pour chaque objet d'une classe, l'attribut prend une valeur (sauf cas d'attributs multi values).

4. uneopération : est une fonction applicable aux objets d'une classe. Une opération permet de décrire le comportement d'un objet. Une méthode est l'implémentation d'une opération.

En voici une illustration

5. Concept d'association et d'agrégation de classes : L'association représente une relation entre plusieurs classes. Elle correspond à l'abstraction des liens qui existent entre les objets dans le monde réel. Les multiplicités (ou cardinalités) et les rôles des objets participant aux relations complètent la description d'une association. L'agrégation est une forme particulière d'association entre plusieurs classes. Elle exprime le fait qu'une classe est composée d'une ou plusieurs autres classes. La relation composant-composé ou la relation structurelle représentant l'organigramme d'une entreprise sont des exemples types de la relation d'agrégation.

6. Concept de généralisation et spécialisation de classes : La généralisation de classes consiste à factoriser dans une classe, appelée superclasse, les attributs et/ou opérations des classes considérées. Appliquée à l'ensemble des classes, elle permet de réaliser une hiérarchie des classes. La spécialisation représente la démarche inverse de la généralisation puisqu'elle consiste à créer à partir d'une classe, plusieurs classes spécialisées. Chaque nouvelle classe créée est dite spécialisée puisqu'elle comporte en plus des attributs ou

- 18 -

opérations de la superclasse (disponibles par héritage) des attributs ou opérations qui lui sont propres. Une classe spécialisée porte aussi le nom de sous-classe. La spécialisation de classe se construit en deux temps : d'abord par héritage des opérations et des attributs d'une superclasse et ensuite par ajout d'opérations et/ou d'attributs spécifiques à la sous-classe. La généralisation-spécialisation est un des mécanismes les plus importants de l'approche objet qui facilite la réutilisation des classes.

7. Concept de polymorphisme : Le polymorphisme est la capacité donnée à une même opération de s'exécuter différemment suivant le contexte de la classe où elle se trouve

8. Concept de persistance : La persistance est la propriété donnée à un objet de continuer à exister après la fin de l'exécution du programme qui l'a créé.

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.

· 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...).

· Diagramme de structure composite (nouveau dans UML 2) : 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.

- 19 -

2. Les diagrammes de comportement ; 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. La description textuelle d'un cas d'utilisation est articulée en six points : y' Objectif : Décrire succinctement le contexte et les résultats attendus du cas d'utilisation.

y' Acteurs concernés : Le ou les acteurs concernés par le cas doivent être identifiés en précisant globalement leur rôle.

y' Pré conditions : Si certaines conditions particulières sont requises avant

l'exécution du cas, elles sont à exprimer à ce niveau.

y' Post-conditions : Par symétrie, si certaines conditions particulières doivent être réunies après l'exécution du cas, elles sont à exprimer à ce niveau. Pour notre part, par souci de simplification nous n'avons pas traité ce point dans les exercices et études de cas présentés.

y' Scénario nominal : Il s'agit là du scénario principal qui doit se dérouler sans incident et qui permet d'aboutir au résultat souhaité.

y' Scénarios alternatifs : Les autres scénarios, secondaires ou qui correspondent à la résolution d'anomalies, sont à décrire à ce niveau.

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

? 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 (autrefois 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.

16 FABRICE JOUANOT, Base de données et processus d'information, Ed.Aile des Sciences de l'ingénieur, p.8 17fr.wikipedia.org/wiki/Système_de_gestion_de_base_de_données

- 20 -

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

Aujourd'hui UML 2 décrit les concepts et le formalisme de ces treize diagrammes mais ne propose pas de démarche de construction couvrant l'analyse et la conception d'un système. Ce qui a pour conséquence par exemple de ne pas disposer d'une vision des interactions entre les diagrammes.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il existe une chose plus puissante que toutes les armées du monde, c'est une idée dont l'heure est venue"   Victor Hugo