Sybase 7.5 manuel d'utilisation

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288

Aller à la page of

Un bon manuel d’utilisation

Les règles imposent au revendeur l'obligation de fournir à l'acheteur, avec des marchandises, le manuel d’utilisation Sybase 7.5. Le manque du manuel d’utilisation ou les informations incorrectes fournies au consommateur sont à la base d'une plainte pour non-conformité du dispositif avec le contrat. Conformément à la loi, l’inclusion du manuel d’utilisation sous une forme autre que le papier est autorisée, ce qui est souvent utilisé récemment, en incluant la forme graphique ou électronique du manuel Sybase 7.5 ou les vidéos d'instruction pour les utilisateurs. La condition est son caractère lisible et compréhensible.

Qu'est ce que le manuel d’utilisation?

Le mot vient du latin "Instructio", à savoir organiser. Ainsi, le manuel d’utilisation Sybase 7.5 décrit les étapes de la procédure. Le but du manuel d’utilisation est d’instruire, de faciliter le démarrage, l'utilisation de l'équipement ou l'exécution des actions spécifiques. Le manuel d’utilisation est une collection d'informations sur l'objet/service, une indice.

Malheureusement, peu d'utilisateurs prennent le temps de lire le manuel d’utilisation, et un bon manuel permet non seulement d’apprendre à connaître un certain nombre de fonctionnalités supplémentaires du dispositif acheté, mais aussi éviter la majorité des défaillances.

Donc, ce qui devrait contenir le manuel parfait?

Tout d'abord, le manuel d’utilisation Sybase 7.5 devrait contenir:
- informations sur les caractéristiques techniques du dispositif Sybase 7.5
- nom du fabricant et année de fabrication Sybase 7.5
- instructions d'utilisation, de réglage et d’entretien de l'équipement Sybase 7.5
- signes de sécurité et attestations confirmant la conformité avec les normes pertinentes

Pourquoi nous ne lisons pas les manuels d’utilisation?

Habituellement, cela est dû au manque de temps et de certitude quant à la fonctionnalité spécifique de l'équipement acheté. Malheureusement, la connexion et le démarrage Sybase 7.5 ne suffisent pas. Le manuel d’utilisation contient un certain nombre de lignes directrices concernant les fonctionnalités spécifiques, la sécurité, les méthodes d'entretien (même les moyens qui doivent être utilisés), les défauts possibles Sybase 7.5 et les moyens de résoudre des problèmes communs lors de l'utilisation. Enfin, le manuel contient les coordonnées du service Sybase en l'absence de l'efficacité des solutions proposées. Actuellement, les manuels d’utilisation sous la forme d'animations intéressantes et de vidéos pédagogiques qui sont meilleurs que la brochure, sont très populaires. Ce type de manuel permet à l'utilisateur de voir toute la vidéo d'instruction sans sauter les spécifications et les descriptions techniques compliquées Sybase 7.5, comme c’est le cas pour la version papier.

Pourquoi lire le manuel d’utilisation?

Tout d'abord, il contient la réponse sur la structure, les possibilités du dispositif Sybase 7.5, l'utilisation de divers accessoires et une gamme d'informations pour profiter pleinement de toutes les fonctionnalités et commodités.

Après un achat réussi de l’équipement/dispositif, prenez un moment pour vous familiariser avec toutes les parties du manuel d'utilisation Sybase 7.5. À l'heure actuelle, ils sont soigneusement préparés et traduits pour qu'ils soient non seulement compréhensibles pour les utilisateurs, mais pour qu’ils remplissent leur fonction de base de l'information et d’aide.

