modelsphere, un outil de génie logiciel
TRANSCRIPT
Page 1Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Marco [email protected]
Gino [email protected]
Département d’informatiqueet de génie logiciel6 octobre 2009
ModelSphere, un outil de génie logiciel
Ouverture
Page 2Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Présentation
• Contexte• Histoire d'une libération de code (D. Pascot)• Statut• Fonctionnalités de l'outil• Architecture et réalisation d'un projet
complexe en java• Mise sur pied d'une communauté• Discussion libre
Page 3Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Obtenir la présentation
• Sur JavaForge:• www.javaforge.com • Chercher le projet Open ModelSphere• Onglet Documents• Répertoire Présentations
• Sur mon site personnel:• www.marco-savard.com/OpenModelSphere/Presentations
Page 4Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Open ModelSphere : Contexte
• Un outil libre de génie logiciel développé à Québec (le seul?)
• Licence GPL• En tant qu'utilisateur, vous pouvez l'utiliser
librement, le distribuer librement, dans vos cours et dans vos futurs emplois.
• En tant que développeur, vous pouvez apprendre en analysant le code source.
• Si vous découvrez des lacunes, vous pouvez librement modifier l'outil, et soumettre vos améliorations.
• Opportunités pour des projets de fin d’études cet hiver.
Page 5Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Histoire d'une libération de code (D. Pascot)
• Années 1980:• SystemOID (1982-1988)• 1983: Lisa• 1984: Macintosh• Consoi-MCD: Équipe de professeurs et d'étudiants
de l'Université Laval • Début années 1990:
• Environnement Développement Commun:• Couche GUI multi-platforme en C• Le premier outil graphique de génie logiciel
devient un produit commercial• 1998 : Projet de recherche de SILVERRUN sur les
technologies Java et Swing.• 2008: Grandite libère les sources de
ModelSphere
Page 6Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Open ModelSphere : Statut
• Des dizaines de téléchargements par jour, à travers le monde.
• Une cinquantaine de membres actifs dans le projet JavaForge (Québec, Japon, Allemagne).
• Quatre développeurs internes.• Enseigné en SIO, utilisé par des ministères et
des compagnies internationales.• Avantages pour notre firme de consultation :
• Développement d’une expertise pour réaliser nos mandats plus efficacement et à moindre coût.
• Développement sur mesure pour un client ayant un besoin spécifique (Intel).
• Version 3.1 prévue le 3 novembre 2009
Page 7Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Fonctionnalités de l'outil
Partie II
Page 8Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Fonctionnalités de l'outil
• Les trois dimensions• relationnelle, objet et des processus
• Dimension relationnelle• Conceptuel, logique et physique
• Dimension objet• UML 1.4 : diagrammes de classes, cas
d’utilisation, séquence, etc.• Dimension des processus d’affaires
• Processus, flux, ressources, swimlanes, diagramme hiérarchique
Page 9Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Les trois dimensions de la modélisation
Classes(UML)
Données(relationnel)
Processus(Fonction)
Page 10Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Avantages de l'outil
• Rétro-ingénierie• Comprendre rapidement un logiciel complexe
(carte routière)• Vues partielles d’un logiciel• Détecter des failles potentielles
• Conception• Génération des clés, des noms physiques, des
règles référentielles• Vérification d’intégrité• Génération de code
• Travail en équipe et en version• Diagrammes et représentations multiples• Comparaison/Intégration• Versionnage, modification récente
Page 11Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Relationnelle : niveau conceptuel
Page 12Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Relationnelle : niveau logique
Page 13Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Relationnelle : niveau physique
Page 14Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Objet : Diagramme de classes UML
Page 15Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Objet : Diagramme de classes à la Java
Page 16Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Objet : Diagramme de classes à la Keys and Locks
Page 17Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Objet : Cas d’utilisation
Page 18Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Objet : Cas de séquence
Page 19Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Processus d’affaires : vue normale
Page 20Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Processus d’affaires : vue hiérarchique
Page 21Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Cas types d’utilisation
• Modélisation OO• Changement de formalismes
• Conversion modèle de données• Génération PK, FK, règles ref., noms
physiques, DDL.• Intégrité référentielle• Gros modèles
• Voisinage, espace de travail, intégration, modifications récentes, versionnage.
Page 22Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Cas 1: Vérification d’intégrité (1/3)
1. Cliquer
Ce modèle de données contient plusieurs erreurs. Pouvez-vous les trouvez?
Page 23Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Cas 1: Vérification d’intégrité (2/3)
1. Cliquer
3. Cliquer
Ce modèle de données contient plusieurs erreurs. Pouvez-vous les trouvez?Les erreurs et
avertissements sont indiqués par des préfixes devant les colonnes invalides.
Page 24Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Cas 1: Vérification d’intégrité (3/3)
Le rapport offre une ou plusieurs solutions pour chaque erreur. Il suffit de cliquer sur le lien pour appliquer la correction
Page 25Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Cas 2: Analyse des processus d’affaires (1/2)Projet informatique est le processus-racine
Conception est un processus éclaté
Des ressources associées à des processus feuilles
La durée et le coût cumulés du processus Conception.
Page 26Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Cas 2: Analyse des processus d’affaires (2/2)
On peut associer une durée à un processus feuille et observer l’impact sur le projet et les sous-projets.
On peut associer un coût à une ressource, et observer l’impact sur le coût total du projet.
Page 27Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Architecture et réalisation d’un projet complexe
Partie III
Page 28Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Architecture et réalisation d'un projet complexe
• Complexe? • 494 KLOC en Java• Environ 20 années-personnes
• Atouts graphiques• Soutenu par un métamodèle interne• Architecture en trois couches• Les plugiciels • Concepts OO• Concepts des bases de données
• Métamodèle (catalogue)• Undo/Redo (transactions ACIDes)• (Pas encore multi-utilisateurs)
Page 29Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Atouts graphiques
Multidiagramme
Duplicats Styles graphiques
IU consistante
Fenêtres redimensionnables; disposition graphique (layout)
Internationalisation, localisation en français et anglais
Préfixes
Page 30Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Métamodèle : modélisation et génération
GenMeta
274 fichiers; 24 KLOC en Java
Page 31Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Jack (LGPL) 815 classes
Sms (LGPL)Sms (GPL) 1287 classes
Plug-in(LGPL, 210 classes et commerciaux)
Plug-in GPL
Architecture en trois couches
Page 32Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Mise sur pied d'une communauté
Partie IV
Page 33Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Mise sur pied d’une communauté
• Site pour les utilisateurs • www.modelsphere.org• Novices Windows: auto-
extrWindows (setup.exe)• Avancés: batch file
• Site pour les contributeurs• www.javaforge.com• Gestionnaire SVN, Wiki, Forum, Métriques • Cinq niveaux de contributeurs
Page 34Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Cinq niveaux d’utilisateurs
Utilisateur
Documenteur
Développeur externe
Développeur interne
Administrateur
Page 35Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
1er rôle : utilisateur
➢ Utilisateur novice ou avancé de ModelSphere
➢ Soumet des bogues, suggestions d’amélioration de l’application
➢ Visualise les problèmes et solutions soumis par les autres utilisateurs
➢ Participe aux forums de discussionUtilisateur
Documenteur
Développeur externe
Développeur interne
Administrateur
Page 36Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
2e rôle : documenteur
➢ Utilisateur avancé➢ Créé et met à jour des
documents pour les autres utilisateurs
➢ Accès en écriture aux documents, mais sans accès au code source
Utilisateur
Documenteur
Développeur externe
Développeur interne
Administrateur
Page 37Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
3e rôle : développeur externe
Utilisateur
Documenteur
Développeur externe
Développeur interne
Administrateur
➢ Visualise les sources existentes➢ Télécharge les sources sur un
poste local et teste la version en cours de développement
➢ Souvent le premier à tester et à trouver les bogues.
➢ Peut modifier les sources localement, mais ne peut téléverser les modifications
➢ Propose des changements au logiciel à un developpeur interne pour révision de code
➢ Apprend l’architecture de ModelSphere en étudiant le code source
➢ Développeurs externes: ministère de la Santé (MSSS)
Page 38Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
➢ Conditions d’adhésion➢ Connaissance de l’outil en tant qu’utilisateur➢ Connaissance de Java et Eclipse➢ Avoir été un utilisateur actif (avoir soumis des bogues,
répondu à des questions, édité des wikis) et connu de la communauté
➢ Recommandé par un développeur interne
➢ Comment?➢ Faire une demande par courriel à l’administrateur➢ C’est l’administrateur qui prend la décision finale
Développeur externe
Page 39Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
4e rôle : développeur interne
Utilisateur
Documenteur
Développeur externe
Développeur interne
Administrateur
➢ Télécharge et visualise les sources existantes
➢ Créé et édite les sources du projet, et téléverse les changements
➢ Révise et accepte les demandes de modification du code soumis par les développeurs externes
➢ Doit démontrer une bonne connaissance de l’architecture de ModelSphere pour être admis
➢ Développeurs internes: Grandite, neosapiens
Page 40Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
➢ Conditions d’adhésion➢ Connaissance de l’architecture➢ Connaissance de Java, Swing, métamodelling➢ Avoir lu et compris le Developer’ s Guidelines➢ Avoir été un développeur externe actif (avoir corrigé et soumis des
modifications aux sources) et connu de la communauté➢ Recommandés par une majorité de développeurs internes
➢ Comment?➢ Faire une demande par courriel à l’administrateur➢ C’est l’administrateur qui prend la décision finale
Développeur interne
Page 41Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
5e rôle : administrateur
➢ Gère le projet➢ Supervise les activités➢ Définit les politiques➢ Accepte les nouveaux
membres➢ Assigne des rôles aux
membres➢ Administrateur du projet:
Grandite
Utilisateur
Documenteur
Développeur externe
Développeur interne
Administrateur
Page 42Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
1re étape : se connecter à JavaForge
1. Aller à www.javaforge.com
2. Cliquer
3. Cliquer
Page 43Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
2e étape : inscription à JavaForge
1. Remplir
2. Remplir
3. Soumettre
Page 44Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
3e étape : trouver le projet Open ModelSphere
1. Cliquer
2. Remplir
Page 45Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Écran utilisateur
Un utilisateur n’a normalement pas les onglets reliés aux sources (Builds, SCM Repository, Membres).
Page 46Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Écran développeur
Pour devenir développeur, il faut d’abord être utilisateur, puis faire une demande d’adhésion à l’administrateur du projet
Page 47Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Obtenir les sources
1. Choisir un répertoire
2. Cliquer droit
3. Nouveau répertoire
Page 48Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Obtenir les sources
Menus disponibles lorsque Tortoise est installé dans
Windows Explorer
2. Checkout
1. Sélection
Page 49Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Obtenir les sources
1. URL Javaforge
2. Répertoire nouvellement créé
3.
Page 50Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Obtenir les sources : succès
1.
Page 51Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Obtenir les sources : échec
Si vous obtenez cette erreur, vérifiez si vous vous êtes branché
sur Javaforge à titre de développeur, et non comme
simple utilisateur.
Page 52Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Obtenir les sources
1. Workspace
Page 53Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Obtenir les sources
1. Démarrer
Page 54Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Obtenir les sources
1. Choisir
Page 55Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Obtenir les sources
1. Retrouver notre workspace
Page 56Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Obtenir les sources
1. Ajouter les projets
Page 57Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Obtenir les sources
1. Ajouter les projets
Page 58Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Obtenir les sources
1. Parcourir
2. Retrouverorg.modelsphere.jack
3.
Page 59Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Obtenir les sources
1. Entrerorg.modelsphere.jack
2. Suivant
Page 60Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Obtenir les sources
1. Terminer
Ajouter sms et plug-ins
Page 61Open ModelSphere, un outil de génie logiciel © neosapiens.com 2009
Obtenir les sources
1. Démarrer ModelSphere
Page ፯፫Open ModelSphere, un outil de génie logiciel © neosapiens.com ፫፩፩፲
Partie V : Améliorations prévues avec 3.1
• Refonte de l’IU (Windows Vista)• Look and feel, grillage, diagramme de voisinage,
correcteur d’orthographe• Modélisation de données
• Clés de substitution, régles référentielles, diagramme de domaine, multiplicités spécifiques
• Modélisation de classes UML• Rétro-ingénierie Java, énumérations, classes
utilitaires, classes associations
Page ፯፬Open ModelSphere, un outil de génie logiciel © neosapiens.com ፫፩፩፲
Partie V : Améliorations possibles avec 3.2
• Plugiciel de disposition graphique (projet)• Plugiciel de rapports HTML (projet)• Plugiciel d’import de ebXML• Plugiciel d’import d’autres outils• Rétro-ingénierie de C#• Améliorer le soutien de UML.
Page ፯፭Open ModelSphere, un outil de génie logiciel © neosapiens.com ፫፩፩፲
Questions et discussion
Partie V