Introduction. 1

Modélisation. 1

Modèle. 2

Abstraction. 2

Exemple. 2

Intérêt des modèles. 3

UML.. 3

Les diagrammes UML.. 4

Les éléments du modèle. 6

Comprendre UML. 6

 

 

 

Introduction

 

Le développement des systèmes logiciels est une compétence qui peut être apprise seulement par la pratique comme d’autres compétences telles que jouer au football, la natation…etc. pour acquérir ces compétences, la théorie seule ne suffit pas. C.à.d. connaitre par cœur le tout sur le football ne te rend pas un footballeur si tu ne pratique pas ce sport.  Pareil pour le développement des logiciels connaitre le tout sur le développement logiciel ne suffit pas si tu ne développes pas.

Modélisation

La modélisation est largement utilisée en ingénierie et en science pour représenter un système afin de le décrire, le comprendre, le simuler.

Les dessins sont souvent utilisés par Les architectes et les ingénieurs pour représenter (modéliser) une conception ou des constructions.

 ‘Modeling is the systematic representation of the relevant features of a product or a system from particular perspectives’.(asheraf )

Dans le domaine de génie logiciel et  Selon l’ Object Modeling Group (OMG), “modeling is the designing of software applications  before coding »

Les développeurs du logiciel utilisent aussi des digrammes pour modéliser un système logiciel.

Chaque modèle représente une partie de système ou un aspect de ce système (e.g., structure, comportement). Chaque modèle fournit une vue de système mais pas l’image complète du système.

Modèle

« A model is an abstraction of something for the purpose of understanding it before building

It » (Rambaught et blaha 2005).

Un modèle est une abstraction d’une réalité afin de la comprendre ou de la simuler.

Le modèle capture les aspects importants d’un système et ignore (abstraire) le reste.

Il peut être graphique, textuel, mathématique ou basé sur le code.

 

Abstraction

Le fait de ne considérer que les caractéristiques essentielles d’un objet d’étude  et d’écarter le reste. C’est un outil pour maitriser la complexité.

 Pour développer un système complexe, le développeur abstrait différents vues de système, construit des modèles en utilisant une notation précise, vérifie si les modèles sont valides par rapport aux  besoins et ajoute progressivement les détails pour les transformer en une implémentation. (Rambaught et blaha 2005)

 

Exemple

La personne omar et sa photo.

La photo (vue apparence)  est un modèle possible de la vie de Omar qui représente l’apparence de Omar et peut donner une idée sur son caractère.

Autres modèles possibles de la vie de omar  sont :

1.       

Omar amine

Date naissance :1-1-2014

Adresse : saida

Ecole : el ibrahimi

classe: 2AF

2.



L’arbre de la famille est un modèle graphique (diagramme) (vue famille) ne donne rien sur l’apparence mais des infos sur la famille de Omar les parents et les frères  et sa position parmi eux.

L’autre modèle est textuel est donne des info sur l’adresse, l’école ..etc. (vue étude).

 

Donc chaque modèle nous donne des infos sur un aspect de la vie de Omar et pour avoir une vue complète de la vie de Omar on doit utiliser toutes les infos existante dans tous ces modèles (peut être il est nécessaire  de voir aussi d’autres modèles).

Les modèles de la vie de Omar sont une abstraction de cette vie mettant accent sur certains aspects de Omar et écarte le reste des détails.

Intérêt des modèles

Les modèles sont construits afin de (Rumbaught et blaha 2005):

1.      Tester une entité physique avant de la construire

2.      Support de communication entre clients

3.      Visualisation

4.      Gérer la complexité

Les modèles sont construits et analysés avant l’implémentation et servent comme support pour la diriger.

Les modèles sont utilisés pour gérer la complexité et ils sont utilisés durant le développement du logiciel pour :

1.      Analyse

2.      Spécification

3.      Conception

4.      Visualisation

5.      Communication

6.      Test

7.      Compréhension