Table des matières du manuel d’utilisation

  • Page 1

    O BJECT O RIENTED M ODEL User’ s Guide POWERDESI GNER 7.5[...]

  • Page 2

    Copyri ght ( c) 1988–2000 Sybase, Inc. Al l ri gh ts reserved. Inf orm ati on in thi s m anu al m ay chan ge wi th out n oti ce and does n ot represen t a com m i tm ent on the par t of S ybase, In c. and i ts sub sid iarie s . The sof twar e described i n t hi s m anu al i s prov ided by Sy base, Inc. u nder a Sybase L i cense ag reem en t. The [...]

  • Page 3

    iii Contents A bout T his Book ............................................................................................ix 1 Obje ct-Oriente d Mode l Basic s ..........................................1 Functional overview .................................................................. 2 UML and object-or iented modeling ......................[...]

  • Page 4

    iv Preview the code of an interf ace ...................................... 45 Displaying text in interface symbols ................................. 46 Defining attributes ................................................................... 48 Attribute properties ........................................................... 49 Analy zing attribute p[...]

  • Page 5

    v Creating a dependency .................................................. 109 Modifying dependency properties ................................... 111 Displaying text in dependency sy mbols .......................... 112 Defining realizations .............................................................. 114 Realization properties .................[...]

  • Page 6

    vi Reverse engineering PowerBuilder options ................... 166 Loading a PowerBuilder library model in the workspac e ................................................................ 168 Reverse engineering obj ects fr om a PowerBuilder application ................................................ 169 Reverse engineering obj ects fr om SRU f il[...]

  • Page 7

    vii Trans lating OOM data types for a PDM ................................ 217 Trans lating Java data ty pes for a PDM .......................... 217 Generating a PDM fr om an O OM ......................................... 218 Generating and updating a PDM .................................... 218 Defining PDM generation options ....................[...]

  • Page 8

    viii[...]

  • Page 9

    ix About This Book This book des cribes th e Pow erDesign er Object-Ori ented Model en vironm en t. It shows y ou how to do the follow ing: ♦ Build an Object-Oriented Model (OOM) ♦ Use classes , packages, an d other m odeling objects ♦ Verify th e model and im port a Ros e model ♦ Generate a Conceptual Data Model and a Physical Data Model f[...]

  • Page 10

    About This Book x To help you do you r w ork m ore easily , thi s book is divided in to chapters that focus on particular goals. If y ou want to Use these parts of the book Lea rn about the e nvironm ent Object -Oriente d Model Bas ics Build an object-o riented model Build i ng a Object-Orien ted Mod el Verify ing the model a nd importing a Rose mo[...]

  • Page 11

    1 CHAPTER 1 Object-Oriented Model Basics This chapter presents the PowerDes igner Object-Orien ted Model. It provides you w ith an introduction to the basic notions of object-oriented modeling and the Uni fi ed M o del i ng Language ( UML). Topic Page Functional ov ervie w 2 UML a nd object- oriented m odeling 3 What is an OOM ? 4 Objects in an OOM[...]

  • Page 12

    Functional over view 2 Functional ov erv iew Pow erDesig ner Object-Ori ented Model i s a pow erful desig n tool f or obj ect- oriented m odeling. It gives y ou all the advantag es of a graphical object design implem entation. With this product, you can: ♦ Build an Object-Oriented Model (OOM) ♦ Gener ate J a va class so urce fil es (.j ava) ♦[...]

  • Page 13

    Chapter 1 Object- Oriented Model Basics 3 UML and object-oriented modeling UML ( T he U ni fied M ode ling Language ) is a mod eling l a nguage ai med at defin ing s tandards f or obj ect-orien ted modelin g. UML has becom e a standa rdiz ed la ngua ge lar ge ly through the wor k o f the OM G (Obj ect Managem ent Group), a g roup composed of indivi[...]

  • Page 14

    What is an OOM? 4 What is an OOM? An OOM con tains a set of packages, classes, interf aces, and their relationships . T hese objects together f o rm a class structu re that is the logical design view of all (or p art of) a so ftware system . An OOM is esse ntia lly a static conceptu al model of a softw are system . You use Pow erDesigner Object-Ori[...]

  • Page 15

    Chapter 1 Object- Oriented Model Basics 5 Objects in an OOM An OOM represents the interaction of th e followin g objects: Object Selection Tool Description Package Genera l purpose s ub-set use d to organize obje cts into groups Class Set of ob jects that sh are the same attribu tes, operations , me thods, and re lationships Interface Collection of[...]

  • Page 16

    Creating a new OOM 6 Creating a new OOM Creating an OOM requires that y o u do the follow ing: ♦ Open a new file ♦ Give the OOM a n ame an d a code After y ou create an OOM, you can enrich its d efinition by entering properties and associating obj ects. v To create an OOM: 1 Select File ➤ New . or Click the New b utton in the toolbar . The Ne[...]

  • Page 17

    Chapter 1 Object- Oriented Model Basics 7 4 Click OK. If y o u were w orking on an ex isting work space, P ow erDesigner open s an new OOM. If there w as no w orkspace open, PowerDesig ner opens a n ew w orkspace and a new OOM. 5 Select Model ➤ Model Properti es. or Right -click any empty space in the diagram an d select Model P r operties from t[...]

  • Page 18

    Opening an existing O OM 8 Opening an existing OOM An OOM h as the file extens ion .OOM. v To open an existing OOM : 1 Select File ➤ Open. or Click the Open tool. A st andard Win dows file selecti on dialog box appears. 2 Select a file w ith the .OOM extension. 3 Click OK. The model wi ndow displays the sel ected m odel.[...]

  • Page 19

    Chapter 1 Object- Oriented Model Basics 9 Defining OOM model options You can set m odel optio ns and nam ing conventions that apply to all o bjects in the m odel. You can also set nam ing conven tions for each type of object in you r model. You defi ne OOM model options from the model opt ions di alog box. You can set options that apply to the foll[...]

  • Page 20

    Defining OOM model options 10 Your choice of wh ether or not to enforce dom ain and attribute non- divergence has the follow ing results: Non-divergence Result Not enforced Attribu t es that are di vergen t from the do main definitio n can remain attached to the d omain Enforced Attribut es that are di vergen t from the domain (for cert ai n attrib[...]

  • Page 21

    Chapter 1 Object- Oriented Model Basics 11 Defining OOM properties The Model p r operty sheet displays th e d efinition of th e current model. From this property sheet you can modify the model definition. A OOM has the f ollowing m od el prope r ties: Property Description Length Nam e Nam e for the m odel 254 Code Code f or the m odel. This code is[...]

  • Page 22

    Defining OOM properties 12[...]

  • Page 23

    13 CHAPTER 2 Building an Object-Oriented Model This chapter describ es how to build an Object-Oriented Model ( OOM) . I t explains th e role of each object in an OOM and how to create and modif y objects. Topic Page Defining p ackages 14 Def ining classe s 17 Defining in t erfaces 36 Def ining attribute s 48 Defining identifiers 62 Def ining operat[...]

  • Page 24

    Defining packages 14 Defining packages A packag e is a general pu rpose m echanism for organizing elemen ts into grou ps. When you are w orking with large models, y ou can split any model into sm aller subdivi sions in order to avoid m anipulati ng th e entire set of data of the m odel. P ackages can be useful to ass ign portion s of a m odel, repr[...]

  • Page 25

    Chapter 2 Building an Object- Oriented Model 15 Display ing text in package symbols You can def ine the f ollowin g display preferen ces for a packag e: Preference Description Sho w stereo t ypes When selected , disp l ays the stereotype of the p ackage Show c onstraints When s elect ed, display s the constrai nts (ty pes of busines s rule) th at a[...]

  • Page 26

    Defining packages 16 The package display preferences page appears. 4 Modify the package display pref erences. 5 Click OK.[...]

  • Page 27

    Chapter 2 Building an Object- Oriented Model 17 Defining classes A class is a description of a set of objects that h ave a sim ilar structure and behavior, and share the sam e attributes, operatio ns, relationships, and sem antics. A clas s usually implem ents one or more interf aces. Classes are the m ain buildin g blocks of an OOM. Class es, and [...]

  • Page 28

    Defining classes 18 Class properties A class has the follow ing general pr operties: Property Description Maximum length Name Name of the class 254 Code Reference name f o r the class 254 Comment Descriptive comm ent for the cl ass — Stereoty pe Subclass ific ation of a class deriv ed from an exis ting one. Exte nds the sem antics of a cla ss w i[...]

  • Page 29

    Chapter 2 Building an Object- Oriented Model 19 A nalyzing class properties The follow ing class properties each hav e several defau lt values from wh ich you can select from: ♦ Stereotype ♦ Ty pe ♦ Visibility ♦ Cardinality Stereotype Stereotypes are classes that are deriv ed from existing classes but th at are specific to a particul ar pro[...]

  • Page 30

    Defining classes 20 You can declare a class to be one of th e follow ing stereoty pes: Stereoty pe Description actor Coherent set of roles that users of use cases pl ay when interacting with the use cases enum eration List of named v alues us ed as the range of a particula r attribute ty pe exce ption Exception cla ss. Used mostly in rela tion to e[...]

  • Page 31

    Chapter 2 Building an Object- Oriented Model 21 Visibility The visibility of a class refers to the w ay in w hich it can be seen by other objects. A class th at is visible to an other object may in fluen ce the structu r e or behavi or of the object, or s imilarly , its ow n properties m ay be affect ed by t he other object. Property Visible Privat[...]

  • Page 32

    Defining classes 22 Creating a class from the Browser v To create a class from the Brow ser: 1 Right-click the Classes category in th e Browser. 2 Select New from the contex tual m enu. The property sh eet of the class appears. 3 Type a class name and a class code. 4 Click OK. A new class is created in the C lasses category . Creating a class from [...]

  • Page 33

    Chapter 2 Building an Object- Oriented Model 23 Creating a class from a diagram v To create a class in a diagram: 1 Click the Class tool in the palette toolbar. 2 Click any where in the diag ram. The following sy mbol appears at the click positio n: At creation, a clas s is nam ed Class n , w here n is a numbe r assigned in the order of th e creati[...]

  • Page 34

    Defining classes 24 A ttaching an inner class to a class You attach an in ner class to a class (or interf ace) from the Inn er Classes pag e of the class (or interface) property sh eet. v To declare an inner class w ithin a class: 1 Double-click a class in the m odel. The class property sheet opens to the General page. Opening property sheets at la[...]

  • Page 35

    Chapter 2 Building an Object- Oriented Model 25 The classes appear in th e list of inn er classes for th e current class , and the definition of the classes are added to the current class definition. 6 Click the Code Preview tab to visualize the in ner class definitions w ithin the current class: 7 Click OK.[...]

  • Page 36

    Defining classes 26 Detaching an inner class from a cl ass Once y ou have attach ed an inner clas s to a class, to rem ove its declaration from the class y ou must u se detach it. v To detach an inner class from a class: 1 Double-click a class in the m odel. The class property sheet opens to the General page. Opening property sheets at last accesse[...]

  • Page 37

    Chapter 2 Building an Object- Oriented Model 27 Classifiers A classi fier, in UML termin ology, is a mech anism that has structural (attributes) an d behavioral (operation s) features . A class is the m ost importan t classif ier, but all objects that can h ave instan ces, such as interfaces or associations, are clas sifiers . Modifying class prope[...]

  • Page 38

    Defining classes 28 The class property sheet appears. 2 Type or select class properties . or Click on a page tab. Type or select class properti es as requi red. 3 Click OK. Modifying class properti es from the l i st of cl asses The list of classes in cludes all classes attached to the curren t model or package. You can modify the class properties [...]

  • Page 39

    Chapter 2 Building an Object- Oriented Model 29 An arrow appears at the begin ning of the line. 3 Modify any of the pro p erties of the class directly in th e list. 4 Click OK. A dding objects to a class You can add an object to a class , that already ex ists in the m odel, but w hich belo ngs to ano ther cl a ss. You can add th e follow ing object[...]

  • Page 40

    Defining classes 30 A dding an attribute to a class An attribu te is a named property of an object that defines th e characteristics of th e object. You can add attributes that already exist in th e model and w hich belong to other objects. v To add an attribute to a class: 1 Double-click a class in the m odel. The class property sheet appears. 2 C[...]

  • Page 41

    Chapter 2 Building an Object- Oriented Model 31 The Selection w indow appears. It contains a list of all th e attributes that exist in the m od el, with the exception of those th at already belong to the class. 4 Select the attributes that y ou w ant to add to the class . or Use the Select All tool to add all the attributes in the list to the class[...]

  • Page 42

    Defining classes 32 The Operations page appears . 3 Click the A d d Operations tool. The Selection window app ear s. It contains a list of all th e operations that exist in the m od el, with the exception of those th at already belong to the class. 4 Select the operations that y ou w ant to add to the class . 5 Click OK.[...]

  • Page 43

    Chapter 2 Building an Object- Oriented Model 33 The operations are added to the class and appear in the list of operations for the class. 6 Click OK. Preview the code of a class or an interface You can preview the code of a class or an interface in the Code Preview page of the Property sheet of a clas s or an interf ace. You cannot edit the code in[...]

  • Page 44

    Defining classes 34 Display ing text in class symbols You can def ine the f ollowin g display preferen ces for a class: Preference Description Show attribute s Display s all the attribute s of the class, or lim its the number display ed to a m aximum that you spec ify in the Lim it box Show ope rations Display s all the opera tions of the class, or[...]

  • Page 45

    Chapter 2 Building an Object- Oriented Model 35 The class display preferences page appears. 4 Modify the class display pref erences. 5 Click OK.[...]

  • Page 46

    Defining interfaces 36 Defining interfaces An in terface is a ty pe of class that is sim ilar to a class but w hich is u sed to implem ent the specification of an abstraction of a class. A n interface is a collection of operations used to specify the externally visible behavior of a class. It has no implem entation of its own. A class th at implem [...]

  • Page 47

    Chapter 2 Building an Object- Oriented Model 37 An interf ace d e finition also includes the followi ng properties, which are defin ed on associ ated property sheets : Property Description Attribut e Defines the ch aract eristics of an in terface Operatio n s Carries out a service t h at effects behavior Business rules A rule that your business fol[...]

  • Page 48

    Defining interfaces 38 The property sh eet of the interface appears. 3 Type an interface nam e and an interface code. 4 Click OK. A new interface is created in th e Interfaces categ ory. Creating an interface from the list of interfaces v To create an interface by inserting it in the list: 1 Select Model ➤ Interf aces. The list of interf aces app[...]

  • Page 49

    Chapter 2 Building an Object- Oriented Model 39 The following sy mbol appears at the click positio n: At creation, an interface is nam ed Intf n , w here n is a number a ssigned in the order of the creation of objects. 3 Click the Pointer tool in the palette toolbar. 4 Double-click the new interface sy mbol in the diagram . The interface property s[...]

  • Page 50

    Defining interfaces 40 The interface property sheet opens to the General pag e. Opening property sheets at last accessed page Property sheets open to th e General pag e by def ault. How ever, you can choose to open property sheets at th e last page accessed by selecting Tools ➤ Options ➤ Dialog, and selecting the option Keep Last T ab in th e P[...]

  • Page 51

    Chapter 2 Building an Object- Oriented Model 41 The list of interf aces appears. 2 Click the in terface that y ou want to m odify. An arrow appears at the begin ning of the line. 3 Modify any of the properties of the interf ace directly in the list. 4 Click OK. A dding inner classes to an interface An inn er class is a class definition that is defi[...]

  • Page 52

    Defining interfaces 42 You can add the f ollowing objects to an interface: Object Description Attribut e Named propert y of an interface that defines t h e characteristi cs o f an int erface Operatio n Implementation of a service that can be request ed from any object of the int erface in order to affect behavior Business rule Written state ment sp[...]

  • Page 53

    Chapter 2 Building an Object- Oriented Model 43 The Attributes page appears. 3 Click the A dd Attributes tool. The Selection w indow appears. It contains a list of all th e attributes that exist in the m od el, with the exception of those th at already belong to the interface. 4 Select the attributes that y ou w ant to add to the interf ace. 5 Clic[...]

  • Page 54

    Defining interfaces 44 6 Click OK. A dding an operation to an inter f ace An operation is the im plementation of a service that can be requested from any object of the class in order to affect behavior. You can add operatio ns that already exist in the m ode l and which belong to other objects. v To add an operation to an interface: 1 Double-click [...]

  • Page 55

    Chapter 2 Building an Object- Oriented Model 45 The Selection window app ear s. It contains a list of all th e operations that exist in the m od el, with the exception of those th at already belong to the interface. 4 Select the operations that y ou w ant to add to the interf ace. 5 Click OK. The operations are added to the in terface and appear in[...]

  • Page 56

    Defining interfaces 46 The Code Preview page appears. 3 Click OK. Display ing text in interface symbols You can def ine the f ollowin g display preferences for an interf ace: Preference Description Show attr i b utes Displays all the attrib utes of th e i nterface, or li mits th e numbe r display ed to a ma ximum that y ou specify in the Lim it box[...]

  • Page 57

    Chapter 2 Building an Object- Oriented Model 47 v To modify the interface display preferences: 1 Select Tools ➤ Display Preferen ces. or Righ t-click th e diagram backgroun d and select Display P references f rom the contextu al menu. The Display Preferen ces dialog box appears . 2 Expand the Object View node in the Categ ory list. 3 Select Inter[...]

  • Page 58

    Defining attributes 48 Defining attributes Attributes define the characteristics of a class. A class m ay have non e or several attributes. An attribute is a nam ed property of a class that describes the range of values that inst ances of th e property may hold. Each object in a class has the sam e attributes, but the values of the attributes m ay [...]

  • Page 59

    Chapter 2 Building an Object- Oriented Model 49 A ttribute properties An attribute has the f ollowing properties: Property Description Maximum length Parent Object to which the attribute be longs to 254 Nam e Nam e of the attribute 254 Code Refere nce name for the attribute 254 Comm ent Descriptive comm ent for the attribute — Stereoty pe Subcla [...]

  • Page 60

    Defining attributes 50 An attribute definition also includes business rules, w hich are defined on associated property sheets. A nalyzing attribute properties The follow ing attribut e properties each hav e several defau lt values from w hich y o u can select from : ♦ Data Type ♦ Visibility ♦ Multiplicity Data Ty pe You can select on e of the[...]

  • Page 61

    Chapter 2 Building an Object- Oriented Model 51 M ultiplicity The cardinality of each of an attribute is called the m ultiplicity. Cardinality Number of instances in relation 0..0 None 0..1 None or one 0..* None to infinity 1..1 One to one 1..* One to infinity * Infinity You can chang e the default form at o f cardinalities from the registry: HKEY_[...]

  • Page 62

    Defining attributes 52 The property sh eet of the attribute appears. 3 Type an attribute nam e and an attribute code. 4 Click OK. A new attribute is created in the A ttributes category. Creating an att r i bute from the list of at t r i but es v To create an attribute by inserting it in the list: 1 Select Model ➤ Attributes. The list of attribute[...]

  • Page 63

    Chapter 2 Building an Object- Oriented Model 53 3 Type an attribute nam e and an attribute code. 4 Click the Stereoty pe column. 5 Select a s tereoty pe from the Stereoty pe dropdown lis tbox. or Type a stereoty pe in the Stereotype colum n. 6 Click the Data Type colum n. 7 Select a data type f rom the Dat a Type dropdow n listbox . or Type a data [...]

  • Page 64

    Defining attributes 54 The Attributes page appears. I t lists attr ib utes defined for the class. 3 Click a blank line in the list. or Click the Add a Row tool. An arrow appears at the begin ning of the line. 4 Type an attribute nam e and an attribute code. 5 Click OK. The attribute is created for the clas s and appears in the list of attribu tes f[...]

  • Page 65

    Chapter 2 Building an Object- Oriented Model 55 Modifyi ng at t r i but e pr oper t i es f r om i t s pr oper t y sheet The attribute pro p erty sheet display s the definition of the attribute, wh ich you can m odify. v To modify attribute properties from its property sheet: 1 Double-click the attribute in th e model. The attribute property sheet a[...]

  • Page 66

    Defining attributes 56 The general prop er ties of the attribute, in addition to those on the general page, appear. 4 Type or select attribut e properties as required. 5 Click OK. Modifyi ng at t r i but e pr oper t i es f r om t he l i st of attributes The list of attributes includes all attributes attached to the current model. You can m odify th[...]

  • Page 67

    Chapter 2 Building an Object- Oriented Model 57 The list of attributes appear s. 2 Click the attribute that y ou want to m o dify . An arrow appears at the begin ning of the line. 3 Modify any of the prop erties of the attribute directly in th e list. 4 Click OK. A ttaching an attribute to a domain If y o u attach an attribute to a domain, the dom [...]

  • Page 68

    Defining attributes 58 The attribute pro p erty sh eet opens to the General page. Opening property sheets at last accessed page Property sheets open to th e General pag e by def ault. How ever, you can choose to open property sheets at th e last page accessed by selecting Tools ➤ Options ➤ Dialog, and selecting the option Keep Last T ab in th e[...]

  • Page 69

    Chapter 2 Building an Object- Oriented Model 59 Copy ing an attribute to another class You can copy an attribute from one class and add it to anoth er class. If th e class already contains an attribute w ith the sam e name or code as the copied attribute, the copied attribute is renamed. For example the attribute PERIP HLD is renam ed PERI PHLD2 wh[...]

  • Page 70

    Defining attributes 60 Display ing text in attribute symbols An attribu te has the f o llowing dis play preferen ces: Preference Description Show v isibility Display s the attribute as an icon, w ith marker s, or using key words Show data type When sele cted, display s the dataty pe of the attribute in the attribute sy mbol Show initial v alue When[...]

  • Page 71

    Chapter 2 Building an Object- Oriented Model 61 3 Select Attribut e. 4 Modify the attribute display pref erences. 5 Click OK.[...]

  • Page 72

    Defining identifiers 62 Defining identifiers An identif ier is a class attribute, or a co mbination of class attributes, wh ose values u niquely identify each occurrence of th e class. An identifier is the OOM equivalen t of a CDM iden tifier or a prim ary key or an alternate key in a PDM. Each class m ust have at least on e identifier. If a class [...]

  • Page 73

    Chapter 2 Building an Object- Oriented Model 63 Creating an identifier You can create an iden tifier from a class . v To create an identifier: 1 Double-click a class in the m odel. The class property sheet opens to the General page. 2 Click the Identifier tab. The Identifier page appears . 3 Click a blank line in the list. or Click the Add a Row to[...]

  • Page 74

    Defining identifiers 64 A dding attributes to an identifier You can add attributes to an identifier. v To add attributes to an identifier: 1 From the identifier property sheet, click th e Attributes tab. The Attributes page appears. It lists the attributes currently defined for the identifier. 2 Click th e Add Attributes tool. A list of attributes [...]

  • Page 75

    Chapter 2 Building an Object- Oriented Model 65 3 Select ch eckboxes f or one or m ore class attributes th at you w ant to designate as an identifier. 4 Click OK in each of the dialog boxes . Modifying identifier properties There are two approach es to modify ing identifier properties: ♦ Modify the property s heet of an ident ifier ♦ Modify an [...]

  • Page 76

    Defining identifiers 66 Opening property sheets at last accessed page Property sheets open to th e General pag e by def ault. How ever, you can choose to open property sheets at th e last page accessed by selecting Tools ➤ Options ➤ Dialog, and selecting the option Keep Last T ab in th e Property Sheet s grou pbox. 2 Type or select identifier p[...]

  • Page 77

    Chapter 2 Building an Object- Oriented Model 67 Defining operations An operation is a service that can be reques ted from an object to eff ect behavi or. It has a n ame and a list of param eters. An operati on is a specification of a transform ation or query that an object may be called to execute. Operation nam es within a class m ust be unique. Y[...]

  • Page 78

    Defining operations 68 A nalyzing operation properties The follow ing operation properties each hav e several def ault values from w hich y o u can select from : ♦ Visibility ♦ Stereotype Visibility Property Visible Private Only to the operation itself Protected Only to the operation and its inhe rited objec ts Package To all object s co ntain [...]

  • Page 79

    Chapter 2 Building an Object- Oriented Model 69 3 Type an operation nam e and an operati on code. 4 Click OK. A new operation is created in the Operation s category. Creating an opera t i on f r om t he l ist of operations v To create an operation by inserting it in the list: 1 Select Model ➤ Operations . The list of oper atio ns appears. Accessi[...]

  • Page 80

    Defining operations 70 Creating an operation from a class in a di agram You can create an operation from a class or an interface in a diag ram in the same way . v To create an operation from a class in a diagram: 1 Double-click a class in the m odel. The class property sheet appears. 2 Click the Operations tab. The Operations page appears. It lis t[...]

  • Page 81

    Chapter 2 Building an Object- Oriented Model 71 Modifying operation properties There are tw o approaches to modif ying operation properties : ♦ Modify the property s heet of an operation ♦ Modify an en try in th e list of operations Modifyi ng oper at i on properties from it s pr oper t y sheet The oper a tio n property sheet displays the defin[...]

  • Page 82

    Defining operations 72 The operation property sheet opens t o the General page. Opening property sheets at last accessed page Property sheets open to th e General pag e by def ault. How ever, you can choose to open property sheets at th e last page accessed by selecting Tools ➤ Options ➤ Dialog, and selecting the option Keep Last T ab in th e P[...]

  • Page 83

    Chapter 2 Building an Object- Oriented Model 73 The list of oper atio ns appears. 2 Click the operation that you w ant to modify . An arrow appears at the begin ning of the line. 3 Modify any of the prop erties of the operation directly in the list. 4 Click OK. A dding constructors and destructors to a class A constructor is a special type of opera[...]

  • Page 84

    Defining operations 74 You can create tw o types of con structor for a given class: Default Copy A Default c onstruc tor ha s no pa r ameters . A dding a Default constructor and dest r uct or t o a cl ass You can def ine only one Default con structor and one D efaul t destruct or (PowerBuilder on ly) for any given class . If the c urrent obj ect l [...]

  • Page 85

    Chapter 2 Building an Object- Oriented Model 75 If the c urre nt obj ect l a nguage o f t he OOM i s Analysis or Java , a Defa ult constructor is created at the end of the list of operation s for the clas s. It has the sam e name as the class to w hich it belongs: If the c urre nt obj ect l a nguage o f t he OOM i s Po wer B uild e r, a D efault co[...]

  • Page 86

    Defining operations 76 A dding a Copy construct or t o a cl ass The body of a Copy const ructor contai ns a copy of the attribu tes of the class that exist at the m oment of the creation of the cons tructor. When y o u create a Copy constructor, it has th e sam e as that of th e class, prefix ed by t he key word new . It has a defau lt p arameter t[...]

  • Page 87

    Chapter 2 Building an Object- Oriented Model 77 A dding operations to a class You can add an operation to a class in one of th e follow ing tw o way s: ♦ Add a dupl icate operation ♦ Add an operat ion from a parent class A dding a duplicate operation t o a cl ass A duplicate operation is an operatio n that creates and initializes an instance of[...]

  • Page 88

    Defining operations 78 A dding an operation from a pare nt cl ass You can add to a class an operation th at belongs to a paren t class. The new operatio n has the same signatu re (name and parameters) as the original operation, bu t does not hav e its ot her properties . Once you add an operatio n to a class in this w ay, you can modify only the co[...]

  • Page 89

    Chapter 2 Building an Object- Oriented Model 79 A copy of the operation is added to the list op erations for the class. A dding Getter and Setter operations to a class Getter or a Setter operations are special ty pes of operations that y ou create for an attribute. You create a Getter or a Setter ope r a tio n type from the list of attributes of a [...]

  • Page 90

    Defining operations 80 4 Click the A dd button. 5 Select Get /Set Operation s from th e dropdown lis tbox. The operations are created for the attribu tes. You can visualize th em in the list of operations of the class. 6 Select the Operations tab.[...]

  • Page 91

    Chapter 2 Building an Object- Oriented Model 81 The new ly created operation s appear at the bottom of th e list of operations for th e class. They are g rayed indicatin g that their nam es can not be m odified. 7 Click OK. Creating an implementation operation When y ou create a realization link between a class and an interface in w hich the class [...]

  • Page 92

    Defining operations 82 v To create an implementation operation: 1 Double-click a class that is lin ked to an interf ace by a realization link. 2 Click the Operations tab. 3 Click the To be implem ented button. The To B e Implemen ted Operations win dow appears . It contains a list of all the operations of the interface that can be im plemented from[...]

  • Page 93

    Chapter 2 Building an Object- Oriented Model 83 6 Click Close. The newly created o peration is added to the end of the list of operations for the class. It is grayed, in dicating that its nam e cannot be modified. 7 Click OK. Modifying the code of an implementation operation You can m odify t he code of an implem entation operation f rom the Impl e[...]

  • Page 94

    Defining operations 84 The Implem entation page appears. 3 Type or m odify code direct ly in th e w indow . or Click a tab at the bottom of the edit w indow and type or m odify code. 4 Click OK. Copy ing an operation to another class You can copy an operation from one class and add it to anoth er class. If th e class already contains an operation w[...]

  • Page 95

    Chapter 2 Building an Object- Oriented Model 85 A selection box appears. It lists ope r a tio ns attached to all other classes in the model. 4 Select one or more operations in the list. 5 Click OK. The copied o p erations appear in the list of operations for the current class. 6 Click OK. Display ing text in operation symbols An operation has the f[...]

  • Page 96

    Defining operations 86 The visibility of an operation in a class or an interf ace can be d isplayed in one of the follow ing way s: Visibility When selected Icon Displa ys the operation a s an icon Markers Display s the visibility of the operation as a m arker: - (private), # (protected), + (p ublic), or * (package) Key words Display s the visibili[...]

  • Page 97

    Chapter 2 Building an Object- Oriented Model 87 4 Modify the operation display pref erences. 5 Click OK.[...]

  • Page 98

    Defining parameters 88 Defining parameters A param eter is a specification of a v ariable that can be changed, pas sed, or returned. Parameters are used only for op erations. A parameter alw ays has a direction, wh ich indicates the flow of information. Parameter properties A parameter has the follow ing proper ties: Property Description Maximum le[...]

  • Page 99

    Chapter 2 Building an Object- Oriented Model 89 Creating a parameter You can create param eters only f rom an operation. You create param eters from the Paramete rs page in the operation property sheet. v To create a parameter: 1 Double-click an operation in the m o d el. 2 Click the Parameters tab. The Parameters pag e appears. 3 Click the A dd a [...]

  • Page 100

    Defining parameters 90 The paramet er property s heet opens to the G eneral page . Opening property sheets at last accessed page Property sheets open to th e General pag e by def ault. How ever, you can choose to open property sheets at th e last page accessed by selecting Tools ➤ Options ➤ Dialog, and selecting the option Keep Last T ab in th [...]

  • Page 101

    Chapter 2 Building an Object- Oriented Model 91 Defining generalizations A generalization relationship between classes sh ows that the su bclass shares the st ructure or beh avior def ined in one or m ore superclasses. You use a generalize to sh ow a "is-a" relationship betw een classes. You can create a g eneralization only from on e cla[...]

  • Page 102

    Defining generalizations 92 A nalyzing generalization properties The followi ng gen eralization properties each h ave several def ault values from which y ou can select from : ♦ Visibility ♦ Stereotype Visibility Property Visible Private Only to the gene ralization itse lf Protected Only to the gene raliza tion and its inherite d objects Packag[...]

  • Page 103

    Chapter 2 Building an Object- Oriented Model 93 The link appears betw een the tw o objects. Dragging a generalization to a different class You can chan ge the class or interface at eith er end of a generalization by clickin g the generalization to select it, pressing down CTRL , and draggin g one of the attach point s to a differen t class or inter[...]

  • Page 104

    Defining generalizations 94 Modifying generalization properties There are two approach es to modify ing generalization properties : ♦ Modify the property s heet of the ge neralizati on ♦ Modify an en try in th e list of generalizations Modifyi ng gener al i zation properties fr om i t s pr oper t y sheet The generalization prop erty sheet displ[...]

  • Page 105

    Chapter 2 Building an Object- Oriented Model 95 Modifyi ng gener al i zation properties fr om t he l i st of gener al izations The list of generalizations includes all generalizations attach ed to the current model. You can m o d ify the generalization pro p erties from the list. v To modify generalization properties from the list of generaliz atio[...]

  • Page 106

    Defining generalizations 96 You m odify the display preferences f o r a generalization in the Display Preferences dialog box. v To modify the display preferences: 1 Select Tools ➤ Display Preferen ces. or Righ t-click th e diagram backgroun d and select Display P references f rom the contextu al menu. The Display Preferen ces dialog box appears .[...]

  • Page 107

    Chapter 2 Building an Object- Oriented Model 97 Defining associations An as sociation represents a structu ral relationship betw een objects of differen t classes. A n association is draw n as a solid line between pairs of classes. You can def ine an ass ociation betw een two classes , or between a class and an interface. An association m ay have a[...]

  • Page 108

    Defining associations 98 A ssociation properties An association has the follow ing pr o perties: Property Description Maximum length Name Name of the asso ci ation 254 Code Reference name for the associatio n 254 Comment Descriptive comment for the associatio n — Stereoty pe Subcla ssifica tion of an a ssocia tion derived f rom an existing one. E[...]

  • Page 109

    Chapter 2 Building an Object- Oriented Model 99 Creating an association You can create an as sociation between tw o classes or betw een a class and an interface: ♦ in a diagram ♦ from the list of associations ♦ from the Brow ser Creating an association outside of a diagram When y o u create an as sociation from the list of associations or fro[...]

  • Page 110

    Defining associations 100 The association property sheet opens to the General pag e. Opening property sheets at last accessed page Property sheets open to th e General pag e by def ault. How ever, you can choose to open property sheets at th e last page accessed by selecting Tools ➤ Options ➤ Dialog, and selecting the option Keep Last T ab in t[...]

  • Page 111

    Chapter 2 Building an Object- Oriented Model 101 A ssociation role propert i es You can def ine the f o llowing properties for each of th e two roles of an association: ♦ Multiplicity ♦ Ordering ♦ Visibility M ultiplicity The cardinality of each of th e two roles of an association is called the mu ltiplicity. The mu ltiplicity indicates the m[...]

  • Page 112

    Defining associations 102 Visibility The visibility of an association refers to the w ay in w hich it can be seen by other objects. An association that is visible to an other object may influence the st ructure or beh avior of the object, or s im ilarly , its ow n properties may be affected by the other object. Property Visible Private Only to the [...]

  • Page 113

    Chapter 2 Building an Object- Oriented Model 103 The association contex t men u appears. 2 Select Chan ge to Class from the context m enu. An ass o ciative class w ith two as sociations replaces the as sociation. The associative class tak es the nam e of the original association. Modifying association properties There are two approach es to modify [...]

  • Page 114

    Defining associations 104 3 Click OK. Modifying associati on properti es from the l i st of associ ati ons The list of associations in cludes all associations attached to the curren t model. You can m o dify the association prope r ties fro m the list. v To modify association properties from the list of associations: 1 Select Model ➤ Associations[...]

  • Page 115

    Chapter 2 Building an Object- Oriented Model 105 The association property sheet appears. 2 Click the Cardinality tab . The Cardinality page appears. 3 Select properties for role A and for Role B. 4 Select the Ag gregation/Composition check box. 5 Select Aggreg ation/Composition group box optio ns. 6 Click OK.[...]

  • Page 116

    Defining associations 106 Display ing text in association symbols You can def ine the f ollowin g display preferences for an ass ociation: Preference Description Sho w name When selected, d isplays the n ame of the associatio n Show c onstraints When s electe d, displays the c onstraints (busines s rules) of the associatio n Show role nam es When s[...]

  • Page 117

    Chapter 2 Building an Object- Oriented Model 107 The Association dis p lay preferences appears . 4 Modify the association display pref erences. 5 Click OK.[...]

  • Page 118

    Defining dependencies 108 Defining dependencies A dependency is a relations hip between tw o modeling elem ents, in w hich a change to one m o d e ling element (the in dependent element) w ill affect the other m odeling elem ent (the dependent elem ent). The dependency relationship in dicates that one class or interf ace in a component diagram uses[...]

  • Page 119

    Chapter 2 Building an Object- Oriented Model 109 A nalyzing dependency properties You can select a s tereotype f or a dependency from the follow ing sev eral default values: Stereoty pe Description access P ubl i c conten ts of the target package that can by accessed by the source p ackage bind Source obje ct that instantiate s the targe t templa t[...]

  • Page 120

    Defining dependencies 110 The link appears betw een the tw o objects. Dragging a dependency to a different class You can chan ge the class at either end of a dependency by clicking the dependency to select it, pressing down CTRL , an d draggi ng on e of the attach point s to a differen t class. 3 Click th e Pointer tool in the palette too lbar. or [...]

  • Page 121

    Chapter 2 Building an Object- Oriented Model 111 Modifying dependency properties There are two approach es to modify ing dependency properties: ♦ Modify the property s heet of a dependency ♦ Modify an entry in the list of dependencies Modifyi ng dependency properties fr om i t s pr oper t y sheet The dependency property sheet displays th e defi[...]

  • Page 122

    Defining dependencies 112 3 Click OK. Modifyi ng dependency properties fr om t he l i st of dependenci es The list of dependencies includes all dependencies attached to the current model . You can m odify t he dependen cy properti es from the list. v To modify dependency proper ties from the list of dependencies: 1 Select Model ➤ Dependencies . T[...]

  • Page 123

    Chapter 2 Building an Object- Oriented Model 113 You m odify the display preferences for a dependency in the Display Preferences dialog box. v To modify the display preferences: 1 Select Tools ➤ Display Preferen ces. or Righ t-click th e diagram backgroun d and select Display P references f rom the contextu al menu. The Display Preferen ces dialo[...]

  • Page 124

    Defining realizations 114 Defining realizations A realization is a relationship betw een a class and an interface. It sh ows that the class realizes th e operations offered by the interface. In this kind of relationship, th e interface is called th e specification elem ent and the class is called the im plemen tation elem ent. The class im plemen t[...]

  • Page 125

    Chapter 2 Building an Object- Oriented Model 115 Creating a realization You can create a realization on ly from a class to an interf ace. v To create a realization: 1 Click the Realization tool in the palette toolbar. 2 Drag the realization f rom the class to the in terface. The link appears betw een the tw o objects. Dragging a realization to a di[...]

  • Page 126

    Defining realizations 116 Opening property sheets at last accessed page Property sheets open to th e General pag e by def ault. How ever, you can choose to open property sheets at th e last page accessed by selecting Tools ➤ Options ➤ Dialog, and selecting the option Keep Last T ab in th e Property Sheet s grou pbox. 5 Type a realization n ame [...]

  • Page 127

    Chapter 2 Building an Object- Oriented Model 117 v To modify realization properties from its property sheet: 1 Double-click the realization in th e model. The realization property s heet appears. 2 Type or select realization properties . or Click on a page tab. Type or select realization propert ies as requ ired. 3 Click OK.[...]

  • Page 128

    Defining realizations 118 Modifyi ng a r eal i z at i on f r om t he l i st of r eal izations The list of realizations includes all realizations attached to the current m o del. You can m odify the realization properties from the list. v To modify realization properties from the list of realizations: 1 Select Model ➤ Realizations. The list of rea[...]

  • Page 129

    Chapter 2 Building an Object- Oriented Model 119 You m odify the display preferences f o r a realization in the Display Preferences dialog box. v To modify the display preferences: 1 Select Tools ➤ Display Preferen ces. or Righ t-click th e diagram backgroun d and select Display P references f rom the contextu al menu. The Display Preferen ces di[...]

  • Page 130

    Defining domains 120 Defining domains Domains help y o u identify the ty p e s o f inf ormation in y o ur project. T hey define the set of valu es for wh ich an attribute is valid. Apply ing domain s to attributes makes it easier to standardize data characteristics for attrib utes in differ ent classe s. In an OOM, y ou can associate the follow ing[...]

  • Page 131

    Chapter 2 Building an Object- Oriented Model 121 Creating a domain You create a dom ain from the lis t of dom ains. Accessing the List of Domains You can access the Lis t of Dom ains from the current m odel, or by righ t clicking th e approp r iate model node in the Bro wser, and selecting New ➤ Domain from th e contextual men u. v To create a do[...]

  • Page 132

    Defining domains 122 The property sh eet for the new domain appears. 7 Select a data type. Specify length and precisi on as required. $ For information on data types and selecting a data type for a domain see the f o llowin g sections Indicating data ty pe , length, and precision and Selecti ng a data t ype f o r a domain from the list . 8 Click on[...]

  • Page 133

    Chapter 2 Building an Object- Oriented Model 123 In the list of available data ty pes, a variable indicates where y ou have to type a length or precision, as follow s: Variable Replace with %n Length %s L ength with pre cision %p Decimal precision All ob j ect l a nguages all ow you to selec t the <unde fined> d ata type . The <undefined&g[...]

  • Page 134

    Defining domains 124 4 Select a data type f rom the dropdow n listbox . Undefined data type If y o u do not want to select a data type im mediately , you can choose the <Undefin ed> data type. When y ou generate Java or PowerBuilder objects, this data ty pe is replaced by the default data ty pe for your targe t ob j ect l anguage. 5 Click OK.[...]

  • Page 135

    Chapter 2 Building an Object- Oriented Model 125 The change of data ty pe appears in the list of domains. Undefined data type If y o u do not want to select a data type im mediately , you can choose the <Undefined> data ty p e. When y o u generate the database, this data type is replaced by th e default data ty pe for your target object langu[...]

  • Page 136

    Defining domains 126 Conceptual data ty pe What it stores Length? Precision? Integer 32-bit integer —— Short Integer 16-bit integer —— Long Inte ger 32-bit integer —— By te 256 value s —— Number Numbers with a fixed decim al point Fix ed Decimal Numbers with a fixed decim al point Fix ed Float 32-bit floa ting decim al numbe rs Fixe[...]

  • Page 137

    Chapter 2 Building an Object- Oriented Model 127 Conceptual data ty pe What it stor es Date Day , month, y ear Tim e Hour, m inute, and sec ond Date & T ime Date and time Tim estamp Sys tem da te and time Conceptual data ty pe What it stores Length? Binary Binary strings Maxim um Long Binary Binary strings Maxim um Image Images Maximum Bitmap I[...]

  • Page 138

    Defining domains 128 A lis t of standard data t ypes appears. 5 Click the radio button corresponding to the data type you w ant to apply. The code for the dat a type appears in the Code box. Undefined data type If y o u do not want to select a data type im mediately , you can choose the Un define d data ty pe. 6 Type the m aximum number of characte[...]

  • Page 139

    Chapter 2 Building an Object- Oriented Model 129 Modifying domain properties You can m odify domai n properties from its property sheet. When y o u modify a domain, y o u can choose to autom atically update the following prope r ties for attributes using th e domain: ♦ Data type ♦ Check paramete rs ♦ Business rules v To modify domain properti[...]

  • Page 140

    Defining check par ameters 130 Defining check parameters Check parameters are set of conditions w hich data must satisfy to remain valid. They are u sed principally in f or use in a CD M or a PDM. There are two ty pes of check param eters: Parameter ty pe Description Can be attached to Standard pa ram eters Com mon da ta constr aints w hich define [...]

  • Page 141

    Chapter 2 Building an Object- Oriented Model 131 v To set standard parameters: 1 Click th e Standard Check s tab in the property sheet of a dom ain or an attribute. The Standard Check s page appears. 2 Type y our choice of Stan dard P arameters . 3 Click OK. Defining additional check parameters for objects You can w rite an SQL statem ent usin g th[...]

  • Page 142

    Defining check par ameters 132 You define additional check parameters f or data constraints where stan dard check param eters are not suffi cient. v To define additional check parameters: 1 Click the A dditional Checks tab in the proper ty sheet of an attribute or domai n. The Additional Checks page appear s. 2 Type SQL express ion using the v aria[...]

  • Page 143

    Chapter 2 Building an Object- Oriented Model 133 At generation, validation rule variables are instantiated w ith the following values: Variable Value %A TTRIBUT E% Code of the attribute to w hich the business rule a pplies %DOMA IN% Code of the dom ain to which the business rule applie s %CLA SS% Code of the class to w h ich the busine ss rule appl[...]

  • Page 144

    Defining check par ameters 134[...]

  • Page 145

    135 CHAPTER 3 Managing Object-Oriented Models This chapter describes h o w to compare an d merg e Obj ect-Oriented Models as w ell as how to check the validity of a Object-Oriented Model (OOM). Topic Page Checking an OOM 136 Merging two OOM 144 Opening a Rose m odel in an OOM 145 About this chapter Contents[...]

  • Page 146

    Checking an OOM 136 Checking an OOM The procedure that gen erates .java Java source f iles or PowerBuilder objects starts by checkin g the validity of the OOM. If an error is found, the files are not gene rate d. Object parameters verified by Check model The Check Model verifies the validity of the follow ing objects in an OOM: Object Parameter Cla[...]

  • Page 147

    Chapter 3 Managing Object-Or iented Models 137 OOM check options When y ou check an OOM, if a p arameter is f ound to be invalid, it can be display ed wi th on e of tw o types of m essages: Message Description Error Maj or problem that impede s Jav a or Powe rBuilder g enera tion War ning Minor proble m or r ecom mendation These m essag es represen[...]

  • Page 148

    Checking an OOM 138 Object selection in the Check Model You select objects to check from the Selection page. You can list all objects in th e current model, or packag e, by selecting the Include Sub- packages tool. You ha ve the fol l o wing selecti o n op t i ons: Parent object Include Sub- packages Display s Model Sel ected All obje cts in model [...]

  • Page 149

    Chapter 3 Managing Object-Or iented Models 139 The object parameters w hich are verifi ed by th e Check Model are display ed wit h the s ym bols indicat ing a deg ree of problem s everity . 3 If y o u want to ch ange a degree of problem severity, select th e obj ect parameter an d then select either the Error or Warnin g tool. The sym bol changes t[...]

  • Page 150

    Checking an OOM 140 The Selection page appears. 6 Select a m odel from the dropdow n list at t he top of the dialog box. 7 Click an object tab. The corresponding object page displays all the objects in the cu rrent OOM. 8 Select checkbox es for objects that you w ant to be checked. 9 Clear check boxes for objects th at you do n o t want to be ch ec[...]

  • Page 151

    Chapter 3 Managing Object-Or iented Models 141 The Check Model Resu lt List dis plays errors and warn ings based on the check o ptio ns you have d efined . Dockable result w indow When y o u right click an object param eter, a menu appears listin g correction options. A mong th ese, you can also select option s to clear, dock or hi de the resu lt w[...]

  • Page 152

    Checking an OOM 142 The Check tool bar also con tains nav igation tools that y ou can use to m ove to the first, previous, n e xt, or last er r o rs that are listed. You can also navig ate in the list of errors by right- clicking an object par ameter and selecting Go To First error, Previ ous error, Next error, or Last error f rom the con text m en[...]

  • Page 153

    Chapter 3 Managing Object-Or iented Models 143 6 Right -click the object param eter and select Re-check from the contex tual menu. Verify that the problem has been corrected.[...]

  • Page 154

    Merging two OOM 144 Merging tw o OOM You can m erge two OOM. The m erge makes it possible to form a single model that com bines design efforts perform ed independent ly by s everal team memb e rs . When the m erge process fin ds tw o objects that have th e same code, y ou can indicate wh ether o r not the definition of the object in the source m od[...]

  • Page 155

    Chapter 3 Managing Object-Or iented Models 145 Opening a Rose model in an OOM You can import a .m dl models built with Rational Rose in PowerDesigner. A new OOM is created for the Rose m odel, and the objects of the Rose m odel are translated in to OOM objects. This functionality provides you w ith greater scope and flexibility. You can create an O[...]

  • Page 156

    Opening a Rose model in an OO M 146 Objects imported The following Rose objects are imported directly into the new OOM: Package Diagram Class Interf ace Attribute Operation Generalization Association Dependency Realization Note Note Link Tex t The im port process tran slates som e properties of im ported objects into OOM prop er ties as follows: Pr[...]

  • Page 157

    Chapter 3 Managing Object-Or iented Models 147 Objects not imported When you open a Rose m odel, the following properties are not imported into the new OOM: Global Rose Property Rose Sub-property Type Parameterized Class Instanci at ed Class Parameterize d Class Utility Instanciated Class Utility MetaClass Formal arguments — Nested Class — Conc[...]

  • Page 158

    Opening a Rose model in an OO M 148 Default Values of A rguments Protocol Quali fi c atio n (langua ge -spec i fi c) Exceptions Size (amou nt of s torage) Time (to complete operation) Concur rency (seq uentia l , guard e d, synchro nous) Preconditions Postcond itions Friendship required ( yes/No) Keys/qualif iers Constra ints Stereotype Derived Sta[...]

  • Page 159

    149 CHAPTER 4 Reverse Engineering This chapter describes Jav a, PowerBuilder, an d XML reverse en gineering fun ctions for an Object-Oriented Model (OOM). It also sh ows you how to create a new OOM by reverse en gineerin g from a database. Topic Page What is reverse en gi n eering? 15 0 Reverse engi neerin g Java 151 Reverse engineeri ng Po werBuil[...]

  • Page 160

    What is revers e engineering? 150 What is rev erse engineering? Reverse en gineering is th e process of ex amining an d recovering data or source code from a file that is th en used to build or upd ate an OOM. You reverse eng ineer objects to an OOM via a diagram . You can reverse eng ineer objects to a new model, or to an existin g model. When y o[...]

  • Page 161

    Chapter 4 Revers e Engineering 151 Rev erse engineering Jav a You can revers e engin eer files that con tain Java classes into an OOM. For each existin g class in a Java file, a correspondin g class is created in the model, w ith the same nam e and containing the sam e information. When y ou reverse eng ineer a Java class that already exists in a m[...]

  • Page 162

    Reverse engineer ing Java 152 When you r everse engineer Java fi les, so me c o mm ents may change fo rm or position within the code. Comment in original Java file After rev erse Before the import declarations Is lost from file Beginning w ith /* Begins with // At the end of the file be low all the code Is lost from f ile Within a c lass but not wi[...]

  • Page 163

    Chapter 4 Revers e Engineering 153 The Options page appears . 3 Select or clear options. 4 Click Apply . 5 Click Cancel. Loading a JDK library model in the w orkspace When y o u reverse engin eer Java files, y ou can, at the sam e time, load one of the JDK models that contain s the class libraries of a particular v ersion of JDK. You can select to [...]

  • Page 164

    Reverse engineer ing Java 154 The available library files are listed. Each JDK file corresponds to a par ticula r versi o n of J D K. 3 Select th e file JDK-1_1_8.OOM . This fi le contai ns all t he library class fil es of v ersion 1_1_8 of JDK. 4 Click Open. The OOM opens in the w orkspace. Reverse engineering Jav a source files w ithout code body[...]

  • Page 165

    Chapter 4 Revers e Engineering 155 3 Click the A dd button. A st andard Open dial og box appears . 4 Select the files that y ou w ant to reverse an d click Open. You return to the Reverse Java dialog box. It displays the files y ou selected. 5 Click the Options tab. The Options page appears .[...]

  • Page 166

    Reverse engineer ing Java 156 6 Select th e Ignore operation body checkbox . 7 Click OK. The classes rev ersed with out the body of the code. The clas ses are autom atically added to y our model and are v isible in th e diagram . Reverse engineering Jav a source files Each .java source f ile contains in formation on on e or several class definition[...]

  • Page 167

    Chapter 4 Revers e Engineering 157 2 Select the .java radio button . Reversing w ithout the body of the code You can ch oose reverse .jav a source fi les w ithout th e body of the code of th e class by selecting t he Ign ore operation body checkbox in the Options page. 3 Click the A dd button. A st andard Open dial og box appears .[...]

  • Page 168

    Reverse engineer ing Java 158 4 Select the files that y ou w ant to reverse an d click Open. Multi-selection You can select several files sim ultaneously by usin g the CTRL or SHIFT keys. 5 Click OK. A Progres s box appears and th e classes are added to you r model. The classes are vi sible in the diag ram and in the Brow ser. The reversed classes [...]

  • Page 169

    Chapter 4 Revers e Engineering 159 2 Select the .class radio bu tton. 3 Click the A dd button. A st andard Open dial og box appears . 4 Select the files that y ou w ant to reverse an d click Open. Multi-selection You can select several files sim ultaneously by usin g the CTRL or SHIFT keys.[...]

  • Page 170

    Reverse engineer ing Java 160 You return to the Reverse Java dialog box. It displays the files y ou selected. 5 Click OK. A Progres s box appears and th e classes are added to you r model. The classes are vi sible in the diag ram and in the Brow ser. The reversed classes are listed in the R everse page of the Output win d ow, situ ated in the botto[...]

  • Page 171

    Chapter 4 Revers e Engineering 161 Reverse engineering Jav a files from a source directory Reverse en gineering .java source f iles from a source directory requires that you follow the sam e procedure as wh en y ou reverse en gineer in dependent .java files, the on ly dif ference being that you select a directory in which several .java files are lo[...]

  • Page 172

    Reverse engineer ing Java 162 Reversing w ithout the body of the code You can ch oose reverse .jav a source fi les w ithout th e body of the code of th e class by deselecting t he Ign ore operation body checkbox. 3 Click the A dd button. The Brow se for Fol der dialog box appears. 4 Select the directory that contains the Java f iles you wan t to re[...]

  • Page 173

    Chapter 4 Revers e Engineering 163 5 Click OK. A Progres s box appears and th e classes are added to you r model. The classes are vi sible in the diag ram and in the Brow ser. The reversed classes are listed in the R everse page of the Output win d ow, situ ated in the bottom part of the PowerDesigner m ain window . Reverse engineering archiv ed .j[...]

  • Page 174

    Reverse engineer ing Java 164 2 Select the A rchive radio button . 3 Click the A dd button. A st andard Open dial og box appears . 4 Select the files that y ou w ant to reverse an d click Open. Multi-selection You can select several files sim ultaneously by usin g the CTRL or SHIFT keys.[...]

  • Page 175

    Chapter 4 Revers e Engineering 165 The Reverse Java dialog box display s the files y ou selected. 5 Click OK. A Progres s box appears and th e classes are added to you r model. The classes are vi sible in the diag ram and in the Brow ser. The reversed classes are listed in the R everse page of the Output win d ow, situ ated in the bottom part of th[...]

  • Page 176

    Reverse engineer ing PowerBuilder 166 Rev erse engineering Pow erBuilder You can reverse eng ineer Po werBuilder NVO (non-visu al objects) into an OOM from either of th e follo wing sources: ♦ PowerBuilder applicatio ns ♦ SRU files For each reversed Pow erBuilder object, a class is created in the m odel, with the same name and conta ining the s[...]

  • Page 177

    Chapter 4 Revers e Engineering 167 You c a n define the fol lowing Po werBuild er r everse enginee r ing op tions: Option Result of selection Ignore operation body Reverse s Power Builder objec ts without including the body of the code Ignore Comm ents Reve rses PowerBuilde r objects w ithout including c ode co mmen ts Create Symbols Creates a symb[...]

  • Page 178

    Reverse engineer ing PowerBuilder 168 The Options page appears . 3 Select PowerBuilder rev erse options. 4 Click Apply . 5 Click Cancel. Loading a PowerBuilder library model in the workspace When y o u revers e engineer Pow erBuilder files, you can , at the same tim e, load one of th e PowerBuilder m odels that contains th e class libraries of a pa[...]

  • Page 179

    Chapter 4 Revers e Engineering 169 The available library files are listed. Each PB file correspo nds to a particular version of PowerBuilder. 3 Select the file PB7.OOM. This file contains all the library class files of PowerBuilder version 7. 4 Click Open. The OOM opens in the w orkspace. Reverse engineering objects from a PowerBuilder application [...]

  • Page 180

    Reverse engineer ing PowerBuilder 170 2 Select the PBL radio button . 3 Select a Pow erBuilder appli cation f rom t he PB Appl ication dropdow n listbox. 4 Click the A dd button. A st andard Open dial og box appears . 5 Select the file th at you wan t to reverse and click Open. Multi-selection You can select several files sim ultaneously by usin g [...]

  • Page 181

    Chapter 4 Revers e Engineering 171 You return to the Reverse PowerBuilder dialog box. It displays the f iles you s elected. 6 Click OK. A Progres s box appears and th e classes are added to you r model. The classes are vi sible in the diag ram and in the Brow ser. The reversed classes are listed in the R everse page of the Output win d ow, situ ate[...]

  • Page 182

    Reverse engineer ing PowerBuilder 172 2 Select the SRU radio bu tton. 3 Click the A dd button. A st andard Open dial og box appears . 4 Select the SRU f iles that y o u w ant to reverse and click Open . Multi-selection You can select several files sim ultaneously by usin g the CTRL or SHIFT keys.[...]

  • Page 183

    Chapter 4 Revers e Engineering 173 You return to the Reverse PowerBuilder dialog box. It displays the f iles you s elected. 5 Click OK. A Progres s box appears and th e classes are added to you r model. The classes are vi sible in the diag ram and in the Brow ser. The reversed classes are listed in the R everse page of the Output win d ow, situ ate[...]

  • Page 184

    Reverse engineer ing XML 174 Rev erse engineering XML You can rev erse engin eer one of the follow ing types of XML f ile to an OOM: ♦ XML - DTD Provides an overall st ructure for an XML file in DTD for mat. ♦ XML - Schem a Pr ovides an overall structu re for an XML file in Schema form at. ♦ XML - Data A ll othe r XML docum ents desc ribing d[...]

  • Page 185

    Chapter 4 Revers e Engineering 175 v To define XM L reverse engineering options: 1 Selec t Language ➤ Reverse Enginee r XML. The Revers e XML dial og box open s. 2 Click the Options tab. The Options page appears . 3 Select XML rev erse options. 4 Click Apply . 5 Click Cancel. Reverse engineering XML files XML files can be reversed into an OOM.[...]

  • Page 186

    Reverse engineer ing XML 176 v To reverse engineer an XML file: 1 Sel e ct Langua ge ➤ Rever se Engine er XM L. The Revers e XML dialog box opens to the S election pag e. 2 Click the A dd button. A st andard Open dial og box appears . 3 Select the files that y ou w ant to reverse an d click Open. Multi-selection You can select several files sim u[...]

  • Page 187

    Chapter 4 Revers e Engineering 177 Rev erse engineering into a new OOM You c a n rever se engine er o bje ct langua ge files ( Java , Po werBuil d er, XML) into a new OOM. v To reverse engineer object language files into a new OOM : 1 Select File ➤ Reverse Enginee r ing ➤ Obj ect La nguage. The Choose Obj ect Langua ge dia log b o x app ears. 2[...]

  • Page 188

    Reverse engineer ing into a new OOM 178 This product includes XM L4C 3.0.1 softw are developed by the Apache Software Foundation (http: // www. ap a c h e. or g/ ) Copy right (c) 1999 The Apach e Softw are Foundation . All ri ghts reserved. THE XML4C 3.0.1 SOFT WARE ("SOFTWARE") IS P ROVIDED ‘‘ AS IS ’’ AND A NY EXP RESSED OR IMPL[...]

  • Page 189

    179 CHAPTER 5 Generating Objects from an OOM This chapte r describes h ow t o generate objects from an OOM. Topic Page Ge nerating objects 180 Ge nerating Java source file s 182 Ge nerating objects for Powe rBuilder 189 Ge nerating for XML 195 Custom izing scripts 199 About this chapter Contents[...]

  • Page 190

    Generating objects 180 Generating objects You can g enerate the f ollowin g types of objects f rom an OOM: Object ty pe What is generated Java source files . java files from the classes and interfaces of the model that you can then co mpile usi n g a Java compiler PowerBuilde r objects P owerBuilder N VO (non-vis ual objec ts) that y ou can use dir[...]

  • Page 191

    Chapter 5 Generating O bjects from an OO M 181 You ha ve the fol l o wing selecti o n op t i ons: Parent object Include Sub- Packages Display s Model Sel ected All obje cts in model inc luding all obje cts cont ai ned in packages and su b-packages Mod el No t selected All object s in model excep t obj ect s co ntain ed in p ackages an d sub -packag[...]

  • Page 192

    Generating Jav a source files 182 Generating Jav a source files You gen erate Java source files f rom the classes and interfaces of a m odel. A separate file, w ith the file exten sion .java, is gen erated for each class or interface th at you s elect from the m odel. You can only generate Java files from one m odel at a time. You can com pile the [...]

  • Page 193

    Chapter 5 Generating O bjects from an OO M 183 You can sort th e order that attributes and operations are arran ged in th e code of the class es of the m odel. Option Result of selection Attributes - Operations Displays the cla ss attributes before the ope rations in the genera ted class de finition Operations - A ttributes Displays the class opera[...]

  • Page 194

    Generating Jav a source files 184 Generating Java class definition files PowerDesigner g enerates a Java class definition file f or each of the classes you s elect to generate in the Java Generation dialog box. You can select any of the class es from the model, includin g those th at are contained w ithin packages or sub-packages. The generated f i[...]

  • Page 195

    Chapter 5 Generating O bjects from an OO M 185 4 Select the classes that y o u want to generate from the list. Select Tools All the clas ses and interf aces of the model, in cluding thos e that are grouped in to packages, are s elected and display ed by default. You can us e the Select tools to th e right of th e Folder Selection dropdown listbox t[...]

  • Page 196

    Generating Jav a source files 186 The Options page appears . 7 Select the Select Java gen eration options. Navigating between pages Use CTRL + P AGEDO WN or CTRL + PAGE UP to move to th e next or to the previous tab and display the correspondin g page. 8 Click OK. A Java class definition file is g e nerated w ith the file ex tension .java for each [...]

  • Page 197

    Chapter 5 Generating O bjects from an OO M 187 A BeanInf o class can only be created f rom a class if its ty pe is Java Bean. You can def ine th e ty pe of a class from its property sheet: v To create Java BeanInfo classes: 1 Selec t Language ➤ Create BeanInf o Classes. A selection win dow appears. It contains a list of all the clas ses in the mo[...]

  • Page 198

    Generating Jav a source files 188 3 Click OK. A BeanInf o class is created in the m odel for each of the classes y ou selected.[...]

  • Page 199

    Chapter 5 Generating O bjects from an OO M 189 Generating objects for Pow erBuilder You can generate Pow erB uilder NVO (non-v isual ob j ects) from th e classes of an OOM to either of the f ollowing : ♦ A PowerBuilder application ♦ SRU files You can create Pow erB uilder user objects only f rom the classes of the diagram and not from in terfac[...]

  • Page 200

    Generating objects for PowerBuilder 190 When ge ne rati ng o bj ects fo r a Po werBuild er a p plic ation, you must make a selection in both the PB library and PB app lication fields. If Pow erBuilder is not inst a lled o n your machine, you cannot ge nerat e obj ect s fo r a PowerBuilder applicatio n. Option Result of selection PB library Director[...]

  • Page 201

    Chapter 5 Generating O bjects from an OO M 191 4 Click A p p ly. 5 Click Cancel. Generating objects for a PowerBuilder application When you gene rate P owerB uilder obj ects, you must specify bo t h the PowerBuilder library and the application that will u se the objects, otherwise you w ill not be able to use them in Pow erBuilder. If PowerBuilder [...]

  • Page 202

    Generating objects for PowerBuilder 192 Select Tools All the classes of th e model, including th ose that are grouped into packages, are s elected and display ed by default. You can use th e Select tool s to the ri ght of the F older Selection dropdown lis tbox to modif y the selection. The Inclu de Sub-Packages tool, en ables you to include in y o[...]

  • Page 203

    Chapter 5 Generating O bjects from an OO M 193 Generating PowerBuilder objects in sru files When you g e nerate P owerBuilder objects in sru files, a separate file is created for each of th e classes that y ou select in the OOM. You d o not ha ve to ha ve Po werBuild er inst a lled o n your machine t o gener ate sru files. v To generate Pow erBuild[...]

  • Page 204

    Generating objects for PowerBuilder 194 The Options page appears . 5 Select the SRU option. 6 Select a directory in w hich you w ant to generate the .sru files. 7 Click OK. A PowerBuilder User Object is generated with the f ile extension .sru for each of the clas ses that you selected.[...]

  • Page 205

    Chapter 5 Generating O bjects from an OO M 195 Generating for XML You can gen erate an XML DTD file from an OOM. A DTD file provides an overall structure for an XML file. T he DT D file can be used as a s tandard for validatin g data in XML files or f o r exchanging data in XML form at. You can gen erate an XML DTD in one of the f ollowin g format [...]

  • Page 206

    Generating for XML 196 The Options page appears . 3 Sele ct XM L genera tion o ptio ns. 4 Click Apply . 5 Click Cancel. Generating XML objects When y o u generate XML from an OOM, PowerDesign er creates an XML f ile containing th e d efinition of each of the classes y ou select to generate in the XML Generation dialog box. You can select any of th [...]

  • Page 207

    Chapter 5 Generating O bjects from an OO M 197 v To generate XM L files: 1 Selec t Language ➤ Generate XML. The XML Gen eration dialog box opens. 2 Type a destination directory for generated XML file in th e Directory box. or Click the Browse to Folder button to the right of the Directory box and brow se to select a directory path. 3 Type a nam e[...]

  • Page 208

    Generating for XML 198 6 Click OK. An XML file is generated w ith the file extension .x ml.[...]

  • Page 209

    Chapter 5 Generating O bjects from an OO M 199 Customizing scripts You can cus tomize scripts as f ollows : ♦ Insert s cripts at the beg inni ng an d end of a s cript ♦ Insert scripts before and after a clas s or interface creation com mand Customizing a cr eatio n script allows y ou to ad d descriptive information about a generated script, or [...]

  • Page 210

    Customizing scripts 200[...]

  • Page 211

    201 CHAPTER 6 Generating a Conceptual Data Model from an Object-Oriented Model This chapter describ e s how to generate a Conceptual Data Model (CDM) from an Object-Oriented Model (OOM). Topic Page Ge nerating OOM objec ts to a CD M 202 Translating OOM data types f or a CDM 203 Ge nerating a CDM from an OOM 204 About this chapter Contents[...]

  • Page 212

    Generating OO M objects to a CDM 202 Generating OOM objects to a CDM When y o u generate a Conceptual Data Model (C DM) from an Object- Oriented Model (OOM), Pow erDesigner tran slates OOM objects and data ty pes to CDM objects an d data types. The curre nt ob j ect l anguage o f an OOM ha s no effec t on the ge nerat ion to a CDM. Translating OOM [...]

  • Page 213

    Chapter 6 Generating a Conc eptual Data Model from an Object-Oriented Model 203 Translating OOM data types for a CDM Pow erDesig ner su pports both Java and con ceptual data ty pes. When y o u generate objects f rom an OOM to a CDM, Java data ty pes are translated by PowerDesig ner into conceptu al data types. PowerDesig ner conceptual data ty pes [...]

  • Page 214

    Generating a CDM from an OOM 204 Generating a CDM from an OOM You can ge nerate a CDM from a global OOM or from a package w ithin the model. Limiting CDM ge nerat i on to a single p a ckage i s use ful when differ e nt design ers ow n packag es of the s ame OOM. Des igners can generate their packages in dependently from others. Gen erating a packag[...]

  • Page 215

    Chapter 6 Generating a Conc eptual Data Model from an Object-Oriented Model 205 You mu st indicate the follow ing parameters w hen you u p date an existing CDM: Parameter Description Select Mode l Target Conce ptual Data Model. T his is the existing CDM that the new ly g enerated CDM ( source m odel) is m erge d with to cr eate an updated C DM Pres[...]

  • Page 216

    Generating a CDM from an OOM 206 Check model before generation If y o u select the Check Model option , the procedure to gen erate a CDM starts by checking the v alidity of the OOM or package. A CDM results w hen no errors are f ound. You can set check options by selectin g Tools ➤ Check Model. Object selection parameters You sel ect o b jec ts f[...]

  • Page 217

    Chapter 6 Generating a Conc eptual Data Model from an Object-Oriented Model 207 Generating a new CDM When y o u generate from an OOM to a new C DM, PowerDesig ner creates a new CDM containing all th e objects that you s elected to generate in th e OOM. The new ly created CDM appears in th e browser and th e correspondin g diagram opens in the main [...]

  • Page 218

    Generating a CDM from an OOM 208 The Detail page appears. 5 Select or clear CDM gen eration options. 6 Click the Selection tab. The Selection page appears. 7 Select th e name of an OOM from th e Select L ocation dropdow n list.[...]

  • Page 219

    Chapter 6 Generating a Conc eptual Data Model from an Object-Oriented Model 209 Generating a CDM from a package To generate a CDM from a package, select the packag e name from the Sel ect Location dropdown lis tbox at the top of the page. To generate CDM from a sub-package, s elect the Sub-Packages Included t ool nex t to the Se lection L ocation d[...]

  • Page 220

    Generating a CDM from an OOM 210 Updating an existing CDM There are two w ays to u pdate an existin g CDM dependin g on w hether the Preserve Modification s options is s elected or not selected: Preserve Modifications Result Selected You can manually compare and merge existi n g CDM (target m odel) with the ne wly generated CDM ( sour ce m odel) No[...]

  • Page 221

    Chapter 6 Generating a Conc eptual Data Model from an Object-Oriented Model 211 3 Select a targ et model from the Select Model dropdown listbox. This is the existing m odel that you wan t to update. Preserve modifications If you w ant to preserve the existing objects in the CDM, then the Preserve m odifications checkbox m ust be selected. If y ou c[...]

  • Page 222

    Generating a CDM from an OOM 212 The Detail page appears. 5 Select or clear CDM gen eration options. 6 Click the Selection tab. The Selection page appears. 7 Select th e name of an OOM from th e Select Locat ion dropdow n list. The default CDM is generated from this OOM.[...]

  • Page 223

    Chapter 6 Generating a Conc eptual Data Model from an Object-Oriented Model 213 Generating a CDM from a package To generate a CDM from a package, select the packag e name from the Sel ect Location dropdown lis tbox at the top of the page. To generate CDM from a sub-package, s elect the Sub-Packages Included i con nex t to the Selection Location dro[...]

  • Page 224

    Generating a CDM from an OOM 214[...]

  • Page 225

    215 CHAPTER 7 Generating a Phy sical Data Model from an Object-Oriented Model This chapter describ es how to generate a Physical Data Model (PDM) from an Object-Oriented Model (OOM). Topic Page Ge nerating OOM objec ts to a PDM 216 Translating OOM data types f o r a PDM 217 Ge nerating a P DM from a n OOM 218 About this chapter Contents[...]

  • Page 226

    Generating OO M objects to a PDM 216 Generating OOM objects to a PDM When y o u generate a Phys ical Data Model (PDM) from an Object-Oriented Model (OOM), PowerDesig ner transl ates OOM objects and data ty pes to PDM objects and data types supported by t he current DBMS. The curre nt ob j ect l anguage o f an OOM ha s no effec t on the ge nerat ion[...]

  • Page 227

    Chapter 7 Generating a Phy sical Data Model from an Object-O riented Model 217 Translating OOM data types for a PDM Pow erDesig ner su pports both Java and ph ysical data types . Data types that you select in the OOM are n ot alw ays support ed by t he current DBMS. In this cas e, the data type i s transl ated to a data ty pe supported by t he DBMS[...]

  • Page 228

    Generating a PDM from an OOM 218 Generating a PDM from an OOM You can ge nerate a PDM from a global OOM or from a package w ithin the model. Limiting PD M gener atio n to a singl e pac kage is use ful when differ e nt design ers ow n packag es of the s ame OOM. Des igners can generate their packages in dependently from others. Gen erating a packag [...]

  • Page 229

    Chapter 7 Generating a Phy sical Data Model from an Object-O riented Model 219 You mu st indicate the follow ing parameters w hen you u p date an existing PDM: Parameter Description Select Mode l T arget Physica l Data Model. T h is is the ex isting PDM that the ne wly generate d P DM (sourc e m odel) is me rged w ith to create a n updated PDM DBMS[...]

  • Page 230

    Generating a PDM from an OOM 220 Defining PDM generation options You c a n set the fo llowing gener al gene r atio n opti ons: Option Description Check model Check s the m odel before g enerating the PDM, and stops gene ration if a n error is found Save gener a t ion depende ncies When selected, P owerDesigner keeps a record of which model wa s ge [...]

  • Page 231

    Chapter 7 Generating a Phy sical Data Model from an Object-O riented Model 221 You ha ve the fol l o wing selecti o n op t i ons: Parent object Include Sub- packages Display s Model Selected All objec ts in model including all objects cont ai ned in packages and su b-packages Mod el No t selected All object s in model excep t obj ect s co ntain ed [...]

  • Page 232

    Generating a PDM from an OOM 222 The PDM Generat ion Option s dialog box appears. 2 Click the Generate n ew Phy sical Data Mod el r adio button. 3 Select the DBMS y ou w ant to be associated to y our model from the DBMS dropdow n listbox . 4 Type a new name and code, otherwise, the PDM w ill have the same nam e and code as the OOM. 5 Click the Deta[...]

  • Page 233

    Chapter 7 Generating a Phy sical Data Model from an Object-O riented Model 223 6 Select or clear PDM generation options. 7 Click the Selection tab. The Selection page appears. 8 Select th e name of an OOM from th e Select L ocation dropdow n list. Generating a PDM from a package To generate a PDM from a pack age, select the package n ame f r om the[...]

  • Page 234

    Generating a PDM from an OOM 224 The Output w indow show s the progress of the generati o n process. The new P DM appears in the diagram window . Updating an existing PDM There are two w ays to u pdate an existin g PDM depending on whether th e Preserve Modification s options is s elected or not selected: Preserve Modifications Result Selected You [...]

  • Page 235

    Chapter 7 Generating a Phy sical Data Model from an Object-O riented Model 225 The P DM G e nerat i on Opt ions di a log bo x app ears. If you do no t have a PDM in the current Workspace, th e Update existing Phy sical Data Model optio n is not available. 2 Select the Update existing Phy sical Data Mod el radio button. 3 Select a targ et model from[...]

  • Page 236

    Generating a PDM from an OOM 226 The Detail page appears. 5 Select or clear PDM generation options. 6 Click the Selection tab. The Selection page appears. 7 Select th e name of an OOM from th e Select Locat ion dropdow n list. The default PDM is generated from this OOM.[...]

  • Page 237

    Chapter 7 Generating a Phy sical Data Model from an Object-O riented Model 227 Generating a CDM from a package To generate a CDM from a package, select the packag e name from the Sel ect Location dropdown lis tbox at the top of the page. To generate CDM from a sub-package, s elect the Sub-Packages Included i con nex t to the Selection Location drop[...]

  • Page 238

    Generating a PDM from an OOM 228[...]

  • Page 239

    229 CHAPTER 8 Using Object Languages Thi s c hapte r expl a ins how to use a n obj ect la nguage in an O OM. Topic Page Object la nguages 230 Using the object languag e editor 239 Object lan guage edito r categories 241 About this chapter Contents[...]

  • Page 240

    Object languages 230 Object languages An obj ect l a nguage co ntains sp ecific a tions fo r a p a rtic ul ar la ngua ge. It provides Pow erDesigner w ith the sy ntax and guidelin es for implem enting stere o types, d a ta types, sc ripts a nd const a nts for a n o bj e ct language . Ever y OOM is at t ached by defa ult to a n obj ect l anguage. Wh[...]

  • Page 241

    Chapter 8 Using Objec t Languages 231 A ccessing object language properties There are two different ways of accessing and m odifying an object language properties: Object language Menu item Description Lin k ed ( t o all m odels) Tools ➤ Resour ces ➤ Object La nguag es Used to def ine object langua ges for all m odels that are linked to this ob[...]

  • Page 242

    Object languages 232 The O bj e ct Language s Pro per ties di alog b ox ap p ears. In the l e ft pane i s a list of categories and sub- categories in wh ich are contained the valu es that y ou can m odify. 3 Expand a category node (and its sub- category if it h as one), and s elect a value. The nam e, associated com men t, and valu e of the f ield [...]

  • Page 243

    Chapter 8 Using Objec t Languages 233 The next tim e you open an OOM, th e modifications that you made in the obj ect language editor w ill remain the same for the ne wly o pened mod el. Modifying linked object language properties You c a n change a ny of the par a meters o f e xisting linke d ob jec t language s. The changes y ou make apply to all[...]

  • Page 244

    Object languages 234 The O bj e ct Language s Pro per ties di alog b ox ap p ears. In the l e ft pane i s a list of categories and sub- categories in wh ich are contained the valu es that y ou can m odify. 4 Expand a category node (and its sub- category if it h as one), and s elect a value. The nam e, associated com men t, and valu e of the f ield [...]

  • Page 245

    Chapter 8 Using Objec t Languages 235 Changing the object language of an OOM You c a n change t he ob j ect language fo r an O O M, d efining the ne w obje ct language as bei ng loca l to the model o r as b eing linke d to the model. v To change the object language of an OOM: 1 Open an OOM. 2 Sel e ct Langua ge ➤ Change Cur rent O b je c t Langua[...]

  • Page 246

    Object languages 236 The O bj e ct Language s window appe a rs. 3 Click the New tool. The New Obj ect Langua ge window app ears. 4 T ype a name fo r the new ob jec t language in the Na me box. 5 Sele ct an e xisting o b je ct langua ge fro m the Co py fro m dr opdow n listbox if you want the new obj ect l anguage to be b ased o n an exist ing one. [...]

  • Page 247

    Chapter 8 Using Objec t Languages 237 The O bje ct Language s Pro per t ies dia log bo x app e ars. 7 Expand t he category nodes as appropriat e and m odify com ments or values as required. 8 Click OK. A st andard Win dow s Save As box appears. 9 Type the filenam e and click Save. The o bj ect la nguage is save d in a fi l e with the XOL exte nsion[...]

  • Page 248

    Object languages 238 10 Cli ck Close. $ For info rmation o n how to asso c iate an o bj ect langua ge to a n O O M, see the sec t ion Changing t he ob j ect l anguage o f an OOM.[...]

  • Page 249

    Chapter 8 Using Objec t Languages 239 Using the object language editor You use t he ob j ect l anguage e d itor to co nsult or modify par ameters t ha t appear in categories or s ub-categ ories of an Object- Oriented Model. The o bj ect la ngua ge edi tor i s mad e up o f a numbe r of ca tegor ies, sub - categories, that con tain param eters. When [...]

  • Page 250

    Using the object language editor 240 Modifying v alues in the object language editor You ha ve to use t he ob j ect language e dito r fro m an Obj ect-O r iente d Mod el. The modific a tions tha t you make to va lues in the obj ect l anguage e d itor will apply to the current m o d e l, as well as to all new Object-Oriented Models. When you r ight [...]

  • Page 251

    Chapter 8 Using Objec t Languages 241 Object language editor categories The values you defin e as parameters fall into three categories: Category Description Gene ral Object la nguag e identific ation UML Objec t stereoty pes as def ined in UML Script G eneration char acter istics, c omm and definition, a nd data ty pe translations Extended Attribu[...]

  • Page 252

    Object language editor c ategories 242 The followi ng objects hav e existing default stereoty pes that you can modify : ♦ Class ♦ Operation ♦ Generalization ♦ Dependency ♦ Realization ♦ Package Class stereoty pes A class has the follow ing default stereotypes: Stereoty pe Description actor Coherent s et of roles enum eration List of nam[...]

  • Page 253

    Chapter 8 Using Objec t Languages 243 Operation stereoty pes An operation has the followin g default stereotype: Stereoty pe Description constructor Opera tion that cre ates a nd initializes a n instance of a cl ass Generalization stereoty pes A generalization has the f ollowing default stereoty pe: Stereoty pe Description imple menta tion Specif i[...]

  • Page 254

    Object language editor c ategories 244 Dependency st er eot y pes A dependen cy has the followin g default s tereotypes : Stereoty pe Description access P ubl i c conten ts of the target package that can by accessed by the source p ackage bind Source obje ct that instantiate s the targe t templa te using the g iven actual pa rameter s call Source o[...]

  • Page 255

    Chapter 8 Using Objec t Languages 245 Package stereotypes A packag e has the f o llow ing default stereoty pes: Stereoty pe Description Facade P ackage that i s a vi ew of another p ackage Framework P ackage that co nsists mostl y of patterns Mod el Specifies a semantically closed ab straction of a system Stub P ackage that serves as a p roxy for t[...]

  • Page 256

    Object language editor c ategories 246 Default const ant s The follo wing constant va lues ar e de fined b y default : Constant Default value Null 0 Tru e TRUE False FA LSE Void void Bool boolean Object scripts Dep ending o n the o b je ct langua ge family (J ava, X ML, … ) some pieces of generated code can be parameterized in this section. Each [...]

  • Page 257

    Chapter 8 Using Objec t Languages 247 The followi ng table lists all th e obj ects that can be cu stom ized, with an exam ple for each object specification. Object Specification Example Class Def inition: generate d code for a class <! ELEMENT % CSFRNAME% EMPTY> <!ATTRLIS T %CSF RNAM E %ATT RDEFINITIONS% > Interfa ce Definition: g enera[...]

  • Page 258

    Object language editor c ategories 248 XML M apping The reverse eng ineering of XML Data docu men ts needs a m apping table to identify which elem ent or attribute becom es a class, attribute or as sociation in the revers ed OOM. The XML Mapping s ub-category , defined u nder Object scripts, contain s three m aps: ClassMapping, A ttributeMapping an[...]

  • Page 259

    Chapter 8 Using Objec t Languages 249 Namings You can m odify the f ollowing defau lt names f o r Getter and Setter oper atio ns: Name Default value * set% Code% Name Default value boolean is% Code% * get %Code% Event You can u se this su b-category to def ine even ts on operations . The default exisiting events are constructor an d destructor. Ext[...]

  • Page 260

    Object language editor c ategories 250[...]

  • Page 261

    251 CHAPTER 9 Using Business Rules This chapter de scr ibes how business rules help y o u m odel information. Topic Page What is a busine ss rule? 252 Def ining business rule s in an OOM 253 Apply ing business rules to obje cts 256 About this chapter Contents[...]

  • Page 262

    What is a business r ule? 252 What is a business rule? A business rule is a w ritten statement specify ing w hat the information sy stem mu st do or how it m ust be struct ured to su pport business needs. A business rule is a r ule tha t your business follo ws. A business rule could b e a governm ent-im posed law, a cus tomer requirem ent, or an in[...]

  • Page 263

    Chapter 9 Using Busines s Rules 253 Defining business rules in an OOM You can def ine a busi ness ru le w hich can be attach ed to the followin g objects in an OOM: Domains Classes Interfaces Attributes Identifiers Operations Associations Generalizations Realizations Dependencies Ty pes of business rule In Po werDesigne r , you can d efine seve ral[...]

  • Page 264

    Defining business r ules in an OOM 254 Business rule properties A business rule definition includes the f o llowing prope r ties: Property Description Maximum length Name Name for the rule 254 Code Ref erence nam e for the rule 254 Comm ent Descriptive labe l for the rule — Type In dicates wheth er t h e rule is a defin i tion, a fact, a form ula[...]

  • Page 265

    Chapter 9 Using Busines s Rules 255 v To create a business rule: 1 Select Model ➤ Business Rules. The List o f Rules appe a rs. It d isplays the business r ule s d efined fo r the model . 2 Click a blank line in the list. or Click the Add a Row tool. An arrow appears at the begin ning of the line. 3 Type a nam e and a code for the bus iness ru le[...]

  • Page 266

    Applying business rules to objects 256 A pplying business rules to objects From the list of business rules, y ou can app ly a business rule to existing objects. You can also apply a business rule to objects f rom their property sheets or lists. A pplying a business rule to an object You can add business rules that already exist in the m odel, and w[...]

  • Page 267

    Chapter 9 Using Busines s Rules 257 The Selection w indow appears. It contains a list of all the busin ess rules that exist in th e model, w ith the exception of those th at already belong to the object. 4 Select the bus iness ru les that you w ant to add to the object. 5 Click OK. The busines s rules are added to th e obj ect and appear in th e li[...]

  • Page 268

    Applying business rules to objects 258[...]

  • Page 269

    259 Glossary A class th at cannot have an y direct instances An f o rm of association th at specifies a part-w hole relationship betw een a compon ent class an d an aggreg ate class A stru ctural relationship that describes a set of link s between objects The endpoint of an association, a role specifies the m ultiplicity and vi sibility between the[...]

  • Page 270

    Glossary 260 A class diag ram is a view of a model th at show s a set of packages , classes, interfaces, an d their relationships that tog ether represent th e logical static design view of a system . A class diagram may contain all or part of the class structu re of a sy stem A classi fier is a m echanism that has st ructural (attributes ) and beh[...]

  • Page 271

    Glossary 261 A specification of the rang e of allowable cardinalities that a set m ay assum e Class s tructure that is the logical desig n view of a software sy stem. A n OOM is essentially a static conceptual m odel o f a softw are system Contai ns the spe c ificat i o ns for a par t icular language. It pr ovid e s PowerDesig ner w ith the sy ntax[...]

  • Page 272

    Glossary 262 An ex tension of the vocabu lary of the UML, wh ich allow s you to create new kinds of building blocks t hat are deriv ed from existing ones but that are specific to y our problem An object that ceases to exist w hen the process that created it ceas es to exist Denotes how an object can be seen an d used by other objects stereoty pe tr[...]

  • Page 273

    Index 263 A abstract class 18 operation 67 abstract class 2 59 access depende ncy 109 actor class 20 add attribute 59 construc tor 73 operation 84 add objec t class 29 interface 41 add opera tion attribute 79 additional check parameter 131 addi t ional ch ecks doma in 120 agg rega tion 259 assoc iation 98, 102 role 102 application PowerBuilder 191 [...]

  • Page 274

    264 attribute ( continue d ) detail 58 diagra m 53 display 60 doma in 49, 57 dup licate 59 enforce coh eren ce 9 icon 60 identifier 49 initial value 49 interface 42 key words 60 length 49 list 52, 56 ma rkers 60 mode l option 9 modif y 54, 55, 56 multiplicity 49, 51 nam e 49 operation 79 preci sion 49 property 49, 54, 55 Rose im port 147 show 60 st[...]

  • Page 275

    265 changeability ( continued ) attribute 49 check assoc iation 136 attribute 136 automa tic correction 137 BeanInf o 136 class 136 correc t 141, 142 error list 142 gene raliza tion 136 interface 136 ma nual corre ction 137 mode l 138 OOM 136, 141, 142 operation 136 option 137, 138 realiz ation 136 view 136 check op tion automa tic correction 141 d[...]

  • Page 276

    266 class ( continued ) operation 67 package 14 parameter 88 previe w from class 33 preview from interface 45 realiz ation 114 co mmen t assoc iation 98 attribute 49 class 18 depende ncy 108 doma in 120 gene ralization 91 identifier 62 interface 36 Jav a code 152 OOM 11 operation 67 package 14 parameter 88 realiz ation 114 compile reverse engi neer[...]

  • Page 277

    267 data ty pe ( continued ) script 248 selec t 123 seria l 126, 217 short 203 time 127 transla te 203, 217 txt 203 undef ined 123 dataty pes options 9 date data ty pe 127 decimal data ty pe 126, 217 Default construc tor 74 defa ult stereoty pe class 20 def ine assoc iation 97, 102 attribute 48 business rule 252 check parameter 130 class 17 classif[...]

  • Page 278

    268 display ( continued ) realiz ation 118 diverg e from domain 9 docum entation Rose im port 146 doma in 260 access list 12 1 attribute 49, 57 check 12 0 check parame ter 130, 132 code 120 com me nt 120 create 121 create from Browser 121 data ty pe 120, 123, 125 def ine 120 diverg e from 9 enforce coh eren ce 9 length 120, 122 mode l option 9 modi[...]

  • Page 279

    269 gene ralization ( continued ) display 95 imple me ntation 92 list 95 modif y 94, 95 nam e 91 parent 91 property 91, 94 Rose im port 146, 148 stere otype 91, 92, 243 sy mbol 95 tool 5 virtua l 91 visibility 91, 92 generat e BeanInf o 186 CDM 202, 204 class 18 defi nition file 184 interface 36 Java 182 Java Bean 186 new CDM 204, 207 new PDM 218, [...]

  • Page 280

    270 initial value attribute 49 inner cla ss 23, 260 attach 2 4 detach 26 interface 41 reverse engi neerin g Java 1 51 InOut param eter direction 88 instantiate depende ncy 109 integer data ty pe 126, 217 interface 260 add object 41 attribute 42 Brow ser 37 check 13 6 code 36 com ment 36 create 37 defi ne 36 diagra m 38 display 46 genera te 36 inne[...]

  • Page 281

    271 linked object la nguag e 231 list association 104 attribute 52, 56 class 22, 28 depende ncy 112 gene ralization 95 identifier 66 interface 38, 40 operation 69, 72 realiz ation 118 load JDK 153 PowerBuilder 168 local object la nguag e 231 M ma nual correct 14 2 ma nual correction check 137, 141 mark classifiers reverse Java 152 reverse PowerBuil[...]

  • Page 282

    272 new mode l 6 object la nguag e 235 OOM 6 new CDM gene rate 207 new PDM gene rate 221 notation Entity/Re lationship 205 me rise 205 numbe r data ty pe 126, 217 O object business rule 256 gene rate 180 langua ge 230 script 246 xm l mapping 248 object la nguag e 261 cate gory 239, 241 constant 246 create 235 current 231, 235 customize 24 0 data ty[...]

  • Page 283

    273 open ( continue d ) OOM 8 PowerBuilder 168 Rose m odel 145 operation 261 abstract 6 7 add 84 attribute 79 Brow ser 68 check 13 6 class 31, 77 code 67 com ment 67 construc tor 68, 73 create 68, 84 defi ne 67 diagra m 70 display 85 duplicate 77, 84 event 6 7 fina l 67 Gette r 79 icon 86 imple me ntation 83 interface 44 key words 86 list 69, 72 ma[...]

  • Page 284

    274 pare nt depende ncy 108 gene ralization 91 operation 67 parameter 88 parent c lass operation 78 PDM data ty pe 217 gene rate 216, 218 gene rate f rom assoc iation 216 gene rate f rom clas s 216 gene rate options 220 generate p ackage 2 27 gene ration options 218 new 221 prese rve m odifications 225 selec t generation obje cts 220 update 224 per[...]

  • Page 285

    275 R realiz ation 261 check 13 6 class 114 code 114 com me nt 114 create 115 def ine 114 display 118 interface 114 link 114 list 118 modif y 116, 118 nam e 114 property 114, 116 stere otype 114 sy mbol 118 tool 5 recheck check option 141 refine depende ncy 109 return ty pe 261 operation 67 reverse engineeri ng .java 151 code 154 def ine 150 inner [...]

  • Page 286

    276 severity error 137 show attrib u te preference 6 0 operation 85 signal class 20 signa ture 261 sorted assoc iation 101 source f ile reverse engi neerin g Java 1 56 sru generate 193 PowerBuilder 193 standa rd check parameter 131 standard checks doma in 120 static attribute 49 operation 67 stere otype 262 assoc iation 98 clas s 18, 19, 20, 242 de[...]

  • Page 287

    277 V validate OOM 136 validation rule 130 apply 132 attribute 132 business rule 132 check parameter 132 def ine 132 doma in 132 gene rate 132 value object la nguag e 239 variabl e attribute 132 doma in 132 view check 13 6 virtu al gene ralization 91 visibility 262 assoc iation 98, 102 attribute 49, 50, 60 class 21 gene ralization 91, 92 interface [...]

  • Page 288

    278[...]