Visual Studio2010 et la modélisation - gros plan modélisation

La page est créée Clément Descamps
 
CONTINUER À LIRE
Visual Studio2010 et la modélisation - gros plan modélisation
18-35   21/10/10     20:46    Page 20

        gros plan \\ modélisation

        Visual Studio 2010 et la modélisation
        Avec Visual Studio 2010 les portes de l’architecture et de la modélisation se sont
        ouvertes à un large public. L’outil n’a pas prétention de rivaliser avec les cadors du genre,
        mais de démocratiser ces disciplines qui sont aujourd’hui très importantes et d’apporter
        une valeur ajoutée indéniable à l’ensemble de l’équipe.
                                                              Fig.1    disponible dans la catégorie « Mode-         male des packages). Dans sa version
                                                                       ling Projects » de la fenêtre de dia-        actuelle, Visual Studio 2010 gère 5
                                                                       logue « Add New Project » [Fig.1]. Un        diagrammes UML :
                                                                       projet est nécessaire afin de pouvoir        • Le diagramme de cas d’utilisation.
                                                                       accéder aux différents types de dia-         • Le diagramme d’activités.
                                                                       grammes, chaque diagramme est                • Le diagramme de séquence.
                                                                       constitué d’un ou plusieurs fichiers.        • Le diagramme de classes.
                                                                       En procédant de la sorte, Microsoft          • Le diagramme de composants.
                                                                       vous garantit le même comportement           Deux autres types de diagrammes
                                                                       par rapport aux projets classiques           non UML sont aussi proposés : le dia-
                                                                       (WinForms, Class Library, …) vis-à-vis       gramme de couches qui vous permet
                                                                       de votre solution et de la gestion de        de modéliser et cartographier sous
                                                                       configuration.                               forme de couches logiques votre code
                                                                       Deux points d’entrés sont alors dispo-       et le graphe direct qui, lui, est un
                                                                       nibles : le premier vous est familier        modèle générique permettant de
                                                                       puisqu’il s’agit de l’explorateur de solu-   représenter des diagrammes tels que

                           L
                                   a modélisation est pour beau-       tion. Celui-ci vous permet de créer et       le graphe de dépendance. Nous
                   Fig.2
                                   coup de développeurs une            d’organiser les différents dia-              reviendrons en détail sur le premier
                                   étape obscure voire inutile.        grammes comme vous avez l’habitu-            type de diagrammes par la suite.
                           Cette réputation est malheureuse-           de de le faire et ainsi d’intégrer la        Comme nous le disions au début de
                           ment en partie fondée : de nombreux         modélisation directement au même             l’article, l’intégration est un atout
                           outils de modélisation UML existent         niveau que les autres projets de la          majeur de la suite de développement
                           sur le marché, mais quasiment tous          solution : les développeurs ont enfin        de Microsoft.
                           ont pour effet d’isoler la phase de         un accès simple à ces données. Le            Conjuguée avec Team Foundation Ser-
                           modélisation du reste de la réalisation     second est une fenêtre inédite intitu-       ver 2010, comme pour les différents
                           d’un projet. Cela est dû au fait que        lée « Explorateur de modèle UML »            éléments qui composent notre déve-
                           ces logiciels n’offrent pas d’intégra-      qui centralise,comme son nom l’in-           loppement (documentation, fragment
                           tion (du moins assez efficace) avec les     dique, l’ensemble des éléments de            de code source, résultat de test, …),
                           disciplines adjacentes comme le code        type UML.                                    nous avons la possibilité d’associer un
                           ou les tests. Microsoft joue de nou-        Chaque élément créé dans un dia-             ou plusieurs éléments de travail à un
                           veau les cartes de l’intégration et du      gramme est référencé dans l’explora-         élément UML ou directement à un
                           pragmatisme avec la brique Modélisa-        teur de modèle UML, cela permet de           diagramme. Cette relation est très
                           tion de Visual Studio 2010. Les             pouvoir constituer une bibliothèque          précieuse car nous pouvons de ce fait
                           experts UML ne trouveront certaine-         d’éléments ayant un sens fonctionnel         obtenir une traçabilité qui ira jusqu’au
                           ment pas cette version à la hauteur         qui peuvent être par la suite réutilisés     code et aux tests !
                           (malgré la sortie du Feature Pack qui       au travers des différents diagrammes         Pour les développeurs, c’est la rela-
                           comble bon nombre de lacunes),              [Fig.2]. Une petite astuce : la centrali-    tion inverse qui leur simplifie la vie :
                           mais pour ceux qui approchent cette         sation de ces éléments se fait dans          pouvoir, à partir d’une tâche, remon-
                           discipline comme un outil permettant        un unique fichier XML, ce qui peut           ter aux différents diagrammes qui
                           de travailler mieux et plus vite il n’y a   parfois aboutir à des fusions difficiles.    décrivent le code à réaliser.
                           pas de doute : Microsoft est sur la         Un contournement existe en utilisant         Malheureusement, dans leurs ver-
                           bonne voie !                                l’élément UML de type Package :              sions initiales, Visual Studio et TFS ne
                                                                       celui-ci et son contenu sont stockés         le permettent pas ! Un élément UML
                           Projet de type                              dans un fichier XML à part. Si vous          peut référencer un élément de travail
                           modélisation                                être amené à travailler en simultané         mais on ne retrouve pas ce lien sur
                           Pour la modélisation, Visual Studio         sur un gros projet de modélisation, le       l’élément de travail.
                           2010 prévoit un nouveau type de pro-        regroupement des éléments UML par            Plus d’une personne ayant trouvé ce
                           jet spécifique qui regroupe tous les        Package vous simplifiera la vie !            problème très gênant, Microsoft n’a
                           diagrammes. Ce type de projet est           (même si ce n’est pas l’utilisation nor-     pas attendu une nouvelle version ou

        20   • PROgrammez ! \\ Novembre 2010
Visual Studio2010 et la modélisation - gros plan modélisation
18-35     21/10/10              20:47           Page 21

    1&1 HÉBERGEMENT
     TOUS LES PACKS AU PRIX DU

    MOINS CHER !
                                                                                                                                                                                        1,             99 €
                                                                                                 TOUS LES PACKS
                                                                                                 HÉBERGEMENT
                                                                                                                                                                                                           HT/mois
                                                                                                 À SEULEMENT :                                                                                             (2,38 € TTC/mois)
                                                                                                                                                                                                pendant les 3 premiers mois*

                                                                                                                                                                       Vous voudriez choisir votre
                                                                                                                                                                       solution d’hébergement sans vous
                                                                                                                                                                       soucier du prix ? Chez 1&1, tous les
                                                                                                                                                                       packs d’hébergement vous sont
                                                                                                                                                                       actuellement proposés au prix du
                                                                                                                                                                       moins cher : seulement 1,99 € HT/
                                                                                                                                                                       mois* durant 3 mois quelque soit
                                                                                                                                                                       le pack !

                                                                                                                                                                       Faites votre choix sur 1and1.fr, où
                                                                                                                                                                       vous découvrirez également nos
                                                                                                                                                                       serveurs, e-boutiques et noms de
                                                                                                                                                                       domaines à petits prix !

        DOMAINES À PRIX CASSÉS :
        le .fr à 3,99 € HT/an (4,77 € TTC/an),
        le .info à 0,99 € HT/an (1,18 € TTC/an) !                                                                                            *

    * Tous les Packs Hébergement sont au prix du Pack Initial (1,99 € HT/mois, soit 2,38 € TTC/mois). A l’issue des 3 premiers mois, les produits concernés sont aux prix habituels (Pack Confort
      à 5,97 € TTC/mois, Pack Pro à 11,95 € TTC/mois, Pack Premium à 23,91 € TTC/mois). Frais de mise en service : 5,97 € TTC (Pack Confort) ou 11,95 € TTC (Pack Pro, Pack Premium).
      Offre soumise à un engagement de 12 mois. Offre domaines applicable la première année au lieu du prix habituel de 6,99 € HT/an (8,36 € TTC). Conditions détaillées sur www.1and1.fr.
      Offres sans engagement également disponibles.

                                                       Appel non surtaxé

                                                       0970 808 911                                                       www.1and1.fr
Visual Studio2010 et la modélisation - gros plan modélisation
18-35   21/10/10    20:47   Page 22

        gros plan \\ modélisation

                         un service pack pour y remédier. Avec          extérieur avec lequel les transac-     • le distributeur attend l’introduction
                         le « Visualization & Modeling Feature          tions sont exécutées.                     d’une carte valide par le client.
                         Pack », il est maintenant possible via      Enfin, les associations permettent de     • Le client sélectionne un service.
                         un nouveau type de lien d’élément de        définir les liens entre les éléments du   • Le distributeur délivre un reçu de la
                         travail de référencer un élément UML.       diagramme.                                   transaction.
                         Après cette présentation du projet de       Dans Visual Studio 2010, tous ces         La modélisation de ce diagramme
                         type modélisation, nous allons voir, au     éléments sont disponibles dans la         dans Visual Studio 2010 se fait de la
                         travers d’un exemple de distributeur        boîte à outils. Après création d’un       même manière que pour la création
                         de banque, chaque diagramme sup-            nouveau diagramme, il suffit d’utiliser   du diagramme de cas d’utilisation,
                         porté par Visual Studio 2010 et nous        le glisser/déposer pour constituer le     par glisser/déposer. La boîte à outils
                         apprécierons comment ils peuvent            diagramme avec les acteurs, les cas       contenant maintenant les éléments
                         simplifier le développement.                d’utilisation et leurs associations       adaptés tels que les actions, les déci-
                                                                     [Fig.3]. Jusque-là nous sommes dans       sions, les connecteurs … En quelques
                         Diagramme de cas                            le classique. Là où Visual Studio         clics, le diagramme correspondant à
                         d’utilisation                               2010 va appor ter un plus, c’est          notre exemple est créé [Fig.4].
                         La première phase de tout développe-        grâce à son intégration avec TFS          Le diagramme d’activités sert à illus-
                         ment est la définition des besoins. A       2010 en permettant de lier les diffé-     trer et consolider la description tex-
                         partir des interviews des utilisateurs,     rents cas d’utilisation aux exigences     tuelle des cas d’utilisation. Il est
                         on pourra créer des diagrammes de           stockées sous forme d’éléments de         également utile dans la phase de réa-
                         cas d’utilisation afin de formaliser        travail. Un développeur pourra alors,     lisation, car il donne les lignes direc-
                         leurs besoins de manière globale,           en partant de ce qu’il connaît le mieux   trices pour la programmation et
                         compréhensible, concise et claire.          (les éléments de travail), retrouver      pourra donc être lié aux tâches dans
                         On va d’abord définir les acteurs qui       facilement via ces liens les dia-         TFS afin que le développeur puisse se
                         vont interagir avec le système. Dans        grammes correspondant aux exi-            simplifier le travail en ayant accès
                         notre exemple, l’opérateur assure la        gences sur lesquelles il va devoir        directement au diagramme décrivant
                         maintenance, la Banque exécute les          travailler. Les exigences dans TFS        l’algorithme à mettre en place.
                         transactions et le Client utilise le sys-   pouvant être liées à des cas de tests,
                         tème. La prochaine étape consiste en        on aura donc aussi automatiquement        Diagramme de séquence
                         la définition des cas d’utilisation. La     un lien logique entre cas d’utilisation   Une autre façon de détailler une par-
                         meilleure approche est de trouver les       et cas de tests !                         tie ou l’intégralité des cas d’utilisation
                         besoins que chaque acteur a envers                                                    est le diagramme de séquence. Ce
                         le système.                                 Diagramme d’activités                     diagramme a pour but de montrer la
                         On donne ensuite un nom unique et           Après la première phase d’analyse et      séquence des interactions entre
                         une brève description qui décrit clai-      de définition de besoins, on commen-      objets ou acteurs sur un axe de
                         rement les objectifs pour chaque cas        ce à détailler les cas d’utilisation en   temps donné. Le diagramme est
                         d'utilisation. Appliqué à notre             diagrammes d’activités. Le diagram-       constitué de deux dimensions. La
                         exemple, on peut facilement trouver         me d’activités décrit le comportement     dimension verticale montre la séquen-
                         les cas d’utilisation suivants :            d’un processus d’un système. Une          ce des messages dans le temps. La
                         • L’opérateur démarre et arrête le          activité est un déroulement d’étapes      dimension horizontale montre les ins-
                           système.                                  séquentielles.                            tances des objets auxquelles sont
                         • Le client veut effectuer des transac-     Dans notre exemple, on va étendre le      envoyés les messages. Les mes-
                           tions telles que retrait, dépôt ou        cas d’utilisation « Transaction » par     sages peuvent être synchrones ou
                           transfert.                                un diagramme d’activités qui va expli-    asynchrones.
                         • La banque agit comme système              quer le comportement attendu :            Un diagramme de séquence est très

                                             Fig.3                                           Fig.5                                                 Fig.6

        22   • PROgrammez ! \\ Novembre 2010
Visual Studio2010 et la modélisation - gros plan modélisation
18-35   21/10/10       20:47     Page 23

                                                                                           gros plan \\ modélisation

        simple à élaborer dans Visual Studio         exprimés. Un développeur est géné-         tâches de développement et permet-
        2010. En haut du diagramme sont              ralement plus habitué à ce type de         tent aux développeurs de rapidement
        identifiées les instances de classe. Le      diagramme car il est très proche du        trouver les informations nécessaires
        temps est représenté du haut vers le         code. Visual Studio 2008 possédait         pour la réalisation de ces tâches.
        bas le long des lignes de vie. Les mes-      déjà des diagrammes de classes             Mieux encore, avec le « Visualization
        sages sont représentés par des               mais ceux-ci n’étaient que des repré-      and Modeling Feature Pack » le code
        flèches d’un acteur vers un autre.           sentations visuelles des objets .Net       peut être généré automatiquement
        Tout ceci s’effectue rapidement dans         du projet. Dans Visual Studio 2010,        via des template T4 ! L’inverse est
        Visual Studio 2010 encore une fois           le diagramme de classe est un vrai         aussi possible, générer les dia-
        grâce au glisser/déposer des objets          diagramme de classe UML dont le            grammes de classes à partir de code
        de la boîte d’outils.                        contenu n’est pas lié à une implémen-      déjà écrit.
        Dans notre exemple de la « Transac-          tation particulière.                       Enfin afin de se simplifier la vie, les
        tion », on identifie les interactions        Une fois un nouveau diagramme de           nouvelles fonctionnalités d’extension
        entre Client, Distributeur et Banque.        classe créé dans notre projet de           de Visual Studio 2010 permettent
        On définit les messages entre les enti-      modélisation, on va pouvoir le remplir     d’ajouter ses propres éléments dans
        tés comme l’introduction et la vérifica-     avec des éléments classiques tel que :     la boîte à outils. Cela permet, par
        tion de la carte, l’affichage du menu        • Une classe.                              exemple, de définir un élément repré-
        et sélection du service par le client, la    • Une interface.                           sentant un design pattern couram-
        validation et l’exécution de la transac-     • Une énumération.                         ment utilisé afin de ne pas avoir à le
        tion et enfin le retour du reçu [Fig.5].     • Un package.                              re-modéliser à chaque fois.
        Comme pour le diagramme d’activi-            • Des liens entre éléments (dépen-
        tés, on pourra lier le diagramme de             dance, héritage, …).                    Diagramme
        séquence aux différents éléments de          Appliqué à notre exemple, on obtien-       de composants
        travail.                                     drait les éléments suivants [Fig.7] :      Une fois que l’on a une vue sur les
        Une fonctionnalité très intéressante         • Client : une classe représentant le      classes et interfaces nécessaires afin
        de Visual Studio 2010 est la possibili-         client.                                 de réaliser les besoins des utilisa-
        té de créer un diagramme de séquen-          • Distributeur : une classe représen-      teurs, on peut commencer à le
        ce à partir de code existant ! Dans le          tant le distributeur.                   regrouper sous forme de compo-
        cas d’une application à reprendre ne         • Transaction : une classe abstraite       sants. Ces composants représentent
        possédant pas ou peu de documenta-              qui sera la classe parente des          les parties centrales de l’application
        tion, cette fonctionnalité sera très            classes représentant les différentes    et les diagrammes de composants
        utile afin de se donner une idée de ce          transactions (retrait, dépôt, trans-    permettent de les représenter en
        que font certaines méthodes. Pour               fert).                                  spécifiant comment ils dépendent les
        cela, il suffit de faire un clic droit sur   • Banque : une classe représentant         uns aux autres. On obtient alors une
        la méthode concernée et on peut                 la banque.                              représentation macro de la concep-
        générer automatiquement le dia-              A partir des différents diagrammes         tion de l’application. Dans le cas de
        gramme en choisissant les para-              de classe un développeur a une             composants complexes, on peut
        mètres voulus [Fig.6].                       meilleure vision de ce qu’il faut réali-   créer des sous-diagrammes de com-
                                                     ser en termes d’objet. Ces classes et      posants pour décrire leurs structures
        Diagramme de classes                         interfaces peuvent bien entendu être       internes. Le principe étant d’apporter
         Le diagramme de classe permet de            liées, comme pour tous les autres          une vision globale sur l’architecture
        décrire les informations et les don-         éléments de modélisation, à des élé-       de l’application.
        nées utilisées par les utilisateurs et le    ments de travail dans TFS. Ces élé-        Comme pour les autres diagrammes
        système afin de répondre aux besoins         ments sont généralement liés aux           avec Visual Studio, la création se fait
                                                                                                par simple glisser/déposer depuis la
                         Fig.4                                                         Fig.7    boîte à outils. Dans notre exemple
                                                                                                cela donnerait les composants sui-
                                                                                                vants [Fig.8] :
                                                                                                • Client : composant représente l’utili-
                                                                                                  sateur.
                                                                                                • Distributeur : composant représen-
                                                                                                  tant le distributeur.
                                                                                                • Transaction : composant représen-
                                                                                                  tant une transaction de manière
                                                                                                  générale.
                                                                                                • Banque : composant représentant
                                                                                                  la banque.
                                                                                                Pour l’ajout des interfaces exposées

                                                                                                                Novembre 2010 \\ PROgrammez ! •   23
Visual Studio2010 et la modélisation - gros plan modélisation
18-35   21/10/10    20:50   Page 24

        gros plan \\ modélisation

                         et attendues sur les composants,            Le diagramme de couche apporte             peurs. Elle permet de représenter
                         rien de plus simple, il suffit d’ouvrir     une solution aussi simple que radica-      visuellement et simplement les
                         l’explorateur de modèle et de glis-         le. Dans un premier temps on va            besoins utilisateurs et comment ceux-
                         ser/déposer les interfaces qui ont          représenter les différentes briques de     ci doivent être réalisés. En intégrant
                         été définies dans les diagrammes de         son application sous forme de              la modélisation UML, Visual Studio
                         classes ! Bien entendu l’inverse est        couches pouvant s’imbriquer puis           2010 rattrape son retard vis-à-vis de
                         aussi possible, vous pouvez définir l’in-   définir les relations possibles entres     la concurrence mais Microsoft a su
                         terface dans le diagramme de com-           chacune d’entre elles [Fig.9].             ajouter des fonctionnalités très utiles
                         posant et ensuite la glisser/déposer        A ce stade nous avons un diagramme         pour apporter de la simplification là
                         depuis l’explorateur vers un diagram-       purement logique, nous avons alors la      où il en manque cruellement :
                         me de classe.                               possibilité d’associer des éléments de     • Le projet de type modélisation, inté-
                         Une fois les diagrammes de compo-           notre solution aux différentes               gré directement à la solution, permet
                         sants finalisés, on pourra vérifier que     couches. Selon la granularité recher-        aux développeurs de s’approprier les
                         l’on n’a pas d’erreur comme des             chée nous pourrons ainsi associer            diagrammes et de ne plus voir la
                         dépendances circulaires et il sera          méthodes, classes, espaces de nom            modélisation comme une discipline
                         normalement simple de pouvoir               ou assemblages.                              obscure et sans intérêt.
                         regrouper ces composants en                 Là où ce diagramme prend tout son          • L’intégration avec Team Foundation
                         couches (IHM, service, métier et            sens, c’ est dans la phase dite de Vali-     Server va quant à elle permettre à
                         accès aux données par exemple).             dation. Visual Studio pourra valider         la fois une meilleure traçabilité
                                                                     pour vous que votre code est toujours        entre la définition des besoins et les
                         Diagramme de couches                        conforme aux règles établies dans le         diagrammes UML et un accès sim-
                         Nous quittons l’univers de l’UML pour       diagramme ! Cette Validation peut            plifié au diagramme à partir des élé-
                         aborder le dernier (et non des              être effectuée à la demande et lors          ments de travail, grâce aux liens
                         moindres) type de diagramme : celui         de l’intégration continue.                   que l’on va pouvoir créer.
                         des couches logiques. Pour beaucoup         Par exemple, si un nouveau dévelop-        • Enfin, en plus de la modélisation
                         de personnes qui ont eu la lourde           peur vient à appeler une méthode de          UML, Microsoft est allé plus loin et
                         tâche de faire respecter le cloisonne-      la couche d’accès aux données à par-         a ajouté le diagramme de couches
                         ment de l’architecture aux équipes de       tir de l’interface graphique, la valida-     qui permet non seulement d’archi-
                         développement, cette fonctionnalité         tion du diagramme générera une               tecturer son application mais en
                         vaut de l’or !                              erreur car aucune relation n’existe          plus de la valider vis-à-vis du code !
                         Que l’on soit architecte, urbaniste ou      entre la couche « UI » et « Accès aux
                         développeur, avec l’expérience accu-        données ».                                 ■ Guillaume Rouchon
                                                                                                                Architecte .Net / Expert ALM, .Net Rangers
                         mulée on parvient à se rendre compte        Cette fonctionnalité permet de             by Sogeti
                         qu’un des plus gros ennemis auquel          gagner un temps considérable, voire        Blog : http://blog.qetza.net
                         nous ayons à faire face est le coupla-      de rendre possible ce qui n’était aupa-
                         ge entre les différentes briques de         ravant que grossièrement faisable et       ■ Loïc Baumann
                                                                                                                Architecte .Net / Expert ALM, .Net Rangers
                         notre application. L’absence de maîtri-     de manière relativement inefficace.
                                                                                                                by Sogeti
                         se dans ce domaine fait que nous per-                                                  Blog : http://loicbaumann.fr
                         dons totalement le contrôle sur les         Conclusion
                         évolutions ou corrections que nous          Utilisée à bonne escient, la modélisa-     ■ Jason De Oliveira
                                                                                                                Solutions Architect chez Winwise, 13 ans
                         allons apporter à l’application : il est    tion apporte une réelle simplification
                                                                                                                d’expérience dans le développement logiciel.
                         impossible de déterminer les réper-         au développement et aux dévelop-           Blog : http://jasondeoliveira.com
                         cussions de ce que nous faisons !
                         Combattre ce fléau à mains nues                                                                                              Fig.9

                         n’est pas une simple tâche et bon
                         nombre d’entre nous finissent par
                         rendre les armes très rapidement,
                         laissant l’application livrée à elle-
                         même, ce qui garantit un résultat
                         accablant !

                                                            Fig.8

        24   • PROgrammez ! \\ Novembre 2010

                                                                                                                                                               P
Visual Studio2010 et la modélisation - gros plan modélisation Visual Studio2010 et la modélisation - gros plan modélisation Visual Studio2010 et la modélisation - gros plan modélisation
Vous pouvez aussi lire