8.      Génération de code

9.      Réutilisation

10.  …etc

UML

Après la naissance de l’approche OO, plusieurs notations et méthodes d’analyse et conception OO sont apparues. UML a été développé comme un langage et une notation graphique standards (OMG) pour décrire les modèles OO.

The Unified Modeling Language (UML) est un langage de modélisation et une notation pour spécifier, développer, visualiser et documenter les modèles d’un système logiciel.

 

Il est le résultat    d’unification des notations proposées par   Booch ; Ivar jacobson et   Rumbaugh.



Fig 1 naissance et évolution d’UML (Jim arlow and ILa 2009)

UML n’est pas une méthode, mais il peut être utilisé avec toutes les méthodes d’analyse et conception OO (M A&C OO).

UML comme une notation standard est utilisé dans la majorité des méthodes modernes d’ A&C OO pour décrire les modèles de besoins, d’analyse et de conception.

Une bonne compréhension de système est généralement obtenue en étudiant   différents perspectives de ce système (multiples vues) (gomaa 2006). Par exemple Modèles des besoins, modèles statiques et modèles dynamiques du système

UML comme une notation graphique ( ensemble de diagrammes)  aide dans le développement , la compréhension, et la communication de ces vues.(gommaa 2011).

Les diagrammes UML

La modélisation d’un système est généralement effectué en modélisant différents vues  de ce système. Par exemple les constructions sont modélisés de différents point de vues (perspectives) : vue ventilation, vue électricité, vue lumière,etc.

UIML est formé d’un ensemble de digrammes pour capturer les différentes vues d’un système logiciel.

Chaque diagramme fournit une vue de système (représente une partie du modèle)

Ces digrammes capturent les 4+1 vues de l’architecture du système logiciel (krench)suivantes :

• User’s view (vue utilisateur) : définit les fonctionnalités offertes par le système de point de vue  ses utilisateurs.

• Structural view (structure) : définit les classes qui composent le système et les relations entre eux. Le model structurel est aussi appelé modèle statique parce que la structure est fixe dans le temps.

• Behavioral view (comportement) : représente comment les objets interagissent pour réaliser les fonctionnalités offertes par le logiciel.

• Implémentation view (implémentation) : capture les différents composants qui composent le logiciel et les relations entre eux.

• Environmental view (environnement) : représente comment les différent composants sont implémentés sur les unités matérielles .



La vue utilisateur spécifie ce que l’utilisateur attend du système et les 4 vues restantes spécifient comment réaliser ces attentes.

Ces 4+1 vues peuvent être vues selon 3 axes de modélisation (fig 2) :

Fonctionnel, statique et dynamique, (les diagrammes entre parenthèses portent moins de détails de les  autres).


Fig2 les trois axes classiques de modélisation

 

Note :

Note : les parties de cours qui suivent sont organisées selon ces trois axes de modélisation. Fonctionnel, statique et dynamique.

Les éléments du modèle

 

Un modèle est une collection des éléments de modèle liés entre eux. Ce sont les briques de base (atome) de la modélisation.

UML définit un ensemble large des éléments de modélisation tels que les classes, les opérations, les appels de fonction ..etc.

Un modèle est présenté sous forme d’un ensemble de diagrammes qui sont des représentations graphiques d’une collection des éléments de modèle. Les différents types de diagrammes présentent des informations différentes sur la structure ou le comportement des éléments de modèle qui montrent.

Chaque type de diagramme a des règles qui dictent quels sont les éléments de modèle  qui peuvent apparaitre dans ce type de diagramme et comment il  sont présentés.

Comprendre UML

1.       Il faut comprendre les différents types des éléments de  modèle et comment il peuvent être  utilisés dans les modèles UML.

2.       Connaitre les différents type de diagrammes et la relation existante entre la forme graphique des diagrammes  et l’élément de modèle qui représentent.

 

 


آخر تعديل: الأحد، 13 مارس 2022، 8:09 PM