IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

UML Discussion :

Débuter la conception logicielle


Sujet :

UML

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 18
    Points : 17
    Points
    17
    Par défaut Débuter la conception logicielle
    Bonjour à tous,

    J'attaque la réalisation d'un système de surveillance dans le domaine de la fabrication mécanique, avec différents capteurs (vibrations, puissance, ...), qui doit permettre de détecter en temps réel différents phénomènes et avertir l'utilisateur. Il y a donc une partie hardware (capteurs, cartes d'acquisition) et une partie logiciel avec acquisition, traitement des signaux, corrélation entre les différentes informations, affichage et/ou émission de signal en sortie, interface graphique, etc ...

    Le système étant assez conséquent, avant d'attaquer directement le code, il faudrait que je fasse "des plans". Comme en mécanique, on fait des plans avant de construire une machine sinon on risque de galèrer et de ne jamais arriver au bout.

    Je ne suis pas informaticien, mais j'ai l'habitude de faire des petites applications avec Matlab (depuis plusieurs années) que j'utilise pour ce projet. Je suis plutôt à l'aise avec le code pour des petites applications, mais je n'ai jamais utilisé la programmation orientée objet par exemple et je n'ai jamais eu à faire "des plans" pour mes applications, mais là j'attaque un gros morceau .

    Ca fait quelques semaines que je regarde les différentes méthodes de conception logicielle (UML, Merise, SADT, ...), et je dois dire que je m'y perd un peu et je ne sais pas vraiment par quel bout prendre le problème, d'où ce message sur le forum.

    D'après vous, quelle serait la meilleure manière de s'y prendre pour un débutant ? Faut-il attaquer directement par une modélisation UML dans les règles ? Commencer par une analyse descendante type SADT (c'est ce qui me parait le mieux pour au moins dégrossir la chose) ? Autre chose ? ...

    Merci d'avance pour vos réponses, et excusez moi si le message n'est pas au bon endroit.

    Vincent

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonjour Vincent,


    Dans ce genre d’exercice, il y a fondamentalement le QUOI, puis toute la sauce, le charbon (les opérations) pour faire marcher la machine.

    Avant de construire une maison (et de l’équiper de sorte qu’on puisse y vivre), on en fait les plans, on la conçoit. Pour vous il devrait en aller de même, en l’occurrence bâtir un diagramme de classes ou un MCD (modèle conceptuel des données) merisien.

    Dans cette optique, il faudrait que vous mettiez à plat les « objets » tant matériels que logiciels, en fournir la liste, les attributs (caractéristiques) et établissiez les associations entre ces objets.

    Que vous utilisiez un diagramme de classes UML, ou un MCD merisien, peu importe. Si vous vous décidez d’utiliser UML alors que vous avez produit un MCD, la traduction de celui-ci en diagramme de classes est mécanique, donc peu importe. L’essentiel est de produire un modèle de données pas forcément complet, mais capable d’évoluer : ne loupez surtout pas le cœur !
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Bonjour fsmrel,

    merci pour votre réponse. Effectivement, avant d'attaquer le code, je veux absolument être capable de faire des diagrammes des différentes interactions entre les différents objets et surtout que les diagrammes soient évolutifs, comme vous le mentionnez.

    La difficulté supplémentaire étant que mon système doit être capable de détecter différents phénomènes à partir de différents capteurs physiques. Il y a donc plusieurs "croisements" entre les infos données par les capteurs et les phénomènes à détecter. Ça va même plus loin, car en fonction des phénomènes à détecter, le traitement du signal peut être différent pour un même capteur (je ne sais pas si je suis très clair (?)).

    Du coup, je suis parti sur une première approche qui consiste à morceler le système général, càd à considérer chaque phénomène à détecter comme un sous-système à part entière, et ensuite les assembler pour créer le système complet.

    Finalement, pour chaque sous-système, je fais un diagramme des cas d'utilisation, un SADT et un diagramme d'activité. Dans un premiers temps çà me permet d'avoir différents points de vue. Et puis je vais avoir à faire des d'essais sur machine pour la mise au point des différents traitements, donc tout çà va évoluer. Le tout étant d'être rigoureux et de ne pas se perdre dans les méandres :-)

  4. #4
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonjour Vincent,


    Citation Envoyé par vince2121
    Ça va même plus loin, car en fonction des phénomènes à détecter, le traitement du signal peut être différent pour un même capteur (je ne sais pas si je suis très clair (?))
    Raison de plus pour concevoir un diagramme de classes en béton, en sorte que nous puissions « capter » l'univers du traitement des signaux...
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Août 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2015
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    UML étant souvent trop connoté "Logiciel", SysML me semble plus adapté à ton projet car celui-ci permet de faire coexister des blocs Hardware & Software.
    SysML présente également l'avantage d'être moins étendu en terme de diagrammes qu'UML, tout en étant complet : recueil d'exigences, diagrammes statiques, diagrammes dynamiques.
    Avec un outil de modélisation, tu peux non seulement établir tes modèles en amont (par ex tes diagrammes de blocs BDD & IBD), mais maintenir une cohérence dans tes modèles.

    J'avais rédigé un article en 2010 dont les notions sont encore valides pour la plupart (de nouvelles versions SysML sont sorties depuis) : Modélisation SysML.
    Pour plus de détails et d'exemples, il existe également des livres SysML. A noter que Pascal ROQUES, connu pour ses ouvrages UML & SysML, fera un retour d'expérience la semaine prochaine à Paris
    -> cf. EAUG Paris 2015

    Bonne journée,
    Guillaume

Discussions similaires

  1. Conception logicielle
    Par Strange-Days dans le forum Scheme
    Réponses: 29
    Dernier message: 26/05/2008, 15h10
  2. Quelle méthode pour débuter en conception ?
    Par Mr-Mobou dans le forum Méthodes
    Réponses: 3
    Dernier message: 15/04/2008, 08h40
  3. [POO] Conseils pour conception logicielle en php
    Par mithrendil dans le forum Langage
    Réponses: 14
    Dernier message: 07/02/2008, 17h19
  4. Réponses: 4
    Dernier message: 20/06/2007, 13h25
  5. Conception logiciel en C# et multithreading jusqu'où?
    Par pi100 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 21/02/2007, 19h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo