3. Table des matières
Notions de base relatives à la modélisation orientée objet .....................1
Création d'un MOO ....................................................................................3
Propriétés d'un MOO .........................................................................5
Construction de diagrammes de cas d'utilisation ..................................7
Objets d'un diagramme de cas d'utilisation ......................................................7
Création d'un diagramme de cas d'utilisation ....................................................8
Cas d'utilisation (MOO) ..............................................................................8
Création d'un cas d'utilisation ..............................................................8
Propriétés de cas d'utilisation ..............................................................9
Acteurs (MOO) .......................................................................................10
Création d'un acteur ........................................................................12
Propriétés d'un acteur ......................................................................12
Réutilisation des acteurs ..................................................................14
Associations de cas d'utilisation (MOO) ..........................................................14
Création d'une association de cas d'utilisation .........................................15
Propriétés d'une association de cas d'utilisation .......................................15
Construction de diagrammes structurels ..........................................17
Notions de base relatives au diagramme de classes ...........................................17
Objets du diagramme de classe ..........................................................18
Création d'un diagramme de classes .....................................................18
Notions de base relatives au diagramme de structures composites ........................19
Objets du diagramme de structure composite .........................................19
Création d'un diagramme de structure composite .....................................20
Notions de base relatives au diagramme d'objets .............................................20
Objets du diagramme d'objets ............................................................21
Création d'un diagramme d'objets ........................................................22
Notions de base relatives au diagramme de packages ........................................22
Objets du diagramme de packages .......................................................22
Création d'un diagramme de packages ..................................................23
Classes (MOO) ........................................................................................23
Création d'une classe .......................................................................23
Propriétés d'une classe .....................................................................24
Création de classes Java BeanInfo .......................................................29
Types et méthodes génériques ............................................................32
Classificateurs composites et classificateurs internes ................................34
Affectation d'un classificateur à un type de données ou à un type de résultat
................................................................................................36
Affichage des attributs migrés d'une classe ............................................37
Packages (MOO) .....................................................................................38
Propriétés d'un package de MOO .........................................................39
Affichage du code d'un package dans un MOO .........................................40
Modélisation orientée objet iii
4. Table des matières
Définition du type de diagramme d'un nouveau package .............................40
Interfaces (MOO) ....................................................................................40
Création d'une interface ...................................................................41
Propriétés d'une interface .................................................................41
Objets (MOO) ........................................................................................43
Création d'un objet .........................................................................44
Propriétés d'un objet .......................................................................44
Liaison d'un classificateur à un objet ....................................................46
Parties (MOO) ........................................................................................47
Création d'une partie .......................................................................47
Propriétés d'une partie .....................................................................48
Ports (MOO) ..........................................................................................48
Création d'un port ..........................................................................49
Propriétés d'un port ........................................................................49
Redéfinition des ports parent .............................................................50
Attributs (MOO) .....................................................................................51
Création d'un attribut ......................................................................52
Propriétés d'un attribut ....................................................................52
Ajout d'opération Getter et Setter dans un classificateur ............................54
Copie d'un attribut dans une classe, interface ou dans un identifiant .............55
Redéfinition d'un attribut dans PowerBuilder ..........................................56
Identifiants (MOO) ..................................................................................57
Création d'un identifiant ...................................................................57
Propriétés d'un identifiant .................................................................58
Ajout d'attributs à un identifiant .........................................................59
Opérations (MOO) ...................................................................................59
Création d'une opération ..................................................................60
Copie d'une opération dans une autre classe ...........................................63
Propriétés d'une opération ................................................................64
Associations (MOO) .................................................................................68
Création d'une association .................................................................69
Propriétés d'une association ...............................................................69
Mise en oeuvre d'une association .........................................................72
Création d'une classe d'association .......................................................74
Migration des rôles d'association dans un diagramme de classes ....................74
Régénération des liens de type de données ............................................75
Liaison d'une association à un lien entre objets .......................................76
Généralisations (MOO) .............................................................................76
Création d'une généralisation .............................................................77
Propriétés d'une généralisation ...........................................................78
Dépendances (MOO) ................................................................................78
Création d'une dépendance ...............................................................80
Propriétés d'une dépendance .............................................................80
Réalisations (MOO) ..................................................................................81
Création d'une réalisation .................................................................82
iv PowerAMC™
5. Table des matières
Propriétés d'une réalisation ...............................................................82
Liens de prérequis (MOO) ..........................................................................82
Création d'un lien de prérequis ...........................................................83
Propriétés d'un lien de prérequis .........................................................83
Connecteurs d'assemblage (MOO) ................................................................83
Création d'un connecteur d'assemblage .................................................84
Propriétés d'un connecteur d'assemblage ...............................................84
Connecteurs de délégation (MOO) ................................................................84
Création d'un connecteur de délégation ................................................85
Propriétés d'un connecteur de délégation ..............................................85
Annotations (MOO) ..................................................................................86
Affectation d'une annotation à un objet de modèle ..................................86
Création d'un nouveau type d'annotation ...............................................87
Utilisation de l'Editeur d'annotations ....................................................88
Liens entre objets (MOO) ..........................................................................89
Création d'un lien entre objets ...........................................................91
Propriétés d'un lien entre objets .........................................................91
Domaines (MOO) .....................................................................................92
Création d'un domaine .....................................................................92
Propriétés d'un domaine ...................................................................92
Mise à jour d'attributs à l'aide d'un domaine dans un MOO ...........................95
Paramètres de contrôle (MOO) ....................................................................95
Définition de paramètres de contrôle standard pour des objets d'un MOO ........96
Définition de paramètres de contrôle supplémentaires pour des objets d'un MOO
................................................................................................96
Construction de diagrammes dynamiques .........................................99
Notions de base relatives au diagramme de communication .................................99
Objets d'un diagramme de communication ............................................100
Création d'un diagramme de communication .........................................101
Création d'un diagramme de communication à partir d'un diagramme de séquence
...............................................................................................101
Notions de base relatives au diagramme de séquence ......................................101
Création d'un diagramme de séquence ................................................102
Création d'un diagramme de séquence à partir d'un diagramme de communication
...............................................................................................103
Objets d'un diagramme de séquence ...................................................103
Notions de base relatives au diagramme d'activités .........................................104
Objets du diagramme d'activités ........................................................105
Création d'un diagramme d'activités ...................................................105
Notions de base relatives au diagramme d'états transitions ................................106
Définition d'un classificateur par défaut dans le diagramme d'états-transitions
...............................................................................................106
Objets du diagramme d'états-transitions ..............................................107
Création d'un diagramme d'états-transitions ..........................................108
Notions de base relatives au diagramme d'interactions .....................................108
Modélisation orientée objet v
6. Table des matières
Objets du diagramme d'interactions ...................................................108
Création d'un diagramme d'interactions ............................................... 109
Messages (MOO) ....................................................................................109
Création d'un message .................................................................... 110
Propriétés d'un message ..................................................................111
Création de messages Création et Destruction dans un diagramme de séquence
............................................................................................... 113
Création d'un message récursif dans un diagramme de séquence ................. 115
Messages et portes ........................................................................ 116
Numéros d'ordre ........................................................................... 117
Activation (MOO) .................................................................................. 119
Création d'une activation ................................................................ 120
Attachement d'un message à une activation .......................................... 120
Détachement d'un message d'une activation ..........................................121
Activations superposées .................................................................. 121
Déplacement d'une activation ...........................................................121
Redimensionnement d'une activation .................................................. 122
Références d'interaction et activités d'interaction (MOO) .................................. 122
Création d'une référence d'interaction ................................................ 123
Création d'une activité d'interaction ................................................... 123
Propriétés d'une référence d'interaction ou d'une activité d'interaction ......... 123
Manipulation des références d'interaction ............................................ 124
Fragments d'interaction (MOO) .................................................................. 124
Création d'un fragment d'interaction ...................................................124
Propriétés d'un fragment d'interaction .................................................125
Manipulation de fragments d'interaction .............................................. 126
Activités (MOO) .................................................................................... 126
Création d'une activité ................................................................... 128
Propriétés d'une activité ................................................................. 128
Spécification des paramètres d'activité ................................................129
Spécification des types d'action .........................................................130
Activités décomposées et sous-activités ...............................................134
Unités d'organisation (MOO ) .....................................................................136
Création d'une unité d'organisation .....................................................137
Propriétés d'une unité d'organisation ...................................................137
Attachement d'activités à des unités d'organisation ................................. 138
Affichage d'une activité communautaire ............................................. 138
Gestion des couloirs et des pools ....................................................... 139
Débuts ( MOO) ......................................................................................143
Création d'un début ....................................................................... 144
Propriétés d'un début ..................................................................... 144
Fins ( MOO) ......................................................................................... 144
Création d'une fin ......................................................................... 145
Propriétés d'une fin ....................................................................... 145
Décisions ( MOO) ...................................................................................145
vi PowerAMC™
7. Table des matières
Création d'une décision ...................................................................146
Propriétés d'une décision .................................................................147
Synchronisations ( MOO) ..........................................................................147
Création d'une synchronisation ..........................................................148
Propriétés d'une synchronisation ........................................................148
Flux ( MOO) .........................................................................................149
Création d'un flux .........................................................................150
Propriétés d'un flux .......................................................................150
Noeuds d'objet (MOO) .............................................................................151
Création d'un noeud d'objet .............................................................152
Propriétés d'un noeud d'objet ...........................................................152
Etats (MOO) .........................................................................................153
Création d'un état .........................................................................153
Propriétés d'un état .......................................................................154
Etats décomposés et sous-états .........................................................155
Transitions (MOO) ..................................................................................157
Création d'une transition .................................................................157
Propriétés d'une transition ...............................................................157
Evénements (MOO) ................................................................................159
Création d'un événement ................................................................159
Propriétés d'un événement ..............................................................160
Définition d'un argument d'événement ................................................161
Actions (MOO) ......................................................................................161
Création d'une action .....................................................................162
Propriétés d'une action ...................................................................162
Points de jonction (MOO) .........................................................................163
Création d'un point de jonction .........................................................164
Propriétés d'un point de jonction .......................................................164
Construction de diagrammes de mise en oeuvre ...............................165
Notions de base relatives au diagramme de composants ....................................165
Objets d'un diagramme de composant .................................................166
Création d'un diagramme de composants ..............................................166
Notions de base relatives au diagramme de déploiement ..................................166
Objets d'un diagramme de déploiement ...............................................167
Création d'un diagramme de déploiement ............................................168
Composants (MOO) ................................................................................168
Création d'un composant .................................................................168
Propriétés d'un composant ...............................................................169
Création d'un diagramme de classes pour un composant ...........................174
Déploiement d'un composant dans un noeud .........................................175
Noeuds (MOO) ......................................................................................175
Création d'un noeud .......................................................................176
Propriétés d'un noeud .....................................................................176
Diagrammes de noeud ....................................................................177
Instances de composant (MOO) ..................................................................178
Modélisation orientée objet vii
8. Table des matières
Création d'une instance de composant .................................................178
Propriétés d'une instance de composant ...............................................179
Objets fichier (MOO) ..............................................................................179
Création d'un objet fichier ...............................................................180
Propriétés d'un objet fichier .............................................................180
Associations de noeuds (MOO) ...................................................................181
Création d'une association de noeuds ..................................................181
Propriétés d'une association de noeuds ................................................181
Travailler avec les services Web ...................................................183
Définition des outils de services Web ..........................................................183
Définition des cibles de service Web ...........................................................185
Définition d'un composant de service Web ....................................................185
Types de services Web pris en charge ..................................................186
Propriétés de composant de service Web ..............................................186
Création d'un service Web à l'aide de l'Assistant .....................................188
Création d'un service Web à partir du diagramme de composants ................190
Définitions de types de données pour WSDL ..........................................190
Classe de mise en oeuvre de service Web .............................................191
Gestion de méthodes de services Web .........................................................192
Création d'une méthode de service Web ...............................................192
Propriétés d'une méthode de service Web .............................................193
Mise en oeuvre d'une méthode de service Web dans Java ..........................193
Mise en oeuvre d'une méthode de service Web dans .NET ..........................196
Définition des attributs étendus d'une méthode de service Web ..................197
Définition des types de données SOAP du schéma WSDL ............................197
Définition d'une instance de composant de service Web ....................................198
Onglet Service Web de l'instance de composant .....................................198
Onglet WSDL de l'instance de composant ..............................................199
Utilisation des propriétés de noeud ....................................................200
Génération de services Web pour Java .........................................................200
Génération de services Web JAXM ......................................................200
Génération de services Web JAX-RPC ..................................................201
Génération de beans de session sans état de service Web ..........................202
Génération de services Web AXIS RPC ..................................................203
Génération de services Web d'EJB AXIS ................................................204
Génération de services Web Java (JWS) ...............................................204
Test des services Web pour Java ........................................................204
Génération des services Web pour .NET .......................................................205
Définition des options de génération de services Web dans .NET .................205
Définition des tâches de génération de service Web dans .NET ...................205
Génération de services Web dans .NET ................................................206
Génération d'une classe de proxy .NET pour un service Web .......................206
Déploiement de services Web dans .NET ..............................................207
Test de services Web pour .NET .........................................................207
Génération de services Web pour Sybase WorkSpace ........................................207
viii PowerAMC™
9. Table des matières
Création et génération d'un service Web Java pour Sybase WorkSpace ..........208
Création et génération d'un service Web EJB pour Sybase WorkSpace ............211
Reverse engineering de services Web .......................................................... 215
Importation d'un fichier WSDL ...........................................................215
Recherche de WSDL dans UDDI .......................................................... 218
Gestion des Modèles Orientés Objet ..............................................223
Personnalisation de l'environnement de MOO ................................................. 223
Gestion des langages objet .............................................................. 223
Définition des options de modèle de MOO .............................................225
Définition des préférences d'affichage de MOO ...................................... 228
Gestion des définitions étendues de modèle de MOO ............................... 230
Gestion des dépendances étendues de MOO .......................................... 231
Génération d'autres modèles à partir d'un MOO .............................................. 232
Mise en correspondance d'objets de MOO avec des objets d'autres modèles .... 232
Gestion de la persistance d'objet lors de la génération de MOO vers le MCD ....233
Gestion de la persistance des objets lors de la génération d'un MPD à partir d'un
MOO ......................................................................................237
Vérification d'un MOO .............................................................................242
Vérifications des domaines .............................................................. 243
Vérifications des sources de données .................................................. 243
Vérifications des packages ...............................................................243
Vérifications des acteurs/cas d'utilisations ........................................... 244
Vérifications des classes ..................................................................244
Vérifications des identifiants ............................................................ 249
Vérifications des interfaces ..............................................................249
Vérifications des attributs de classe/interface .......................................250
Vérifications des opérations de classe/interface .....................................251
Vérifications des réalisations ............................................................ 252
Vérifications des généralisations ........................................................253
Vérifications des objets .................................................................. 253
Vérifications des liens entre objets .................................................... 254
Vérifications des messages ...............................................................254
Vérifications des états ....................................................................254
Vérifications des actions d'état ......................................................... 255
Vérifications des événements ........................................................... 255
Vérifications des points de jonction ................................................... 256
Vérifications des activités ................................................................256
Vérifications des décisions ...............................................................256
Vérifications des noeuds d'objet ........................................................ 257
Vérifications des unités d'organisation .................................................257
Vérifications des débuts/fins ............................................................ 257
Vérifications des synchronisations ...................................................... 258
Vérifications des transitions et des flux ............................................... 258
Vérifications des composants ............................................................259
Vérifications des noeuds ................................................................. 259
Modélisation orientée objet ix
10. Table des matières
Vérifications des instances de composant .............................................260
Vérifications des références d'interaction .............................................260
Vérifications des parties de classe ......................................................261
Vérifications des ports de classe ou de composant ..................................261
Vérifications des connecteurs d'assemblage de classe ou de composant .........262
Vérifications des associations ...........................................................262
Vérification des paramètres d'entrée et de sortie d'activité .......................263
Importation d'un modèle Rational Rose dans un MOO .......................................263
Importation des objets généraux Rational Rose ......................................263
Importation de diagrammes de cas d'utilisation (use case diagrams) Rational Rose
...............................................................................................264
Importation de diagrammes de classes (class diagrams) Rational Rose ...........264
Importation de diagrammes de collaboration (collaboration diagrams) Rational
Rose ......................................................................................265
Importation de diagrammes de séquence (sequence diagrams) Rational Rose
...............................................................................................266
Importation de diagrammes d'états-transitions (statechart diagrams) Rational
Rose ......................................................................................266
Importation de diagrammes d'activités (activity diagrams) Rational Rose .......267
Importation de diagrammes de composants (component diagrams) Rational Rose
...............................................................................................268
Importation de diagrammes de déploiement (deployment diagrams) Rational
Rose ......................................................................................268
Importation et exportation d'un MOO dans un format XMI ..................................269
Importation de fichiers XMI ..............................................................269
Exportation de fichiers XMI ..............................................................269
Génération et reverse engineering de fichiers source orientés objet .....271
Génération des fichiers orientés objet à partir d'un MOO ...................................271
Génération de fichiers sources orienté objet .........................................271
Gestion des cibles de génération .......................................................273
Définition du package de code source .................................................274
Activation du mode de suivi dans les onglets Aperçu ................................274
Reverse engineering de fichiers orientés objet dans un MOO ..............................274
Reverse engineering dans un nouveau MOO ...........................................275
Reverse engineering dans un MOO existant ...........................................276
Synchronisation d'un modèle avec des fichiers générés .....................................277
Travailler avec Java ..................................................................279
Classes publiques Java ............................................................................279
Types énumérés (enums) Java ...................................................................279
Commentaires Javadoc ...........................................................................282
Définition de valeurs pour les étiquettes Javadoc ...................................284
Génération et reverse engineering de commentaires JavaDoc ....................286
Annotations Java 5.0 ..............................................................................287
Mot clé strictfp Java ..............................................................................287
Enterprise Java Beans (EJB) v2 ..................................................................288
x PowerAMC™
11. Table des matières
Utilisation des types d'EJB ...............................................................289
Propriétés d'un EJB ........................................................................289
Création d'un EJB à l'aide de l'Assistant ................................................291
Définition d'interfaces et de classes pour un EJB .................................... 293
Définition d'opérations pour un EJB .................................................... 296
Notions de base relatives à la prise en charge des EJB dans un MOO ............. 298
Utilisation du descripteur de déploiement d'EJB ..................................... 301
Génération des EJB ....................................................................... 303
Génération de fichiers .JAR ............................................................. 309
Reverse engineering d'EJB ............................................................... 311
Enterprise Java Beans (EJB) v3 ..................................................................314
Création d'un EJB 3.0 avec l'Assistant Enterprise JavaBean ........................ 315
Propriétés d'une classe Bean EJB 3.0 ...................................................317
Propriétés d'un composant EJB 3.0 ..................................................... 318
Propriétés d'une opération EJB 3.0 ..................................................... 319
Servlets Java ....................................................................................... 320
Page Servlet du composant .............................................................. 320
Définition de classes de servlet ......................................................... 320
Création d'un servlet à l'aide de l'Assistant ............................................321
Notions de base relatives à l'initialisation et à la synchronisation d'un servlet
............................................................................................... 322
Génération de servlets ................................................................... 322
Génération de fichiers WAR ..............................................................325
Reverse engineering de servlets ........................................................ 326
Java Server Pages (JSP) ...........................................................................327
Page JSP du composant ...................................................................327
Définition des objets fichier pour les JSP ............................................. 327
Création d'un JSP à l'aide de l'Assistant ................................................328
Génération de JSP .........................................................................329
Reverse engineering des JSP .............................................................331
Génération de code Java .........................................................................332
Définition des variables d'environnement Java ....................................... 332
Définition des options de génération pour Java ...................................... 332
Sélection des tâches de génération pour Java ........................................334
Génération de fichiers Java ............................................................. 335
Utilisation des outils pour la génération Java ........................................ 336
Reverse engineering de code Java .............................................................. 337
Onglet Options de la boîte de dialogue Reverse engineering de Java ............ 339
Travailler avec EMF (Eclipse Modeling Framework) ............................341
Objets EMF ..........................................................................................341
EPackages ...................................................................................341
EClasses, EEnums et EDataTypes ........................................................ 341
EAnnotations ............................................................................... 341
EAttributes et EEnumLiterals ............................................................342
EReferences ................................................................................ 342
Modélisation orientée objet xi
12. Table des matières
EOperations et EParameters ............................................................. 342
Génération de fichiers EMF ......................................................................342
Reverse engineering de fichiers EMF ...........................................................343
Travailler avec IDL ....................................................................345
Mise en correspondance de base entre objets IDL et objets de MOO .....................345
Interface ....................................................................................345
Module ......................................................................................346
Mise en correspondance complexe entre objets IDL et objets de MOO ...................346
Type de données ...........................................................................346
Constante générale .......................................................................346
Constante d'interface .....................................................................346
Définition de type (Typedef) .............................................................347
Séquence ...................................................................................347
Type de valeur (valuetype) ..............................................................347
Valeur personnalisée (custom value) ...................................................348
Valeur encadrée (boxed value) ..........................................................348
Enumération (Enum) ......................................................................348
Structure (struct) ..........................................................................348
Structure (struct) dans une autre structure ...........................................349
Séquence dans une structure ............................................................349
Union ........................................................................................350
Enumération/ structure dans une union ...............................................350
Structure/ énumération comme type de données switch ...........................351
Tableau (array) .............................................................................351
Tableau pour une séquence ..............................................................351
Tableau pour une union ou une structure .............................................351
Déclenchement d'une exception .......................................................352
Génération pour IDL ...............................................................................353
Reverse engineering de code IDL ................................................................353
Limitation relatives au reverse engineering de IDL ..................................353
Sélection des options de reverse engineering pour IDL .............................354
Reverse engineering de fichiers IDL ....................................................355
Travailler avec PowerBuilder .......................................................357
Correspondance complète .......................................................................357
Application .................................................................................357
Structure ....................................................................................357
Function ....................................................................................357
User object .................................................................................357
Proxy ........................................................................................358
Window ......................................................................................358
Correspondance minimale ........................................................................358
Sélection d'une version de PowerBuilder ......................................................359
Sélectionner d'une version PowerBuilder pour la génération .......................359
Sélectionner d'une version PowerBuilder pour le rReverse engineering ..........360
Génération pour PowerBuilder ..................................................................361
xii PowerAMC™
13. Table des matières
Objets générés .............................................................................361
Sélection des options de génération pour PowerBuilder ............................362
Reverse engineering de code PowerBuilder ...................................................363
Objets récupérés par le reverse engineering .........................................363
Sélection des options de reverse engineering pour PowerBuilder .................365
Processus de reverse engineering PowerBuilder ......................................367
Chargement d'un modèle de bibliothèque PowerBuilder dans l'espace de travail
...............................................................................................368
Travailler avec VB .NET ..............................................................369
Eléments automatiquement générés ...........................................................369
Objets VB .NET pris en charge ...................................................................369
Héritage et implémentation .............................................................370
Espace de noms ............................................................................370
Project ......................................................................................370
Accessibilité ................................................................................371
Classe ........................................................................................371
Structure ....................................................................................371
Interface ....................................................................................372
Types imbriqués (Nested Type) ..........................................................372
Module ......................................................................................372
Enumération ................................................................................372
Attributs personnalisés ...................................................................373
Shadows .....................................................................................373
Variables ....................................................................................374
Propriété ....................................................................................374
Méthode .....................................................................................376
Constructeur & destructeur ..............................................................377
Délégué (delegate) ........................................................................377
Evénement .................................................................................378
Gestionnaire d'événements (Event Handler) ..........................................378
Méthode externe ..........................................................................379
Génération pour VB .NET .........................................................................379
Définition des variables d'environnement VB .NET ...................................379
Sélection des options de génération pour VB .NET ...................................379
Sélection des tâches de génération pour VB .NET ...................................380
Génération de fichiers VB .NET .........................................................380
Reverse engineering de code VB .NET ..........................................................380
Sélection des options de reverse engineering pour VB .NET ........................381
Prétraitement lors du reverse engineering VB .NET .................................382
Reverse engineering de fichiers VB .NET ..............................................385
Utilisation d'ASP.NET ..............................................................................385
Onglet ASP de la feuille de propriétés du composant ...............................386
Définition des objets fichier pour les ASP.NET ........................................386
Création d'un ASP.NET à l'aide de l'Assistant ..........................................387
Génération de ASP.NET ...................................................................388
Modélisation orientée objet xiii
14. Table des matières
Travailler avec Visual Basic 2005 ..................................................391
Outils Visual Basic 2005 personnalisés .........................................................391
Assemblies Visual Basic 2005 ....................................................................391
Création d'un assembly ...................................................................391
Propriétés d'assembly .....................................................................392
Unités de compilation (Compilation Units) Visual Basic 2005 ..............................393
Création d'une unité de compilation ...................................................393
Ajout de types dans les unités de compilation .......................................394
Création d'une structure de dossiers de génération .................................395
Aperçu du code à générer pour une unité de compilation ..........................395
Espaces de noms (Namespaces) Visual Basic 2005 ............................................395
Classes Visual Basic 2005 .........................................................................396
Propriétés d'une classe Visual Basic 2005 ..............................................396
Types partiels ..............................................................................397
Interfaces Visual Basic 2005 .....................................................................397
Propriétés d'une interface Visual Basic 2005 ..........................................397
Structures (Structs) Visual Basic 2005 ..........................................................397
Création d'une structure .................................................................398
Propriétés d'une structure (struct) .....................................................398
Délégués (Delegates) Visual Basic 2005 ........................................................398
Création d'un délégué ....................................................................399
Propriétés d'un délégué ..................................................................399
Enumérations (Enums) Visual Basic 2005 .......................................................400
Création d'une énumération .............................................................400
Propriétés d'une énumération ...........................................................400
Champs (Fields), événements (Events) et propriétés (Properties) Visual Basic 2005
.......................................................................................................401
Création d'un champ, d'un événement ou d'une propriété : ........................401
Propriétés d'un champ, d'un événement et d'une propriété ........................401
Utilisation des propriétés ................................................................401
Utilisation des événements ..............................................................402
Méthodes (Methods) Visual Basic 2005 .........................................................403
Propriétés d'une méthode ................................................................403
Héritage (Inheritance) et réalisation (Implementation) Visual Basic 2005 ...............404
Attributs personnalisé (Custom Attributes) Visual Basic 2005 ..............................404
Génération de code Visual Basic 2005 ..........................................................405
Onglets Options de la boîte de dialogue de génération pour Visual Basic 2005
...............................................................................................405
Onglet Tâches de la boîte de dialogue de génération pour Visual Basic 2005
...............................................................................................406
Définition de variables d'environnement Visual Basic 2005 .........................406
Reverse engineering de code Visual Basic 2005 ...............................................407
Onglet Options de la boîte de dialogue Reverse engineering de VB.NET 2005
...............................................................................................407
Directives de prétraitement pour le reverse engineering VB.NET 2005 ..........408
xiv PowerAMC™
15. Table des matières
Travailler avec C# .....................................................................411
Eléments automatiquement générés ...........................................................411
Objets C# pris en charge .........................................................................411
Héritage & mise en oeuvre .............................................................. 411
Espace de noms ............................................................................411
Projet ........................................................................................412
Accessibilité ................................................................................412
Class .........................................................................................413
Structure ....................................................................................414
Enumération ................................................................................414
Interface ....................................................................................415
Types imbriqués (Nested Types) .........................................................415
Attributs personnalisés ...................................................................415
Champs ......................................................................................415
Propriété ....................................................................................416
Indexeur ....................................................................................417
Méthode .....................................................................................418
Constructeur & destructeur ..............................................................420
Délégué (delegate) ........................................................................420
Evénement ................................................................................. 420
Méthode d'opérateur ......................................................................421
Méthode d'opérateur de conversion ....................................................421
Balises de documentation ................................................................421
Génération pour C# ...............................................................................422
Définition des variables d'environnement C# .........................................422
Sélection des options de génération pour C# .........................................422
Sélection des tâches de génération pour C# ..........................................423
Génération de fichiers C# ................................................................423
Reverse engineering de code C# ................................................................424
Sélection des options de reverse engineering pour C# ..............................424
Prétraitement lors du reverse engineering C# ........................................425
Reverse engineering de fichiers C# .....................................................428
Travailler avec C# 2.0 ................................................................429
Outils C# 2.0 personnalisés ...................................................................... 429
Assemblies C# 2.0 ................................................................................. 429
Création d'un assembly ...................................................................429
Propriétés d'assembly .....................................................................430
Unités de compilation C# 2.0 ....................................................................431
Création d'une unité de compilation ...................................................431
Ajout de types dans les unités de compilation .......................................432
Création d'une structure de dossiers de génération .................................433
Aperçu du code à générer pour une unité de compilation ..........................433
Espaces de nom C# 2.0 ...........................................................................433
Classes C# 2.0 ......................................................................................434
Propriétés d'une classe C# ............................................................... 435
Modélisation orientée objet xv
16. Table des matières
Types partiels ..............................................................................435
Interfaces C# 2.0 ..................................................................................435
Propriétés d'une interface C# ...........................................................436
Structures C# 2.0 ..................................................................................436
Création d'une structure .................................................................436
Propriétés d'une structure (struct) .....................................................436
Délégués (delegates) C# 2.0 .....................................................................437
Création d'un délégué ....................................................................437
Propriétés d'un délégué ..................................................................437
Enumérations C# 2.0 ..............................................................................437
Création d'une énumération .............................................................438
Propriétés d'une énumération ...........................................................438
Champs C# 2.0 .....................................................................................438
Propriétés d'un champ ....................................................................438
Méthodes C# 2.0 ...................................................................................439
Propriétés d'une méthode ................................................................439
Redéfinition des méthodes en utilisant New ..........................................440
Constructeurs and destructeurs .........................................................440
Réalisation de méthode ..................................................................440
Méthode d'opérateur ......................................................................440
Méthode d'opérateur de conversion ....................................................440
Evénements, indexeurs et propriétés C# 2.0 ..................................................441
Création d'un événement, d'un indexeur ou d'une propriété .......................443
Propriétés d'événement, d'indexeur et de propriété ................................443
Héritage et réalisation C# 2.0 ...................................................................443
Attributs personnalisés C# 2.0 ...................................................................443
Génération de code C# 2.0 .......................................................................444
Onglet Options de la boîte de dialogue de génération pour C# ....................444
Onglet Tâches C# de la boîte de dialogue de génération pour C# .................445
Définition de variables d'environnement C# ..........................................445
Reverse engineering de code C# 2.0 ............................................................446
Onglet Options de la boîte de dialogue Reverse engineering de C# ...............446
Directives de prétraitement pour le reverse engineering C# .......................447
Travailler avec XML ...................................................................451
Modéliser pour XML ................................................................................451
Génération pour XML ..............................................................................454
Reverse engineering XML .........................................................................454
Travailler avec C++ ...................................................................457
Modélisation pour C++ ............................................................................457
Génération pour C++ ..............................................................................458
Modélisation des correspondances O/R ...........................................459
Ingénierie standard ................................................................................459
Transformation de base ..................................................................460
Transformation d'association ............................................................465
Transformation d'héritage ................................................................470
xvi PowerAMC™
17. Table des matières
Rétro-ingénierie ...................................................................................472
Transformation de base ..................................................................473
Transformation de clé de référence ....................................................473
Utilisation intermédiaire .........................................................................474
Définition d'une correspondance de base ..............................................474
Définition de la correspondances d'une association .................................481
Définition de la correspondance d'un héritage .......................................485
Génération d'objet persistants pour Java et de pages JSF ...................491
Génération d'objets persistants Hibernate ....................................................491
Ajout de la prise en charge de Hibernate .............................................491
Définition des correspondances O/R de base Hibernate ............................494
Correspondances d'association Hibernate .............................................500
Définition des correspondances d'héritage Hibernate ...............................504
Génération de code pour Hibernate ....................................................504
Utilisation du code Hibernate généré ..................................................507
Génération des objets persistants EJB 3 .......................................................510
Génération d'entités pour EJB 3.0 ......................................................510
Ajout de la persistance EJB 3 ...........................................................510
Définition de la correspondance O/R de base EJB 3 .................................511
Définition des correspondances d'association EJB 3 .................................514
Définition des correspondances d'héritage EJB 3 .....................................516
Définition des options par défaut pour la persistance EJB 3 .......................517
Définition de la configuration de persistance EJB 3 .................................517
Vérification du modèle ...................................................................519
Génération de code pour la persistance EJB 3 ........................................519
Génération de JavaServer Faces (JSF) pour Hibernate ......................................526
Ajout de la prise en charge JSF .........................................................526
Définition des options globales ..........................................................526
Définition d'options relatives aux attributs ...........................................528
Définition de pages maître-détails .....................................................531
Génération de diagrammes de mise en page .........................................532
Installation des fichiers jar d'exécution JSF ...........................................536
Configuration pour la génération JSF ..................................................537
Génération de pages JSF .................................................................537
Test des pages JSF .........................................................................538
Génération d'objets persistants JDO ..............................................539
Gestion de la persistance des JDO ..............................................................539
Définition des objets persistants pour JDO ............................................539
Utilisation des objets persistants JDO .................................................540
Création d'objets persistants JDO ...............................................................540
Définition de classes Java ................................................................540
Définition de la correspondance O/R ..................................................540
Définition des classes et de structures de base de données ........................540
Définition de correspondances O/R ....................................................541
Personnalisation des correspondances O/R ...........................................542
Modélisation orientée objet xvii
18. Table des matières
Ajout de la prise en charge de JDO .....................................................542
Définition de descripteurs de persistance JDO standard ............................543
Définition du descripteur de persistance JDO pour Xcalia LiDO ...................545
Génération de code Java et de descripteur de persistance JDO ...........................546
Génération de code Java et de descripteur de persistance JDO ...................547
Compilation du code Java et exécution de JDO Enhancer ..................................549
Utilisation de JBuilder ....................................................................549
Utilisation de Eclipse .....................................................................550
Utilisation de Ant ..........................................................................551
Utilisation de PowerAMC .................................................................551
Personnalisation de la prise en charge de JDO .......................................552
Génération d'objets persistants .NET 2.0 et d'applications Windows ......555
Génération d'objets ADO.NET et ADO.NET CF persistants ..................................556
Ajout de la prise en charge de ADO.NET ou ADO.NET CF ...........................556
Correspondances de classes .............................................................558
Définition de correspondances d'association ..........................................561
Définition des correspondances d'héritage ............................................562
Génération de code pour ADO.NET ou ADO.NET CF ..................................563
Génération d'objets persistants NHibernate ...................................................563
Ajout de la prise en charge de NHibernate ............................................564
Définition des correspondances de classe .............................................565
Définition de correspondances d'association ..........................................572
Définition des correspondances d'héritage ............................................575
Génération de code pour NHibernate ..................................................575
Configuration des chaînes de connexion .......................................................577
Configuration d'une chaîne de connexion à partir de ADO.NET ou ADO.NET CF
...............................................................................................577
Configuration d'une chaîne de connexion à partir de 'onget NHibernate .........577
Paramètres de chaîne de connexion OLEDB ...........................................578
Paramètres de chaîne de connexion ODBC ............................................578
Paramètres de chaîne de connexion Microsoft SQL Server et Microsoft SQL Server
Mobile Edition ..........................................................................578
Paramètres de chaîne de connexion Oracle ...........................................579
Génération des tests unitaires ...................................................................579
Ajout de la prise en charge de UnitTest ...............................................579
Génération de code pour UnitTest ......................................................580
Différences entre NUnit et Visual Studio Team Test (VSTS) .........................581
Exécution des tests unitaires NUnit ....................................................581
Exécution de test unitaires dans Visual Studio Test System ........................582
Génération d'applications Windows ou Smart Device ........................................583
Ajout de la prise en charge des applications Windows ou Smart Device .........583
Spécification d'une bibliothèque d'images .............................................584
Contrôle de la DataGridView ............................................................584
Définition des options d'affichage relatives aux attributs ..........................584
Définition des règles de validation d'attribut et des valeurs par défaut .........585
xviii PowerAMC™
19. Table des matières
Génération de code pour une application Windows .................................585
Génération de code pour une application Smart Device ............................586
Modélisation orientée objet xix
21. Notions de base relatives à la modélisation orientée objet
Notions de base relatives à la modélisation orientée objet
Un modèle orienté objet (MOO) vous aide à analyser un système d'information par l'intermédiaire de cas d'utilisations,
d'analyses structurelles et comportementales, ainsi qu'en termes de déploiement, ce en utilisant le langage UML (Unified
Modeling Language (UML) . Vous pouvez modéliser, procéder au reverse engineering et générer pour Java, .NET et
d'autres langages.
Le langage UML (Unified Modeling Language) est le langage standard pour la modélisation orientée objet. Il a été créé
à l'origine par Grady Booch, James Rumbaugh et Ivar Jacobson, et est maintenant administré par l'OMG (Object
Management Group).
PowerAMC™ prend en charge les diagrammes UML suivants :
•
Diagramme de cas d'utilisation ( )
• Diagrammes structurels :
•
Diagramme de classes ( )
•
Diagramme de structures composites ( )
•
Diagramme d'objets ( )
•
Diagramme de packages ( )
• Diagrammes dynamiques :
•
Diagramme de communication ( )
•
Diagramme de séquence ( )
•
Diagramme d'états-transitions ( )
•
Diagramme d'activités ( )
•
Diagramme d'interactions ( )
• Diagrammes de mise en oeuvre :
•
Diagramme de composants ( )
•
Diagramme de déploiement ( )
Pour plus d'informations sur ces diagrammes, reportez-vous au chapitre :
• Construction de diagrammes structurels à la page 17
• Construction de diagrammes d'utilisation à la page 7
• Construction de diagrammes dynamiques à la page 99
• Construction de diagrammes de mise en oeuvre à la page 165
Dans l'illustration ci-dessous, vous pouvez voir de quelle façon les différents diagrammes UML peuvent interagir dans
votre modèle :
Modélisation orientée objet 1
22. Notions de base relatives à la modélisation orientée objet
PowerAMC
PowerAMC Modèle Orienté Objet est un outil de conception très puissant pour la modélisation orientée objet. Il met à
votre disposition tous les avantages liés à la modélisation graphique.
Ce logiciel permet d'effectuer les opérations suivantes :
• Construire un Modèle Orienté Objet (MOO) en utilisant les diagrammes UML standard
• Générer des fichiers Java, C#, VB.NET et PowerBuilder, et procéder à leur reverse engineering
• Générer du code pour C++, Visual Basic, IDL-CORBA, etc.
• Générer des EJB, servlets, et composants JSP
• Générer des Modèles Conceptuels de Données (MCD), des Modèles Physiques de Données (MPD), des Modèles
XML (MSX) et d'autres Modèle Orienté Objet (MOO) à partir d'un MOO
• Générer un MOO à partir d'un MCD, un MPD, un modèle XML, ou d'un autre MOO
• Importer un modèle Rose
• Importer/exporter des fichiers XMI
• Personnaliser le MOO pour l'adapter à des considérations physiques et relatives aux performances
• Personnaliser et imprimer des rapports
2 PowerAMC™
23. Notions de base relatives à la modélisation orientée objet
Bibliographie suggérée
• James Rumbaugh, Ivar Jacobson, Grady Booch – The Unified Modeling Language Reference Manual – Addison
Wesley, 1999
• Grady Booch, James Rumbaugh, Ivar Jacobson – The Unified Modeling Language User Guide – Addison Wesley,
1999
• Ivar Jacobson, Grady Booch, James Rumbaugh – The Unified Software Development Process – Addison Wesley,
1999
• Doug Rosenberg, Kendall Scott – Use Case Driven Object Modeling With UML A Practical Approach – Addison
Wesley, 1999
• Michael Blaha, William Premerlani – Object-Oriented Modeling and Design for Database Applications – Prentice
Hall, 1998
• Geri Schneider, Jason P. Winters, Ivar Jacobson – Applying Use Cases: A Practical Guide – Addison Wesley, 1998
• Pierre-Alain Muller – Instant UML – Wrox Press Inc, 1997
• Bertrand Meyer – Object-Oriented Software Construction – Prentice Hall, 2nd Edition, 1997
• Martin Fowler, Kendall Scott – UML Distilled Applying The Standard Object Modeling Language – Addison Wesley,
1997
Création d'un MOO
Vous créez un nouveau modèle orienté objet en sélectionnant Fichier > Nouveau modèle .
Remarque : Outre le fait que vous pouvez créer de toutes pièces un MOO en utilisant la procédure décrite ci-après, vous
pouvez également procéder au reverse engineering de code orienté objet existant dans nouveau modèle (voir Reverse
engineering de fichiers orientés objet dans un MOO à la page 274).
La boîte de dialogue Nouveau modèle est largement configurable, et votre administrateur peut avoir masqué des options
qui ne sont pas pertinentes pour votre travail ou avoir fourni des templates ou des modèles prédéfinis afin de vous guider
dans la création d'un modèle. Lorsque vous affichez la boîte de dialogue, l'un ou plusieurs des boutons suivants sont
disponibles du côté gauche :
• Catégories - fournit un jeu de modèles et de diagrammes prédéfinis triés au sein d'une arborescence de catégories
configurable.
• Types de modèle - fournit la liste classique de types de modèle et de diagramme PowerAMC.
• Fichiers de template - fournit un jeu de templates de modèle triée par type de modèle.
Modélisation orientée objet 3