Critique du livre Analyse et conception orientées objet - Tête la première

Ricky81

Présentation et critique du livre Analyse et conception orientrées objet - Tête la première de Brett D. McLaughlin, Gary Pollice & David West (traduction de Sophie Govare) aux éditions O'Reilly.

- Titre : Critique du livre Analyse et conception orientées objet - Tête la première

- Auteur : Ricky81

- Parution : 29 août 2007

- Licence : Copyright ® 2007 Ricky81. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- 1. Présentation de l'ouvrage

- 1-1. Table des matières

- 1-2. Le livre vu par l'éditeur

- 1-3. Mon résumé

- 2. La critique

- 2-1. Premières impressions

- 2-2. Un livre avant tout pour débutants

- 2-3. Les études de cas

- 3. Remarques

- 4. Conclusion

- 5. Liens

1 - Présentation de l'ouvrage

1-1 - Table des matières

Introduction
Un bon logiciel commence ici : une appli bien conçue qui assure
Donnez-leur ce qu'ils veulent : recueillir les exigences
Je t'adore, tu es parfait ... Mais maintenant, change : les exigences changent
Introduire votre logiciel dans le monde réel : analyse
Rien ne reste jamais comme avant : bonne conception
Entracte : CATASTROPHE OO
30 minutes de gym pour votre logiciel : logiciel souple
"Je m'appelle Numérobis" : résoudre de très gros problèmes
Mettre de l'ordre dans le chaos : architecture
On accorde trop d'importance à l'originalité : principes de conception
Le logiciel reste destiné au client : itérer et tester
Tout assembler : le cycle de vie acoo

Annexe A : les restes

Annexe B : bienvenue à objectville

1-2 - Le livre vu par l'éditeur

Fatigué de lire des ouvrages sur l'ACOO qui ne sont compréhensibles que par les spécialistes ? Vous avez très certainement entendu dire que l'analyse et la conception orientées objet peuvent vous aider à écrire du bon logiciel à tous les coups, du logiciel qui rendra votre patron heureux et le client satisfait. Oui, mais comment ? L'analyse et la conception orientées objet montrent comment analyser, concevoir et écrire des logiciels orientés objet et de qualité, des logiciels faciles à maintenir et à réutiliser, qui ne seront pas un casse-tête et qui pourront évoluer sans pour autant massacrer les anciennes fonctionnalités. Voici ce que vous allez apprendre : Utiliser les principes OO tels que l'encapsulation et la délégation dans le but de concevoir des applications souples. Appliquer le principe d'ouverture-fermeture (OCP, Open-Closed Principle) et le principe de responsabilité unique (SRP, Single Responsibility Principle), principes de conception qui vous permettront de travailler plus vite et plus intelligemment. Apprendre comment les principes OO, les design patterns et les différentes phases du développement ne forment qu'une seule procédure : le cycle de vie ACOO d'un projet. Utiliser UML, les cas d'utilisation, les bons moyens de communiquer afin d'être certain que vous parlez bien le langage OO et que tout le monde vous comprend. Il existe mille et une façons d'apprendre. En s'ennuyant et en étant passif... ou en s'amusant et en musclant ses neurones. L'approche des auteurs est axée sur la pédagogie. Les concepts s'appuient sur des images et des exercices ludiques. Tout ce qui augmente et diversifie votre activité cérébrale est mis en œuvre afin que vous mémorisiez facilement les points cruciaux. L'heure est venue de vous plonger dans l'ACOO tête la première !

1-3 - Mon résumé

Cet ouvrage se focalise sur la méthodologie de mise en oeuvre d'une analyse et conception orientées objet.
Tout au long du livre, les auteurs n'ont de cesse de transmettre au lecteur des conseils pour lui permettre d'aborder un problème concret et élaborer une solution logicielle.

Dans une première partie, les auteurs suivent (et insistent dessus) une démarche : la démarche chronologique que l'on rencontre le plus souvent sur des projets informatique. Ils en font ressortir tout l'intérêt de savoir et comprendre ce que le client / utilisateur final veut avant même de se lancer dans la réalisation.
L'approche est itérative, et le lecteur n'est donc pas noyé par les concepts qui apparaîssent progressivement et dans le cadre d'études de cas de plus en plus complètes et poussées.

Puis vient la seconde partie qui se concentre sur un cas d'étude complet, où le lecteur est moins guidé et a l'occasion de mettre en oeuvre ses acquis tout en étant conseillé et en bénéficiant des réponses des auteurs.
C'est ici l'occasion de consolider tous les concepts précédemment introduits, et de les identifier à travers ce nouveau cas d'étude davantage destiné à mettre en pratique qu'à introduire de nouveaux concepts.

