![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Modélisation Forum d'entraide pour les diagrammes UML et les MCD |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre éprouvé
![]() |
Salut;
Malgré mais maintes tentatives j'ai pas réussi à trouver un bon tutoriel mettant en exergue la puissance de la programmation orientée objet et l'exploitation d'une base de données. Si jamais quelqu'un pouvais m'orienter dans ce sens je serais très reconnaissant. Merci de m'avoir lu. |
|
|
|
|
|
#2 (permalink) | |
|
Membre Confirmé
![]() Date d'inscription: juillet 2008
Localisation: Paris
Âge: 26
Messages: 213
|
Citation:
Mais sinon, regarde du côté des cours généraux disponibles ici : il y en a plein, très clairement rédigés, où tu as des chances de trouver ton bonheur. En tout cas, ta question est beaucoup trop générale pour moi, donc c'est la seule réponse que je puisse y apporter
__________________
Le tact dans l'audace c'est de savoir jusqu'où on peut aller trop loin. Cocteau L'abjection la plus totale, ce n'est pas de trahir, c'est de ne jamais donner un commencement de réalité à ses rêves les plus fous. M. Moreau J'espère, donc je suis? Traduction de Linux Device Drivers 3 : venez participer |
|
|
|
|
|
|
#4 (permalink) |
|
Membre Confirmé
![]() Date d'inscription: juillet 2008
Localisation: Paris
Âge: 26
Messages: 213
|
Beh... Normalement, on t'en donne plein dans les bouquins
Et je pense que tu dois pouvoir un truc équivalent dans le domaine précis qui t'intéresse.
__________________
Le tact dans l'audace c'est de savoir jusqu'où on peut aller trop loin. Cocteau L'abjection la plus totale, ce n'est pas de trahir, c'est de ne jamais donner un commencement de réalité à ses rêves les plus fous. M. Moreau J'espère, donc je suis? Traduction de Linux Device Drivers 3 : venez participer |
|
|
|
|
|
#5 (permalink) |
|
Membre régulier
![]() Date d'inscription: septembre 2008
Localisation: Belgiksthan
Messages: 129
|
Plus de précisions seraient le bienvenu.
Comme tu le sais la POO est avantageux au niveau de la modélisation et de la maintenance. Le couplage avec une base de données relationelle se révele intéressant lorsqu'il y a une grande quantités d'informations à gérer. Les serveurs SQL et Oracle permettent d'exploiter éfficacement la mémoire vive mais aussi la mémoire de masse. C'est d'ailleurs un choix imposé à partir du moment où l'on considère la mémoire vive comme finie et la quantité d'informations à gérer virtuellement infinie ou proportionellement tellement grande qu'on dois se limiter à se focaliser sur une fraction des éléments qui la compose. Bien sur, il est courant que la base de données existe déjà, un projet étant destiné à tout simplement moderniser le logiciel de gestion. Exemples: - La gestion de comptes d'une banque où on peut retrouver des milliers de clients. - Un jeu de rôle avancé où il y a beaucoup de statistiques et d'interdépendances à gérer. |
|
|
|
|
|
#6 (permalink) | |
|
Expert Confirmé
![]() Date d'inscription: juillet 2005
Localisation: Sherbrooke (Québec)
Messages: 1 591
|
Citation:
D'ailleurs je ne vois pas en quoi les exemples que tu donnes serais « mieux » en POO honnêtement, notamment le deuxième qui fait intervenir de nombreuses formules mathématiques et se modèlisent très simplement par une « grosse fonction mathématique » et, de facto, par un programme procédural. Personnellement, je partirais avec une conception procédurale a priori.
__________________
War does not decide who's right, but who's left Bertrand Russell (1872-1970) British philosopher, logician & essayist |
|
|
|
|
|
|
#7 (permalink) |
|
Membre régulier
![]() Date d'inscription: septembre 2008
Localisation: Belgiksthan
Messages: 129
|
Je reformule.
L'OO est clairement avantageux par rapport au procédural en terme de maintenance pour les applications de gestion. De un, la conceptualisation est plus proche du mode de pensé humain (une pomme est une pomme, et pas un ensemble de séquences et de fonctions collé avec de la superglue). De deux, il est possible pour plusieurs personnes de travailler en parallèle sur les objets de leur choix sans que cela engendre de fortes modifications dans l'ensemble d'un programme. C'est pour ca que les langages OO ont la côte pour l'instant. Fini les monstreux listing en Cobol ou en Fortran où on pouvais s'y perdre pendant des jours. Chacun peut travailler en se concentrant sur sa partie d'un projet sans déranger les autres. Maintenant, il est clair que l'OO n'est pas adapté à l'informatique industrielle où la performance est de mise et un écart d'une fraction de seconde peut signifier qu'une personne perds son bras dans une châine de production ou le crash d'un train à haute vitesse. Sinon les exemples que je cite sont justement des cas de figure ou l'OO fait défaut, imposant le recours à l'outil spécialisé qu'est la bases de données relationelle. Je m'explique. Comme les langages comme Java font une totale abstraction au niveau de la gestion mémoire il n'est pas possible d'intercaler un petit artifice qui permettrais de gérer un grand nombre d'informations. En clair, si on tente d'assimiler l'entierté des informations contenues dans une base de données d'une certaine taille on va heurter à un certain moment la limite physique imposée par la quantité de mémoire installée sur un ordinateur. Même si l'OS fais passer des informations en mémoire paginée, cette manière de gérer les choses est tout à fait inéfficace vu qu'on a pas besoin d'accéder à l'ensemble des informations sauf dans des applications spécifiques. Et c'est là que les bases de données relationelles brillent par leur efficacité vu que la gestion des informations ne se fais pas au niveau binaire mais au niveau logique. SQL et autre sont optimisés de sorte qu'une requête sur un grand ensemble d'enregistrements prenne un minimum de temps (tables lookup transparentes, caching, algorithmes de prédiction ou d'anticipation ?) alors qu'en OO une recherche entre instances est le plus souvent limité au parcours d'une liste châinée. |
|
|
|
|
|
#8 (permalink) |
|
Membre expérimenté
![]() Date d'inscription: décembre 2007
Messages: 527
|
ayant tendance à faire de l'informatique de gestion, avec un nombre de données monstrueuses, et des contraintes de performances fortes, je me trouve aux confins de toutes ces exigences.....Bon, ma partie c'est Cobol, donc pas d'objets, j'ai pas le choix. Parfois ça manque. Parfois non.
Le SQL, c'est bien, mais ça reste couteux en termes de temps d'accés. Pour l'enorme batch qu'on est en train de mettre en place(qui doit générer des millions de courriers hyper-personalisés en une seule nuit), nous allons utiliser un mix de Cobol, de SQL, de déchargement de base SQL vers des fichiers plats, de tris, et avec en bout de chaine une conversion XML pour traitement en JAVA des courriers obtenus(générés en PDF pour pouvoir être réimprimés à la demande). Ce que je veux dire par là, c'est qu'il faut s'abstenir de discours idéologiques du genre "l'objet, c'est mieux", ou encore "les nouvelles technos, c'est pas fiable et c'est lent". Chaque manière de procéder possède ses propres points forts, et face à un problème nouveau, la pire des solutions est de se dire "se maitrise le langage K et la méthode W, donc ce sont les solutions les mieux adaptées". et quand je lis que le COBOL ne permet pas de travailler à plusieurs, eh bien désolé, c'est une question de conception. Nous avons 9 types principaux de courriers, avec 12 pavés possibles standardisés - donc nous avons 21 modules de base pour la composition du courrier. Plus des éléments séparés pour la collecte des données, plus encore d'autres pour divers trucs techniques.....Tout celà permet de bosser à plusieurs, pourvu que l'on standardise les signatures d'appel aux modules. En JAVA aussi on peut faire une énorme bouse illisible..... D'ailleurs, j'ai des collègues javaïstes en train de maudire le concepteur de leur application, là, juste à coté, en ce moment..... Je ne crache pas sur l'objet, j'en utilise en dehors de mon travail principal(pour lequel je n'ai pas le choix). Simplement, c'est aussi un mode de pensée qui a ses limites. |
|
|
|
|
|
#9 (permalink) | |
|
Membre Confirmé
![]() Date d'inscription: mars 2003
Messages: 226
|
Citation:
« Si le seul outil que vous avez est un marteau, vous verrez tout problème comme un clou » Maslow |
|
|
|
|
|
|
#10 (permalink) |
|
Membre régulier
![]() Date d'inscription: septembre 2008
Localisation: Belgiksthan
Messages: 129
|
Chouette intervention el_slapper. Il y a manifestement un monde entre la vision théorique des choses et les exigences du terrain (il est monstrueux votre projet
|
|
|
|
|
|
#11 (permalink) | |
|
Expert Confirmé
![]() Date d'inscription: juillet 2005
Localisation: Sherbrooke (Québec)
Messages: 1 591
|
Citation:
Sinon je te prierais de me montrer cette parution qui établit clairement ce lien sans doute possible. Je serais curieux de voir ce graal des tenants de l'OO.
__________________
War does not decide who's right, but who's left Bertrand Russell (1872-1970) British philosopher, logician & essayist |
|
|
|
|
|
|
#12 (permalink) | |
|
Expert Confirmé Sénior
![]() ![]() Date d'inscription: août 2003
Localisation: Toulouse
Messages: 3 449
|
Citation:
PS: La majorité des langages mainstreams sont procédurals et parfois même OO. D'autres seront fonctionnels et éventuellement OO, ...
__________________
FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS Les MP ne sont pas une hotline, ne vous attendez pas à ce que l'on réponde à vos questions techniques par MP. |
|
|
|
|
|
|
#13 (permalink) | |
|
Membre expérimenté
![]() Date d'inscription: décembre 2007
Messages: 527
|
Citation:
Par contre, j'ai vu un projet ou ils ont rajouté 2 technologies : MQseries et RdJ(un moteur de dispatchage des données). Ca donnait : ==>le gestionnaire extérieur des données travaille en Java. Il nous envoie des messages et des fichiers via MSeries. Mais certains fichiers, trop volumineux, étaient traités par Cobol et transfert CFT. ==>Un moteur mixé Cobol/MQseries gère les flux en temps réel, et dispatche l'essentiel des flux vers 72 applications de l'entreprise(je passe les détails, c'était pas ma partie, mais l'archi était horriblement complexe, avec allocation dynamique des fichiers en Cobol, un monstre) ==>Le flux principal est repris dans un programme Cobol de "contrôle et enrichissement"(35000 lignes, 71 referentiels SQL appelés) qui adapte les données au format de l'entreprise. ==>Le flux enrichi passe par RDJ pour être découpé en flux unitaires directement exploitables ==>certains flux unitaires passent par un post-traitement COBOL non réalisable par RDJ Là, il y avait sans doute moyen de faire mieux. Sans compter qu'il y avait aussi quelques sources en C qui trainaient, sans compétences pour y toucher..... La vision théorique, c'est bien. C'est même nécéssaire. Mais je vais faire une analogie militaire : "la planification ne sera jamais respectée. Pour autant, elle est totalement nécéssaire", et "aucun plan de bataille ne survit au contact avec l'ennemi". Dans le cas de l'objet, c'est un outil à double tranchant; il est très puissant, mais sa puissance échappe parfois à ses utilisateurs(un peu comme un lance-flammes, arme ultime, mais qui a tendance à exploser à la tronche de son manipulateur). |
|
|
|
|
|
|
#15 (permalink) |
|
Membre chevronné
![]() Date d'inscription: mai 2004
Localisation: Lyon
Âge: 21
Messages: 667
|
Dassault Systemes utilise pour ses logiciels de CAO (classiquement, CATIA) de la POO, et c'est bien de l'informatique industrielle...
Les voitures, les avions, les bateaux, le stade olympique de Beijing ont été conçus avec CATIA... |
|
|
|
|
![]() |
![]() |
||
Au sujet de la POO
|
||
| Outils de la discussion | |
|
|