![](/images/livres.gif)
python
21 livres et 23 critiques, dernière mise à jour le 6 juin 2024 , note moyenne : 4.1
- UML 2.5 - Initiation, exemples et exercices corrigés
- Modélisation Conceptuelle de Données - Une Démarche Pragmatique
- Uml2 Pour L'analyse D'un Système D'information - Le Cahier Des Charges Du Maître D'ouvrage
- UML et les Design patterns
- La programmation orientée objet - cours et exercices en UML 2 avec Java 6, C#4, C++, Python, PHP 5 et LinQ
- La programmation orientée objet - cours et exercices en UML 2 avec Java 6, C#4, C++, Python, PHP 5 et LinQ
- La programmation orientée objet - cours et exercices en UML 2 avec Java 6, C#4, C++, Python, PHP 5 et LinQ
- La programmation orientée objet - cours et exercices en UML 2 avec Java 6, C#4, C++, Python, PHP 5 et LinQ
- La programmation orientée objet - cours et exercices en UML 2 avec Java 6, C#4, C++, Python, PHP 5 et LinQ
- CMMI - Un itinéraire fléché vers le Capability Matury Model Intregration
- UML 2 Analyse et Conception - Mise en œuvre guidée avec études de cas
- UML 2 - de l'apprentissage à la pratique
- UML 2 - Maîtrisez le langage de modélisation
- UML 2 par la pratique : Etudes de cas et exercices corrigés
- L'orienté objet
- MDA en action - Ingénierie logicielle guidée par les modèles
- Introduction à UML
- UML 2 - Modéliser une application web
- UML 2 en concentré - Manuel de référence
- UML 2 en action - De l'analyse des besoins à la conception J2EE
- UML 2 - Modélisation des objets
- UML 2 pour les développeurs - Cours et exercices corrigés
- UML 2 pour les bases de données
- UML 2 et les Design patterns
- Rédiger des cas d'utilisation efficaces
![couverture du livre UML 2.5](https://m.media-amazon.com/images/I/81W7GAJzYzL._SY466_.jpg)
![Note 3](https://www.developpez.com/template/kit/kitstars-3-0.gif)
![Langue drapeau](https://www.developpez.com/template/kit/kitlivrefr.png)
UML 2.5
Initiation, exemples et exercices corrigés
Résumé de l'éditeur
Vous découvrirez, étape par étape, les éléments de modélisation à partir d’exemples pédagogiques. Après une introduction à l'approche par objets, cet ouvrage introduit les différents diagrammes d'UML 2.5 depuis la description des exigences par les cas d'utilisation jusqu'au diagramme de profil en passant par les diagrammes d'interaction, de classes, de structure composite, d'états transitions, d'activités et de composants. Vous apprendrez comment les diagrammes d'interaction peuvent être utilisés pour découvrir les objets composant le système. Cette nouvelle édition du livre enrichit la description de nombreux diagrammes et introduit notamment les classes et paquetages template ainsi que la relation de fusion des paquetages.
Édition : ENI - 330 pages, 4e édition, 11 mai 2016
ISBN10 : 2409001009 - ISBN13 : 9782409001000
17,8 cm x 21,6 cm ; 500 g ; couleur
- Introduction
- À propos d’UML
- Les concepts de l’approche par objets
- La modélisation des exigences
- La modélisation de la dynamique
- La modélisation des objets
- La structuration des éléments de modélisation
- La modélisation du cycle de vie des objets
- La modélisation des activités
- La modélisation de l’architecture du système
- Les profils
- Annexe 1 : L’architecture MDA : l’outil DB-MAIN
- Annexe 2 : Correction des exercices
- Annexe 3 : Glossaire
- Annexe 4 : Lexique
- Annexe 5 : Notation graphique
- Annexe 6 : Bibliographie
Pour traiter d’une matière aussi complexe, certains livres privilégient l’apprentissage par la pratique, souvent au détriment de la théorie.
Cet ouvrage-ci a adopté la démarche inverse. Les exercices sont réduits au strict minimum. Ces derniers, ainsi que les exemples qui jalonnent les chapitres, sont presque tous en rapport avec l’univers du cheval (un clin d’œil à la passion assumée de la co-autrice), démontrant ainsi l’universalité de la méthode, mais éloignant sans doute le lecteur des cas concrets rencontrés au quotidien par un informaticien ! (chapitre 1, paragraphe 2.)
En revanche, la notation proprement dite est exposée de manière assez complète, bien que les aspects les plus avancés (OCL) ou les sujets périphériques (processus unifié) ne soient que simplement évoqués.
Le style de l’ouvrage, très synthétique et quelque peu austère, rend ce dernier difficilement accessible à un lecteur débutant, fût-il particulièrement motivé. Allié à d’indéniables qualités de rigueur et de précision, il fera de ce livre, au contraire, un excellent manuel de référence à destination des lecteurs ayant déjà acquis de bonnes bases en UML.
La pérennité d’un programme informatique dépend autant d’une bonne conception que d’une documentation complète et compréhensible aussi bien aux développeurs qu’aux non-informaticiens partie prenante au projet.
Accompagnant, dès les années 1980, l’important développement, dans le monde informatique, de la programmation orientée objet (POO), plusieurs notations ont cherché à représenter graphiquement les nouveaux concepts introduits par cette dernière. Résultant de la mise en commun des innovations sémantiques de trois d’entre elles, la notation – qualifiée, pour cette raison, d’« unifiée » (chap. 1 §1) – UML (Unified Modeling Language) voit le jour, dans sa version 1.0, en 1997.
La devise affirmant que « l’union fait la force » ne sera pas démentie puisqu’après cette collaboration initiale, les trois co-auteurs d’UML, en confiant la destinée de leur création commune aux 800 entreprises et universités constituant l’OMG (Object Management Group), permettent à UML de s’imposer face aux notations concurrentes.
Promise à un long avenir, elle connaîtra, avec sa version 2.0 publiée en 2005, une première évolution majeure ; la version 2.5, éditée dix ans plus tard et apportant notamment des améliorations dans la prise en compte de l’héritage, fait l’objet du livre ici critiqué (chap. 2 §2).
La représentation graphique d’un système orienté objet
Dans une modélisation UML, un système orienté objet est décrit par différents diagrammes.
Parce que les classes sont la pierre angulaire de celui-ci, le diagramme de classes qui les représente est « central » et « le seul obligatoire lors d’une telle modélisation » (chap. 6 §1). En phase avec la POO, il en décrit l’essentiel des concepts, lesquels sont brièvement rappelés en début d’ouvrage (chap. 3). Si besoin est, des précisions y sont apportées par le biais d’un stéréotype (chap. 6 §6) ou d’un signe, par exemple pour spécifier l’encapsulation (chap. 6 §3).
Un ensemble de contraintes complète la relation d’héritage existant entre une surclasse et ses sous-classes (chap. 6 §5).
Les règles régissant l’instanciation, qu’il s’agisse de son absence, lorsqu’on s’intéresse à l’abstraction (chap. 6 §5), ou du lien unissant une classe et les objets qui en procèdent (chap. 6 §8) sont, dans les deux cas, précisées par un stéréotype.
La partie de la POO prise en charge par le diagramme de classes ne se limite pas au dénominateur commun à l’ensemble des langages de programmation ; elle s’étend aux spécificités de certains d’entre eux et se voit même enrichie de nouveaux concepts. L’héritage simple et l’abstraction trouvent ainsi leurs prolongements respectifs dans l’héritage multiple et l’interface (chap. 6 §5).
Le paquetage, implémenté par le langage Java et pris en compte dans l’encapsulation (chap. 6 §3), se voit accorder une importance particulière par UML qui lui consacre un diagramme spécifique justement nommé diagramme de paquetage (chap. 7).
Si les objets issus d’une même classe se distinguent par la valeur de leurs attributs (ou « propriétés »), l’attribut de classe et l’attribut calculé sont respectivement associés à une valeur et une formule que se partagent les instances d’une classe donnée (chap. 6 §3). La méthode de classe, quant à elle, se distingue de la méthode proprement dite en ceci qu’elle est appelée sur la classe plutôt que sur l’objet (chap. 6 §3).
Tout en transcrivant les principes de la POO, UML, sans doute dans un souci de cohérence, les applique pour son propre compte : de la même façon qu’un objet procède d’une classe, chaque élément de la notation UML dérive d’un concept apparenté et plus général. Ainsi, un scénario n’est rien d’autre qu’un cas d’utilisation où tous les acteurs ont été spécifiés (chap. 4 §4).
Moule commun aux notions les plus abstraites d’UML telles que les classes, les interfaces (chap. 11 §2) ou les types (chap. 6 §7), la métaclasse, définie dans le cadre du métamodèle (chap. 11 §1), demeure accessible au praticien qui peut, au sein d’un profil, l’étendre au moyen d’un stéréotype lié à cette dernière par une association d’extension (chap. 11 §2).
Un condensé d’UML
La modélisation que propose UML n’est pas seulement statique : le diagramme d’états-transitions (chap. 8) et le diagramme d’activités (chap. 9) décrivent le cycle de vie des objets, tandis que la façon dont ces derniers échangent prend la forme de messages représentés par un diagramme de séquence (chap. 5 §1 à 4).
La recherche des destinataires auxquels ils sont adressés est une voie importante vers la découverte de nouveaux objets (chap. 5 §6). Celle-ci est également rendue possible par la décomposition d’un objet complexe en objets élémentaires (chap. 6 §2 et 4).
Hormis ces deux méthodes, la mise en œuvre d’UML est illustrée par les exercices de fin de chapitre. Ces derniers sont cependant trop brefs et trop peu nombreux (12 au total) pour apporter au lecteur le complément pratique indispensable à un exposé aussi dense.
L’ouvrage propose, en effet, un large panorama de la notation UML : en présentant le diagramme de communication (chap. 5 §5) en regard du diagramme de séquence, il donne de la modélisation des interactions deux angles de vue distincts.
L’expression des contraintes en langage naturel ou à l’aide de mots clés trouve l’appui du langage OCL (Object Constraint Language) quand la complexité de ces dernières l’exige. Toutefois, cette composante de la notation UML ne se voit accorder dans le livre qu’un paragraphe introductif et un court exemple de mise en œuvre non détaillé (chap. 6 §4).
UML ne s’applique pas aux seuls constituants internes d’un système ; le diagramme de composants permet, en effet, de rendre compte des relations que ce dernier entretient avec le monde extérieur (chap. 10 §2).
Le processus unifié, quant à lui, étend l’usage d’UML à la modélisation de l’ensemble des étapes d’un projet informatique (chap. 2 §3).
La généricité dont UML fait ainsi preuve est due au fait qu’il est « indépendant des technologies » (chap. 2 §4).
La mission d’UML prend fin avec le diagramme de déploiement. En s’intéressant à l’architecture physique, ce dernier constitue, en effet, le dernier livrable avant l’implémentation (chap. 10 §3).
Le modèle MDA (Model-Driven Architecture) montre comment celle-ci peut être réalisée automatiquement grâce à la conversion d’un modèle d’objets ou PIM (Platform-Independent Model), tel qu’UML, en PSM (Platform-Specific Model) (chap. 2 §4). Un exemple concret en est donné avec la mise en œuvre de DB-MAIN dans la construction de bases de données relationnelles (Annexe 1).
![](/public/images/edit2.png)
Initiation, exemples et exercices corrigés
Vous découvrirez, étape par étape, les éléments de modélisation à partir d’exemples pédagogiques. Après une introduction à l'approche par objets, cet ouvrage introduit les différents diagrammes d'UML 2.5 depuis la description des exigences par les cas d'utilisation jusqu'au diagramme de profil en passant par les diagrammes d'interaction, de classes, de structure composite, d'états transitions, d'activités et de composants. Vous apprendrez comment les diagrammes d'interaction peuvent être utilisés pour découvrir les objets composant le système. Cette nouvelle édition du livre enrichit la description de nombreux diagrammes et introduit notamment les classes et paquetages template ainsi que la relation de fusion des paquetages.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
L’édition en question enrichit le chapitre intitulé « Les profils » dans la quatrième édition.
Les extraits des autres chapitres disponibles sur la fiche produit du livre montrent, en revanche, que ces derniers ont été réimprimés à l’identique à partir de la quatrième édition.
Par conséquent, ma critique du 23/05/2024 reste d’actualité et peut tout aussi bien s’appliquer à la dernière édition en date (soit, la cinquième).
![couverture du livre Modélisation Conceptuelle de Données](https://images-na.ssl-images-amazon.com/images/I/51quA8e4pFL._SX353_BO1,204,203,200_.jpg)
![Langue drapeau](https://www.developpez.com/template/kit/kitlivrefr.png)
Modélisation Conceptuelle de Données
Une Démarche Pragmatique
Résumé de l'éditeur
Bien au contraire, l’idée maîtresse est de proposer une démarche pédagogique la plus simple possible, permettant de réaliser des modèles conceptuels de données sans faire appel à de quelconques connaissances préalables, et en limitant les aspects théoriques à leur strict minimum.
Une approche concrète et pratique est privilégiée avec, en support, de nombreux schémas, illustrations et exercices corrigés.
Les modèles proposés dans cet ouvrage s’appuient essentiellement sur le formalisme entité-association, mais un chapitre entier est consacré aux diagrammes de classes UML, avec une mise en correspondance complète des deux formalismes.
Ce livre s’adresse aux étudiants de DUT, BTS, licences, masters, classes préparatoires, écoles d’ingénieurs, à leurs professeurs, ainsi qu’à tous les professionnels désireux d’adopter une approche conceptuelle simple et rigoureuse pour la modélisation de leurs bases de données.
Pour cela, une démarche pragmatique et progressive est développée en cinq étapes :
- Recensement des informations
- Bases de la modélisation
- Informatisation des modèles
- Modélisation avancée
- Etudes de cas complètes
Avec de nombreux exercices corrigés tout au long de l’ouvrage.
Patrick Bergougnoux est Professeur des Universités au Département Informatique de l’IUT de Toulouse III où il enseigne l’Analyse et la Conception des Systèmes d’Information ainsi que les Bases de Données.
En contact permanent avec le milieu professionnel, il a mené de nombreux projets opérationnels.
L’ensemble des modèles conceptuels de données proposés dans cet ouvrage ont été réalisés avec Looping, logiciel de modélisation gratuit et libre d’utilisation accessible sur http://www.looping-mcd.fr.
Tous les bénéfices des ventes de ce livre seront reversés à l'organisation humanitaire "ACTION CONTRE LA FAIM".
Édition : Bergougnoux Pat - 320 pages, 15 octobre 2019
ISBN10 : B07YTDY1LB - ISBN13 : 9791069930872
2,5 x 17 x 24 cm
- Analyse des flux d’information
- Modèle organisationnel de flux
- Dictionnaire des données
- Exercices de recensement
Bases de la modélisation
- Répartition en classes d’entités
- Association des classes d’entités
- Règles de cohérence des modèles
- Exercices de modélisation
Informatisation des modèles
- Mise en relation des tables
- Modèle logique de données
- Requêtes SQL de création de tables
- Reprise exercices avec MLD et SQL
Modélisation avancée
- Identifiant relatif
- Association n-aire
- Compléments de modélisation
- Diagramme de classes UML
Études de cas complètes
- Association sportive et culturelle
- Compagnie d’assurances
- Entreprise générale du bâtiment
- Société de services
![](/public/images/edit2.png)
Bien au contraire, l’idée maîtresse est de proposer une démarche pédagogique la plus simple possible, permettant de réaliser des modèles conceptuels de données sans faire appel à de quelconques connaissances préalables, et en limitant les aspects théoriques à leur strict minimum.
Une approche concrète et pratique est privilégiée avec, en support, de nombreux schémas, illustrations et exercices corrigés.
Les modèles proposés dans cet ouvrage s’appuient essentiellement sur le formalisme entité-association, mais un chapitre entier est consacré aux diagrammes de classes UML, avec une mise en correspondance complète des deux formalismes.
Ce livre s’adresse aux étudiants de DUT, BTS, licences, masters, classes préparatoires, écoles d’ingénieurs, à leurs professeurs, ainsi qu’à tous les professionnels désireux d’adopter une approche conceptuelle simple et rigoureuse pour la modélisation de leurs bases de données.
Pour cela, une démarche pragmatique et progressive est développée en cinq étapes :
- Recensement des informations
- Bases de la modélisation
- Informatisation des modèles
- Modélisation avancée
- Etudes de cas complètes
Avec de nombreux exercices corrigés tout au long de l’ouvrage.
Patrick Bergougnoux est Professeur des Universités au Département Informatique de l’IUT de Toulouse III où il enseigne l’Analyse et la Conception des Systèmes d’Information ainsi que les Bases de Données.
En contact permanent avec le milieu professionnel, il a mené de nombreux projets opérationnels.
L’ensemble des modèles conceptuels de données proposés dans cet ouvrage ont été réalisés avec Looping, logiciel de modélisation gratuit et libre d’utilisation accessible sur http://www.looping-mcd.fr.
Tous les bénéfices des ventes de ce livre seront reversés à l'organisation humanitaire "ACTION CONTRE LA FAIM".
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
![couverture du livre Uml2 Pour L'analyse D'un Système D'information](https://www.developpez.com/images/livres/1217.jpg)
![Langue drapeau](https://www.developpez.com/template/kit/kitlivrefr.png)
Uml2 Pour L'analyse D'un Système D'information
Le Cahier Des Charges Du Maître D'ouvrage
Résumé de l'éditeur
Édition : Dunod - 228 pages, 26 janvier 2006
ISBN10 : 2100520970 - ISBN13 : 9782100520978
UML pour les systèmes d'informations
Les concepts et les principes de base pour modéliser un système d'information
DESCRIPTION D'UML POUR L'ANALYSE D'UN SYSTEME D'INFORMATION
Les diagrammes UML
La démarche d'analyse du système d'information
MISE EN OEUVRE D'UML POUR L'ANALYSE D'UN SYSTEME D'INFORMATION
L'analyse du cas Gruyère SA
L'analyse du cas CARTEL
L'organisation de la documentation
![](/public/images/edit2.png)
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
UML et les Design patterns
Résumé de l'éditeur
Édition : Campus Press - 660 pages, 1re édition, 20 juillet 2003
ISBN10 : 2744016233 - ISBN13 : 9782744016233
Chap. II. Développement Itératif et Processus Unifié
Chap. III.Etude de Cas : Système NextGen
Chap. IV. Initialisation
Chap. V. Comprendre les besoins
Chap. VI. Modèle de Cas d'Utilisation : rédaction des spécifications dans un contexte
Chap. VII. Identification des autres besoins
Chap. VIII. De l'initialisation à l'élaboration
Chap. IX. Modèle de cas d'utilisation : création de DSS
Chap. X. Modèle du domaine : les concepts
Chap. XI. Modèle du domaine : les associations
Chap. XII. Modèle du domaine : les attributs
Chap. XIII. Les Contrats d'opération
Chap. XIV. Des besoins à la conception dans l'itération en cours
Chap. XV. Notation des diagrammes d'interaction
Chap. XVI. GRASP : conception objet et reponsabilités
Chap. XVII. Modèle de conception : réalisation des cas d'utilisation avec les patterns GRASP
Chap. XVIII. Déterminer la visibilité
Chap. XIX. Diagrammes de classes de conception
Chap. XX. Modèle d'implémentation
Chap. XXI. Itération 2 et ses exigences
Chap. XXII. GRASP : autres patterns
Chap. XXIII. Conception et patterns GoF
Chap. XXIV. Itération 3 et ses exigences
Chap. XXV. Mise en relation des cas d'utilisation
Chap. XXVI. Modélisation de la généralisation
Chap. XXVII. Affinement du Modèle du domaine
Chap. XXVIII. Nouveaux DSS et contrats
Chap. XXIX. Modélisation du comportement et diagrammes d'états-transitions
Chap. XXX. Conception de l'architecture logique avec des patterns
Chap. XXXI. Organisation des packages
Chap. XXXII. Introduction à l'analyse architecturale
Chap. XXXIII. Autes réalisations de cas d'utilisation avec des objets et des patterns
Chap. XXXIV. Conception d'un framework de persistance
Chap. XXXV. Dessin et outils
Chap. XXXVI. Introduction à la planification itérative et à la conduite de projets
Chap. XXXVII. Commentaires sur le développement itératif et UP
Chap. XXXVIII. Compléments sur la notation UML
Une étude de cas unique est suivie tout au long des chapitres et sert de référence pour chaque exemple. Néanmoins, il ne faut pas que le développeur s'attende à trouver une étude exhaustive de la notation UML ou des diagrammes ultra-complets, en effet, l'ouvrage s'attache essentiellement a présenter l'intérêt du recours à UML dans un cycle de développement itératif comme Unified Process. des analogies au RUP de Philipe kruchten ou XP sont également introduites. Côté Patterns, nous retrouvons les modèles de responsabilités (Pattern GRASP) et GoF (Gang Of Four).
On regrette cependant l'absence d'un CD avec des documentations ou des logiciels de modélisation UML en version d'évaluation (Together ou Rational), mais aussi que le titre ne reflète pas de façon adaptée le réel contenu de l'ouvrage.
![](/public/images/edit2.png)
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
La programmation orientée objet - cours et exercices en UML 2 avec Java 6, C#4, C++, Python, PHP 5 et LinQ
Résumé de l'éditeur
L'objet par la pratique avec Python, Java, C# et C++ et PHP 5... en UML 2
Cette cinquième édition de l'ouvrage L'orienté objet décortique l'ensemble des mécanismes de la programmation objet (classes et objets, interactions entre classes, envois de messages, encapsulation, héritage, polymorphisme, interface, multithreading, sauvegarde des objets, programmation distribuée, modélisation...) en les illustrant d'exemples empruntant aux technologies les plus populaires : Java et C#, C++, Python, PHP 5, UML 2, LinQ mais aussi les services web, Cobra, les bases de données objet, différentes manières de résoudre la mise en correspondance relationnel/objet dont le langage innovant de requête objet LinQ et enfin les design patterns. Chaque chapitre est introduit par un dialogue vivant, à la manière du maître et de l'élève et se complète de nombreux exercices en UML 2, Java, Python, PHP 5, C# et C++.
À qui s'adresse ce livre ?
Ce livre sera lu avec profit par tous les étudiants de disciplines informatiques liées à l'approche objet (programmation orientée objet, modélisation UML, Java, Python, PHP 5, C#/C++...) et pourra être utilisé par leurs enseignants comme matériel de cours. Il est également destiné à tous les développeurs qui souhaitent approfondir leur compréhension des concepts objet sous-jacents au langage qu'ils utilisent.
Édition : Eyrolles - 644 pages, 1er janvier 2011
ISBN10 : 2212128061 - ISBN13 : 9782212128062
- L'orientation objet en deux mots
- Objectifs de l'ouvrage
- Plan de l'ouvrage
- À qui s'adresse ce livre ?
Principes de base : quel objet pour l'informatique ?
- Le trio <entité, attribut, valeur>
- Stockage des objets en mémoire
- L'objet dans sa version passive
- L'objet dans sa version active
- Introduction à la notion de classe
- Des objets en interaction
- Des objets soumis à une hiérarchie
- Polymorphisme
- Héritage bien reçu
- Exercices
Un objet sans classe. n'a pas de classe
- Constitution d'une classe d'objets
- La classe comme module fonctionnel
- La classe comme garante de son bon usage
- La classe comme module opérationnel
- Un premier petit programme complet dans les cinq langages
- La classe et la logistique de développement
- Exercices
Du faire savoir au savoir-faire. du procédural à l'OO
- Objectif objet : les aventures de l'OO
- Mise en pratique
- Analyse
- Conception
- Impacts de l'orientation objet
Ici Londres : les objets parlent aux objets
- Envois de messages
- Association de classes
- Dépendance de classes
- Réaction en chaîne de messages
- Exercices
Collaboration entre classes
- Pour en finir avec la lutte des classes
- La compilation Java : effet domino
- En C#, en Python, PHP 5 et en C++
- De l'association unidirectionnelle à l'association bidirectionnelle
- Autoassociation
- Package et namespace
- Exercices
Méthodes ou messages ?
- Passage d'arguments prédéfinis dans les messages
- Passage d'argument objet dans les messages
- Une méthode est-elle d'office un message ?
- La mondialisation des messages
- Exercices
L'encapsulation des attributs
- Accès aux attributs d'un objet
- Encapsulation : pour quoi faire ?
- Exercices
Les classes et leur jardin secret
- Encapsulation des méthodes
- Les niveaux intermédiaires d'encapsulation
- Afin d'éviter l'effet papillon
- Exercices
Vie et mort des objets
- Question de mémoire
- C++ : le programmeur est le seul maître à bord
- En Java, C#, Python et PHP 5 : la chasse au gaspi
- Exercices
UML 2
- Diagrammes UML 2
- Représentation graphique standardisée
- Du tableau noir à l'ordinateur
- Programmer par cycles courts en superposant les diagrammes
- Diagrammes de classe et diagrammes de séquence
- Diagramme de classe
- Les bienfaits d'UML
- Diagramme de séquence
- Exercices
Héritage
- Comment regrouper les classes dans des superclasses
- Héritage des attributs
- Héritage ou composition ?
- Économiser en rajoutant des classes ?
- Héritage des méthodes
- La recherche des méthodes dans la hiérarchie
- Encapsulation protected
- Héritage et constructeurs
- Héritage public en C++
- Le multihéritage
- Exercices
Redéfinition des méthodes
- La redéfinition des méthodes
- Beaucoup de verbiage mais peu d'actes véritables
- Un match de football polymorphique
- Exercices
Abstraite, cette classe est sans objet
- De Canaletto à Turner
- Des classes sans objet
- Du principe de l'abstraction à l'abstraction syntaxique
- Un petit supplément de polymorphisme
- Exercices
Clonage, comparaison et assignation d'objets
- Introduction à la classe Object
- Décortiquons la classe Object
- Test d'égalité de deux objets
- Le clonage d'objets
- Égalité et clonage d'objets en Python
- Égalité et clonage d'objets en PHP 5
- Égalité, clonage et affectation d'objets en C++
- En C#, un cocktail de Java et de C++
- Exercices
Interfaces
- Interfaces : favoriser la décomposition et la stabilité
- Java, C# et PHP 5 : interface via l'héritage
- Les trois raisons d'être des interfaces
- Les Interfaces dans UML 2
- En C++ : fichiersh et fichierscpp
- Interfaces : du local à Internet
- Exercices
Distribution gratuite d'objets : pour services rendus sur le réseau
- Objets distribués sur le réseau : pourquoi ?
- RMI (Remote Method Invocation)
- Corba (Common Object Request Broker Architecture)
- Rajoutons un peu de flexibilité à tout cela
- Les services Web surNet
- Exercices
Multithreading
- Informatique séquentielle
- Multithreading
- Implémentation en Java
- Implémentation en C#
- Implémentation en Python
L'impact du multithreading sur les diagrammes de séquence UML - Du multithreading aux applications distribuées
- Des threads équirépartis
- Synchroniser les threads
- Exercices
Programmation événementielle
- Des objets qui s'observent
- En Java
- En C# : les délégués
- En Python : tout reste à faire
- Un feu de signalisation plus réaliste
- Exercices
Persistance d'objets
- Sauvegarder l'état entre deux exécutions
- Simple sauvegarde sur fichier
- Sauvegarder les objets sans les dénaturer : la sérialisation
- Les bases de données relationnelles
- Réservation de places de spectacles
- Les bases de données relationnelles-objet
- Les bases de données orientées objet
- Linq
- Exercices
Et si on faisait un petit flipper ?
- Généralités sur le flipper et les GUI
- Retour au Flipper
Les graphes
- Le monde regorge de réseaux
- Tout d'abord : juste un ensemble d'objets
- Liste liée
- La généricité en C++
- La généricité en Java
- Passons aux graphes
- Exercices
Petites chimie et biologie OO amusantes
- Pourquoi de la chimie OO ?
- Les diagrammes de classe du réacteur chimique
- Quelques résultats du simulateur
- La simulation immunologique en OO ?
Design patterns
- Introduction aux design patterns
- Les patterns « truc et ficelle »
- Les patterns qui se jettent à l'OO
Dès le premier exemple, on se plonge dans un environnement Java, sans que cela n'ait été introduit, sans donner vraiment d'explication sur la syntaxe - cela n'est pas vraiment nécessaire, le code est suffisamment documenté pour que la compréhension ne tarde pas. Ensuite sont présentés les différents langages, en s'axant sur leurs particularités syntaxiques, sur les points qui choquent en comparaison au Java. Il n'y a que le minimum qui est présenté, il ne faut pas prendre ce livre pour ce qu'il n'est pas : il introduit à la programmation orientée objet, il n'a pas pour vocation d'apprendre un langage.
C'est d'ailleurs sur ces langages que se portent mes seuls griefs à l'encontre de ce livre : les langages sont parfois fortement détournés pour suivre le discours de l'auteur. On montrera, par exemple, du code Python très peu pythonique, sans utilisation de décorateurs comme @staticmethod ou la définition d'autres constructeurs quand des arguments mots-clés peuvent être utilisés. Du côté C++, on voit, dans les premiers exemples, des directives #include pointées sur... des fichiers .cpp ! Il faut attendre le quinzième chapitre sur les interfaces pour voir l'existence de fichiers .h, ce qui permet de s'assurer de très mauvaises pratiques dans du code C++... Cela passe aussi pour une faiblesse du langage, qu'un utilisateur du C++ pourra faire passer pour une méconnaissance du langage. Passons le fait que le C++/CLI devient du Visual C++ .Net, nom qui n'est attesté sur le Web presque exclusivement comme les nouvelles versions de l'EDI de Microsoft pour le C++, partie de l'environnement plus complet Visual Studio, ainsi que le fait qu'il semble jusqu'au chapitre sur l'héritage que la seule raison de traiter le C++ est de pouvoir en dire tout le mal qu'on peut. Sans oublier que la STL est entièrement nonobstée et que l'on juge les complexités du C++ comme des écarts par rapport aux autres langages, alors qu'il en est l'aîné. On remarque aussi que le PHP est exclusivement utilisé en contexte Web, comme s'il était incapable de faire autre chose (sans oublier que le décorum HTML tout autour ne facilite pas la compréhension de l'exemple, en ajoutant un bon nombre de lignes parfaitement inutiles).
En conclusion de ce paragraphe, on dira que ce livre n'est absolument pas là pour apprendre un langage ou l'autre, ce n'est pas son but, il veut simplement apprendre les bases de la programmation orientée objet, en déclinant les concepts aux différents langages, en montrant leurs différences. Tous les concepts sont illustrés dans tous les langages, permettant ainsi de visualiser in situ les différences de pensée entre les concepteurs. Ces exemples, d'ailleurs, évoluent au fur et à mesure de la progression de la compréhension du lecteur : les premiers exemples sont fort didactiques, on finit dans les derniers chapitres à simuler les réactions chimiques ayant lieu dans un réacteur, on passe d'exemples simplistes à des exemples réalistes.
À un niveau plus général, on remarquera quelques fautes d'orthographe restées malgré les relectures, les schémas de mauvaise facture (réalisés probablement à l'aide d'un logiciel peu évolué tel que Paint), qui font vraiment tache à côté des schémas UML, ainsi que des captures d'écran sur des systèmes d'exploitation relativement préhistoriques (aux alentours de Windows Millenium).
Ce ne sont pas ces quelques défauts qui vont entacher le principal du livre. On appréciera notamment le large chapitre dédié à UML2, ainsi que les schémas UML utilisés bien avant leur formalisation pour aider à comprendre les principes. Des exercices terminent la grande majorité des chapitres, permettant au lecteur de vérifier qu'il a bien assimilé les concepts ; on regrettera de ne voir les solutions que sur le site de l'éditeur, pas dans une annexe au livre.
Il faut aussi remarquer que l'utilisation plus pratique de l'orienté objet est aussi couverte : ainsi, on parlera des méthodes pour la communication entre un client et un serveur à l'aide de RMI, de Corba et d'autres. Sera aussi discutée la sérialisation dans les divers langages, sans toutefois rentrer dans les détails, car ils deviennent plus spécifiques aux langages. On regrettera de ne pas voir ici la sérialisation selon boost pour le C++ ou la fonction serialize() de PHP : ces deux langages ne sont pas arriérés, ils permettent aussi la sérialisation, alors qu'aucune mention n'en est faite.
Des sujets plus pointus comme le multithreading sont aussi abordés : point noir de ce chapitre, C++ et PHP sont oubliés. Signaler qu'aucune méthode vraiment propre n'existe en PHP n'est pas un luxe, préciser l'existence d'une pléthore de possibilités en C++ est un minimum pour tout qui parle de multithreading et de C++ (il n'aurait pas été utile de développer le sujet, mais au moins d'indiquer dans quelle direction chercher si le besoin s'en fait sentir). Les autres langages jouissent d'une description des méthodes disponibles en standard pour obtenir une application multithreadée, en tenant compte de la problématique des accès concurrents.
En bref ? Un ouvrage plus qu'excellent, didactique, qui passe par tous les jalons, toutes les étapes, sans en oublier une, pour la programmation orientée objet. Que le lecteur soit débutant ou plus avancé, il trouvera dans ce livre de quoi apprendre ou se remettre à niveau. Par contre, prendre ce livre pour apprendre un langage n'est pas forcément la meilleure idée, ce n'est pas son objectif, les explications ne vont d'ailleurs pas en ce sens. Le style assez humoristique de l'auteur en fait un livre très facile à lire.
Vous avez lu ce livre ? Qu'en pensez-vous ?
![](/public/images/edit2.png)
Un excellent ouvrage sur les principes de la programmation orientée objet, une critique plus détaillée est disponible.
L'avez-vous lu ? Qu'en pensez-vous ?
Voir aussi les cours et tutoriels programmation Java : https://java.developpez.com/cours/ et les Cours et tutoriels pour apprendre UML et les cours Python.
La programmation orientée objet - cours et exercices en UML 2 avec Java 6, C#4, C++, Python, PHP 5 et LinQ
Résumé de l'éditeur
L'objet par la pratique avec Python, Java, C# et C++ et PHP 5... en UML 2
Cette cinquième édition de l'ouvrage L'orienté objet décortique l'ensemble des mécanismes de la programmation objet (classes et objets, interactions entre classes, envois de messages, encapsulation, héritage, polymorphisme, interface, multithreading, sauvegarde des objets, programmation distribuée, modélisation...) en les illustrant d'exemples empruntant aux technologies les plus populaires : Java et C#, C++, Python, PHP 5, UML 2, LinQ mais aussi les services web, Cobra, les bases de données objet, différentes manières de résoudre la mise en correspondance relationnel/objet dont le langage innovant de requête objet LinQ et enfin les design patterns. Chaque chapitre est introduit par un dialogue vivant, à la manière du maître et de l'élève et se complète de nombreux exercices en UML 2, Java, Python, PHP 5, C# et C++.
À qui s'adresse ce livre ?
Ce livre sera lu avec profit par tous les étudiants de disciplines informatiques liées à l'approche objet (programmation orientée objet, modélisation UML, Java, Python, PHP 5, C#/C++...) et pourra être utilisé par leurs enseignants comme matériel de cours. Il est également destiné à tous les développeurs qui souhaitent approfondir leur compréhension des concepts objet sous-jacents au langage qu'ils utilisent.
Édition : Eyrolles - 644 pages, 1er janvier 2011
ISBN10 : 2212128061 - ISBN13 : 9782212128062
- L'orientation objet en deux mots
- Objectifs de l'ouvrage
- Plan de l'ouvrage
- À qui s'adresse ce livre ?
Principes de base : quel objet pour l'informatique ?
- Le trio <entité, attribut, valeur>
- Stockage des objets en mémoire
- L'objet dans sa version passive
- L'objet dans sa version active
- Introduction à la notion de classe
- Des objets en interaction
- Des objets soumis à une hiérarchie
- Polymorphisme
- Héritage bien reçu
- Exercices
Un objet sans classe. n'a pas de classe
- Constitution d'une classe d'objets
- La classe comme module fonctionnel
- La classe comme garante de son bon usage
- La classe comme module opérationnel
- Un premier petit programme complet dans les cinq langages
- La classe et la logistique de développement
- Exercices
Du faire savoir au savoir-faire. du procédural à l'OO
- Objectif objet : les aventures de l'OO
- Mise en pratique
- Analyse
- Conception
- Impacts de l'orientation objet
Ici Londres : les objets parlent aux objets
- Envois de messages
- Association de classes
- Dépendance de classes
- Réaction en chaîne de messages
- Exercices
Collaboration entre classes
- Pour en finir avec la lutte des classes
- La compilation Java : effet domino
- En C#, en Python, PHP 5 et en C++
- De l'association unidirectionnelle à l'association bidirectionnelle
- Autoassociation
- Package et namespace
- Exercices
Méthodes ou messages ?
- Passage d'arguments prédéfinis dans les messages
- Passage d'argument objet dans les messages
- Une méthode est-elle d'office un message ?
- La mondialisation des messages
- Exercices
L'encapsulation des attributs
- Accès aux attributs d'un objet
- Encapsulation : pour quoi faire ?
- Exercices
Les classes et leur jardin secret
- Encapsulation des méthodes
- Les niveaux intermédiaires d'encapsulation
- Afin d'éviter l'effet papillon
- Exercices
Vie et mort des objets
- Question de mémoire
- C++ : le programmeur est le seul maître à bord
- En Java, C#, Python et PHP 5 : la chasse au gaspi
- Exercices
UML 2
- Diagrammes UML 2
- Représentation graphique standardisée
- Du tableau noir à l'ordinateur
- Programmer par cycles courts en superposant les diagrammes
- Diagrammes de classe et diagrammes de séquence
- Diagramme de classe
- Les bienfaits d'UML
- Diagramme de séquence
- Exercices
Héritage
- Comment regrouper les classes dans des superclasses
- Héritage des attributs
- Héritage ou composition ?
- Économiser en rajoutant des classes ?
- Héritage des méthodes
- La recherche des méthodes dans la hiérarchie
- Encapsulation protected
- Héritage et constructeurs
- Héritage public en C++
- Le multihéritage
- Exercices
Redéfinition des méthodes
- La redéfinition des méthodes
- Beaucoup de verbiage mais peu d'actes véritables
- Un match de football polymorphique
- Exercices
Abstraite, cette classe est sans objet
- De Canaletto à Turner
- Des classes sans objet
- Du principe de l'abstraction à l'abstraction syntaxique
- Un petit supplément de polymorphisme
- Exercices
Clonage, comparaison et assignation d'objets
- Introduction à la classe Object
- Décortiquons la classe Object
- Test d'égalité de deux objets
- Le clonage d'objets
- Égalité et clonage d'objets en Python
- Égalité et clonage d'objets en PHP 5
- Égalité, clonage et affectation d'objets en C++
- En C#, un cocktail de Java et de C++
- Exercices
Interfaces
- Interfaces : favoriser la décomposition et la stabilité
- Java, C# et PHP 5 : interface via l'héritage
- Les trois raisons d'être des interfaces
- Les Interfaces dans UML 2
- En C++ : fichiersh et fichierscpp
- Interfaces : du local à Internet
- Exercices
Distribution gratuite d'objets : pour services rendus sur le réseau
- Objets distribués sur le réseau : pourquoi ?
- RMI (Remote Method Invocation)
- Corba (Common Object Request Broker Architecture)
- Rajoutons un peu de flexibilité à tout cela
- Les services Web surNet
- Exercices
Multithreading
- Informatique séquentielle
- Multithreading
- Implémentation en Java
- Implémentation en C#
- Implémentation en Python
L'impact du multithreading sur les diagrammes de séquence UML - Du multithreading aux applications distribuées
- Des threads équirépartis
- Synchroniser les threads
- Exercices
Programmation événementielle
- Des objets qui s'observent
- En Java
- En C# : les délégués
- En Python : tout reste à faire
- Un feu de signalisation plus réaliste
- Exercices
Persistance d'objets
- Sauvegarder l'état entre deux exécutions
- Simple sauvegarde sur fichier
- Sauvegarder les objets sans les dénaturer : la sérialisation
- Les bases de données relationnelles
- Réservation de places de spectacles
- Les bases de données relationnelles-objet
- Les bases de données orientées objet
- Linq
- Exercices
Et si on faisait un petit flipper ?
- Généralités sur le flipper et les GUI
- Retour au Flipper
Les graphes
- Le monde regorge de réseaux
- Tout d'abord : juste un ensemble d'objets
- Liste liée
- La généricité en C++
- La généricité en Java
- Passons aux graphes
- Exercices
Petites chimie et biologie OO amusantes
- Pourquoi de la chimie OO ?
- Les diagrammes de classe du réacteur chimique
- Quelques résultats du simulateur
- La simulation immunologique en OO ?
Design patterns
- Introduction aux design patterns
- Les patterns « truc et ficelle »
- Les patterns qui se jettent à l'OO
Dès le premier exemple, on se plonge dans un environnement Java, sans que cela n'ait été introduit, sans donner vraiment d'explication sur la syntaxe - cela n'est pas vraiment nécessaire, le code est suffisamment documenté pour que la compréhension ne tarde pas. Ensuite sont présentés les différents langages, en s'axant sur leurs particularités syntaxiques, sur les points qui choquent en comparaison au Java. Il n'y a que le minimum qui est présenté, il ne faut pas prendre ce livre pour ce qu'il n'est pas : il introduit à la programmation orientée objet, il n'a pas pour vocation d'apprendre un langage.
C'est d'ailleurs sur ces langages que se portent mes seuls griefs à l'encontre de ce livre : les langages sont parfois fortement détournés pour suivre le discours de l'auteur. On montrera, par exemple, du code Python très peu pythonique, sans utilisation de décorateurs comme @staticmethod ou la définition d'autres constructeurs quand des arguments mots-clés peuvent être utilisés. Du côté C++, on voit, dans les premiers exemples, des directives #include pointées sur... des fichiers .cpp ! Il faut attendre le quinzième chapitre sur les interfaces pour voir l'existence de fichiers .h, ce qui permet de s'assurer de très mauvaises pratiques dans du code C++... Cela passe aussi pour une faiblesse du langage, qu'un utilisateur du C++ pourra faire passer pour une méconnaissance du langage. Passons le fait que le C++/CLI devient du Visual C++ .Net, nom qui n'est attesté sur le Web presque exclusivement comme les nouvelles versions de l'EDI de Microsoft pour le C++, partie de l'environnement plus complet Visual Studio, ainsi que le fait qu'il semble jusqu'au chapitre sur l'héritage que la seule raison de traiter le C++ est de pouvoir en dire tout le mal qu'on peut. Sans oublier que la STL est entièrement nonobstée et que l'on juge les complexités du C++ comme des écarts par rapport aux autres langages, alors qu'il en est l'aîné. On remarque aussi que le PHP est exclusivement utilisé en contexte Web, comme s'il était incapable de faire autre chose (sans oublier que le décorum HTML tout autour ne facilite pas la compréhension de l'exemple, en ajoutant un bon nombre de lignes parfaitement inutiles).
En conclusion de ce paragraphe, on dira que ce livre n'est absolument pas là pour apprendre un langage ou l'autre, ce n'est pas son but, il veut simplement apprendre les bases de la programmation orientée objet, en déclinant les concepts aux différents langages, en montrant leurs différences. Tous les concepts sont illustrés dans tous les langages, permettant ainsi de visualiser in situ les différences de pensée entre les concepteurs. Ces exemples, d'ailleurs, évoluent au fur et à mesure de la progression de la compréhension du lecteur : les premiers exemples sont fort didactiques, on finit dans les derniers chapitres à simuler les réactions chimiques ayant lieu dans un réacteur, on passe d'exemples simplistes à des exemples réalistes.
À un niveau plus général, on remarquera quelques fautes d'orthographe restées malgré les relectures, les schémas de mauvaise facture (réalisés probablement à l'aide d'un logiciel peu évolué tel que Paint), qui font vraiment tache à côté des schémas UML, ainsi que des captures d'écran sur des systèmes d'exploitation relativement préhistoriques (aux alentours de Windows Millenium).
Ce ne sont pas ces quelques défauts qui vont entacher le principal du livre. On appréciera notamment le large chapitre dédié à UML2, ainsi que les schémas UML utilisés bien avant leur formalisation pour aider à comprendre les principes. Des exercices terminent la grande majorité des chapitres, permettant au lecteur de vérifier qu'il a bien assimilé les concepts ; on regrettera de ne voir les solutions que sur le site de l'éditeur, pas dans une annexe au livre.
Il faut aussi remarquer que l'utilisation plus pratique de l'orienté objet est aussi couverte : ainsi, on parlera des méthodes pour la communication entre un client et un serveur à l'aide de RMI, de Corba et d'autres. Sera aussi discutée la sérialisation dans les divers langages, sans toutefois rentrer dans les détails, car ils deviennent plus spécifiques aux langages. On regrettera de ne pas voir ici la sérialisation selon boost pour le C++ ou la fonction serialize() de PHP : ces deux langages ne sont pas arriérés, ils permettent aussi la sérialisation, alors qu'aucune mention n'en est faite.
Des sujets plus pointus comme le multithreading sont aussi abordés : point noir de ce chapitre, C++ et PHP sont oubliés. Signaler qu'aucune méthode vraiment propre n'existe en PHP n'est pas un luxe, préciser l'existence d'une pléthore de possibilités en C++ est un minimum pour tout qui parle de multithreading et de C++ (il n'aurait pas été utile de développer le sujet, mais au moins d'indiquer dans quelle direction chercher si le besoin s'en fait sentir). Les autres langages jouissent d'une description des méthodes disponibles en standard pour obtenir une application multithreadée, en tenant compte de la problématique des accès concurrents.
En bref ? Un ouvrage plus qu'excellent, didactique, qui passe par tous les jalons, toutes les étapes, sans en oublier une, pour la programmation orientée objet. Que le lecteur soit débutant ou plus avancé, il trouvera dans ce livre de quoi apprendre ou se remettre à niveau. Par contre, prendre ce livre pour apprendre un langage n'est pas forcément la meilleure idée, ce n'est pas son objectif, les explications ne vont d'ailleurs pas en ce sens. Le style assez humoristique de l'auteur en fait un livre très facile à lire.
Vous avez lu ce livre ? Qu'en pensez-vous ?
![](/public/images/edit2.png)
Un excellent ouvrage sur les principes de la programmation orientée objet, une critique plus détaillée est disponible.
L'avez-vous lu ? Qu'en pensez-vous ?
Voir aussi les cours et tutoriels programmation Java : https://java.developpez.com/cours/ et les Cours et tutoriels pour apprendre UML et les cours Python.
La programmation orientée objet - cours et exercices en UML 2 avec Java 6, C#4, C++, Python, PHP 5 et LinQ
Résumé de l'éditeur
L'objet par la pratique avec Python, Java, C# et C++ et PHP 5... en UML 2
Cette cinquième édition de l'ouvrage L'orienté objet décortique l'ensemble des mécanismes de la programmation objet (classes et objets, interactions entre classes, envois de messages, encapsulation, héritage, polymorphisme, interface, multithreading, sauvegarde des objets, programmation distribuée, modélisation...) en les illustrant d'exemples empruntant aux technologies les plus populaires : Java et C#, C++, Python, PHP 5, UML 2, LinQ mais aussi les services web, Cobra, les bases de données objet, différentes manières de résoudre la mise en correspondance relationnel/objet dont le langage innovant de requête objet LinQ et enfin les design patterns. Chaque chapitre est introduit par un dialogue vivant, à la manière du maître et de l'élève et se complète de nombreux exercices en UML 2, Java, Python, PHP 5, C# et C++.
À qui s'adresse ce livre ?
Ce livre sera lu avec profit par tous les étudiants de disciplines informatiques liées à l'approche objet (programmation orientée objet, modélisation UML, Java, Python, PHP 5, C#/C++...) et pourra être utilisé par leurs enseignants comme matériel de cours. Il est également destiné à tous les développeurs qui souhaitent approfondir leur compréhension des concepts objet sous-jacents au langage qu'ils utilisent.
Édition : Eyrolles - 644 pages, 1er janvier 2011
ISBN10 : 2212128061 - ISBN13 : 9782212128062
- L'orientation objet en deux mots
- Objectifs de l'ouvrage
- Plan de l'ouvrage
- À qui s'adresse ce livre ?
Principes de base : quel objet pour l'informatique ?
- Le trio <entité, attribut, valeur>
- Stockage des objets en mémoire
- L'objet dans sa version passive
- L'objet dans sa version active
- Introduction à la notion de classe
- Des objets en interaction
- Des objets soumis à une hiérarchie
- Polymorphisme
- Héritage bien reçu
- Exercices
Un objet sans classe. n'a pas de classe
- Constitution d'une classe d'objets
- La classe comme module fonctionnel
- La classe comme garante de son bon usage
- La classe comme module opérationnel
- Un premier petit programme complet dans les cinq langages
- La classe et la logistique de développement
- Exercices
Du faire savoir au savoir-faire. du procédural à l'OO
- Objectif objet : les aventures de l'OO
- Mise en pratique
- Analyse
- Conception
- Impacts de l'orientation objet
Ici Londres : les objets parlent aux objets
- Envois de messages
- Association de classes
- Dépendance de classes
- Réaction en chaîne de messages
- Exercices
Collaboration entre classes
- Pour en finir avec la lutte des classes
- La compilation Java : effet domino
- En C#, en Python, PHP 5 et en C++
- De l'association unidirectionnelle à l'association bidirectionnelle
- Autoassociation
- Package et namespace
- Exercices
Méthodes ou messages ?
- Passage d'arguments prédéfinis dans les messages
- Passage d'argument objet dans les messages
- Une méthode est-elle d'office un message ?
- La mondialisation des messages
- Exercices
L'encapsulation des attributs
- Accès aux attributs d'un objet
- Encapsulation : pour quoi faire ?
- Exercices
Les classes et leur jardin secret
- Encapsulation des méthodes
- Les niveaux intermédiaires d'encapsulation
- Afin d'éviter l'effet papillon
- Exercices
Vie et mort des objets
- Question de mémoire
- C++ : le programmeur est le seul maître à bord
- En Java, C#, Python et PHP 5 : la chasse au gaspi
- Exercices
UML 2
- Diagrammes UML 2
- Représentation graphique standardisée
- Du tableau noir à l'ordinateur
- Programmer par cycles courts en superposant les diagrammes
- Diagrammes de classe et diagrammes de séquence
- Diagramme de classe
- Les bienfaits d'UML
- Diagramme de séquence
- Exercices
Héritage
- Comment regrouper les classes dans des superclasses
- Héritage des attributs
- Héritage ou composition ?
- Économiser en rajoutant des classes ?
- Héritage des méthodes
- La recherche des méthodes dans la hiérarchie
- Encapsulation protected
- Héritage et constructeurs
- Héritage public en C++
- Le multihéritage
- Exercices
Redéfinition des méthodes
- La redéfinition des méthodes
- Beaucoup de verbiage mais peu d'actes véritables
- Un match de football polymorphique
- Exercices
Abstraite, cette classe est sans objet
- De Canaletto à Turner
- Des classes sans objet
- Du principe de l'abstraction à l'abstraction syntaxique
- Un petit supplément de polymorphisme
- Exercices
Clonage, comparaison et assignation d'objets
- Introduction à la classe Object
- Décortiquons la classe Object
- Test d'égalité de deux objets
- Le clonage d'objets
- Égalité et clonage d'objets en Python
- Égalité et clonage d'objets en PHP 5
- Égalité, clonage et affectation d'objets en C++
- En C#, un cocktail de Java et de C++
- Exercices
Interfaces
- Interfaces : favoriser la décomposition et la stabilité
- Java, C# et PHP 5 : interface via l'héritage
- Les trois raisons d'être des interfaces
- Les Interfaces dans UML 2
- En C++ : fichiersh et fichierscpp
- Interfaces : du local à Internet
- Exercices
Distribution gratuite d'objets : pour services rendus sur le réseau
- Objets distribués sur le réseau : pourquoi ?
- RMI (Remote Method Invocation)
- Corba (Common Object Request Broker Architecture)
- Rajoutons un peu de flexibilité à tout cela
- Les services Web surNet
- Exercices
Multithreading
- Informatique séquentielle
- Multithreading
- Implémentation en Java
- Implémentation en C#
- Implémentation en Python
L'impact du multithreading sur les diagrammes de séquence UML - Du multithreading aux applications distribuées
- Des threads équirépartis
- Synchroniser les threads
- Exercices
Programmation événementielle
- Des objets qui s'observent
- En Java
- En C# : les délégués
- En Python : tout reste à faire
- Un feu de signalisation plus réaliste
- Exercices
Persistance d'objets
- Sauvegarder l'état entre deux exécutions
- Simple sauvegarde sur fichier
- Sauvegarder les objets sans les dénaturer : la sérialisation
- Les bases de données relationnelles
- Réservation de places de spectacles
- Les bases de données relationnelles-objet
- Les bases de données orientées objet
- Linq
- Exercices
Et si on faisait un petit flipper ?
- Généralités sur le flipper et les GUI
- Retour au Flipper
Les graphes
- Le monde regorge de réseaux
- Tout d'abord : juste un ensemble d'objets
- Liste liée
- La généricité en C++
- La généricité en Java
- Passons aux graphes
- Exercices
Petites chimie et biologie OO amusantes
- Pourquoi de la chimie OO ?
- Les diagrammes de classe du réacteur chimique
- Quelques résultats du simulateur
- La simulation immunologique en OO ?
Design patterns
- Introduction aux design patterns
- Les patterns « truc et ficelle »
- Les patterns qui se jettent à l'OO
Dès le premier exemple, on se plonge dans un environnement Java, sans que cela n'ait été introduit, sans donner vraiment d'explication sur la syntaxe - cela n'est pas vraiment nécessaire, le code est suffisamment documenté pour que la compréhension ne tarde pas. Ensuite sont présentés les différents langages, en s'axant sur leurs particularités syntaxiques, sur les points qui choquent en comparaison au Java. Il n'y a que le minimum qui est présenté, il ne faut pas prendre ce livre pour ce qu'il n'est pas : il introduit à la programmation orientée objet, il n'a pas pour vocation d'apprendre un langage.
C'est d'ailleurs sur ces langages que se portent mes seuls griefs à l'encontre de ce livre : les langages sont parfois fortement détournés pour suivre le discours de l'auteur. On montrera, par exemple, du code Python très peu pythonique, sans utilisation de décorateurs comme @staticmethod ou la définition d'autres constructeurs quand des arguments mots-clés peuvent être utilisés. Du côté C++, on voit, dans les premiers exemples, des directives #include pointées sur... des fichiers .cpp ! Il faut attendre le quinzième chapitre sur les interfaces pour voir l'existence de fichiers .h, ce qui permet de s'assurer de très mauvaises pratiques dans du code C++... Cela passe aussi pour une faiblesse du langage, qu'un utilisateur du C++ pourra faire passer pour une méconnaissance du langage. Passons le fait que le C++/CLI devient du Visual C++ .Net, nom qui n'est attesté sur le Web presque exclusivement comme les nouvelles versions de l'EDI de Microsoft pour le C++, partie de l'environnement plus complet Visual Studio, ainsi que le fait qu'il semble jusqu'au chapitre sur l'héritage que la seule raison de traiter le C++ est de pouvoir en dire tout le mal qu'on peut. Sans oublier que la STL est entièrement nonobstée et que l'on juge les complexités du C++ comme des écarts par rapport aux autres langages, alors qu'il en est l'aîné. On remarque aussi que le PHP est exclusivement utilisé en contexte Web, comme s'il était incapable de faire autre chose (sans oublier que le décorum HTML tout autour ne facilite pas la compréhension de l'exemple, en ajoutant un bon nombre de lignes parfaitement inutiles).
En conclusion de ce paragraphe, on dira que ce livre n'est absolument pas là pour apprendre un langage ou l'autre, ce n'est pas son but, il veut simplement apprendre les bases de la programmation orientée objet, en déclinant les concepts aux différents langages, en montrant leurs différences. Tous les concepts sont illustrés dans tous les langages, permettant ainsi de visualiser in situ les différences de pensée entre les concepteurs. Ces exemples, d'ailleurs, évoluent au fur et à mesure de la progression de la compréhension du lecteur : les premiers exemples sont fort didactiques, on finit dans les derniers chapitres à simuler les réactions chimiques ayant lieu dans un réacteur, on passe d'exemples simplistes à des exemples réalistes.
À un niveau plus général, on remarquera quelques fautes d'orthographe restées malgré les relectures, les schémas de mauvaise facture (réalisés probablement à l'aide d'un logiciel peu évolué tel que Paint), qui font vraiment tache à côté des schémas UML, ainsi que des captures d'écran sur des systèmes d'exploitation relativement préhistoriques (aux alentours de Windows Millenium).
Ce ne sont pas ces quelques défauts qui vont entacher le principal du livre. On appréciera notamment le large chapitre dédié à UML2, ainsi que les schémas UML utilisés bien avant leur formalisation pour aider à comprendre les principes. Des exercices terminent la grande majorité des chapitres, permettant au lecteur de vérifier qu'il a bien assimilé les concepts ; on regrettera de ne voir les solutions que sur le site de l'éditeur, pas dans une annexe au livre.
Il faut aussi remarquer que l'utilisation plus pratique de l'orienté objet est aussi couverte : ainsi, on parlera des méthodes pour la communication entre un client et un serveur à l'aide de RMI, de Corba et d'autres. Sera aussi discutée la sérialisation dans les divers langages, sans toutefois rentrer dans les détails, car ils deviennent plus spécifiques aux langages. On regrettera de ne pas voir ici la sérialisation selon boost pour le C++ ou la fonction serialize() de PHP : ces deux langages ne sont pas arriérés, ils permettent aussi la sérialisation, alors qu'aucune mention n'en est faite.
Des sujets plus pointus comme le multithreading sont aussi abordés : point noir de ce chapitre, C++ et PHP sont oubliés. Signaler qu'aucune méthode vraiment propre n'existe en PHP n'est pas un luxe, préciser l'existence d'une pléthore de possibilités en C++ est un minimum pour tout qui parle de multithreading et de C++ (il n'aurait pas été utile de développer le sujet, mais au moins d'indiquer dans quelle direction chercher si le besoin s'en fait sentir). Les autres langages jouissent d'une description des méthodes disponibles en standard pour obtenir une application multithreadée, en tenant compte de la problématique des accès concurrents.
En bref ? Un ouvrage plus qu'excellent, didactique, qui passe par tous les jalons, toutes les étapes, sans en oublier une, pour la programmation orientée objet. Que le lecteur soit débutant ou plus avancé, il trouvera dans ce livre de quoi apprendre ou se remettre à niveau. Par contre, prendre ce livre pour apprendre un langage n'est pas forcément la meilleure idée, ce n'est pas son objectif, les explications ne vont d'ailleurs pas en ce sens. Le style assez humoristique de l'auteur en fait un livre très facile à lire.
Vous avez lu ce livre ? Qu'en pensez-vous ?
![](/public/images/edit2.png)
Un excellent ouvrage sur les principes de la programmation orientée objet, une critique plus détaillée est disponible.
L'avez-vous lu ? Qu'en pensez-vous ?
Voir aussi les cours et tutoriels programmation Java : https://java.developpez.com/cours/ et les Cours et tutoriels pour apprendre UML et les cours Python.
La programmation orientée objet - cours et exercices en UML 2 avec Java 6, C#4, C++, Python, PHP 5 et LinQ
Résumé de l'éditeur
L'objet par la pratique avec Python, Java, C# et C++ et PHP 5... en UML 2
Cette cinquième édition de l'ouvrage L'orienté objet décortique l'ensemble des mécanismes de la programmation objet (classes et objets, interactions entre classes, envois de messages, encapsulation, héritage, polymorphisme, interface, multithreading, sauvegarde des objets, programmation distribuée, modélisation...) en les illustrant d'exemples empruntant aux technologies les plus populaires : Java et C#, C++, Python, PHP 5, UML 2, LinQ mais aussi les services web, Cobra, les bases de données objet, différentes manières de résoudre la mise en correspondance relationnel/objet dont le langage innovant de requête objet LinQ et enfin les design patterns. Chaque chapitre est introduit par un dialogue vivant, à la manière du maître et de l'élève et se complète de nombreux exercices en UML 2, Java, Python, PHP 5, C# et C++.
À qui s'adresse ce livre ?
Ce livre sera lu avec profit par tous les étudiants de disciplines informatiques liées à l'approche objet (programmation orientée objet, modélisation UML, Java, Python, PHP 5, C#/C++...) et pourra être utilisé par leurs enseignants comme matériel de cours. Il est également destiné à tous les développeurs qui souhaitent approfondir leur compréhension des concepts objet sous-jacents au langage qu'ils utilisent.
Édition : Eyrolles - 644 pages, 1er janvier 2011
ISBN10 : 2212128061 - ISBN13 : 9782212128062
- L'orientation objet en deux mots
- Objectifs de l'ouvrage
- Plan de l'ouvrage
- À qui s'adresse ce livre ?
Principes de base : quel objet pour l'informatique ?
- Le trio <entité, attribut, valeur>
- Stockage des objets en mémoire
- L'objet dans sa version passive
- L'objet dans sa version active
- Introduction à la notion de classe
- Des objets en interaction
- Des objets soumis à une hiérarchie
- Polymorphisme
- Héritage bien reçu
- Exercices
Un objet sans classe. n'a pas de classe
- Constitution d'une classe d'objets
- La classe comme module fonctionnel
- La classe comme garante de son bon usage
- La classe comme module opérationnel
- Un premier petit programme complet dans les cinq langages
- La classe et la logistique de développement
- Exercices
Du faire savoir au savoir-faire. du procédural à l'OO
- Objectif objet : les aventures de l'OO
- Mise en pratique
- Analyse
- Conception
- Impacts de l'orientation objet
Ici Londres : les objets parlent aux objets
- Envois de messages
- Association de classes
- Dépendance de classes
- Réaction en chaîne de messages
- Exercices
Collaboration entre classes
- Pour en finir avec la lutte des classes
- La compilation Java : effet domino
- En C#, en Python, PHP 5 et en C++
- De l'association unidirectionnelle à l'association bidirectionnelle
- Autoassociation
- Package et namespace
- Exercices
Méthodes ou messages ?
- Passage d'arguments prédéfinis dans les messages
- Passage d'argument objet dans les messages
- Une méthode est-elle d'office un message ?
- La mondialisation des messages
- Exercices
L'encapsulation des attributs
- Accès aux attributs d'un objet
- Encapsulation : pour quoi faire ?
- Exercices
Les classes et leur jardin secret
- Encapsulation des méthodes
- Les niveaux intermédiaires d'encapsulation
- Afin d'éviter l'effet papillon
- Exercices
Vie et mort des objets
- Question de mémoire
- C++ : le programmeur est le seul maître à bord
- En Java, C#, Python et PHP 5 : la chasse au gaspi
- Exercices
UML 2
- Diagrammes UML 2
- Représentation graphique standardisée
- Du tableau noir à l'ordinateur
- Programmer par cycles courts en superposant les diagrammes
- Diagrammes de classe et diagrammes de séquence
- Diagramme de classe
- Les bienfaits d'UML
- Diagramme de séquence
- Exercices
Héritage
- Comment regrouper les classes dans des superclasses
- Héritage des attributs
- Héritage ou composition ?
- Économiser en rajoutant des classes ?
- Héritage des méthodes
- La recherche des méthodes dans la hiérarchie
- Encapsulation protected
- Héritage et constructeurs
- Héritage public en C++
- Le multihéritage
- Exercices
Redéfinition des méthodes
- La redéfinition des méthodes
- Beaucoup de verbiage mais peu d'actes véritables
- Un match de football polymorphique
- Exercices
Abstraite, cette classe est sans objet
- De Canaletto à Turner
- Des classes sans objet
- Du principe de l'abstraction à l'abstraction syntaxique
- Un petit supplément de polymorphisme
- Exercices
Clonage, comparaison et assignation d'objets
- Introduction à la classe Object
- Décortiquons la classe Object
- Test d'égalité de deux objets
- Le clonage d'objets
- Égalité et clonage d'objets en Python
- Égalité et clonage d'objets en PHP 5
- Égalité, clonage et affectation d'objets en C++
- En C#, un cocktail de Java et de C++
- Exercices
Interfaces
- Interfaces : favoriser la décomposition et la stabilité
- Java, C# et PHP 5 : interface via l'héritage
- Les trois raisons d'être des interfaces
- Les Interfaces dans UML 2
- En C++ : fichiersh et fichierscpp
- Interfaces : du local à Internet
- Exercices
Distribution gratuite d'objets : pour services rendus sur le réseau
- Objets distribués sur le réseau : pourquoi ?
- RMI (Remote Method Invocation)
- Corba (Common Object Request Broker Architecture)
- Rajoutons un peu de flexibilité à tout cela
- Les services Web surNet
- Exercices
Multithreading
- Informatique séquentielle
- Multithreading
- Implémentation en Java
- Implémentation en C#
- Implémentation en Python
L'impact du multithreading sur les diagrammes de séquence UML - Du multithreading aux applications distribuées
- Des threads équirépartis
- Synchroniser les threads
- Exercices
Programmation événementielle
- Des objets qui s'observent
- En Java
- En C# : les délégués
- En Python : tout reste à faire
- Un feu de signalisation plus réaliste
- Exercices
Persistance d'objets
- Sauvegarder l'état entre deux exécutions
- Simple sauvegarde sur fichier
- Sauvegarder les objets sans les dénaturer : la sérialisation
- Les bases de données relationnelles
- Réservation de places de spectacles
- Les bases de données relationnelles-objet
- Les bases de données orientées objet
- Linq
- Exercices
Et si on faisait un petit flipper ?
- Généralités sur le flipper et les GUI
- Retour au Flipper
Les graphes
- Le monde regorge de réseaux
- Tout d'abord : juste un ensemble d'objets
- Liste liée
- La généricité en C++
- La généricité en Java
- Passons aux graphes
- Exercices
Petites chimie et biologie OO amusantes
- Pourquoi de la chimie OO ?
- Les diagrammes de classe du réacteur chimique
- Quelques résultats du simulateur
- La simulation immunologique en OO ?
Design patterns
- Introduction aux design patterns
- Les patterns « truc et ficelle »
- Les patterns qui se jettent à l'OO
Dès le premier exemple, on se plonge dans un environnement Java, sans que cela n'ait été introduit, sans donner vraiment d'explication sur la syntaxe - cela n'est pas vraiment nécessaire, le code est suffisamment documenté pour que la compréhension ne tarde pas. Ensuite sont présentés les différents langages, en s'axant sur leurs particularités syntaxiques, sur les points qui choquent en comparaison au Java. Il n'y a que le minimum qui est présenté, il ne faut pas prendre ce livre pour ce qu'il n'est pas : il introduit à la programmation orientée objet, il n'a pas pour vocation d'apprendre un langage.
C'est d'ailleurs sur ces langages que se portent mes seuls griefs à l'encontre de ce livre : les langages sont parfois fortement détournés pour suivre le discours de l'auteur. On montrera, par exemple, du code Python très peu pythonique, sans utilisation de décorateurs comme @staticmethod ou la définition d'autres constructeurs quand des arguments mots-clés peuvent être utilisés. Du côté C++, on voit, dans les premiers exemples, des directives #include pointées sur... des fichiers .cpp ! Il faut attendre le quinzième chapitre sur les interfaces pour voir l'existence de fichiers .h, ce qui permet de s'assurer de très mauvaises pratiques dans du code C++... Cela passe aussi pour une faiblesse du langage, qu'un utilisateur du C++ pourra faire passer pour une méconnaissance du langage. Passons le fait que le C++/CLI devient du Visual C++ .Net, nom qui n'est attesté sur le Web presque exclusivement comme les nouvelles versions de l'EDI de Microsoft pour le C++, partie de l'environnement plus complet Visual Studio, ainsi que le fait qu'il semble jusqu'au chapitre sur l'héritage que la seule raison de traiter le C++ est de pouvoir en dire tout le mal qu'on peut. Sans oublier que la STL est entièrement nonobstée et que l'on juge les complexités du C++ comme des écarts par rapport aux autres langages, alors qu'il en est l'aîné. On remarque aussi que le PHP est exclusivement utilisé en contexte Web, comme s'il était incapable de faire autre chose (sans oublier que le décorum HTML tout autour ne facilite pas la compréhension de l'exemple, en ajoutant un bon nombre de lignes parfaitement inutiles).
En conclusion de ce paragraphe, on dira que ce livre n'est absolument pas là pour apprendre un langage ou l'autre, ce n'est pas son but, il veut simplement apprendre les bases de la programmation orientée objet, en déclinant les concepts aux différents langages, en montrant leurs différences. Tous les concepts sont illustrés dans tous les langages, permettant ainsi de visualiser in situ les différences de pensée entre les concepteurs. Ces exemples, d'ailleurs, évoluent au fur et à mesure de la progression de la compréhension du lecteur : les premiers exemples sont fort didactiques, on finit dans les derniers chapitres à simuler les réactions chimiques ayant lieu dans un réacteur, on passe d'exemples simplistes à des exemples réalistes.
À un niveau plus général, on remarquera quelques fautes d'orthographe restées malgré les relectures, les schémas de mauvaise facture (réalisés probablement à l'aide d'un logiciel peu évolué tel que Paint), qui font vraiment tache à côté des schémas UML, ainsi que des captures d'écran sur des systèmes d'exploitation relativement préhistoriques (aux alentours de Windows Millenium).
Ce ne sont pas ces quelques défauts qui vont entacher le principal du livre. On appréciera notamment le large chapitre dédié à UML2, ainsi que les schémas UML utilisés bien avant leur formalisation pour aider à comprendre les principes. Des exercices terminent la grande majorité des chapitres, permettant au lecteur de vérifier qu'il a bien assimilé les concepts ; on regrettera de ne voir les solutions que sur le site de l'éditeur, pas dans une annexe au livre.
Il faut aussi remarquer que l'utilisation plus pratique de l'orienté objet est aussi couverte : ainsi, on parlera des méthodes pour la communication entre un client et un serveur à l'aide de RMI, de Corba et d'autres. Sera aussi discutée la sérialisation dans les divers langages, sans toutefois rentrer dans les détails, car ils deviennent plus spécifiques aux langages. On regrettera de ne pas voir ici la sérialisation selon boost pour le C++ ou la fonction serialize() de PHP : ces deux langages ne sont pas arriérés, ils permettent aussi la sérialisation, alors qu'aucune mention n'en est faite.
Des sujets plus pointus comme le multithreading sont aussi abordés : point noir de ce chapitre, C++ et PHP sont oubliés. Signaler qu'aucune méthode vraiment propre n'existe en PHP n'est pas un luxe, préciser l'existence d'une pléthore de possibilités en C++ est un minimum pour tout qui parle de multithreading et de C++ (il n'aurait pas été utile de développer le sujet, mais au moins d'indiquer dans quelle direction chercher si le besoin s'en fait sentir). Les autres langages jouissent d'une description des méthodes disponibles en standard pour obtenir une application multithreadée, en tenant compte de la problématique des accès concurrents.
En bref ? Un ouvrage plus qu'excellent, didactique, qui passe par tous les jalons, toutes les étapes, sans en oublier une, pour la programmation orientée objet. Que le lecteur soit débutant ou plus avancé, il trouvera dans ce livre de quoi apprendre ou se remettre à niveau. Par contre, prendre ce livre pour apprendre un langage n'est pas forcément la meilleure idée, ce n'est pas son objectif, les explications ne vont d'ailleurs pas en ce sens. Le style assez humoristique de l'auteur en fait un livre très facile à lire.
Vous avez lu ce livre ? Qu'en pensez-vous ?
![](/public/images/edit2.png)
Un excellent ouvrage sur les principes de la programmation orientée objet, une critique plus détaillée est disponible.
L'avez-vous lu ? Qu'en pensez-vous ?
Voir aussi les cours et tutoriels programmation Java : https://java.developpez.com/cours/ et les Cours et tutoriels pour apprendre UML et les cours Python.
La programmation orientée objet - cours et exercices en UML 2 avec Java 6, C#4, C++, Python, PHP 5 et LinQ
Résumé de l'éditeur
L'objet par la pratique avec Python, Java, C# et C++ et PHP 5... en UML 2
Cette cinquième édition de l'ouvrage L'orienté objet décortique l'ensemble des mécanismes de la programmation objet (classes et objets, interactions entre classes, envois de messages, encapsulation, héritage, polymorphisme, interface, multithreading, sauvegarde des objets, programmation distribuée, modélisation...) en les illustrant d'exemples empruntant aux technologies les plus populaires : Java et C#, C++, Python, PHP 5, UML 2, LinQ mais aussi les services web, Cobra, les bases de données objet, différentes manières de résoudre la mise en correspondance relationnel/objet dont le langage innovant de requête objet LinQ et enfin les design patterns. Chaque chapitre est introduit par un dialogue vivant, à la manière du maître et de l'élève et se complète de nombreux exercices en UML 2, Java, Python, PHP 5, C# et C++.
À qui s'adresse ce livre ?
Ce livre sera lu avec profit par tous les étudiants de disciplines informatiques liées à l'approche objet (programmation orientée objet, modélisation UML, Java, Python, PHP 5, C#/C++...) et pourra être utilisé par leurs enseignants comme matériel de cours. Il est également destiné à tous les développeurs qui souhaitent approfondir leur compréhension des concepts objet sous-jacents au langage qu'ils utilisent.
Édition : Eyrolles - 644 pages, 1er janvier 2011
ISBN10 : 2212128061 - ISBN13 : 9782212128062
- L'orientation objet en deux mots
- Objectifs de l'ouvrage
- Plan de l'ouvrage
- À qui s'adresse ce livre ?
Principes de base : quel objet pour l'informatique ?
- Le trio <entité, attribut, valeur>
- Stockage des objets en mémoire
- L'objet dans sa version passive
- L'objet dans sa version active
- Introduction à la notion de classe
- Des objets en interaction
- Des objets soumis à une hiérarchie
- Polymorphisme
- Héritage bien reçu
- Exercices
Un objet sans classe. n'a pas de classe
- Constitution d'une classe d'objets
- La classe comme module fonctionnel
- La classe comme garante de son bon usage
- La classe comme module opérationnel
- Un premier petit programme complet dans les cinq langages
- La classe et la logistique de développement
- Exercices
Du faire savoir au savoir-faire. du procédural à l'OO
- Objectif objet : les aventures de l'OO
- Mise en pratique
- Analyse
- Conception
- Impacts de l'orientation objet
Ici Londres : les objets parlent aux objets
- Envois de messages
- Association de classes
- Dépendance de classes
- Réaction en chaîne de messages
- Exercices
Collaboration entre classes
- Pour en finir avec la lutte des classes
- La compilation Java : effet domino
- En C#, en Python, PHP 5 et en C++
- De l'association unidirectionnelle à l'association bidirectionnelle
- Autoassociation
- Package et namespace
- Exercices
Méthodes ou messages ?
- Passage d'arguments prédéfinis dans les messages
- Passage d'argument objet dans les messages
- Une méthode est-elle d'office un message ?
- La mondialisation des messages
- Exercices
L'encapsulation des attributs
- Accès aux attributs d'un objet
- Encapsulation : pour quoi faire ?
- Exercices
Les classes et leur jardin secret
- Encapsulation des méthodes
- Les niveaux intermédiaires d'encapsulation
- Afin d'éviter l'effet papillon
- Exercices
Vie et mort des objets
- Question de mémoire
- C++ : le programmeur est le seul maître à bord
- En Java, C#, Python et PHP 5 : la chasse au gaspi
- Exercices
UML 2
- Diagrammes UML 2
- Représentation graphique standardisée
- Du tableau noir à l'ordinateur
- Programmer par cycles courts en superposant les diagrammes
- Diagrammes de classe et diagrammes de séquence
- Diagramme de classe
- Les bienfaits d'UML
- Diagramme de séquence
- Exercices
Héritage
- Comment regrouper les classes dans des superclasses
- Héritage des attributs
- Héritage ou composition ?
- Économiser en rajoutant des classes ?
- Héritage des méthodes
- La recherche des méthodes dans la hiérarchie
- Encapsulation protected
- Héritage et constructeurs
- Héritage public en C++
- Le multihéritage
- Exercices
Redéfinition des méthodes
- La redéfinition des méthodes
- Beaucoup de verbiage mais peu d'actes véritables
- Un match de football polymorphique
- Exercices
Abstraite, cette classe est sans objet
- De Canaletto à Turner
- Des classes sans objet
- Du principe de l'abstraction à l'abstraction syntaxique
- Un petit supplément de polymorphisme
- Exercices
Clonage, comparaison et assignation d'objets
- Introduction à la classe Object
- Décortiquons la classe Object
- Test d'égalité de deux objets
- Le clonage d'objets
- Égalité et clonage d'objets en Python
- Égalité et clonage d'objets en PHP 5
- Égalité, clonage et affectation d'objets en C++
- En C#, un cocktail de Java et de C++
- Exercices
Interfaces
- Interfaces : favoriser la décomposition et la stabilité
- Java, C# et PHP 5 : interface via l'héritage
- Les trois raisons d'être des interfaces
- Les Interfaces dans UML 2
- En C++ : fichiersh et fichierscpp
- Interfaces : du local à Internet
- Exercices
Distribution gratuite d'objets : pour services rendus sur le réseau
- Objets distribués sur le réseau : pourquoi ?
- RMI (Remote Method Invocation)
- Corba (Common Object Request Broker Architecture)
- Rajoutons un peu de flexibilité à tout cela
- Les services Web surNet
- Exercices
Multithreading
- Informatique séquentielle
- Multithreading
- Implémentation en Java
- Implémentation en C#
- Implémentation en Python
L'impact du multithreading sur les diagrammes de séquence UML - Du multithreading aux applications distribuées
- Des threads équirépartis
- Synchroniser les threads
- Exercices
Programmation événementielle
- Des objets qui s'observent
- En Java
- En C# : les délégués
- En Python : tout reste à faire
- Un feu de signalisation plus réaliste
- Exercices
Persistance d'objets
- Sauvegarder l'état entre deux exécutions
- Simple sauvegarde sur fichier
- Sauvegarder les objets sans les dénaturer : la sérialisation
- Les bases de données relationnelles
- Réservation de places de spectacles
- Les bases de données relationnelles-objet
- Les bases de données orientées objet
- Linq
- Exercices
Et si on faisait un petit flipper ?
- Généralités sur le flipper et les GUI
- Retour au Flipper
Les graphes
- Le monde regorge de réseaux
- Tout d'abord : juste un ensemble d'objets
- Liste liée
- La généricité en C++
- La généricité en Java
- Passons aux graphes
- Exercices
Petites chimie et biologie OO amusantes
- Pourquoi de la chimie OO ?
- Les diagrammes de classe du réacteur chimique
- Quelques résultats du simulateur
- La simulation immunologique en OO ?
Design patterns
- Introduction aux design patterns
- Les patterns « truc et ficelle »
- Les patterns qui se jettent à l'OO
Dès le premier exemple, on se plonge dans un environnement Java, sans que cela n'ait été introduit, sans donner vraiment d'explication sur la syntaxe - cela n'est pas vraiment nécessaire, le code est suffisamment documenté pour que la compréhension ne tarde pas. Ensuite sont présentés les différents langages, en s'axant sur leurs particularités syntaxiques, sur les points qui choquent en comparaison au Java. Il n'y a que le minimum qui est présenté, il ne faut pas prendre ce livre pour ce qu'il n'est pas : il introduit à la programmation orientée objet, il n'a pas pour vocation d'apprendre un langage.
C'est d'ailleurs sur ces langages que se portent mes seuls griefs à l'encontre de ce livre : les langages sont parfois fortement détournés pour suivre le discours de l'auteur. On montrera, par exemple, du code Python très peu pythonique, sans utilisation de décorateurs comme @staticmethod ou la définition d'autres constructeurs quand des arguments mots-clés peuvent être utilisés. Du côté C++, on voit, dans les premiers exemples, des directives #include pointées sur... des fichiers .cpp ! Il faut attendre le quinzième chapitre sur les interfaces pour voir l'existence de fichiers .h, ce qui permet de s'assurer de très mauvaises pratiques dans du code C++... Cela passe aussi pour une faiblesse du langage, qu'un utilisateur du C++ pourra faire passer pour une méconnaissance du langage. Passons le fait que le C++/CLI devient du Visual C++ .Net, nom qui n'est attesté sur le Web presque exclusivement comme les nouvelles versions de l'EDI de Microsoft pour le C++, partie de l'environnement plus complet Visual Studio, ainsi que le fait qu'il semble jusqu'au chapitre sur l'héritage que la seule raison de traiter le C++ est de pouvoir en dire tout le mal qu'on peut. Sans oublier que la STL est entièrement nonobstée et que l'on juge les complexités du C++ comme des écarts par rapport aux autres langages, alors qu'il en est l'aîné. On remarque aussi que le PHP est exclusivement utilisé en contexte Web, comme s'il était incapable de faire autre chose (sans oublier que le décorum HTML tout autour ne facilite pas la compréhension de l'exemple, en ajoutant un bon nombre de lignes parfaitement inutiles).
En conclusion de ce paragraphe, on dira que ce livre n'est absolument pas là pour apprendre un langage ou l'autre, ce n'est pas son but, il veut simplement apprendre les bases de la programmation orientée objet, en déclinant les concepts aux différents langages, en montrant leurs différences. Tous les concepts sont illustrés dans tous les langages, permettant ainsi de visualiser in situ les différences de pensée entre les concepteurs. Ces exemples, d'ailleurs, évoluent au fur et à mesure de la progression de la compréhension du lecteur : les premiers exemples sont fort didactiques, on finit dans les derniers chapitres à simuler les réactions chimiques ayant lieu dans un réacteur, on passe d'exemples simplistes à des exemples réalistes.
À un niveau plus général, on remarquera quelques fautes d'orthographe restées malgré les relectures, les schémas de mauvaise facture (réalisés probablement à l'aide d'un logiciel peu évolué tel que Paint), qui font vraiment tache à côté des schémas UML, ainsi que des captures d'écran sur des systèmes d'exploitation relativement préhistoriques (aux alentours de Windows Millenium).
Ce ne sont pas ces quelques défauts qui vont entacher le principal du livre. On appréciera notamment le large chapitre dédié à UML2, ainsi que les schémas UML utilisés bien avant leur formalisation pour aider à comprendre les principes. Des exercices terminent la grande majorité des chapitres, permettant au lecteur de vérifier qu'il a bien assimilé les concepts ; on regrettera de ne voir les solutions que sur le site de l'éditeur, pas dans une annexe au livre.
Il faut aussi remarquer que l'utilisation plus pratique de l'orienté objet est aussi couverte : ainsi, on parlera des méthodes pour la communication entre un client et un serveur à l'aide de RMI, de Corba et d'autres. Sera aussi discutée la sérialisation dans les divers langages, sans toutefois rentrer dans les détails, car ils deviennent plus spécifiques aux langages. On regrettera de ne pas voir ici la sérialisation selon boost pour le C++ ou la fonction serialize() de PHP : ces deux langages ne sont pas arriérés, ils permettent aussi la sérialisation, alors qu'aucune mention n'en est faite.
Des sujets plus pointus comme le multithreading sont aussi abordés : point noir de ce chapitre, C++ et PHP sont oubliés. Signaler qu'aucune méthode vraiment propre n'existe en PHP n'est pas un luxe, préciser l'existence d'une pléthore de possibilités en C++ est un minimum pour tout qui parle de multithreading et de C++ (il n'aurait pas été utile de développer le sujet, mais au moins d'indiquer dans quelle direction chercher si le besoin s'en fait sentir). Les autres langages jouissent d'une description des méthodes disponibles en standard pour obtenir une application multithreadée, en tenant compte de la problématique des accès concurrents.
En bref ? Un ouvrage plus qu'excellent, didactique, qui passe par tous les jalons, toutes les étapes, sans en oublier une, pour la programmation orientée objet. Que le lecteur soit débutant ou plus avancé, il trouvera dans ce livre de quoi apprendre ou se remettre à niveau. Par contre, prendre ce livre pour apprendre un langage n'est pas forcément la meilleure idée, ce n'est pas son objectif, les explications ne vont d'ailleurs pas en ce sens. Le style assez humoristique de l'auteur en fait un livre très facile à lire.
Vous avez lu ce livre ? Qu'en pensez-vous ?
![](/public/images/edit2.png)
Un excellent ouvrage sur les principes de la programmation orientée objet, une critique plus détaillée est disponible.
L'avez-vous lu ? Qu'en pensez-vous ?
Voir aussi les cours et tutoriels programmation Java : https://java.developpez.com/cours/ et les Cours et tutoriels pour apprendre UML et les cours Python.
CMMI
Un itinéraire fléché vers le Capability Matury Model Intregration
Résumé de l'éditeur
Édition : Dunod - 198 pages, 14 octobre 2004
ISBN10 : 2100083082 - ISBN13 : 9782100083084
- Chap 1. La genèse d'un modèle de meilleures pratiques
- Chap 2. L'étoile CMMI dans la galaxie des modèles
- Chap 3. Une échelle de maturité organisationnelle
- Chap 4. Terminologie particulière au CMMI
- Chap 5. L'architecture du modèle
- Chap 6. Le niveau 2
- Chap 7. Le niveau 3
- Chap 8. Le niveau 4
- Chap 9. Le niveau 5
- Chap 10. Un cas concret
- Chap 11. Les bénéfices pour l'industrie du logiciel et ses clients
- Chap 12. Utilisations possibles du CMMI
Le francophone Richard Basque s'attaque à un exercice peu évident: démystifier CMMI (Capability Maturity Model Integration) et CMM en général. Ses explications, ses retours d'expérience emprunts de modestie sont très enrichissants. On comprend mieux les enjeux de ce que l'auteur présente comme un "compendium de bonnes pratiques" pour le développement de systèmes basés sur le logiciel.
Un chapitre complet détaille la terminologie utilisée dans les spécifications des "normes" CMM (CMMI, SW-CMM) du SEI (Software Engineering Institute) et permet de mieux assimiler les chapitres suivants. CMM se basant en partie sur la représentation "étagée" d'une organisation en matière de développement logiciel et de maîtrise des processus, chaque "étage" ou "niveau" est défini et détaillé dans un chapitre (domaines de processus, objectifs, pratiques, produits de sortie typiques, sous-pratiques...).
Si votre organisation souhaite développer une approche orientée CMM, le chapitre 10 "Un cas concret" est fait pour vous, et pourrait pratiquement être lu en introduction (évaluation SCAMPI...).
Un ouvrage dans l'ensemble trés théorique et destiné aux décideurs, ingénieurs en qualité logicielle, et curieux des pratiques, méthodes et approches en matière de développement et d'intégration logicielle.
Les sites pour mieux comprendre CMMI :
![](/public/images/edit2.png)
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
UML 2 Analyse et Conception
Mise en œuvre guidée avec études de cas
Résumé de l'éditeur
Il propose une approche pédagogique de l'aspect normatif d'UML 2 et une démarche d'élaboration des diagrammes couvrant l'analyse et la conception des systèmes d'information. Le lecteur suit un apprentissage progressif fondé sur de nombreux exemples, exercices corrigés et de véritables études de cas se rapprochant de projets réels d'entreprise.
Cette édition sert trois objectifs :
- présenter les treize diagrammes d'UML 2 en conciliant le respect strict de la norme avec une application centrée sur les SI des entreprises ;
- décrire l'analyse et la conception des SI à l'aide des diagrammes d'UML 2 en s'appuyant sur des exemples et des exercices adaptés au contexte professionnel ;
- proposer une démarche de mise en œuvre d'UML 2 structurée en phases et activités, décrite à l'aide de fiches guides et illustrée par deux études de cas détaillées.
Édition : Dunod - 256 pages, 1re édition, 13 avril 2008
ISBN10 : 2100518305 - ISBN13 : 9782100518302
- Concept de l'approche objet et présentation d'UML 2.
- Les diagrammes structurels (ou statiques).
- Les diagrammes comportementaux
- Démarche de développement.
- Étude de cas 1: Analyse.
- Étude de cas 2: Analyse et conception.
- Annexes
UML n'étant pas une méthode, il n'y a pas de guide à suivre. La deuxième partie de ce livre (chapitres 4, 5 et 6) vise à combler cette lacune. Les auteurs décrivent leur démarche (UP7) basée sur UP (Unified Process) et tirée de leurs expériences. Cette partie est la plus intéressante car ils partagent 18 fiches guides qu'ils mettent en œuvre dans deux études de cas.
En conclusion, j'ai particulièrement aimé dans ce livre son côté pragmatique et son apport d'une démarche d'élaboration des diagrammes UML qui le distingue des autres ouvrages sur le sujet.
![](/public/images/edit2.png)
La rédaction de DVP a lu pour vous l'ouvrage suivant:
UML 2 Analyse et Conception, Mise en œuvre guidée avec études de cas, de Joseph Gabay, David Gabay
Cet ouvrage s'adresse à tous les professionnels, concepteurs et développeurs, qui souhaitent mieux maîtriser UML 2 et acquérir une démarche pratique de mise en œuvre ainsi qu'aux étudiants en informatique.
Il propose une approche pédagogique de l'aspect normatif d'UML 2 et une démarche d'élaboration des diagrammes couvrant l'analyse et la conception des systèmes d'information. Le lecteur suit un apprentissage progressif fondé sur de nombreux exemples, exercices corrigés et de véritables études de cas se rapprochant de projets réels d'entreprise.
Cette édition sert trois objectifs :
- présenter les treize diagrammes d'UML 2 en conciliant le respect strict de la norme avec une application centrée sur les SI des entreprises ;
- décrire l'analyse et la conception des SI à l'aide des diagrammes d'UML 2 en s'appuyant sur des exemples et des exercices adaptés au contexte professionnel ;
- proposer une démarche de mise en oeuvre d'UML 2 structurée en phases et activités, décrite à l'aide de fiches guides et illustrée par deux études de cas détaillées.
L'avez-vous lu? Comptez-vous le lire bientôt?
Quel est votre avis?
Exprimez-vous!! Votre avis nous intéresse...
Voir aussi : Cours et tutoriels pour apprendre UML.
On se retrouve ainsi avec une méthode (UP7) et des études de cas dont les les phases d'implémentation et de tests ne sont pas développées : on ne pourra donc pas se former complètement à la conduite de projets avec ce seul ouvrage qui n'en couvre qu'environ 50%.
On regrettera donc que, comme pas mal d'ouvrages dans ce domaine, il n'est pas été détaillé le passage critique des diagrammes UML à une réelle implémentation.
bien que ce post date un peu, je me permet de donner mes premières impressions sur ce bouquin, dont je suis pour le moment (hélas) déçue.
Pour situer les choses, je débute en UML et j'ai été attiré par le côté pédagogue de cet ouvrage.
Dès les premiers chapitres, on détecte des erreurs de copié collé sur les légendes des schémas. Comme l'erreur n'est pas excessive, et que j'ai très envie d'apprendre je continue ma lecture.
Après une dizaine de relecture du chapitre (pour être sûre d'avoir tout saisi) concernant les diagrammes objets/classe, je m'attaque aux exercices, et là stupeur : les énoncés sont évasifs, les corrigés sont beaucoup plus remplis que ce qu'ont l'air de demander les énoncés et je détecte même des incohérences au niveau des corrections.
Pour justifier mes dires, je vais citer l'énoncé en question qui se situe p.39 :
Quelques lignes en-dessous :
Je me suis arrêté là. J'ai l'habitude d'apprendre seule, et je comprend bien et vite. Je ne remet pas en cause les connaissances des auteurs, mais si la théorie est très explicite, les exercices sont brouillons et l'on a aucune chance de vérifier que nous avons bien compris.
UML 2
de l'apprentissage à la pratique
Résumé de l'éditeur
- Aux étudiants en informatique qui suivent un cursus comportant du génie logiciel, de la modélisation UML ou de la programmation objet
- Aux professeurs désirant s'appuyer sur un support de cours précis et complet
- Aux professionnels informaticiens utilisant UML dans leurs projets
Objectif :
- Acquérir d'une manière pédagogique et rigoureuse des bases du langage UML
- Comprendre le langage de contrainte OCL
- Découvrir les patrons de conception (Design patterns)
- S'intéresser à la mise en œuvre UML
Contenu :
- Dix chapitres
- Huit séances de travaux dirigés
- Corrigés complets et détaillés de tous les exercices
- Nombreux exemples
- Nombreuse illustrations
- Table des matières globale
- Table des matières par chapitre
- Index complet
Édition : Ellipses - 304 pages, 25 novembre 2009
ISBN10 : 2729852697 - ISBN13 : 9782729852696
- Chapitre 1 : Introduction à la modélisation objet
- Chapitre 2 : Diagramme de cas d'utilisation
- Chapitre 3 : Diagramme de clases
- Chapitre 4 : Object constraint language (OCL)
- Chapitre 5 : Diagramme d'états-transitions
- Chapitre 6 : Diagramme d'activités
- Chapitre 7 : Diagrammes d'interaction
- Chapitre 8 : Diagrammes de composants et de déploiement
- Chapitre 9 : Patrons de conception
- Chapitre 10 : Mise en œuvre d'UML
L'auteur met à notre disposition 10 chapitres d'une introduction à UML en passant par les différents diagrammes à leurs mise en œuvre. Chaque chapitre est introduit très clairement à travers son sommaire détaillé et surtout des objectifs clairs. Des travaux dirigés complets (où vous pouvez même apprendre à faire une mousse au chocolat), avec corrections en fin d'ouvrage, permettent d'appliquer les connaissances acquises par chapitre. Nous pouvons y apprendre comment modéliser une même chose de manière différente via des significations implicites ou explicites d'UML. L'auteur nous démontre tout ce qu'il est possible de faire mais aussi ce qu'il ne faut pas faire. Nous apprenons à "lire et écrire l'UML".
Une plus value de cet ouvrage est la référence à la modélisation de bases de données relationelles via UML. Enfin nous avons l'explication afin de quitter MERISE et de tenter une approche via UML où nous est présenté une implémentation claire en SQL. Il en fait de même via une implémentation JAVA ou C++ ce qui peut être une barrière pour certains.
L'auteur ne cache pas les zones de flou de la norme UML, précise clairement les nouveautés d'UML2.2 ce qui est très pratique lorsque l'on a déjà pratiqué. Un vocabulaire précis et consciencieux est acquis au fil des chapitres.
Pour conclure, ce livre permet d'apprendre ou revoir pas à pas l'UML2 au travers d'une introduction orientée objet, tous les diagrammes y compris les nouveautés, le langage précis et beaucoup d'illustrations. Les références aux normes UML ainsi qu'à d'autres ouvrages permettent aux curieux d'aller plus loin.
Enfin, le chapitre intitulé mise en œuvre d'UML permet une vision plus large de l'application d'UML avec une ouverture élargie via des méthodes actuelles telles que SCRUM, XP, ...
![](/public/images/edit2.png)
- Aux étudiants en informatique qui suivent un cursus comportant du génie logiciel, de la modélisation UML ou de la programmation objet
- Aux professeurs désirant s'appuyer sur un support de cours précis et complet
- Aux professionnels informaticiens utilisant UML dans leurs projets
Objectif :
- Acquérir d'une manière pédagogique et rigoureuse des bases du langage UML
- Comprendre le langage de contrainte OCL
- Découvrir les patrons de conception (Design patterns)
- S'intéresser à la mise en œuvre UML
Contenu :
- Dix chapitres
- Huit séances de travaux dirigés
- Corrigés complets et détaillés de tous les exercices
- Nombreux exemples
- Nombreuse illustrations
- Table des matières globale
- Table des matières par chapitre
- Index complet
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Du même auteur : Dans les Cours et tutoriels pour apprendre UML : Cours complet pour apprendre UML 2.0, une série de tutoriels par Laurent Audibert
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
UML 2
Maîtrisez le langage de modélisation
Résumé de l'éditeur
Édition : ENI - 515 pages, 2e édition, 6 juillet 2009
ISBN10 : 2746049864 - ISBN13 : 9782746049864
- Introduction
- A propos d'UML
- Les concepts de l'approche par objets
- La modélisation des exigences
- La modélisation de la dynamique
- La modélisation des objets
- La structuration des éléments de modélisation
- La modélisation du cycle de vie des objets
- La modélisation des activités
- La modélisation de l'architecture du système
Dans ce livre, l'idée de présenter UML en utilisant des exemples du même domaine (le monde équin en l'occurrence) est une bonne idée. Il est donc dommage qu'au chapitre 6, un exemple avec des voitures arrive de manière impromptue. Le graphisme de ces exemples étant par ailleurs différent, on peut se demander si ce n'est pas un ajout de dernière minute ?
Si vous cherchez des exemples de code, vous ferez l'impasse sur celui-ci qui en est dépourvu. D'autant que si les exemples proposés modélisent de vrais systèmes (au sens large du terme), on a parfois du mal à voir l'application informatique sous-jacente !
Si, en revanche, UML vous intéresse en tant que langage graphique de modélisation, indépendant de l'implémentation (PIM de MDA), cet ouvrage atteint son objectif. Et chose appréciable, il fournit des exercices avec corrigés, un glossaire des termes et même un lexique français/anglais.
Le seconde livre propose quant à lui de nous entrainer à la modélisation. Cette fois ci, les exemples sont de tous domaines et plus proche des systèmes informatiques, ce qui en fait un bon complément. Et comme tous les ouvrages de la collection TP informatiques, il est également un bon support de cours (test des prérequis et estimation de durée).
En conclusion, si c'est juste pour une vue générale d'UML, le premier livre peut vous suffire mais ci c'est pour apprendre à modéliser, l'offre groupée est intéressante.
![](/public/images/edit2.png)
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
UML 2 par la pratique : Etudes de cas et exercices corrigés
Résumé de l'éditeur
Édition : Eyrolles - 367 pages, 6e édition, 17 avril 2008
ISBN10 : 2212123221 - ISBN13 : 9782212123227
- Point de vue fonctionnel
- Modélisation fonctionnelle : étude de cas
- Modélisation fonctionnelle : exercices corrigés et conseils méthodologique
- Point de vue statique
- Modélisation statique : étude de cas
- Modélisation statique : exercices corrigés et conseils méthodologique
- Point de vue dynamique
- Modélisation dynamique : étude de cas
- Modélisation dynamique : exercices corrigés et conseils méthodologique
- Conception
- Étude de cas complète : de la modélisation métier à la conception détaillée en java ou C#
- Étude de cas complémentaire
- Annexe
- Correspondances UML - Java - C#
- Glossaire
- Bibliographie
A l'inverse d'une démarche théorique, ce livre se veut très concret et se base sur de nombreux exercices corrigés. La correction ne consistant pas à vous fournir directement une réponse, mais à argumenter les choix faits tout en proposant un processus de réflexion.
La « carte de référence UML2 » en couverture est un petit plus intéressant qui permettra de se remémorer en un seul coup d’œil les principes de base des principaux diagrammes d'UML2.
À noter pour ceux possédant ou ayant lu la 5ème édition que les évolutions sont plutôt mineures pour cette dernière édition.
![](/public/images/edit2.png)
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Voir aussi : Les Cours et tutoriels pour apprendre UML
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
L'orienté objet
Résumé de l'éditeur
Ce livre sera lu avec profit par tous les étudiants de disciplines informatiques liées à l'approche objet (programmation orientée objet, modélisation UML, Java, Python, C#/C++...) et pourra être utilisé par leurs enseignants comme matériel de cours.
Il est également destiné à tous les développeurs qui souhaitent approfondir leur compréhension des concepts objet sous-jacents au langage qu'ils utilisent.
Édition : Eyrolles - 602 pages, 3e édition, 1er avril 2007
ISBN10 : 2212120842 - ISBN13 : 9782212120844
- Principes de base : quel objet pour l'informatique ?
- Un objet sans classe n'a pas de classe
- Du faire savoir au savoir-faire, du procédural à l'oo
- Ici londres, les objets parlent aux objets
- Collaboration entre classes
- Méthodes ou messages ?
- L'encapsulation des attributs
- Les classes et leur jardin secret
- Vie et mort des objets
- Uml2
- Héritage
- Redéfinition des méthodes
- Abstraite, cette classe est sans objet
- Clonage, comparaison et assignation d'objets
- Interfaces
- Distribution gratuite d'objets : pour services rendus sur le réseau
- Multithreading
- Programmation événementielle
- Persistance d'objets
- Et si on faisait un petit flipper ?
- Les graphes
- Petite chimie et biologie oo amusantes
- Design patterns
Ce livre est une étude complète du développement orienté objet, abordé de la manière la plus pratique possible. L'auteur prend littéralement le lecteur par la main à la manière d'un professeur particulier, pour nous expliquer de manière simple et progressive le monde orienté objet, en illustrant par des cas didactiques concrets.
Les premiers chapitres peuvent paraître simplistes, surtout si le lecteur a déjà une expérience en programmation orienté objet, mais ils insistent beaucoup sur les bases essentielles de l'OO (nom intime pour "orienté objet"). Un des aspects les plus pédagogiques du livre est la présence abondante de code source qui illustre parfaitement la matière, et ce à chaque fois dans 3 langages : Java, C# et C++. Ainsi, contrairement à trop d'ouvrages théoriques sur le sujet, celui-ci reste agréable à lire, instructif et surtout pratique grâce aux exemples de programmation. Ces exemples restent souvent fort "didactiques" au début, mais une fois que la matière se complexifie, les bouts de programme présentés deviennent plus "réels" en simulant des jeux ou des applications informatiques classiques. L'aspect analyse n'est pas oublié non plus avec un chapitre entier consacré à UML et la traduction concrète de ses diagrammes principaux en code Java, C# et C++. Une série d'exercices à la fin de chaque chapitre permet au lecteur de s'auto-évaluer; ce livre est donc parfait comme support de cours.
A la fin de l'ouvrage on aura passé en revue tous les aspects de la programmation orientée objet, des plus simples au plus complexes, en terminant par les graphes. Plusieurs chapitres traitent de sujets modernes et intéressants pour le développeur tels que la sauvegarde de données (le passage d'une classe à un fichier, ou une base de données), la réalisation d'applications distribuées via RMI, Corba, webservices... Sont aussi traités d'autres sujets d'actualité comme la programmation événementielle caractéristique des interfaces utilisateur modernes, et le multithreading.
Bref un excellent ouvrage qui satisfera aussi bien le débutant complet que le programmeur ayant déjà des notions objet et souhaitant les approfondir et voir leur mise en œuvre dans des applications concrètes. Un must pour tout développeur OO.
![](/public/images/edit2.png)
Ce livre sera lu avec profit par tous les étudiants de disciplines informatiques liées à l'approche objet (programmation orientée objet, modélisation UML, Java, Python, C#/C++...) et pourra être utilisé par leurs enseignants comme matériel de cours.
Il est également destiné à tous les développeurs qui souhaitent approfondir leur compréhension des concepts objet sous-jacents au langage qu'ils utilisent.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
MDA en action
Ingénierie logicielle guidée par les modèles
Résumé de l'éditeur
Pour une meilleure productivité et une plus grande pérennité des développements, la logique métier d'une application est modélisée indépendamment de toute plate-forme d'exécution, un mécanisme de transformation de modèles permettant ensuite de produire automatiquement les modèles et le code spécifiques à chaque plate-forme (J2EE, NET, PHP... ).
Mise en œuvre pratique de MDA, illustrée par une étude de cas : Après une description détaillée des standards sur lesquels repose MDA, tels que UML, MOF, OCL et XMI, l'ouvrage insiste sur les aspects pratiques de sa mise en œuvre. Il montre comment construire des transformations de modèles en java à l'aide de l'API )MI et du framework EMF, et présente deux outils MDA du marché IBM Rational Software Modeler et Objecteering/MDA Modeler. L'ouvrage décrit enfin comment MDA prend en compte les plate-formes d'exécution, en détaillant plus particulièrement les environnements J2EE/EJB et PHP. Tous ces aspects de l'approche MDA sont illustrés par une étude de cas, une application de commerce électronique développée simultanément en J2EE et en PHP
Édition : Eyrolles - 270 pages, 1re édition, 1er avril 2005
ISBN10 : 2212115393 - ISBN13 : 9782212115390
- Avant-propos
- Objectifs de l'ouvrage
- Organisation de l'ouvrage
- A qui s'adresse l'ouvrage
- L'architecture MDA
- Pérennité des savoir-faire
- Modèles et niveaux méta
- UML2.0
- Les standards OCL et AS
- Les modèles en XML
- Gains de productivité (frameworks et outils)
- Manipuler des modèles avec JMI et EMF
- Transformation de modèles
- Les outils MDA
- Prise en compte des plates-formes d'exécution
- Les plates-formes d'exécution
- La plate-forme J2EE
- La plate-forme PHP
- Etude de cas
- MDA en action avec l'application Petstore
- Annexe
- Contenu du CD-ROM et procédures d'installation
- Index
Après la lecture du livre MDA en action, on comprend bien que, sans appliquer tous les concepts avec exactitude, on peut mettre en place une approche de pilotage des applications basée sur les modèles. Il en résulte une définition plus formelle de l'application, un processus de conception maitrisé et (c'est ce qui intéresse les décideurs), davantage de productivité.
Xavier Blanc est Maître de conférence à l'Université Pierre et Marie Curie. Il enseigne les techniques de modélisation, et représente également le LIP6 à l'OMG. Sa contribution est notamment mesurable au sein du projet "IST ModelWare", destiné à améliorer l'interopérabilité des outils de modélisation.
L'auteur présente tout d'abord l'architecture MDA et les concepts qui y sont inhérents (modèles CIM, PIM, PSM, MOF, UML, XML). Ce premier chapitre est essentiel à la compréhension des autres chapitres qui amènent plus de profondeur au sujet. Le chapitre 2 "Modèles et niveaux méta" aborde les points les plus abstraits et les fondements de MDA. On apprécie d'ailleurs, bien que l'effort de lecture soit important, une certaine concision et recherche de la justesse des définitions, illustrés par des exemples. Ce chapitre étudiera donc les notions de modèle, méta-modèle, métaméta-modèle. Cette représentation des modèles est ensuite enrichie au chapitre 3 avec l'étude des méta-modèles d'UML2.0 (UML2.0 Superstructure et UML2.0 Infrastructure, profils UML), qui conjuguent la modélisation de la notation UML et de MOF. OCL et AS sont ensuite présentés succinctement. J'aurais aimé un dossier plus complet sur le sujet, peut-être dans une version future du livre.
L'interopérabilité et la manipulation des modèles sont abordés aux chapitres 5 et 6, ou l'on étudiera le standard XMI et les frameworks JMI et EMF. Un exemple de transformation des modèles est donné à titre d'exemple ; même remarque, c'est concrètement l'un des éléments qui amène davantage de productivité à MDA en entreprise , et j'aurai apprécié une étude de cas professionnelle.
Bien entendu, l'un des grands intérêts de l'ouvrage est de consacrer 2 chapitres à MDA avec la plateforme J2EE et MDA avec la plate-forme PHP, illustrés d'exemples de mise en œuvre, d'utilisation des Profils UML pour EJB et des transformations de PIM en PSM. Une étude de cas, certes légère puisque il s'agit du célèbre "PetStore" clos l'ouvrage. Il s'agit donc d'un bon livre, relativement théorique, qui pourra interesser les architectes et concepteurs d'applications, les chefs de projets et décideurs en quête d'informations sur l'élaboration de processus de développements.
L'ouvrage est packagé avec un CD-ROM contenant les outils pour MDA IBM Rational Software Modeler et Softeam MDA Modeler.
![](/public/images/edit2.png)
Pour une meilleure productivité et une plus grande pérennité des développements, la logique métier d'une application est modélisée indépendamment de toute plate-forme d'exécution, un mécanisme de transformation de modèles permettant ensuite de produire automatiquement les modèles et le code spécifiques à chaque plate-forme (J2EE, NET, PHP... ).
Mise en œuvre pratique de MDA, illustrée par une étude de cas : Après une description détaillée des standards sur lesquels repose MDA, tels que UML, MOF, OCL et XMI, l'ouvrage insiste sur les aspects pratiques de sa mise en œuvre. Il montre comment construire des transformations de modèles en java à l'aide de l'API )MI et du framework EMF, et présente deux outils MDA du marché IBM Rational Software Modeler et Objecteering/MDA Modeler. L'ouvrage décrit enfin comment MDA prend en compte les plate-formes d'exécution, en détaillant plus particulièrement les environnements J2EE/EJB et PHP. Tous ces aspects de l'approche MDA sont illustrés par une étude de cas, une application de commerce électronique développée simultanément en J2EE et en PHP
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
Introduction à UML
Résumé de l'éditeur
Dans cet ouvrage, Sinan Si Alhir présente UML et le remet en perspective afin de conduire le lecteur pas à pas vers la maîtrise du langage. Dans un premier temps, il explique la façon dont UML permet de modéliser la structure d'un système. De nombreux concepts clés, qu'il s'agisse des plus généraux (classes) ou des plus spécifiques (objets) sont illustrés dans le chapitre consacré aux diagrammes de classes et d'objets. Il explique ensuite comment utiliser un diagramme de cas d'utilisation pour modéliser les caractéristiques d'un système. Enfin, il montre comment utiliser les diagrammes de composants et de déploiement pour modéliser le déploiement d'un système dans un environnement physique.
Si la modélisation structurelle permet de répondre à la question " qui fait quoi " dans le développement d'un système, la modélisation comportementale répond aux questions " quand, comment et pourquoi ". Le lecteur découvrira les diagrammes de séquence et de collaboration, qui décrivent la façon dont les éléments interagissent dans le temps et dans l'espace, les diagrammes d'état, qui décrivent le cycle de vie des composants d'un système, et enfin les diagrammes d'activité, qui documentent le contrôle des flux et le partage des responsabilités entre les différents éléments.
Tout au long du livre, Sinan Si Alhir se concentre sur le langage lui-même et évite de se prendre au piège de la méthodologie. Sa présentation est claire et concise. Une étude de cas constitue le fil rouge et permet d'ancrer dans la réalité des notions a priori abstraites. Chaque chapitre se termine par des exercices qui permettront au lecteur de vérifier l'assimilation des connaissances.
Édition : O'reilly - 221 pages, 1re édition, 1er septembre 2005
ISBN10 : 2841772799 - ISBN13 : 9782841772797
- Préface
Partie I : Principes de base
- Chapitre 1 -- Introduction
- Chapitre 2 -- Modélisation orientée objet
Partie II : Modélisation structurelle
- Chapitre 3 -- Diagramme de classes et d'objets
- Chapitre 4 -- Diagrammes de cas d'utilisation
- Chapitre 5 -- Diagrammes de composants et de déploiement
Partie III : Modélisation comportementale
- Chapitre 6 -- Doagrammes de séquences et collaboration
- Chapitre 7 -- Diagrammes d'état
- Chapitre 8 -- Diagrammes d'activité
Partie IV : Au-delà du langage UML
- Chapitre 9 -- Mécanismes d'extension
- Chapitre 10 -- Le langage OCL
Partie V : Annexes
- Annexe A -- Références
- Annexe B -- Solutions des exercices
- Index
N'ayant jamais été déçu par des livres O'Reilly, j'ai décidé de me procurer "Introduction à UML".
Et là le choc. Le livre n'est pas du tout comme je l'attendais. L'exemple mis en place au long des chapitres n'est pas vraiment ce que l'on peut qualifier de passionnant mais a le mérite de couvrir toutes les facettes d'UML. Le style d'écriture utilisé est très précis, très clair et formel mais donne au lecteur une envie de s'assoupir.
Néanmoins, le livre couvre tout ce qu'une introduction doit couvrir et va même un peu plus loin. Très dense et complet, il est à recommander à tout ceux qui accrocheront. Une impression mitigée donc, tant le ton est sérieux et austère.
Malheureusement la plupart des ouvrages dédiés à ce langage ne répondaient pas à mes attentes.
Je cherchais un ouvrage simple expliquant les fondements du langage, donc un livre adressé aux néophytes tels que moi.
Grâce à "Introduction à UML", toute personne souhaitant appréhender les concepts de bases de ce langage trouvera enfin chaussure à son pied. L'auteur de cet ouvrage passe en revue les 9 principaux diagrammes en expliquant comment les utiliser. Il explique également la syntaxe générale utilisée à l'intérieur même de chaque diagramme.
Après la lecture de chaque chapitre, une partie sera réservée à la résolution d'exercices en rapport aux diagrammes précédemment étudiés, pour vous permettre de vous entraîner et d'améliorer vos connaissances.
Le seul regret que j'ai à avoir est l'absence d'un glossaire reprenant les différents termes abordés dans chaque chapitre pour permettre au personnes, n'ayant pas encore ces termes techniques bien ancrés dans la tête, de s'y retrouver plus facilement.
En conclusion, je recommande cet ouvrage qui est à mes yeux l'ouvrage de référence pour toute personne souhaitant se former à UML
![](/public/images/edit2.png)
Dans cet ouvrage, Sinan Si Alhir présente UML et le remet en perspective afin de conduire le lecteur pas à pas vers la maîtrise du langage. Dans un premier temps, il explique la façon dont UML permet de modéliser la structure d'un système. De nombreux concepts clés, qu'il s'agisse des plus généraux (classes) ou des plus spécifiques (objets) sont illustrés dans le chapitre consacré aux diagrammes de classes et d'objets. Il explique ensuite comment utiliser un diagramme de cas d'utilisation pour modéliser les caractéristiques d'un système. Enfin, il montre comment utiliser les diagrammes de composants et de déploiement pour modéliser le déploiement d'un système dans un environnement physique.
Si la modélisation structurelle permet de répondre à la question " qui fait quoi " dans le développement d'un système, la modélisation comportementale répond aux questions " quand, comment et pourquoi ". Le lecteur découvrira les diagrammes de séquence et de collaboration, qui décrivent la façon dont les éléments interagissent dans le temps et dans l'espace, les diagrammes d'état, qui décrivent le cycle de vie des composants d'un système, et enfin les diagrammes d'activité, qui documentent le contrôle des flux et le partage des responsabilités entre les différents éléments.
Tout au long du livre, Sinan Si Alhir se concentre sur le langage lui-même et évite de se prendre au piège de la méthodologie. Sa présentation est claire et concise. Une étude de cas constitue le fil rouge et permet d'ancrer dans la réalité des notions a priori abstraites. Chaque chapitre se termine par des exercices qui permettront au lecteur de vérifier l'assimilation des connaissances.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
UML 2
Modéliser une application web
Résumé de l'éditeur
Du cahier des charges au code, ce livre vous offrira les meilleures pratiques de modélisation avec UML 2.0 sous la forme d'une étude de cas. Toutes les étapes d'analyse et conception sont décrites, abondamment illustrées et expliquées, à travers une démarche située à mi-chemin entre processus lourd et processus léger.
Édition : Eyrolles - 236 pages, 1re édition, 1er février 2006
ISBN10 : 2212117701 - ISBN13 : 9782212117707
- Introduction
- Quelle démarche pour passer des besoins utilisateur au code de l'application ?
- Fonctionnalités d'une librairie en ligne : l'application côté utilisateur
- Spécification des exigences d'après les cas d'utilisation
- Spécification détaillée des exigences
- Réalisation des cas d'utilisation : classes d'analyse
- Modélisation de la navigation
- Conception objet préliminaire
- Conception objet détaillée
- A : résumé du sous-ensemble de la notation UML 2.0 utilisé dans ce livre
- B : récapitulatif du modèle UML 2.0 illustrant la démarche de modélisation d'un site e-commerce
- C : modèle UML 1.4 de la précédente édition (réalisé avec Rational/Rose 2002)
- Index
Ce livre est la réédition de l'ouvrage « UML, Modéliser un site e-commerce » (dont des critiques sont disponibles) dans lequel l'auteur à remis tout ces diagrammes à jour suivant les nouveautés d'UML 2.0.
A noter la présence d'une annexe reprenant les diagrammes UML 1.4 de la précédente édition (utile pour les lecteurs de la précédente édition qui désireraient comparer les 2 types de diagrammes).
Je conseille ce livre à tout développeur web, c'est très bien écrit, très pédagogique, et l'exemple pratique à été particulièrement bien choisi.
![](/public/images/edit2.png)
Du cahier des charges au code, ce livre vous offrira les meilleures pratiques de modélisation avec UML 2.0 sous la forme d'une étude de cas. Toutes les étapes d'analyse et conception sont décrites, abondamment illustrées et expliquées, à travers une démarche située à mi-chemin entre processus lourd et processus léger.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
UML 2 en concentré
Manuel de référence
Résumé de l'éditeur
Édition : O'Reilly - 238 pages, 1re édition, 1er janvier 2006
ISBN10 : 2841773736 - ISBN13 : 9782841773732
- Notions fondamentales
- Diagrammes de classes
- Diagrammes de paquetage
- Structures composites
- Diagrammes de composants
- Diagrammes de déploiement
- Diagrammes de cas d'utilisation
- Diagrammes d'état
- Diagramme d'activités
- Diagrammes d'interaction
- Valeurs marquées, stéréotypes et profils UML
- De l'utilisation efficace des diagrammes
- L'architecture MDA (Model-Driven Architecture)
- Le langage OCL (Object Constraint Language)
Une bonne compréhension et une bonne utilisation d'UML passent avant tout par une compréhension de l'esprit et la maitrise des finesses de cet outil.
Dan son ouvrage "UML 2 en concentré", Dan Pilone, un spécialiste reconnu dans le domaine, à l'origine de multiples livres sur le sujet, s'attache à détailler tout ce qu'il faut savoir d'UML, et en particulier les nouveautés introduites par la révision 2.0 d'UML.
Après avoir fait un bref rappel des notions fondamentales, il passe ne revue chacun des diagrammes de la norme en détaillant chacune des spécificités. Il s'attache particulièrement à donner des exemples concrets pour chaque nouveau trait (attribut par exemple). Ceci rend la compréhension incrémentale voire presque intuitive.
En fin d'ouvrage, Dan Pilone introduit un chapitre visant à prôner la bonne utilisation des diagrammes UML et notamment les "anti-utilisations". Enfin, il tente une ouverture rapide vers MDA, une méthodologie permettant de générer du code à partir de modèles. Toutefois celle-ci mérite à elle seule un livre entier.
Cet ouvrage est à recommander à tous les informaticiens ou chefs de projets voulant améliorer leur compréhension d'UML ou voulant se mettre à jour vers la révision 2.0. Il se veut être un modèle didactique et pédagogique en la matière.
Bien sur, c'est une version "concentrée" donc tous les sujets ne sont pas forcément abordés dans les moindres détails. Cependant, ce livre est vraiment parfait pour débuter !
De plus, il permettra aux développeurs ayant déjà des connaissances en UML 2.0, de se rafraichir la mémoire et constitue donc un excellent mémento en la matière.
![](/public/images/edit2.png)
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
UML 2 en action
De l'analyse des besoins à la conception J2EE
Résumé de l'éditeur
Cependant les ressources fournies par l'OMG, bien que forcement très complètes, restent quelque peu indigestes, et en anglais, et il est bien souvent indispensable de passer par une ressource tierce afin de mieux comprendre et maitriser ce formidable langage. Dans cet ouvrage, Pascal Roques et Frank Vallée, véritables gourous du domaine, se sont appliqués à présenter la norme UML 2.0, avec son lot de nouveautés, en détaillant, à chaque étape du processus de développement, l'utilisation des diagrammes et leur intérêt. UML prend ici place au sein du processus itératif 2TUP (Two Track Unified Process) afin d'être mis en application dans un véritable modèle de développement évitant ainsi toute présentation « catalogue » d'UML.
Édition : Eyrolles - 386 pages, 3e édition, 1er juin 2004
ISBN10 : 2212114621 - ISBN13 : 9782212114621
Broché, 19 x 23, Noir et Blanc
- CHAPITRE 1 : INTRODUCTION 1
- Prérequis
- Structure de l'ouvrage
- Comment lire UML en Action
- Remerciements
- CHAPITRE 2 : PROCESSUS ET ARCHITECTURE
- Le processus 2TUP
- Un processus itératif et incrémental piloté par les risques
- Un processus piloté par les exigences des utilisateurs
- Un processus de modélisation avec UML
- Les diagrammes d'UML 2.0
- Un processus par niveaux d'abstraction
- Les points de vue de modélisation
- Un processus centré sur l'architecture
- Un processus orienté vers les composants
- CHAPITRE 3 : ÉTUDE PRÉLIMINAIRE
- Cahier des charges
- Identifier les acteurs
- Identifier les messages
- Modéliser le contexte
- CHAPITRE 4 : CAPTURE DES BESOINS FONCTIONNELS
- Identifier les cas d'utilisation
- Décrire les cas d'utilisation
- Organiser les cas d'utilisation
- Décrire les cas d'utilisation en identifiant les flux entre application
- Identifier les classes candidates
- Valider et consolider
- CHAPITRE 5 : CAPTURE DES BESOINS TECHNIQUES
- Spécification technique du point de vue matériel
- Spécification d'architecture et influence sur le modèle de déploiement
- Élaboration du modèle de spécification logicielle
- Organisation du modèle de spécification logicielle
- Développement des couches logicielles
- Définition des concepts techniques
- Description d'un cas d'utilisation technique
- CHAPITRE 6 : DÉCOUPAGE EN CATÉGORIES
- Notion de catégorie
- Découpage en catégories
- Dépendances entre catégories
- CHAPITRE 7 : DÉVELOPPEMENT DU MODÈLE STATIQUE
- Affiner les classes
- Affiner les associations
- Ajouter les attributs
- Ajouter les opérations (optionnel)
- Optimiser avec la généralisation
- Encore un petit effort !
- CHAPITRE 8 : DÉVELOPPEMENT DU MODÈLE DYNAMIQUE
- Identifier les scénarios
- Spécification Formaliser les scénarios
- Construire les diagrammes d'états
- Valider les diagrammes d'états avec les diagrammes d'interactions
- Confronter les modèles statique et dynamique
- CHAPITRE 9 : CONCEPTION GÉNÉRIQUE
- Classes et frameworks techniques
- Élaboration du modèle logique de conception
- Introduction aux design patterns
- Le design pattern « singleton »
- Le design pattern « fabrication »
- Construire de nouveaux design patterns
- Conception dynamique d'un framework
- Organisation du modèle logique de conception technique
- Les contraintes de réutilisation dans la conception générique
- Élaboration du modèle d'exploitation de la conception technique
- Élaboration du modèle de configuration logicielle de la conception technique
- Prise en compte de la génération de code
- Développement d'un prototype
- CHAPITRE 10 : CONCEPTION PRÉLIMINAIRE
- Quand intervient la conception préliminaire ?
- Développement du modèle de déploiement
- Développement du modèle d'exploitation
- Énumération des interfaces utilisateur
- Développement du modèle logique
- Définir l'interface des catégories
- Concevoir la structure objet des IHM
- Organiser la configuration logicielle
- CHAPITRE 11 : CONCEPTION DÉTAILLÉE
- Le micro-processus de conception logique
- Concevoir les classes
- Concevoir les associations
- Concevoir les attributs
- Concevoir les opérations
- Conception de la couche de présentation
- Conception de la couche Application
- Conception de la couche métier distribuée
- Conception du stockage des données
- Développer la configuration logicielle
- ANNEXE 1 : BIBLIOGRAPHIE
- ANNEXE 2 : SYNTHÈSE DE LA NOTATION UML 2.0
- ANNEXE 3 : SYNTHÈSE DES STÉRÉOTYPES UML
- ANNEXE 4 : RÉCAPITULATIF DES CONSEILS ET DES PIÈGES
Mais avant de se ruer sur l'achat de ce livre, il faut faire attention à deux choses. D'abord, contrairement à ce que l'on peut lire dans le résumé de l'éditeur, cet ouvrage n'est pas à destination des débutants. Un pré-requis inévitable est de connaître UML et sa notation avant de se lancer dans la lecture de ce livre. En effet, celui-ci ne donne aucune indication quant à cette notation.
Ensuite, il faut être conscient que vous ne serez probablement pas intéressé par l'entièreté de l'ouvrage. Tous les chapitres ne sont pas pour tout le monde, et chacun est à destination de deux ou trois catégories de lecteurs : analystes, architectes, concepteurs, etc.
Cependant, vous pourrez toujours avoir envie de tout lire, pour vous familiariser avec d'autres branches du métier de l'informatique, ou simplement parce que vous touchez déjà à tout :-)
En dehors de cela, cependant, on ne peut rien trouver à redire à ce livre. Il explique en détails et avec une simplicité déconcertante comment vous pouvez vraiment utiliser UML. Ressorti de ce livre, vous comprendrez les réels intérêts d'UML pour toute la première partie du cycle de développement : de l'analyse des besoins à la conception détaillée, comme le signale si bien le sous-titre de l'ouvrage.
C'est pourquoi je recommande fortement ce livre comme deuxième ouvrage sur UML ; après (ou avec) un premier qui vous apprendra la notation de ce langage.
Sébastien Doeraene
Quelque soit votre langage de prédilection, ne vous laissez pas arrêter par l'intitulé en J2EE: dans le cas qui nous intéresse, seuls les 2 derniers chapitres traitant de la conception sont avec les exemples écrits en Java. Avec UML2 en action, Vous avez en main le livre nécessaire pour appréhender UML dans un contexte pratique et professionnel et par chance il est en français. Tout étudiant, professionnel ou universitaire se doit de connaitre ce langage et pour ça le livre de Pascal Roques et Franck Vallée est le compagnon idéal.
À lire et a posséder absolument.
![](/public/images/edit2.png)
Cependant les ressources fournies par l'OMG, bien que forcement très complètes, restent quelque peu indigestes, et en anglais, et il est bien souvent indispensable de passer par une ressource tierce afin de mieux comprendre et maitriser ce formidable langage. Dans cet ouvrage, Pascal Roques et Frank Vallée, véritables gourous du domaine, se sont appliqués à présenter la norme UML 2.0, avec son lot de nouveautés, en détaillant, à chaque étape du processus de développement, l'utilisation des diagrammes et leur intérêt. UML prend ici place au sein du processus itératif 2TUP (Two Track Unified Process) afin d'être mis en application dans un véritable modèle de développement évitant ainsi toute présentation « catalogue » d'UML.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
UML 2
Modélisation des objets
Résumé de l'éditeur
Édition : ENI - 151 pages, 1re édition, 9 octobre 2006
ISBN10 : 2746034123 - ISBN13 : 9782746034129
Broché
- Chapitre 1 : A propos d'UML
- Chapitre 2 : Les principes de l'approche par objet
- Chapitre 3 : La modélisation des exigences
- Chapitre 4 : La modélisation de la dynamique
- Chapitre 5 : La modélisation des objets
- Annexe 1 : La correction des exercices
- Chapitre 3 : Notation graphique
- Glossaire
- Index
Ce livre ne se veut pas exhaustif, c'est une introduction qui vous permettra de débuter avec UML. Et de ce coté-là, il remplit tout à fait son but. En plus, il vous proposera même des exercices pour mettre en application ce que vous avez appris à chaque chapitre. On peut tout de même lui reprocher le fait d'avoir voulu mettre trop de choses dans peu de pages, ce qui se traduit parfois par des informations trop résumées et donc compliquées à comprendre. Mais en général, le style est plutôt agréable et les informations intéressantes. De plus, chaque nouvelle connaissance qui est abordée est expliquée à l'aide d'exemples concrets.
En conclusion, ce livre vous permettra de découvrir UML et de le mettre en application pour vos projets. Il ne vous permettra pas par contre de connaître l'entier du langage UML. Pour cela, dirigez-vous vers un ouvrage plus conséquent.
![](/public/images/edit2.png)
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
UML 2 pour les développeurs
Cours et exercices corrigés
Résumé de l'éditeur
UML 2 pour les développeurs prend le contre-pied de ces approches classiques. L'ouvrage montre comment articuler harmonieusement modélisation et programmation, en insistant sur les gains de productivité que permettent ces allers-retours entre les modèles UML et le code.
Chaque notion UML importante est introduite par un exemple et chaque chapitre se clôt par une série d'exercices corrigés (90 au total), qui permettront au lecteur de tester ses connaissances.
Pour illustrer concrètement les relations entre code et modèles, les auteurs font le choix du langage Java, les principes présentés étant naturellement transposâmes à d'autres langages.
Édition : Eyrolles - 202 pages, 1re édition, 1er septembre 2006
ISBN10 : 221212029X - ISBN13 : 9782212120295
- Un curieux besoin de modèles
- Diagrammes de classes
- Reverse Engineering
- Rétroconception et patrons de conception (design patterns)
- Génération de code
- Diagrammes de séquence
- Diagrammes de séquence de test
- Plates-formes d'exécution
- Diagrammes de cas d'utilisation
- Développement avec UML
- Corrigés des TD
- Annexe 1. Code d'un carnet d'adresse
- Annexe 2. Exemple de partiel
L'approche proposée dans ce livre est de commencer par le code et de remonter l'arbre de la conception jusqu'à l'analyse des besoins, donc vraiment du point de vue d'un développeur. En fait, UML 2 pour les développeurs est une méthode de travail complète, exposée dans le dernier chapitre, pour qu'un développeur sache comment développer son application avec méthode.
Les diagrammes de classes, de séquence et de cas d'utilisation sont exposés, ce n'est donc pas tout UML 2, mais que la partie utile à un développeur. Ensuite, le code est orienté Java, mais en fait il suffit de connaître les limitations de son langage (ce qui est le cas d'un développeur normalement), et donc appliquer les lignes directrices à un autre langage est facile.
Les exercices de ce livre occupent une grande partie de l'ouvrage, ils font partie intégrante de la réflexion. Ils sont simples mais pertinents, et surtout indispensables.
![](/public/images/edit2.png)
UML 2 pour les développeurs prend le contre-pied de ces approches classiques. L'ouvrage montre comment articuler harmonieusement modélisation et programmation, en insistant sur les gains de productivité que permettent ces allers-retours entre les modèles UML et le code.
Chaque notion UML importante est introduite par un exemple et chaque chapitre se clôt par une série d'exercices corrigés (90 au total), qui permettront au lecteur de tester ses connaissances.
Pour illustrer concrètement les relations entre code et modèles, les auteurs font le choix du langage Java, les principes présentés étant naturellement transposâmes à d'autres langages.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Voir aussi : Les Cours et tutoriels pour apprendre UML.
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
UML 2 pour les bases de données
Résumé de l'éditeur
Permettant à l'origine de modéliser et de développer des applications écrites dans un langage objet (C++, Java), UML s'est imposé depuis quelques années sur le terrain de la conception de bases de données relationnelles. Le marché a suivi cette tendance car aujourd'hui, tous les outils de modélisation utilisent cette notation. Destiné aussi bien aux étudiants qu'aux professionnels, cet ouvrage explique ainsi comment construire un diagramme de classes avec UML 2 en vue de concevoir une base de données relationnelle de type SQL2 ou objet-relationnelle de type SQL3. Chaque chapitre se clôt par une série d'exercices dont les corrigés figurent sur le site des éditions Eyrolles.
Une étude comparative des outils de modélisation
Le dernier chapitre du livre dresse un panorama des principaux outils du marché (Enterprise Architect, MagicDraw, MEGA, ModelSphere, MyEclipse, Objecteering, Poseidon, PowerAMC, Rational Rose, Together, Visio, Visual Paradigm, Visual UML et Win Design), en analysant pour chacun la manière dont il implémente différents critères de UML 2 : associations binaires et n-aires, classes-associations, agrégations, contraintes interassociations, héritage multiple avec contraintes, et rétroconception d'une base de données.
Cet ouvrage s'adresse aux étudiants en IUT, IUP, Deug et écoles d'ingénieur, ainsi qu'à leurs professeurs, aux professionnels souhaitant s'initier à la modélisation de bases de données avec UML, à tous les concepteurs de bases de données désirant migrer de Merise à UML.
Édition : Eyrolles - 314 pages, 1re édition, 1er mars 2007
ISBN10 : 2212120915 - ISBN13 : 9782212120912
- LE NIVEAU CONCEPTUEL : FACE A FACE MERISE/UML
- Généralités
- Face à face Merise/UML
- Règles de validation
- Héritage
- Encapsulation
- Identification et incidence sur la réification
- Aspects temporels
- La démarche
- Bilan
- Exercices
- LE NIVEAU LOGIQUE : DU RELATIONNEL A L'OBJET
- Modèle relationnel
- Modèles objet
- Du conceptuel au logique
- Raisonnement par rétroconception
- Du conceptuel à l'objet
- Exercices ; LE NIVEAU PHYSIQUE : DE SQL2 A SQL3
- Le langage SQL
- Passage du logique à SQL2
- Du modèle objet à SQL3
- Exercices
- OUTILS DE MARCHE : DE LA THEORIE A LA PRATIQUE
- Associations binaires
- Associations n-aires
- Classes-associations
- Contraintes
- Agrégations
- Héritage
- La réroconception
- Bilan général
- Quelques mots sur les outils
L'approche des divers concepts (associations binaires, contraintes, agrégations, ...), d'abord théorique devient vite pratique. Cette manière de présenter la modélisation permet aux développeurs/concepteurs de bien cerner les différents problèmes rencontrés à tous les niveaux de la conception de leurs bases de données.
Chaque chapitre se termine par des exercices dont les corrigés sont disponibles via le site de l'éditeur.
Conclusion : Un livre qui touche un très grand public : développeurs, enseignants, concepteurs, ... et qui ne se limite pas à décrire UML 2 puisqu'il place le langage de conception UML face aux autres méthodes existant déjà. Les programmeurs habitués à utiliser Merise peuvent s'y référer s'ils désirent migrer vers UML.
Comme d'habitude, l'auteur nous livre un ouvrage très bien construit qui englobe beaucoup de références au niveau de la conception/modélisation mais aussi au niveau SQL.
![](/public/images/edit2.png)
Permettant à l'origine de modéliser et de développer des applications écrites dans un langage objet (C++, Java), UML s'est imposé depuis quelques années sur le terrain de la conception de bases de données relationnelles. Le marché a suivi cette tendance car aujourd'hui, tous les outils de modélisation utilisent cette notation. Destiné aussi bien aux étudiants qu'aux professionnels, cet ouvrage explique ainsi comment construire un diagramme de classes avec UML 2 en vue de concevoir une base de données relationnelle de type SQL2 ou objet-relationnelle de type SQL3. Chaque chapitre se clôt par une série d'exercices dont les corrigés figurent sur le site des éditions Eyrolles.
Une étude comparative des outils de modélisation
Le dernier chapitre du livre dresse un panorama des principaux outils du marché (Enterprise Architect, MagicDraw, MEGA, ModelSphere, MyEclipse, Objecteering, Poseidon, PowerAMC, Rational Rose, Together, Visio, Visual Paradigm, Visual UML et Win Design), en analysant pour chacun la manière dont il implémente différents critères de UML 2 : associations binaires et n-aires, classes-associations, agrégations, contraintes interassociations, héritage multiple avec contraintes, et rétroconception d'une base de données.
Cet ouvrage s'adresse aux étudiants en IUT, IUP, Deug et écoles d'ingénieur, ainsi qu'à leurs professeurs, aux professionnels souhaitant s'initier à la modélisation de bases de données avec UML, à tous les concepteurs de bases de données désirant migrer de Merise à UML.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
UML 2 et les Design patterns
Résumé de l'éditeur
Édition : Pearson Education - 850 pages, 3e édition, 20 mars 2005
ISBN10 : 2744070904 - ISBN13 : 9782744070907
- Chap. I Analyse et Conception Orientée Object (A/COO)
- Chap. II. Développement Itératif et Processus Unifié
- Chap. III.Etude de Cas : Système NextGen
- Chap. IV. Initialisation
- Chap. V. Comprendre les besoins
- Chap. VI. Modèle de Cas d'Utilisation : rédaction des spécifications dans un contexte
- Chap. VII. Identification des autres besoins
- Chap. VIII. De l'initialisation à l'élaboration
- Chap. IX. Modèle de cas d'utilisation : création de DSS
- Chap. X. Modèle du domaine : les concepts
- Chap. XI. Modèle du domaine : les associations
- Chap. XII. Modèle du domaine : les attributs
- Chap. XIII. Les Contrats d'opération
- Chap. XIV. Des besoins à la conception dans l'itération en cours
- Chap. XV. Notation des diagrammes d'interaction
- Chap. XVI. GRASP : conception objet et reponsabilités
- Chap. XVII. Modèle de conception : réalisation des cas d'utilisation avec les patterns GRASP
- Chap. XVIII. Déterminer la visibilité
- Chap. XIX. Diagrammes de classes de conception
- Chap. XX. Modèle d'implémentation
- Chap. XXI. Itération 2 et ses exigences
- Chap. XXII. GRASP : autres patterns
- Chap. XXIII. Conception et patterns GoF
- Chap. XXIV. Itération 3 et ses exigences
- Chap. XXV. Mise en relation des cas d'utilisation
- Chap. XXVI. Modélisation de la généralisation
- Chap. XXVII. Affinement du Modèle du domaine
- Chap. XXVIII. Nouveaux DSS et contrats
- Chap. XXIX. Modélisation du comportement et diagrammes d'états-transitions
- Chap. XXX. Conception de l'architecture logique avec des patterns
- Chap. XXXI. Organisation des packages
- Chap. XXXII. Introduction à l'analyse architecturale
- Chap. XXXIII. Autes réalisations de cas d'utilisation avec des objets et des patterns
- Chap. XXXIV. Conception d'un framework de persistance
- Chap. XXXV. Dessin et outils
- Chap. XXXVI. Introduction à la planification itérative et à la conduite de projets
- Chap. XXXVII. Commentaires sur le développement itératif et UP
- Chap. XXXVIII. Compléments sur la notation UML
Une étude de cas unique est suivie tout au long des chapitres et sert de référence pour chaque exemple. Néanmoins, il ne faut pas que le développeur s'attende à trouver une étude exhaustive de la notation UML ou des diagrammes ultra-complets, en effet, l'ouvrage s'attache essentiellement à présenter l'intérêt du recours à UML dans un cycle de développement itératif comme Unified Process. des analogies au RUP de Philipe kruchten ou XP sont également introduites. Côté Patterns, nous retrouvons les modèles de responsabilités (Pattern GRASP) et GoF (Gang Of Four).
On regrette cependant l'absence d'un CD avec des documentations ou des logiciels de modélisation UML en version d'évaluation (Together ou Rational), mais aussi que le titre ne reflète pas de façon adaptée le réel contenu de l'ouvrage.
![](/public/images/edit2.png)
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)
Rédiger des cas d'utilisation efficaces
Résumé de l'éditeur
Première étape de la modélisation UML, les cas d'utilisation jouent un rôle essentiel dans le processus de développement d'une application, car ils répertorient tous les scénarios d'utilisation possibles de cette application .
... ET DE L'ART DE BIEN LES RÉDIGER !
Malgré son apparente simplicité, la rédaction de cas d'utilisation est une tâche difficile. Que faut-il décrire ? Avec quel niveau de détail ? Comment ne rien oublier ? Cet ouvrage, écrit par l'un des meilleurs spécialistes du sujet, répond à ces questions en proposant une méthodologie claire, illustrée par 40 exemples détaillés et commentés.
QUELQUES CAS D'UTILISATION TRAITES
Acheter des actions sur le Web - Traiter une demande d'indemnisation - Enregistrer l'arrivée d'un colis - Acheter quelque chose - Ajouter un nouveau service - Entrer et actualiser les demandes - Inscrire une nouvelle demande de service - Actualiser une demande de service - Inscrire une demande actualisée - sérialiser l'accès à une ressource - Appliquer une règle de conversion des verrous - Appliquer une règle de compatibilité des accès - Appliquer une politique de sélection des accès - Faire patienter le Client du service avant de lui accorder un accès à la ressource - Évaluer les conséquences d'un accident du travail - Enregistrer un sinistre
À QUI S'ADRESSE CE LIVRE ?
À tous les utilisateurs d'UML ; Aux chefs de projets, maîtres d'œuvre et maîtres d'ouvrage ; Aux analystes-concepteurs et aux développeurs.
Édition : Eyrolles - 287 pages, 1re édition, 1er décembre 1999
ISBN10 : 2212092881 - ISBN13 : 9782212092882
Broché, 2 x 19 x 23cm
- Introduction
- Les cas d'utilisation comme contrat de comportement
- Portée
- Intervenants et acteurs
- Trois niveaux d'objectifs designés
- Préconditions, déclencheurs et garanties
- Scénarios et étapes
- L'héritage
- Les extensions
- Variantes de technologies et de données
- Création de liens entre cas d'utilisation
- Formtas de cas d'utilisation
- Quand en avons-nous fini ?
- Gérer de nombreux cas d'utilisation
- Cas d'utilisation CRUD et paramétrés
- Modélisation des processus métier
- Les exigences manquantes
- Les cas d'utilisation dans le processus global
- Résumé de cas d'utilisation et programme extrême (XP)
- Correction d'erreurs
- Aide mémoire pour chaque cas d'utilisation
- Aide mémoire pour l'ensemble des cas d'utilisation
- Aide mémoire pour la création des cas d'utilisation
- Annexe A : Les cas d'utilisation en UML
- Annexe B : Exercices - Quelques réponses
- Annexe C : Glossaire
- Annexe D : Référence bibliographique
L'auteur commence par nous donner une vision globale de ce qu'est un cas d'utilisation et à quoi ils servent. Il continue ensuite en nous détaillant chaque partie d'un cas d'utilisation (portée, intervenants, niveaux...). Tout cela, toujours de manière très organisé et facile à suivre. On ajoute à chaque fois une couche de connaissance à nos propres cas d'utilisation. Il parcourt ainsi toutes les parties des cas d'utilisation. Pour en arriver ensuite aux différents formats des cas d'utilisation.
Ensuite dans las partie 2 du livre, on va parler de comment intégrer ces cas d'utilisation dans le processus global, de la gestion de nombreux cas d'utilisation en même temps. Et enfin, une liste très utile de choses à ne pas faire.
La partie 3 est consacrée à toute une série d'aide-mémoire qui reprennent les points importes de chaque chose inhérente aux cas d'utilisation.
La dernière partie nous montrer comment sont faits les cas d'utilisation en UML et nous donne les corrections de certains exercices et aussi à un glossaire très utile.
Tout au long du livre, nous avons droit à des exemples réels, à des histoires vraies et à des citations de personnes très impliquées dans les cas d'utilisation. Tout cela concrétise encore nos idées sur les cas d'utilisation. je conclurai en disant que ce livre est très bien pour toutes personnes ne sachant pas ce qu'est un cas d'utilisation ou croyant que c'est juste deux petits bonhommes et des flèches
![](/public/images/edit2.png)
Première étape de la modélisation UML, les cas d'utilisation jouent un rôle essentiel dans le processus de développement d'une application, car ils répertorient tous les scénarios d'utilisation possibles de cette application .
... ET DE L'ART DE BIEN LES RÉDIGER !
Malgré son apparente simplicité, la rédaction de cas d'utilisation est une tâche difficile. Que faut-il décrire ? Avec quel niveau de détail ? Comment ne rien oublier ? Cet ouvrage, écrit par l'un des meilleurs spécialistes du sujet, répond à ces questions en proposant une méthodologie claire, illustrée par 40 exemples détaillés et commentés.
QUELQUES CAS D'UTILISATION TRAITES
Acheter des actions sur le Web - Traiter une demande d'indemnisation - Enregistrer l'arrivée d'un colis - Acheter quelque chose - Ajouter un nouveau service - Entrer et actualiser les demandes - Inscrire une nouvelle demande de service - Actualiser une demande de service - Inscrire une demande actualisée - sérialiser l'accès à une ressource - Appliquer une règle de conversion des verrous - Appliquer une règle de compatibilité des accès - Appliquer une politique de sélection des accès - Faire patienter le Client du service avant de lui accorder un accès à la ressource - Évaluer les conséquences d'un accident du travail - Enregistrer un sinistre
À QUI S'ADRESSE CE LIVRE ?
À tous les utilisateurs d'UML ; Aux chefs de projets, maîtres d'œuvre et maîtres d'ouvrage ; Aux analystes-concepteurs et aux développeurs.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
![:merci:](https://www.developpez.net/forums/images/smilies/merci.png)