Conception orientee objets

Conception orientée objets

 

3°) Conception orientée objets

     En général, la conception orientée objets consiste à commencer par considérer les données et non les fonctions.

     Dans RTGE 96 la conception orientée objets se traduit par le fait qu'au tout début de la conception, on étudie les bases orientées objets sans étudier les procédures de transformations qui font passer d'une base à l'autre:voir le dessin de la BDROO RTGE. Dans ce dessin, le premier de la conception, on ne voit pas les traitements (lecture,calcul,etc...) mais on voit les bases (BIS, BF1, BD1, etc...) avec leurs caractéristiques.

     Ce n'est qu'après que les données sont bien décomposées en ensembles de données semblables et hiérarchisées qu'on étudie les traitements à appliquer pour arriver aux données cibles avec les caractéristiques voulues (c'est à dire prêtes à être éditées).

     Ainsi, dans les premiers dessins des premiers niveaux conceptuels, les traitements sont toujours justes parce qu'ils sont absents ou bien très schématiques. Donc dans l'analyse de haut niveau il ne peut y avoir d'erreur lorsque les traitements varient selon l'avancement des travaux et le degré de détail étudié. Premièrement les traitements ne sont pas représentés du tout, seuls leurs résultats sont représentés (le pourquoi). Deuxièmement, lorsqu'on descend un peu de niveau conceptuel, les traitement sont représentés par leurs objectifs (le quoi) et pas leur fonctionnement interne (le comment). Par conséquent, au fur et à mesure qu'on avance dans la précision, le travail conceptuel déjà fait n'est jamais faux il reste toujours valable.(Le niveau haut est assez vague et général pour rester toujours juste concernant les procédures de traitement).

 

Conception par les données.

    La conception orientée objets dans RTGE se fait en cherchant à déterminer les caractéristiques des lignes de sortie de l'état.

Ensuite les lignes possédant des caractéristiques conmunes sont classées par types de lignes ou classes.

    A ces lignes types ou classes de lignes sont affectées des traitements communs selon les caractéristiques de ces classes.

 

    Après la conception orientée objets, on peut très bien programmer les lignes de même type avec les codes et queries de même type sans pour autant mettre en facteur les codages vers des niveaux supérieurs (parents).

    La détermination des classes et des types fait partie de la conception orientée objets. A l'issue de la COO on obtient un dessin hiérarchique.

    Le résultat de la conception orientée objets est la classification des objets en types d'objets dans une structure hiérarchique.

Exemples de types de lignes d'état RTGE: lignes des folios de synthèse, lignes des folios de détail, lignes avec taux, lignes sans taux, lignes sous-totaux ...

 

   Une fois qu'on obtient une structure hiérarchique, on peut très bien programmer en faisant autant de lectures et calculs que de groupes de lignes. (40 lectures et calculs pour 40 groupes de lignes).

   Dans ce cas quel est l'avantage de la conception orientée objets? elle permet de traiter de manière identique tous les groupes de lignes appartenant à un même type, une même classe, une même catégorie. C'est déjà un bon point, cela permet d'être clair: on traite toutes les ressources, toutes les lignes trimestres, toutes les lignes synthèse avec la même technique.


 

Apport de la programmation orientée objets.

    Qu'apporte la programmation orientée objets en plus de la conception orientée objets?

    Elle permet de traiter en une seule fois toutes les lectures des folios de synthèse, et à un seul endroit tous les calculs des lignes détail du folio de synthèse du trimestre.

    Quelle est la différence entre la COO et la POO?

    Avec la COO on traite de la même façon les lignes qui se ressemblent.

Avec la POO au lieu de seulement traiter de la même façon (dupliquée en autant d'exemplaires) on traite en même temps et en une seule fois les lignes semblables. Ainsi, avec la POO, chaque type de traitement se retrouve en une seule fois dans toute l'application et non pas en autant de fois qu'il y a d'occurences du type de traitement à exécuter. La COO+POO optimise plus loin que la COO seule qui rend clair et permet de programmer en évitant les erreurs. Dans la COO chaque ligne de code appartient à une classe et donc ressemble à d'autres lignes de code semblables et donc peut être validée et vérifiée par comparaison avec les lignes de codes appartenant à la même classe. C'est déjà pas mal d'avoir une référence sûre pour chaque ligne de chaque query d'une application.

 

Ú‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑¿

³ * Programmation sauvage empirique ===> pas d'héritage    ³

³ * Conception Orientée Objets      ===> héritage          ³

³ * COO sans POO ===> héritage avec duplication des codes  ³

³ * COO avec POO ===> héritage sans duplication des codes  ³

À‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑Ù

 

Qu'apporte la base de données orientée objets?.

    Elle permet l'héritage et la réutilisation de code.

Sans la base orientée objets on peut hériter aussi en disant qu'un fils hérite de son parent et reprend les caractéristiques de son parent. Exemple: le fils "ressources du folio 1" hérite du parent "folio 1" il reprend ses caractéristiques. Mais si on n'a pas la base orientée objets pour faire de la réutilisation de code, on doit répéter autant de fois le même moule du parent sur les enfants, s'il y a 10 groupes de lignes du folio 1 on doit répéter 10 fois les lectures, 10 fois les calculs.

    La base orientée objets permet de ne faire le calcul qu'une seule fois et la lecture transcodage qu'une seule fois.

Si on reporte par copie de code, c'est l'héritage de caractéristiques mais le code est dupliqué n fois.

    Si on écrit le résultat de l'exécution dans une base afin de relire la base après pour profiter du produit de ce travail, alors le code est réutilisé et n'a plus besoin d'être dupliqué, reproduit, c'est seulement son effet, le produit de son exécution qui est reconduit et diffusé autant de fois que nécessaire par la lecture.

    La base de données OO permet de faire la POO alors que sans la BDOO on ne peut faire que de la COO sans la POO.