Conception et programmation objet,
Applications de gestion en
environnement graphique

Ce livre s'adresse à toute personne (étudiant, développeur professionnel, chef de projet...) impliquée dans des projets de gestion en interface graphique (GUI) et qui souhaite mettre en pratique des technologies objets dans ce type d'environnement . Il présente de manière claire et précise ce qui fait la spécificité des GUI : la programmation en interface événementielle et la notion de routine événementielle qui en découle. En intégrant ces deux notions dans la théorie générale de la programmation orientée objet, ce livre apporte les éléments indispensables pour permettre de réaliser des projets de gestion en GUI en adéquation avec les critères de qualité du génie logiciel. Ce livre décrit également une méthodologie pragmatique et originale de conception objet particulièrement bien adaptée à l'univers des applications de gestion. Enfin, une importante annexe est consacrée à PowerAmc dans le cadre d'une conception objet avec ce logiciel.

Auteur : Pascal DADONE
Editeur : ENI (collection Ressources Informatiques)
Décembre 2003

Pages : 349

Prix : 27,14 €

Bibliographie

Avant propos 

Introduction 

Chapitre 1 : Les interfaces utilisateur graphiques (GUI)

Chapitre 2 : Qualité externe et ergonomie du logiciel en GUI

Chapitre 3 : La qualité interne du logiciel

Chapitre 4 : Introduction à la programmation orientée objet

Chapitre 5 : L'héritage

Chapitre 6 : L'héritage : compléments

Chapitre 7 : La généricité

Chapitre 8 : Développement en GUI : compléments

Chapitre 9 : Infrastructure et framework

Chapitre 10 : Introduction à la conception objet

Chapitre 11 : Conception objet

Chapitre 12 : Les règles de gestion

Conclusion    

