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/08/22 15:28] – ↷ Page déplacée de concept:poo à doc:poo 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.1503408502.txt.gz · Dernière modification : de root
