Et comment faire pour se certifier en UML en France et ailleurs dans le monde. Merci.

conception logiciel numerique
2
1

2 réponses

il y a 5 ans par FredericLibaud

Une ressource :

UML : fr.wikipedia.org/wiki/UML_(informatique) ;

SysML : fr.wikipedia.org/wiki/Systems_Modeling_Languag....

SysML est un sous-ensemble d'UML, ce ne sont pas des langages mais, une méthode (formalisme) pour la conception de logiciels, d'un point de vue fonctionnel et plutôt orienté objet. Après, il existe des outils implémentant ceuxi-ci pour dans la pratique réaliser la conception et éventuellement générer le code source correspondant dans un langage ou un autre.

2
il y a 4 ans par GuillaumeIzart

Bonjour,

Vous mentionnez des outils permettant de générer du code à partir d'une modélisation UML ou SysML. Dans le cadre d'un projet de développement et de recherche en école d'ingénieur, je  cherche justement un moyen de réaliser ce passage de modèle à modèle pour obtenir un code orienté objet (Python de préférence, mais toute solution est la bienvenue), c'est pourquoi votre commentaire a attiré mon attention. Sauriez vous m'indiquer quels logiciels permettent de réaliser cette transformation ? J'ai jusqu'à présent essayé plusieurs solutions comme le plugin Acceleo d'Eclipse ou encore le logiciel Dia mais aucune de ces dernières n'a porté ses fruits.

Merci d'avance de votre réponse !

1
il y a 5 ans par ChristopheFantoni