Chaque chapitre est agrémenté de petits exercices, d'un ensemble de questions/réponses destiné à lever toute ambigüité, et d'un plateau de mots-croisés permettant de récapituler les concepts introduits.
Le langage Java est le support des exemples et études.
Une annexe permettra aux débutants en programmation orientée objet de se mettre à niveau avant d'entamer la lecture du sujet principal du livre.

2 - La critique

2-1 - Premières impressions

Mon premier "Tête la première" ... et c'est effectivement un style très particulier.
Là où je ne tiens pas 10 minutes après une longue journée éprouvante, je me suis surpris à lire jusqu'à 1 heure ce livre sans me déconcentrer ou perdre le fil.
L'organisation du livre, les illustrations, la typographie, ..., tout est fait pour vous aider à lire sans douleur, et surtout à mémoriser les concepts.

Devant tant d'efforts sur la présentation et le style, un contenu plus que pertinent, et une organisation favorisant l'introduction progressive de nouvelles connaissances, ACOO - Tête la première justifie pleinement l'achat pour qui souhaite s'initier à l'analyse et la conception orientée objet.

2-2 - Un livre avant tout pour débutants

Que les initiés ne claquent pas la porte tout de suite, je reste persuadé qu'ils apprendront des choses avec cet ouvrage. Ils y trouveront assuremment des compléments intéressants et sans aucun doute se mettre à niveau (s'il s'avérait que ce livre leur ouvrent des horizons qui leurs étaient inconnus) et se conforter dans leurs connaissances.

Quant aux débutants, je leur recommande néanmoins - si Java leur est peu ou pas connu - de faire les efforts nécessaires pour suivre les exemples de codes et les comprendre.
L'ouvrage et les études de cas s'articulent grandement sur du code écrit en Java. Il est donc indispensable de s'y intéresser sous peine de ne pas vraiment tirer parti du livre, Java faisant partie des langages permettant le mieux d'illustrer les concepts OO et des approches complémentaires comme les tests.
Pour rassurer les non initiés, il n'y a pas lieu d'avoir de solides connaissances en Java pour aborder les exemples (mais il n'y a qu'un pas à franchir dans la collection Tête la première pour l'apprendre).

Vous apprendrez des choses dans 2 grandes catégories :

- Méthodologie : le cheminement pour construire un logiciel à partir du besoin

- Modélisation et mise en oeuvre : représenter les choses, concevoir en utilisant des patterns, et réaliser en les appliquant

Côté modélisation, cet ouvrage n'a pas pour prétention de se substituer à une initiation à UML ou tout autre outillage utilisé pour modéliser un système.
Il introduit les concepts et outils élémentaires, malgré cela on pourrait en attendre davantage même si ce n'est pas préjudiciable au contenu du livre.

2-3 - Les études de cas

Bien que les études de cas soient parfois tirées par les cheveux et ne correspondent pas complètement à des sujets rencontrés dans la vraie vie, ils ont l'énorme mérite d'être parlant pour la plupart des lecteurs.
Au placard les concepts métier forts qui pourraient perdre le lecteur et focaliser l'attention et être préjudiciable au propos principal de l'ouvrage.
Le lecteur pourra donc se concentrer pleinement sur la méthodologie.

Les études servent de fil conducteur dans tout l'ouvrage.
Je l'ai déjà souligné, l'organisation de l'ouvrage favorise une lecture linéaire et les études de cas la renforcent. Il est donc beaucoup plus délicat de partir à la pêche aux informations en attaquant directement un chapitre en particulier (en tout cas je le déconseillerai aux débutants).

3 - Remarques

Cet ouvrage fait partie des références en matière d'analyse et conception orientées objet.
Il fait largement le tour du sujet et répondra sans aucun doute à la grande majorité de vos questions.
Son style et les interactions nombreuses favorisera l'apprentissage tout en douceur de nombreux concepts d'ACOO.

Les auteurs y font parfois allusion dans l'ouvrage, ce livre peut très bien s'inscrire dans un triptique en complément de "Java - Tête la première" et "Design Patterns - Tête la première", en attendant de voir d'autres déclinaisons de cette collection désormais célèbre.

4 - Conclusion

Cet ouvrage est un must have pour toute personne interessée par l'analyse et la conception orientées objet.
Il présente de manière claire, progressive et interactive les outils, les concepts, et la méthodologie pour vous permettre de réaliser des logiciels solides et faisant ce qu'on attend d'eux.

Il ne se dirige pas aux lecteurs expérimentés et se propose plutôt d'introduire les fondements de l'ACOO et de guider les débutants et initiés vers les bonnes pratiques en illustrant de manière très exhaustive le propos, notamment avec le langage Java pour ce qui est de la mise en oeuvre / programmation.
Ce n'est pas non plus un livre de référence en ce qui concerne UML, même s'il en définit les éléments de base les plus utilisés.

Je remercie Fabrice Sznajderman pour la relecture de cette critique.

5 - Liens

- Commandez cet ouvrage

- Le forum Méthodes

- Les critiques de livres de la rubrique Conception