Téléverser un nouveau fichier

This commit is contained in:
hschindler 2018-03-09 16:00:22 +01:00
parent 11172bcd7f
commit 17c351edd2

222
Cours6.md Normal file
View file

@ -0,0 +1,222 @@
---
title: "Génie logiciel, Séance 6, Language UML"
author: [SCHINDLER Hugo]
date: \today
titlepage: true
...
\newpage
# I/Introduction
Orienté objet
Expression des besoins Puis spécification des besoins Puis conception
# II/ Diagremme de classe
## 1/ Les classes
Visibilité des éléments
- -privé
- +public
- $\#$protected
Schéma 1
## 2/ Associations entre classes
Schéma 2
Une personne travaille pour une entreprise
Une personne voit l'entreprise comme son employeur
L'entreprise voit une personne comme son employé
Une personne travaille pour une seule entreprise
Une entreprise employe une a plusieurs entreprises
- 1: exactement 1
- 1...* : un à plusieurs
- n: exactement n
- 0..1: 0 ou 1
- 0..*: 0 à plusieurs
Traduction d'une association en language JAVA
**Association 1 à 1**
Schéma 3
public class A {
private B Rb
public A() {
Rb=Numm;
}
public void setRb(B enRb){
Rb=enRb;
}
}
public class A {
private B Rb
public A() {
Rb=Numm;
}
public void setRb(B enRb){
Rb=enRb;
}
}
**Association 1 à plusieurs**
Schéma 4
Utilksation d'un tableau ou d'un vecteur pour association de plusieurs
**Navigabilité d'une asociation**
L'electeur sait pour qui il vote.
Le candidat ne sais pas les gens qui l'ont élu.
Schéma 5
**Agrégation**
forme particulière d'association
exprime un couplage plus fort entre classes
Schéma 6
Lorsqu'un livre possède une couverture, la couverture ne peut pas être partagée par d'autres livres.
Traduction en JAVA d'une agrégation = identique à l'association.
**Composition**
Agrégation forte
Schéma 7
Les pages sont physiquement dans le livre.
Lorsqu'on crée un objet de type Livre, on crée les objets de type Page (associé au livre)
**Traduction en language JAVA d'une relation de composition**
Schéma 8
**Exercice**
Schéma 9
**Les classes d'association**
Schéma 10
**Association d'une classe vers elle même**
Schéma 11
## 3/ La généralisation
**Relation d'héritage**
Schéma 12
Une relation de généralisation traduit une relation "est-un" ou "est une sorte de"
**Classe abstraite**
Forme {abstract}
Ecrire Forme en italique
association reflexive
**Interface**
Element de modélisation classe
Schéma 13
Stéréotype : notation du language UML qui permet de définir de nouveaux éléments de modélisation (à partir d'éléments existants)
## 4/ L'agrégation récursive
Schéma 14
**Conseils pratiques**
Génération du code JAVA automatiquement à partir du diagramme de classe.
**Pas besoin de définir l'attribut employe.entreprise**
Schéma 15
Code Java:
public class Person{
Entreprise employeur;
}
public class Entreprise{
Vector <Personne> employe;
}
# III/ Les diagrammes d'objets et de séquence
## 1/ Le diagramme d'objet
Cf diapo 29
## 2/ Le diagramme de séquence
Diagramme d'objet + message échangés entre les objets.
Cf diapo 31
Rappel : l'envoie d'un message d'un objet A vers un objet B se traduit lors de l'execution d'une méthode dans l'objet qui reçoit le message.
Exemple 2 : Montre le fonctionnement d'une calculatrice pour une opération 12+3=
Période d'activité des objets
**Structures de contrôles**
**Opérateur condtionnel:**
Schéma 16
alt : alternative
**Opérateur de boucle**
Schéma 17
loop : boucle
tant que la condition v==true est vérifié l'objet unA envoie le message "messageB" à l'objet unB.
**Constructeur/Destructeur**
Schéma 18
# IV/ Le diagramme d'états-transitions
Schéma 19
# V/ Le diagramme des cas d'utilisation
Schéma 20