Houlà. Ça commence mal. En effet, l'UML n'est PAS un langage. C'est davantage une méthode d'ordonnancement des informations de conception — de modélisation, donc — dans le cadre du développement d’un logiciel (comme peut l'être Merise, par exemple). Et au fil du temps, c'est devenu une norme internationale utilisée essentiellement dans le secteur industriel.

Les certifications — en France et dans le monde — sont du ressort de l'Object Management Group (ou OMG). Vous en saurez un peu plus en consultant ce lien : www.omg.org/ocup-2/

1
il y a 5 ans par adebn


Merci pour votre réponse.
Quant à UML, Il s'agit bel et bien d'un langage. UML pour Unified Modeling Language (en français si vous voulez : Langage de modélisation objet unifié) ; ou notation si vous préférez : la notation UML.
À la différence donc de Merise, qui est une méthode.
 


Comme nous l'avons déjà dit, à maintes reprises, UML n'est qu'un langage de modélisation, ce n'est pas une méthode. En effet, UML ne propose pas une démarche de modélisation explicitant et encadrant toutes les étapes d'un projet, de la compréhension des besoins à la production du code de l'application. Une méthode se doit de définir une séquence d'étapes, partiellement ordonnées, dont l'objectif est de produire un logiciel de qualité qui répond aux besoins des utilisateurs dans des temps et des coûts prévisibles.


UML veut être la notation normalisée des méthodes objet.


SOURCES :

laurent-audibert.developpez.com/Cours-UML/?pag...

www.mpl.ird.fr/divha/fr/soft/hyd2002/docs/user...
Débat Merise contre UML :

www.developpez.net/forums/d2929/general-develo...
 

2
il y a 5 ans par ChristopheFantoni

Eh bien non : UML n'est pas un langage (au sens informatique du terme). Même si c'est dans le nom.

En programmation, un langage c'est ce qui est permet par compilation (Assembleur, Pascal, C, etc.) ou interprétation (Basic, PHP, Python, etc.) d'avoir un résultat concret sur une machine bien déterminée (souvent en fonction de son OS et de son processeur). En clair, un langage nous permet de parler, de dialoguer, avec la machine en fonction d’un dialecte commun. De la même manière que nous apprenons l’anglais pour pouvoir discuter, dialoguer, avec nos collègues britanniques/américains.   

Or, rien de tout cela avec l'UML. On a juste une méthode de travail, une notation si vous voulez le différencier de Merise. Mais rien au niveau compilation ou interprétation.

En fait, c'est comme si je vous disais que les langages intermédiaires (comme le JVM, le LLVM, etc.) étaient des langages de programmation sous prétexte qu’il y a « langage » dedans. Là aussi, la réponse est négative. Ici, il s’agit davantage d’un outil de conversion interne permettant l’abstraction d’un code source vers une forme plus universelle (étant donné qu’il est, par exemple, parfaitement possible de programmer en Pascal, via FreePascal, et de « compiler » — en réalité, il s’agit d’une conversion du code source — en langage intermédiaire pour avoir quelque chose qui soit recompilable… en Java , via le compilateur Ant d’Apache.

En fait, depuis 35 ans que je fais de l’informatique, il y a toujours eu des amalgames — des raccourcis devrais-je dire — dans le choix du vocabulaire et de ses traductions. Ce n’est donc pas nouveau.    

2
il y a 5 ans par adebn


Il y a glissement de sens et besoin de clarification sémantique !
Je suis tout à fait d'accord avec vous quand vous dîtes que UML n'est pas un langage de programmation, mais cela n'empêche pas de dire que UML est un langage informatique. Contrairement à ce que vous dîtes, un langage informatique n'est pas tout ce qui se compile et s'interprète, ce n'est pas la définition.
Je vous invite à consulter cette page Wikipédia : fr.wikipedia.org/wiki/Langage_informatique

1
il y a 5 ans par ChristopheFantoni

Comme je l'expliquais un peu plus haut, le terme "langage" est utilisé aujourd'hui pour un peu tout et n'importe quoi.

Je vous invite donc plutôt à consulter cette définition beaucoup plus générique, toujours sur Wikipédia, qui va tout à fait dans mon sens : fr.wikipedia.org/wiki/Langage

Notez que mon métier actuel inclut notamment le développement de langages de programmation pour les microcontrôleurs et que mes derniers travaux en la matière sont surtout portés sur l’intégration du langage naturel au sein des langages de programmation dits traditionnels.

1
il y a 5 ans par adebn

J'ai parcouru l'article. C'est très générique effectivement. Je ne sais pas si je vous ai compris. Pour vous, UML n'est pas un langage formel ? Il est clair que je n'ai pas vos années d'expérience et je ne travaille pas dans le domaine, mais en théorie des langages (un cours auquel j'ai assisté dans ma formation) je doute qu'on puisse prouver que UML est un langage. Ça me donne envie de poser la question à mon enseignante ou sur un forum.

1
il y a 5 ans par ChristopheFantoni

Effectivement. L'UML n'est PAS un langage informatique (comme le Basic, le Pascal, etc.). L'UML n'est PAS un langage de communication (comme l'anglais, le français, etc.). L'UML est juste UNE forme de langage, puisqu'il répond à sa définition la plus générique.

Maintenant, si on devait être plus précis, il s'agit d'un langage de modélisation d’une information dite programmable, comme peut l'être, par exemple, le LaTeX avec les équations scientifiques ( voir ici pour en avoir plus : fr.wikipedia.org/wiki/LaTeX ).

Et comme en informatique, cela fait des décennies que l’on a tendance à faire des généralités afin de vulgariser, on l’a classé dans les langages informatiques, sous prétexte qu’on utilise cet outil pour le mettre en forme.

Or, la programmation est réellement en train d’évoluer depuis déjà quelques années, au point où certaines terminologies datant de plus de 30 ans n’ont aujourd’hui plus aucun sens.

Par exemple, auparavant « on programmait un jeu vidéo », alors que de nos jours « on scripte un jeu vidéo » (puisqu’on passe par des frameworks qui font tout le travail à notre place). Pourtant, dans de nombreuses écoles qui enseignent le développement de jeux vidéo, on parle toujours de « programmation ». Alors, c’est sûr, ça fait beaucoup plus classe. Mais la réalité est assez édifiante quant on y est confronté au quotidien (j’enseigne dans une école de ce type, c’est dire si je connais le problème).

De plus, il ne s’agit pas là d’un cas de figure, puisque cette simplification de la programmation fait que le niveau des élèves des nombreuses écoles d'ingénieurs (ex. : Epitech) à considérablement baissé au cours de ces dernières décennies. Eux aussi, on leur enseigne la manipulation de frameworks. Mais n’aller surtout par leur demander de programmer from scratch, dans un langage comme l’assembleur : ils ne savent plus faire.

1
il y a 5 ans par adebn

Je ne vois pas du tout en quoi UML est comparable avec LaTeX, d'autant plus que ce dernier répond à votre définition de langage : il y a utilisation d'un compilateur ; les compilateurs Tex, pdfTex, LuaTeX, peut-on lire sur la page Wikipédia de LaTeX.
Le langage Pascal sert-il à concevoir des systèmes d'information ? Encore une fois, je trouve que la comparaison avec UML n'a pas lieu d'être. Peut-être qu'avec le temps les définitions évoluent, il y a extension de sens des mots ou restriction, mais je ne fais ici qu'appliquer la définition admise de Langage informatique ce qui me permet d'affirmer que UML est bel et bien un langage informatique. Pour ne pas embrouiller la situation, préférons le terme de Notation au terme de Langage ; en tous les cas une chose est sûre, UML n'est pas une méthode.
 

1
il y a 5 ans par ChristopheFantoni

Alors, oui, le Pascal permet bien de développer des systèmes d'information, puisque c'est ce que j'ai appris au cours ma formation Bac+2 et ensuite universitaire. Pour moi, c'est d'ailleurs un langage parmi tant d'autres, étant donné qu’au cours de ma petite carrière, j'ai également eu l'occasion de développer des systèmes d'information sur d'autres langages que le Pascal.

Ensuite, en ce qui concerne le LaTeX, il s'agit à la base d'un format (comme le .RTF/.DOC du Word), utilisable uniquement dans des éditeurs/visualisateurs propriétaires, langage qui a progressivement évolué dans un langage fait de macro-commandes. Le langage était d'ailleurs à la base interprété, avant de se trouver compiler par des compilateurs tiers. La principale raison est que les universitaires voulaient pouvoir exporter leur travail dans des formats plus universels. (comme le .DOC, le .PDF, etc.).  Mais initialement, ce n’était pas le but.

Et si vous faites la comparaison, c’est exactement ce qui est en train de se passer avec l’UML. Nous avons là une base programmatique sous forme de notation et, dans le futur, il ne nous restera plus derrière qu’à y rajouter des convertisseurs et des compilateurs qui permettront de sortir l’UML directement sous la forme d’un exécutable multiplateforme (souvenez-vous de ce que je vous ai dit concernant l’utilisation de plus en plus généralisée des frameworks).      

1
il y a 5 ans par adebn

Effectivement, cela est probable. Écrire le code après avoir recenser les spécifications sera bientôt de l'histoire ancienne, il y aura génération de code à partir de spécifications ; cela se fait déjà. Au final, on gagnera une étape et on parlera toujours d'écrire du code : une spécification interprétée par l'ordinateur ça s'appelle du code.
Pour le reste, je ne trouve pas votre démarche concluante pour me convaincre que UML est une méthode et non un langage et pour ne pas s'embrouiller longtemps là-dessus, entendons-nous sur l'emploi du terme Notation. L'échange est enrichissant sinon.

1
il y a 5 ans par ChristopheFantoni

Mon but n'a jamais été de vous convaincre, mais plutôt de vous communiquer mon opinion afin que vous ayez matière à réflexion. D'ailleurs, mon métier — l'enseignement technique — m'amène souvent à heurter le conformisme de certains jeunes esprits qui ne se rendent pas compte qu'ils ne sont finalement que des rouages dans une gigantesque machinerie — l'entreprise — alors qu'ils pourraient tout à fait devenir des acteurs de ce changement, ou pour être plus exact, de ce nouveau paradigme, qui est en train de se mettre en place.

3
il y a 1 an par Kaurifi

C'est bizarre parce que les grands gourous d'UML commencent tous leurs ouvrage en affirmant qu'UML est un langage et non une méthode. UP est une méthode, RUP est une méthode. UML est un langage de modélisation ne vous en déplaise.

1

Vous aimez Skiller?

Rejoignez la communauté.