Annexe 1 : Conception objet avec PowerAmc (ou comment optimiser l'utilisation de PowerAmc)

Annexe 2 : Normes d'ergonomie

Annexe 3 : Evaluation de charges d'un projet en GUI

Annexe 4 : Organisation d'un projet en GUI

Chapitre 1 : Les interfaces utilisateur graphiques (GUI)

Il s’agit, à travers une présentation brève des interfaces utilisateur graphiques (GUI), de proposer une définition précise des concepts employés dans ces environnements. Ces concepts structurants et fondamentaux serviront tout au long de cet ouvrage, tant pour définir la qualité du logiciel que pour appréhender les différents aspects de la programmation orientée objet en GUI.

1.1 Introduction au GUI 
         1.1.1 Le rôle de la fenêtre en GUI 
         1.1.2 L’interface MDI 
         1.1.3 L’interface SDI 
         1.1.4 Le dialogue IHM devient événementielle 
         1.1.5 Les différents types de logiciel en GUI 
1.2 Classe et objet en GUI 
         1.2.1 Définition 
         1.2.2 Classe et objet visuels 
         1.2.2 Classe et objet interactifs 
         1.2.3 Les classes d’accueil et les classes locales interactives 

Chapitre 2 : Qualité externe et ergonomie du logiciel

La qualité du logiciel comporte deux aspects : la qualité externe et la qualité interne. Afin de bien dissocier ces deux composants, nous consacrerons un chapitre à chacun.
La qualité externe d’un logiciel est l’appréciation du logiciel par l’utilisateur final. Cette appréciation se fonde sur différents critères dont l'ergonomie.   

2.1 La qualité externe 
        2.1.1 Définition 
2.2 L’ergonomie du logiciel en GUI 
        2.2.1 Principes de base de l'ergonomie en GUI 
        2.2.2 Ergonomie de présentation 
         2.2.3 Ergonomie du comportement

Chapitre 3 : La qualité interne du logiciel

La qualité interne d’un logiciel est l’appréciation d’un professionnel de l’informatique quant à la qualité du code produit. Autrement dit, la qualité interne du logiciel est un jugement de valeur sur la manière dont a été menée à bien la programmation. Tout jugement basé sur des valeurs à besoin de la définition de ces valeurs, c’est l’objectif de ce chapitre.

3.1 Les objectifs de la qualité interne 
3.2 Les critères de la qualité interne 
     3.2.1 Couplages faibles entre les classes 
     3.2.2 Petites interfaces 
     3.2.3 Interface explicite 
     3.2.4 Masquage de l’information 
      3.2.5 Factorisation des traitements 
3.3 Un complément à la qualité interne : la documentation

Chapitre 4 : Introduction à la programmation orientée objet

Le chapitre précédent avait pour objectif de présenter les cinq critères qui caractérisent la qualité interne des langages objets. Ce chapitre, ainsi que les suivants, vont faire le lien entre ces critères et les concepts fondateurs de la programmation orientée objet. Ces concepts sont au nombre de trois : L’encapsulation qui sera traitée dans ce chapitre, l’héritage et le polymorphisme qui compte tenu de leur lien étroit feront l’objet du chapitre suivant. Auparavant, il s’agit d’introduire un certain nombre de notions et de définitions indispensables aux environnement objets.

4.1 La création et la destruction d'objets 
        4.1.1 La création d’objets 
        4.1.2 La destruction d’objets 
4.2 Le principe de l'encapsulation
        4.2.1 Définition 
        4.2.2 Les mécanismes d’implémentation de l’encapsulation 
        4.2.3 Les mécanismes de l’encapsulation en GUI 
        4.2.4 L’utilité de l’encapsulation 
4.3 Routine événementielle vs routine non événementielle
        4.3.1 L’appel d’une routine non événementielle 
        4.3.2 L’appel d’une routine événementielle 
4.4 Introduction au polymorphisme 
        4.4.1 La surcharge ou polymorphisme ad hoc 

Chapitre 5 : L'héritage

Ce chapitre a pour but de présenter le mécanisme le plus intéressant de la programmation orientée objet : l’héritage. Nous verrons également que l’héritage n’est pas dissociable de la notion de liaison dynamique, autrement dit, ce qui met en œuvre le polymorphisme.

5.1 Définition générale
5.2 L’extension d’une classe
5.3 La spécialisation d’une classe
5.3.1 La redéfinition des propriétés
5.3.2 La redéfinition des routines non événementielles
5.3.3 La redéfinition des routines événementielles
5.3.4 Le polymorphisme et la liaison dynamique
5.3.5 Les points communs à la spécialisation et à l’extension

Chapitre 6 : L'héritage : compléments

Ce chapitre a pour but de présenter le mécanisme le plus intéressant de la programmation orientée objet : l’héritage. Nous verrons également que l’héritage n’est pas dissociable de la notion de liaison dynamique, autrement dit, ce qui met en œuvre le polymorphisme.

6.1 Héritage et structure d'une application
   6.1.1 L'arbre d'héritage d'une application
6.2 La signification de l’héritage
6.3 Utilité de l’héritage
6.3.1 La factorisation des traitements
6.3.2 La décentralisation des traitements
6.4 Techniques d'héritage
6.4.1 Une seconde forme de polymorphisme : le polymorphisme fonctionnel
6.4.2 L’héritage est le mécanisme de l’encapsulation
6.4.3 La déclaration par association
6.4.4 L’appel d’une routine déclarée dans l’ancêtre
6.4.5 La notion de classe fermée et de classe ouverte 

Chapitre 7 : La généricité

Ce chapitre a pour objectif de présenter un moyen supplémentaire d’accroître la qualité du logiciel : La généricité.
La généricité que nous allons décrire n’est pas celle que l’on retrouve dans les langages typés comme ADA, mais c’est celle que l’on trouve dans les langages à objets évoluant en GUI et qui est fortement liée à l’héritage. La raison est que cette forme de généricité peut inclure la généricité classique basée sur des traitements appliqués à des types abstraits. Si vous souhaitez  comparer les deux approches, nous vous renvoyons au livre de B. Meyer qui traite du sujet [Mey 00]. Au cours de ce chapitre, la généricité sera abordée d’abord sous l’angle des traitements génériques puis sous l’angle des classes. 

7.1 Introduction
7.2 Les traitements génériques
7.2.1 Traitements génériques qui utilisent le polymorphisme fonctionnel
7.2.2 Traitements génériques basés sur la redéfinition des routines
7.2.3 Traitements génériques basés sur l’appel de méthodes à l’aveugle
7.2.3 Traitements réalisés avec des termes génériques
7.3 Les classes génériques
7.3.1 Les classes différées
 

Chapitre 8 : Développement en GUI : compléments

Ce chapitre présente divers compléments utiles pour le développement d’application de gestion en GUI. 

8.1 Les relations avec le SGBD
8.2 La mise à jour des données
8.2.1 Les traitements déportés sur le moteur de base de données
8.2.3 La notion de portabilité
8.2 La gestions des erreurs
6.3.1 Les erreurs systèmes d'entrée/sortie
          6.3.2 Les erreurs systèmes de programmation
6.3.3 Les erreurs de programmation
          6.3.4 Les erreurs de transaction
8.3 Introduction à l'architecture d'une application
8.3.1 Infrastructure et superstructure
          8.3.2 Le critère de l'adaptabilité

Chapitre 9 : Infrastructure et framework

La factorisation des traitements ne peut se faire qu’à travers une vision claire du développement des classes ancêtres de l’application, ce que nous appellerons l’infrastructure. Ce chapitre a pour objet d’en présenter les différents aspects et d’introduire la notion de framework qui en résulte.

9.1 Infrastructure et framework
          9.1.1 Les classes programmeurs de base
          9.1.2 La logique d'utilisation des classes programmeur de
                  base
          9.1.3 Les classes programmeurs de base
          9.1.4 Exemple théorique d'implémentation d'une classe
                  programmeur de base générique de type fenêtre
          9.1.5 La nécessaire limitation du nombre de classes locales
                  d'une fenêtre
          9.1.6 L'interception des demandes de l'utilisateur
9.1.7 L'infrastructure et le principe de composabilité et
         décomposabilité des classes
9.2 La notion de framwork
9.2.1 Définition
9.2.2 Le développement d'un framework
9.2.3 Les classes d'isolation d'un framework
9.2.4 Les critères de choix d'un framework
9.2.5 Framework et méthode RAD

Chapitre 10 : Introduction à la conception objet

Avant la programmation, il y a, bien sûr, la conception. S’il est à notre avis indispensable pour le concepteur d’application de gestion en GUI de connaître la programmation orientée objet ainsi que la plate-forme de développement qui servira à la réalisation de la conception, ce dernier doit également ajouter à ses connaissances les techniques spécifiques de la conception objet. Ce chapitre a pour objet d’introduire ces techniques et de vous apporter des éléments indispensables afin de vous permettre de vous forger un jugement critique sur des technologies à la mode qui ne sont pas forcément les plus adaptées dans le cadre de votre métier.

10.1 Introduction 
         10.1.1 Conception objet : définition 
10.1.2 UML 
         10.2.1 Les diagrammes de classes 
         10.2.2 Les diagrammes de cas d'utilisation (uses cases) 
         10.2.3 Les diagrammes de collaboration, séquence et d'objets          10.2.4 Les diagrammes d'état-transition et d'activité 
         10.2.5 Les autres diagrammes
         10.2.6 Pour en finir avec UML
10.3 Conception en informatique de gestion 
         10.3.1 Définition et vocabulaire
         10.3.2 Les liens entre la conception et la réalisation

Chapitre 11 : Conception objet

Le chapitre précédent n’a fait qu’enrichir par une série de conventions la méthodologie Merise. Ce chapitre va maintenant emprunter au monde de l’objet des notions qui permettent de dépasser les limites que l’on constate habituellement dans la conception classique.

11.1 Les limites de la conception classique 
         10.1.1 Conception objet : définition 
11.2 Vers la conception objet
         11.2.1 L'héritage 
         11.2.2 L'héritage multiple 
         11.2.3 Compléments méthodologiques
         11.2.4 Les autres diagrammes
         11.2.5 Pour conclure      

Chapitre 12 : Les règles de gestion

La principale spécificité et difficulté des application de gestion ce sont les règles de gestion. Il est donc importants d’en recenser les différentes formes afin de centrer la programmation et la conception sur celles-ci. C’est l’objet de ce chapitre

12.1 L'interface homme/machine de saisie
12.1.1 Définition
12.1.2 Les composants de l'IHM de saisie
          12.1.3 Les masques de saisie
12.2 Les différentes types de règles de gestion
12.2.1 Exemple de type 1 et 2
          12.2.2 Les règles de gestion de cohérences
12.3 Règles de gestion et conception
12.4 Règles de gestion et programmation
12.4.1 La notion d'état "saisie" et d'état "avant saisie"
          12.4.2 Les différents types d'événements liés aux règles de
                     gestion 
12.4.3 Les différents étapes de la cinématiques pour les
          événements de saisie directe
          12.4.4 La cinématique pour les événements de saisie directe
12.4.5 La traduction des règles de gestion
          12.4.6 La séparation des règles de gestion de l'IHM
12.4.7 Vers une logique objet d'implémentation des règles de
            gestion

 

  Retour page d'accueil