Forum Clubic

Vos méthodes pour ellaborer un logiciel de base de donnès

Bonjour a tous,
J’ai un logiciel de base de donnée assé complex a concevoir et a programmer. J’aimerais savoir quelles mothodes utilisez-vous dans la conception.
Utilisez-vous UML, OMT ou merise ou bien la combinaison de deux ? (merise et OMT ou UML seul)
Dévelopez-vous de manière procedurale ou par objet ?
Ou bien vous développez directement votre base de donnee et implementez par la suite le logiciel autour de cette base de donnée?

Mon intension est de bien penser le logiciel et de le documenter correctement car cest moi et de colleges de travail qui vont lutiliser. C`est un logiciel de facturation d’appel téléphonique comprenant le module client, compte client et rapports divers.

Merci d’avance pour vos suggestions!
Edité le 11/01/2008 à 02:59

Bonsoir
Alors pour la programmation, je suis informaticien, je développe donc aussi bien en procédural qu’en objet. Sache que le procédural est très utilisé dans les langages comme C et C++ car ce sont des langages très puissant (question performance, vitesse) ==> principalement pour les algorithmes
L’objet est plus lent mais bon il permet bcp plus de choses etc… je te passe les détails.
Tout ça pour te dire, que de savoir s’il faut programmer en procédural ou pas, ça c’est à toi de voir suivant les besoins que tu as à faire avec ton logiciel. Personnellement en voyant les modules que tu dois faire et que tu n’as pas de réelles contraintes en vitesse, je te conseille l’Orienté Objets .
Pour l’analyse, on utilise encore souvent Merise cependant pour les programmes OO, on analyse de plus en plus en UML.
Voici un petit récapitulatif : www.developpez.net…
Pour la base de données,je comprends pas trop ta question. La plupart du temps, elle est indépendante de ton programme.
J’espère que j’ai pû t’informer comme tu le souhaitais :slight_smile:

Jonathan

Je me pose la question, comment modeliser une classe client.
Dois-je declarer toute les champs de la table client et les initialisers avec les données du client quand je crer mon client ou que je recherche un client.
Où dois-je simplement utiliser les objets de base de donnée fournis dans VB.NET et les inclure dans la classe, j’ai l’impression de réinventer la roue et de dupliquer mes données pour rien ???
Qui a des exemples, j’ai de la dificulter a comprendre le principe avec une base de donnée relationel.

Merci!

Si tu ne sais pas ce qu’est une db relationnelle : fr.wikipedia.org…

je te conseille de commencer ici :

www.info-3000.com…

a+
Edité le 14/01/2008 à 19:38

Je sais très bien ce que c’est un DB relationel. Le probleme est que je ne sais pas trop comment applique la programmation Objet au db relationel.

eh bien si tu connais, MERISE ne t’es pas inconnu…

regarde ici :

www.sam-mag.com…

a+

J’ai bien compris que MERISE est utilisé pour les DATA mais quand est-il du coté logiciel (POO). Est-il possible de penser objet quand nous avons une SGBD ?? Si oui, as-tu un exemple de class implémenter sur une SGBD.
Moi ce que je penssais, c’est créer une classe cleint comme sui:

Ma class

Client
-idclient

  • nom
    -prenom
    -datenaiss
    get nom
    get prenom

ma table
tblclient
-idclient

  • nom
    -prenom
    -datenaiss

La seul différence est que ma classe a des méthodes propriété que ma table n’a pas nécessairement (mais l’objet data de VB net me donne acces aux valeur). La prog OO me donne l’impression de refaire ce qui existe déjà dans l’objet data de VB.NET. La plus part de gens utilise quel type de programmation pour les SGBD POO ou Fonctionnel ? La POO me semble tres bien (autre que BD relationel) mais quand vien le temps d’applique le concept au DB relationel :etonne2:

En passant le logiciel PowerDesigner 9 peut-il faire du MERISE ?

Merci!

Tu doutes qu’on puisse relier un programme en OO à un SGBD? Et ben :d moi je doute pas du tout de ça je te le dis :d
Pour ton problème, je te conseille de travailler déjà dans un mode professionnel qu’on appelle MVC (modèle vue contrôleur)
Je te conseille de lire un peu de documentation dessus, car de plus en plus, nous (informaticiens) travaillons en MVC. C’est beaucoup plus clair, et c’est surtout beaucoup plus facile quand tu dois travailler en groupe.
Sinon pour revenir à ton problème avec le système du modèle MVC.
Ta classe CLIENT c’est effectivement ce qu’il faut faire!!!
Ensuite faut rajouter une classe que tu vas appeller par exemple BD et qui va se charger de la connexion avec ta bd.
Tu auras donc dans cette classe plusieurs méthodes dans lesquelles on trouve : “connexion”, “deconnexion”, “selectRequete” etc… c’est comme tu veux.
Ensuite, tu peux penser à rajouter des méthodes dans CLIENT pour avoir des infos sur un client , etc…
exemple

public void selectNom( ){
string requete = ta requête sql pour chercher le nom
BD bd = new BD( ) ; (ici c pour t’expliquer sinon on utilise toujours le SINGLETON (va voir aussi car c bien pratique!!!)
bd.selectRequete( requete);

}
donc dans ce cas, tu te connectes à ta classe BD, et tu lui envois ta requête sql. Elle te renverra ta réponse :slight_smile:
L’orienté objet fonctionne très bien pour tous les types de bd.

Ah vi j’oubliais, n’oublie pas que si tu as des contraintes sur les valeurs dans la base de données, exemple : si le prix dépasse 100€ dans ta bd, la tva (tjrs dans ta bd) change automatiquement) , ce sont des contraintes qui ne peuvent être des expressions procédurales. Ce que je veux dire, c’est qu’il ne faut pas mettre des vérifications dans ton programme mais bien dans le SGBD grâce au trigger par exemple. Pq? car si tu fais un autre programme, les contraintes alors ne seraient plus respectées. Ca peut parfois engendrer des incohérences.

Jonathan
Edité le 15/01/2008 à 10:45

Bonjour Jonathan,
Bien tu me rassure, pour ce qui est de la programmation OO et le SGBD car, j’ai pas vraiment de pratique professionnel avec ça. Je suis quand même dans le domaine depuis plus de 10 ans mais jai pas eu la chance dappliquer ça dans mon développement car les entreprises pour les quels j’ai travailé et que je travail ne veule pas investir en temps de conception logiciel et de plus je travail a la maintenance Logiciel. Je me suis quand même toujours tenu informé et je me suis aussi formé pour connaitre les méthodes de développement logiciel, cest pour moi très important. Nous ne pouvons pas implémenter un logiciel a la volé comme ça sans plan, cest comme bâtir une maison sans plan darchitecte. Aurais-tu un bon site Internet portant sur le sujet ainsi qu'un livre a me suggérer (en FR de préférence). J'ai bien hâte de me metre a la tâche car j'en ai mar des logiciels sous Access (pas fort du tout ça). Cest ce logiciel que je vais remplacer.

As-tu un bon site Internet et/ou livre à me suggerer sur le sujet (en Fr si possible)?

Merci!

Me voici me voilà
Alors pour les livres je fais rarement avec des livres :d j’apprends avec des exemples.
J’utilise très souvent le site www.codes-sources.com… car on y trouve pratiquement tous les exemples possibles en programmation.
Une question, avec quel langage de programmation comptes-tu programmer? Java, C#?
Tu peux me répondre en privé en me donnant ton adresse mail, comme ça je pourrai t’envoyer un programme tout simple que j’aurai fais pour te montrer comment on gère une bd avec un programme OO
Je te mettrai aussi les explications nécessaire pour comprendre le SINGLETON et le modèle MVC.

Jonathan

Concernant la class DB, quand etablis tu la connexion a la DB? Utilise t-elle un obj connexion que elle est toujours connecté?

Alors là justement c’est une bonne question.
Tout dépend évidemment ce que tu souhaites faire et ça dépend aussi de la sécurité que tu désires, du nombre de requêtes que tu as à effectuer etc…
En résumé, si tu as bcp de requêtes, je te conseille de l’ouvrir une fois via ton objet et la laisser ouverte jusqu’à la fermeture du programme.
Personnellement je n’ai utilisé que ça pour mes programmes. Je démarre la connexion dès que j’en ai besoin grâce à mon singleton et elle reste connectée jusqu’à la fin de mon programme.

Jonathan