doc:poo
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
doc:poo [2017/09/09 01:26] – ↷ Liens modifiés en raison d'un déplacement. root | doc:poo [2020/05/11 00:24] (Version actuelle) – Suppression de la taille par défaut pour les images root | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
Une interface est un contrat qui définit un ensemble de méthodes. Les classes qui implémenteront cette interface devront au minimum implémenter ces méthodes. | Une interface est un contrat qui définit un ensemble de méthodes. Les classes qui implémenteront cette interface devront au minimum implémenter ces méthodes. | ||
- | {{:concept: | + | Les interfaces peuvent servirent dans plusieurs cas : |
+ | * Forcer un groupe de classes à implémenter au minimum certaines méthodes. L' | ||
+ | * Permettre de développer une fonctionnalité utilisant l' | ||
+ | * Faciliter l' | ||
+ | * "Les composants sont visibles des autres composants exclusivement à travers des interfaces" | ||
+ | |||
+ | {{doc: | ||
====Abstraction==== | ====Abstraction==== | ||
Représenter la réalité comme étant un objet. | Représenter la réalité comme étant un objet. | ||
- | En pratique cela consiste à définir des méthodes | + | En pratique cela consiste à définir des méthodes dans une classe. Les méthodes peuvent être déjà implémentées ou alors également laissées abstraites pour forcer le développeur à les implémenter ultérieurement. |
====Encapsulation==== | ====Encapsulation==== | ||
L' | L' | ||
- | {{:concept: | + | {{doc: |
- | [[http:// | + | [[http:// |
+ | * Partage de données | ||
+ | < | ||
====Héritage==== | ====Héritage==== | ||
L' | L' | ||
- | {{:concept: | + | {{doc: |
- | [[http:// | + | [[https:// |
====Polymorphisme / redéfinition==== | ====Polymorphisme / redéfinition==== | ||
Le polymorphisme est donc la capacité du système à choisir la méthode qui correspond au type réel de l' | Le polymorphisme est donc la capacité du système à choisir la méthode qui correspond au type réel de l' | ||
- | {{:concept: | + | {{doc: |
- | <note important> | + | <WRAP center round important |
+ | La méthode appelée variera si sa définition est virtuelle ou non. | ||
+ | </WRAP> | ||
====Surcharge==== | ====Surcharge==== | ||
Ligne 39: | Ligne 49: | ||
Exemple : une classe homme est composée avec une classe cœur. | Exemple : une classe homme est composée avec une classe cœur. | ||
- | {{:concept: | + | {{doc: |
====Agrégation==== | ====Agrégation==== | ||
Ligne 46: | Ligne 56: | ||
Exemple : une classe bibliothèque est agrégé avec une classe livre. | Exemple : une classe bibliothèque est agrégé avec une classe livre. | ||
- | {{:concept: | + | {{doc: |
====Association==== | ====Association==== | ||
Ligne 52: | Ligne 62: | ||
Exemple : étudiant et professeur. Même s'il existe dans la réalité une notion de hiérarchie, | Exemple : étudiant et professeur. Même s'il existe dans la réalité une notion de hiérarchie, | ||
- | [[http:// | + | [[https:// |
- | + | ||
- | =====SysML===== | + | |
- | SysML est à UML ce que NoSQL est à SQL. On passe d'une approche document à une approche modèle. | + | |
- | + | ||
- | Modélisation intégrée : il faut adresser tous les aspects | + | |
- | + | ||
- | On commence par modéliser la couche la plus haute (le niveau opérationnel) et on descend jusqu' | + | |
- | * Opérationnel : boite noire qui rend des services, des cas d' | + | |
- | * Système : architecture : | + | |
- | * Connecteur : respect des spécifications. | + | |
- | + | ||
- | Langage graphique. | + | |
- | + | ||
- | Supporte la spécification, | + | |
- | + | ||
- | SysML contient une bonne partie de UML2 plus des extensions : blocs, item flow, value properties, allocations, | + | |
- | + | ||
- | Un bloc peut contenir des (une rubrique dans chaque case de l'UML) : | + | |
- | * propriétés : valeurs (avec type, unité, dimension, probabilité/précision), | + | |
- | * opérations : méthodes, | + | |
- | * contraintes, | + | |
- | * allocations : lien (mapping) de/vers d' | + | |
- | * comportementale : fonction vers un constituant/composant, | + | |
- | * structurelle : élément logique vers élément physique. logiciel -> oracle, | + | |
- | * logiciel vers matériel. | + | |
- | * allocation explicite avec des couloirs d' | + | |
- | * exigences, | + | |
- | * comportements : définis par l' | + | |
- | + | ||
- | Les ports : | + | |
- | * Ils sont points d' | + | |
- | * Ils ont un nom et un type. | + | |
- | * Deux catégories : | + | |
- | * port standard (UML, définit des services/API/etc requis ou fourni), | + | |
- | * Flow port, flux continu (définit ce qui transite par le port). | + | |
- | * Délégation de ports : proposer une interface/ | + | |
- | Type de diagrammes : | ||
- | * Diagrammes de structure (structure diagrams) (UML 2) : | ||
- | * Diagramme de structure composite (block definition diagram BDD) (UML 2 modifié) : peut se définir comme une classe avec un stéréotype bloc. Renseigne de quoi est fait le système physique (les composants, les logiciels, l' | ||
- | * Diagramme de structure composite (internal block diagram IBD) (UML 2 modifié) : définit les propriétés d'un bloc et indique les interactions via des connecteurs entre les composants (diagramme interne). Les flèches indiquent l' | ||
- | * Diagramme des paquets (package diagram) (UML 2) : c'est une sorte de répertoire. Classement au choix : par phase de projet, par sous-système. Possibilité de regrouper les paquets dans des vues. | ||
- | * Diagramme de comportement (behavior diagram) (UML 2) : description des activités. | ||
- | * Diagramme d' | ||
- | * verbaliser les actions, analyse fonctionnelle. | ||
- | * Effectue une liste contrôlée d' | ||
- | * Responsabilité va des séparations en " | ||
- | * Extension : Flux continus (courant électrique, | ||
- | * Une action peut être décrite comme une activité. | ||
- | * Une action prend une entrée fixe qui ne peut pas être modifiée durant l' | ||
- | * Type d' | ||
- | * atomique (call operation action), | ||
- | * complexe (call behavior action), détaillé dans un diagramme d' | ||
- | * réception d'un événement (accept event action), | ||
- | * émission d'un signal (send signal action). | ||
- | * Dessin : | ||
- | * Activité : rectangle à bords arrondis. | ||
- | * Pin In/Out : rectangle. | ||
- | * Sur le bord contour du diagramme s'ils sont des paramètres d' | ||
- | * Contre le bloc si la pin reste interne au diagramme. Possibilité de remplacer les 2 pin par un bloc. | ||
- | * Trait continu : transfert d' | ||
- | * Rond plein : début de l' | ||
- | * Rond plein avec auréole blanche : fin de l' | ||
- | * Rond blanche avec croix interne : fin de l' | ||
- | * Barre gras : dédoublement d'un jeton (fork) ou attente synchro jeton (seul le premier arrivé passe). | ||
- | * symbole de terre en électronique en haut à droite du rectangle action : activité décomposable. | ||
- | * cadre en pointillé à l' | ||
- | * Trait séparant tout le diagramme : couloir d' | ||
- | * Diagramme d' | ||
- | * Comportement d'un système et non d'un logiciel. | ||
- | * Opérateurs : ref (à un diagramme de séquence), opt + condition (optionnel), | ||
- | * Diagramme états-transitions (state machine diagram) (UML 2) : | ||
- | * représente le cycle de vie d'un bloc. | ||
- | * Les événements déclenchent la transition entre les blocs. Événement Change, time et signal. | ||
- | * Diagramme des cas d' | ||
- | | ||
- | * Diagramme d' | ||
- | * Stéréotype « Requirement » | ||
- | * À quoi répondre comme besoin : l' | ||
- | * Deux attributs : id + text (description). Les exigences systèmes se transforment en exigence sur les constituants. | ||
- | * Chaque exigence peut être composé d' | ||
- | * Relation de type : | ||
- | * DeriveReqt : relation de dépendance (puissance d'un moteur avec l' | ||
- | * Satisfy : un bloc doit satisfaire une exigence, | ||
- | * Verify, | ||
- | * Refine, | ||
- | * Trace, | ||
- | * Copy. | ||
- | * Diagramme paramétrique (parametric diagram PAR) (SysML) : indique quelles sont les paramètres nécessaires pour chaque équation. Simulink : permet de vérifier que les assert sont correct en fonction des paramètres d' | ||
doc/poo.1504913213.txt.gz · Dernière modification : 2017/09/09 01:26 de root