annexes - Univ. Nantes

publicité
 Modélisation à objets pour la conception de systèmes d'information (B350) Pascal ANDRÉ, Emmanuel DESMONTILS, Omar EL BEQQALI, Alain VAILLY (Université de Nantes) juin 2014 version imprimable du cours Chapitre 7 Les outils Les concepts de la notation UML sont indépendants des outils utilisés par les concepteurs ; ils sont indispensables pour pouvoir disposer de supports électroniques –modèles et documentations– et de permettre de travailler de manière cohérente au sein d’une équipe. Plan I. Introduction................................................................................................................................................ 3 A. Ce qui est traité ce module ................................................................................................................... 3 B. Ce qui n’est pas traité dans ce module.................................................................................................. 3 II. Critères de choix et outils disponibles ....................................................................................................... 4 A. Critères de choix.................................................................................................................................... 4 B. Outils disponibles .................................................................................................................................. 4 III. Éléments de comparaison ........................................................................................................................ 5 A. AmaterasUML, ArgoUML, Astade, BOUML, Eclipse et Enterprise Architect ......................................... 5 B. eUML2_Studio, Frame_UML, Jink_UML, Objecteering et OpenModelSphere...................................... 6 C. PowerAMC, Rational Rose, Rhapsody, Software Ideas Modeller et StarUML....................................... 6 D. Topcased, Umbrello_UML_Modeller, UML_Designer et WhiteStarUML.............................................. 7 IV. Quelques exemples .................................................................................................................................. 8 Chapitre 7 – Les outils B350 2/8 I.
