Traduire UML en C#

21
TRADUIRE UML EN C#/JAVA 1

Transcript of Traduire UML en C#

Traduire UML en C#

Traduire UML en C#/Java1ClassChaque classe UML devient un fichier .cs (C#), mais le stockage peut tre diffrent si le concepteur le souhaite.

2Class abstraiteUne classe abstraite est simplement une classe qui ne sinstancie pas directement mais qui reprsente une pure abstraction afin de factoriser des proprits. Elle se note italique.

3InterfaceLinterface peut tre reprsent en UML diffremment

4PackageLe package reprsente un regroupement de classe.

5AttributLes attributs deviennent des variables en C#. Leur type sont soient des types primitifs (int ,string), soit des classes (DateTime , String).

Il faut ne pas oublier dajouter le package ncessaire afin que la dfinition du type ou de la Classe soit connue. La class ArrayList ncessite dajouter le package System.Collections.

6OPERATIONSLes oprations deviennent des mthodes en Java et C#.Leur visibilit est dfinit avec la mme convention que les attributs.Les oprations de classes deviennent des mthodes statiques. Les oprations abstraites (en italique) se traduisent par le mot cl abstract.

7OPERATIONS

8OPERATIONSUn attribut est accessible par lintermdiaire dune opration particulire, les accesseurs et modifieurs.On appelle ces accesseurs et modifieurs, Proprit en C#. La proprit a le mme nom que lattribut avec une majuscule.9HritageAfin de prciser de qui hrite une classe, on spcifie le nom du pre coter de la classe fille.

10RalisationUne classe UML peut raliser plusieurs interfaces ou classes. Mais en C#, lhritage multiple est interdit alors que la ralisation de multiple interface est autorise.11Ralisation

12DpendanceLa dpendance est un concept trs gnral en UML. Une dpendance entre une classe A et une classe B existe par exemple si A possde une mthode prenant comme paramtre une rfrence sur une instance de B, ou si A utilise une opration de classe de B. Il nexiste pas de mot-cl correspondant en Java ou en C#.

13AssociationLes associations navigables se traduisent en code en prenant compte de la multiplicit de lextrmit concerne, mais galement lexistence dune contrainte {ordered} ou dun qualicatif.Une association navigable avec une multiplicit 1 se traduit par une variable dinstance , tout comme un attribut, mais avec un type rfrence vers une instance de classe du modle au lieu dun type simple.Une multiplicit * va se traduire par un attribut de type collection de rfrences dobjets au lieu dune simple rfrence sur un objet. La difficult consiste choisir la bonne collection parmi toutes les collections C#. 14AssociationEn C#, on va utiliser:List en gnralSortedSet si vous devez respecter un ordre et rcuprer les objets partir dun indice entierDictionary si vous souhaitez rcuprer les objets partir dune cl arbitraire.Mais on peut galement utiliser ArrayList et toutes les autres collections.15Association

16association bidirectionnelleElle se traduit simplement par une paire de rfrences, une dans chaque classe implique dans lassociation. Les noms des rles aux extrmits dune association servent nommer les variables de type rfrence.

17association rflexiveElle se traduit simplement par une rfrence sur un objet de la mme classe.

18AGRGATION ET COMPOSITIONLagrgation est un cas particulier dassociation non symtrique exprimant une relation de contenance. Lassociation peut tre nomme contient , est compos de. Le codage des agrgations nest pas fondamentalement diffrente de celle des associations simples. La seule contrainte est quune association ne peut contenir de marque dagrgation qu lune de ses extrmits. Une composition est une agrgation plus forte impliquant que :une partie ne peut appartenir qu un seul composite (agrgation non partage) ;la destruction du composite entrane la destruction de toutes ses parties (le composite est responsable du cycle de vie des parties).

19AGRGATION ET COMPOSITIONLes classes imbriques peuvent permettre de traduire la composition.

20Classe dassociationIl sagit dune association promue au rang de classe. Elle possde tout la fois les caractristiques dune association et dune classe et peut donc porter des attributs.

21