Visual Studio2010 et la modélisation - gros plan modélisation
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
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
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
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
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
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
Vous pouvez aussi lire