Introduction La création de plans logiciels (comprenant la structure de la base de données, l'architecture des fonctions...) est considérablement plus facile si l'on dispose d'un outil d'aide à la conception. Il en existe sur le marché. Ces logiciels, pour la plupart, sont assez chers (?). Il nous faut tout de suite préciser ce que nous entendons par cher. Payer 2000 euros pour une version professionnelle monoposte n'est pas, dans l'absolu, une dépense insurmontable pour une entreprise si le gain de productivité apporté par l'outil est là. En matière de profession, toute dépense s'évalue en termes d'investissement et de retour sur investissement. Payer 2000 euros pour la même version professionnelle monoposte est une dépense excessive pour un étudiant. Pour surmonter cet écueil, il n'y a que quatre solutions. La première, le piratage, est illégale. Nous ne pouvons que la condamner. La deuxième est le recours aux versions d'évaluation, le plus souvent gratuites. Celles-­‐ci sont toutefois toujours bridées, soit en qualité (une ou plusieurs fonctions ne sont pas disponibles -­‐le plus souvent, c'est la fonction de sauvegarde qui manque) ou en quantité (on peut tout faire avec le logiciel, mais le nombre d'objets manipulables est limité). Il y a une troisième voie que des éditeurs sont en train de découvrir. Considérant que nos étudiants sont leurs futurs clients et pensant, à juste titre, qu'un étudiant formé sur un logiciel aura tendance à vouloir l'utiliser en entreprise, ils se rapprochent des établissements universitaires et leur font des propositions plus qu'acceptables. Nous avons le regret de dire que tel n'a pas été le cas cette fois-­‐ci, ou plus exactement que, si nous avons été approché, c'est par la "bande" et pour un produit, Win'Design, qui n'a pas été conçu à l'origine pour cela. Pour ceux qui souhaitent explorer les capacités d'un "vrai" outil UML, il reste la quatrième voie, celle des logiciels libres. Cette catégorie était, jusqu'à il y a peu, limitée au seul ArgoUML (qui souffrait encore de nombreux défauts de jeunesse). Elle est maintenant étendue avec l'apparition, notamment mais pas uniquement, d'un logiciel appelé StarUML, qui nous parait tout à fait au point et que nous recommandons chaleureusement. Pour vous convaincre de l'installer sur votre ordinateur et de l'utiliser, nous vous renvoyons à l'article s'y rapportant disponible sur le site www.developpez.com (http://miles.developpez.com/tutoriels/conception/staruml/). A. Ce qui est traité ce module Ce chapitre aborde les outils d'aide à la modélisation. Il fournit des éléments de comparaison entre outils et un benchmark des principaux. Il se termine par quelques brèves présentations. B. Ce qui n’est pas traité dans ce module Ce module n'est pas un guide d'utilisation des logiciels présentés. Il ne fournit qu'un aperçu de leur "puissance" et ne dispense en aucun cas d'une lecture attentive des modes d'emplois. Chapitre 7 – Les outils B350 3/8 II.
Critères de choix et outils disponibles A. Critères de choix Le choix de l’outil de travail dépend du type d’utilisateur et du contexte de travail. Ce choix repose sur plusieurs critères clés principaux : • prise en charge des diagrammes disponibles et apports importants de la norme UML2.X bien que tous les diagrammes de la norme UML ne sont systématiquement pas utilisés dans les projets de conception. Généralement, sont utilisés les diagrammes : -­‐ de cas d’utilisation pour les spécifications fonctionnelles, -­‐ de séquences pour montrer les différents scénarios de chaque cas d'utilisation, -­‐ de classes pour montrer les dépendances entre les différentes classes –aspect statique–, -­‐ états-­‐transitions pour les classes qui présentent un intérêt pour le système, -­‐ d’activités pour un processus ou une méthode. • génération du code, complète ou partielle, qui est importante dans plusieurs environnements et aussi les langages cibles pris en charge (C++, Java, XML, PHP…). • mapping vers un schéma de bases de données ; en effet plusieurs projets nécessitent l’utilisation d’une base de données relationnelle qui est obtenue à partir du diagramme de classes. • outil fermé ou ouvert via plug-­‐in/script. • niveau de documentation. • logiciel libre ou payant. • possibilité de reverse engineering (rétro-­‐ingénierie). La plupart des outils n'offrent pas toutes les fonctionnalités attendues. C’est pour cela que l'on peut être amené à utiliser plus d’un outil en important des diagrammes élaborés à partir d’un outil donné pour les compléter dans un autre. Ainsi, par exemple, si l'on utilise un outil tel Rational Rose, sera-­‐t-­‐on forcé d'importer un diagramme sous Visio pour rajouter quelques éléments de notation non pris en compte par Rational Rose. B. Outils disponibles Parmi les outils les plus fréquemment utilisés, on peut citer : Enterprise Architect, MagicDraw, MEGA Designer, ModelSphere, MyEclipse, Objecteering, Poseidon for UML, PowerAMC, Rational Rose Data Modeler, Together, Visio, Visual Paradigm, Visual UML et Win’Design, ArgoUML, StarUML, BOUML, Magic Draw UML. Chapitre 7 – Les outils B350 4/8 III. Éléments de comparaison Le tableau ci-­‐dessous regroupe quelques éléments significatifs de comparaison entre quelques outils connus. Il est tiré de Wikipédia avec des modifications. Pour des raisons de lisibilité, il est "cassé" en plusieurs morceaux. A. AmaterasUML, ArgoUML, Astade, BOUML, Eclipse et Enterprise Architect Dernière diffusion stable Open source Langage de programmation utilisé Multiplate-­‐
forme (Java) 12 VII 2012 Oui Java ArgoUML tigris.org Multiplate-­‐
forme (Java) 15 XII 2011 Oui Java Astade Multiplate-­‐
forme 11 III 2010 Oui Basé sur wxWidgets BOUML (version < 5 non maintenue) Bruno Pagès Multiplate-­‐
forme 1 X 2011 Oui C++/Qt3 BOUML (version >= 5.0) Bruno Pagès Multiplate-­‐
forme 15 XII 2012 Non C++/Qt4 Eclipse UML2 Eclipse Foundation Multiplate-­‐
forme (Java) Oui Java Sparx Systems Microsoft Windows, Linux et Mac OS X 19 IX 2013 Non C++ Nom Créateur AmaterasUML Enterprise Architect Chapitre 7 – Les outils Plateforme / OS B350 5/8 B. eUML2_Studio, Frame_UML, Jink_UML, Objecteering et OpenModelSphere Créateur Plateforme / OS Dernière diffusion stable Open source Langage de programmation utilisé eUML2_ Studio Soyatec Mulitplate-­‐
forme (Java / Eclipse) 31 VIII 2012 Non Java Frame_UML Frame Windows 27 II 2009 Oui C++ Jink_UML Nether Multiplate-­‐
forme (Java) 27 IV 2009 Oui Objecteering Objecteering Software Windows, Linux 25 XI 2009 Non grandite.com Multiplate-­‐
forme (Java) 13 IV 2012 Oui Java Nom Open ModelSphere C. PowerAMC, Rational Rose, Rhapsody, Software Ideas Modeller et StarUML Dernière diffusion stable Open source Langage de programmation utilisé Nom Créateur Plateforme / OS PowerAMC Sybase Windows 1 X 2008 Non Rational Rose IBM Windows 2000 Oui Java, C++ Rhapsody Telelogic (racheté par IBM) Windows 16 XII 2011 Non C, C++, Java, C#, Ada Software Ideas Modeller Dusan Rodina Windows (.NET), Linux (Mono) 20 I 2013 Non C# StarUML Plastic Software Windows 30 XII 2005 Oui Delphi Chapitre 7 – Les outils B350 6/8 D. Topcased, Umbrello_UML_Modeller, UML_Designer et WhiteStarUML Créateur Plateforme / OS Dernière diffusion stable Open source Langage de programmation utilisé Topcased Consortium Multiplate-­‐
forme (Java) 9 III 2010 Oui Java Umbrello_ UML_ Modeller Équipe Umbrello Linux 4 VIII 2009 Oui C++, KDE UML_ Designer Obeo Multiplate-­‐
forme (Java / Eclipse) 23 VI 2013 Oui Java WhiteStarUML Janusz Szpilewski Windows 9 VI 2013 Oui Delphi Nom À noter que Rational Rose et Together permettent de nombreuses fonctionnalités mais leur coût est très important et leur utilisation n’est pas simple. Ces logiciels sont plutôt destinés à une population d’utilisateurs avertis gérant un projet très large. Chapitre 7 – Les outils B350 7/8 IV.
Quelques exemples Les présentations ci-­‐après sont le fruit du travail d'étudiants du Master en Informatique, Infographie et Imagerie (M3I) de la Faculté des Sciences Dhar El Mahraz de l'Université Sidi Mohamed Ben Abdellah de Fès, Maroc, sous la direction du Professeur Omar El Beqqali. Ont été étudiés et sont présentés ci-­‐après les outils suivants : • Modelio • StarUML • Rational Rose et Power AMC. Les slides projetés par les étudiants sont disponibles en annexes, sous forme de documents en format pdf. Chapitre 7 – Les outils B350 8/8 
Téléchargement