OOAD - Analyse orientée objet

Dans la phase d'analyse du système ou d'analyse orientée objet du développement logiciel, les exigences du système sont déterminées, les classes sont identifiées et les relations entre les classes sont identifiées.

Les trois techniques d'analyse utilisées conjointement pour l'analyse orientée objet sont la modélisation d'objets, la modélisation dynamique et la modélisation fonctionnelle.

Modélisation d'objets

La modélisation d'objets développe la structure statique du système logiciel en termes d'objets. Il identifie les objets, les classes dans lesquelles les objets peuvent être regroupés et les relations entre les objets. Il identifie également les principaux attributs et opérations qui caractérisent chaque classe.

Le processus de modélisation d'objets peut être visualisé dans les étapes suivantes -

  • Identifier les objets et les regrouper en classes
  • Identifier les relations entre les classes
  • Créer un diagramme de modèle d'objet utilisateur
  • Définir les attributs des objets utilisateur
  • Définir les opérations à effectuer sur les classes
  • Revoir le glossaire

Modélisation dynamique

Après avoir analysé le comportement statique du système, son comportement par rapport au temps et aux changements externes doit être examiné. C'est le but de la modélisation dynamique.

La modélisation dynamique peut être définie comme «une manière de décrire comment un objet individuel répond aux événements, soit des événements internes déclenchés par d'autres objets, soit des événements externes déclenchés par le monde extérieur».

Le processus de modélisation dynamique peut être visualisé dans les étapes suivantes -

  • Identifier les états de chaque objet
  • Identifier les événements et analyser l'applicabilité des actions
  • Construire un diagramme de modèle dynamique, comprenant des diagrammes de transition d'état
  • Exprimer chaque état en termes d'attributs d'objet
  • Valider les diagrammes état-transition dessinés

Modélisation fonctionnelle

La modélisation fonctionnelle est le dernier composant de l'analyse orientée objet. Le modèle fonctionnel montre les processus exécutés dans un objet et la manière dont les données changent lors de leur déplacement entre les méthodes. Il précise le sens des opérations de modélisation d'objets et des actions de modélisation dynamique. Le modèle fonctionnel correspond au diagramme de flux de données de l'analyse structurée traditionnelle.

Le processus de modélisation fonctionnelle peut être visualisé dans les étapes suivantes -

  • Identifier toutes les entrées et sorties
  • Construire des diagrammes de flux de données montrant les dépendances fonctionnelles
  • Énoncez le but de chaque fonction
  • Identifier les contraintes
  • Spécifier les critères d'optimisation

Analyse structurée et analyse orientée objet

L'approche d'analyse structurée / conception structurée (SASD) est l'approche traditionnelle du développement logiciel basée sur le modèle en cascade. Les phases de développement d'un système utilisant SASD sont -

  • Étude de faisabilité
  • Analyse des exigences et spécification
  • Conception du système
  • Implementation
  • Examen après mise en œuvre

Nous allons maintenant examiner les avantages et inconvénients relatifs de l'approche d'analyse structurée et de l'approche d'analyse orientée objet.

Avantages / inconvénients de l'analyse orientée objet

Avantages Désavantages
Se concentre sur les données plutôt que sur les procédures comme dans l'analyse structurée. La fonctionnalité est limitée dans les objets. Cela peut poser un problème pour les systèmes qui sont intrinsèquement de nature procédurale ou informatique.
Les principes d'encapsulation et de masquage des données aident le développeur à développer des systèmes qui ne peuvent pas être altérés par d'autres parties du système. Il ne peut pas identifier quels objets généreraient une conception de système optimale.
Les principes d'encapsulation et de masquage des données aident le développeur à développer des systèmes qui ne peuvent pas être altérés par d'autres parties du système. Les modèles orientés objet ne montrent pas facilement les communications entre les objets du système.
Il permet une gestion efficace de la complexité des logiciels grâce à la modularité. Toutes les interfaces entre les objets ne peuvent pas être représentées dans un seul diagramme.
Il peut être mis à niveau des petits systèmes aux grands systèmes plus facilement que dans les systèmes après analyse structurée.

Avantages / inconvénients de l'analyse structurée

Avantages Désavantages
Comme elle suit une approche descendante contrairement à l'approche ascendante de l'analyse orientée objet, elle peut être plus facilement comprise que l'OOA. Dans les modèles d'analyse structurée traditionnels, une phase doit être achevée avant la phase suivante. Cela pose un problème de conception, en particulier si des erreurs surviennent ou si les exigences changent.
Il est basé sur la fonctionnalité. Le but général est identifié, puis une décomposition fonctionnelle est effectuée pour développer le logiciel. L'accent donne non seulement une meilleure compréhension du système, mais génère également des systèmes plus complets. Le coût initial de construction du système est élevé, car l'ensemble du système doit être conçu en même temps, laissant très peu d'options pour ajouter des fonctionnalités plus tard.
Les spécifications qu'il contient sont rédigées en anglais simple et peuvent donc être plus facilement analysées par du personnel non technique. Il ne prend pas en charge la réutilisabilité du code. Ainsi, le temps et le coût du développement sont intrinsèquement élevés.