s5 pim class · optimalj training section 5 - pim:class model 2 3 class model • contains the...

12
OptimalJ training section 5 - PIM:Class model 1 1 PIM—Class model OptimalJ Foundation 2 Roadmap Class model Class model Creating the class model Classes and class members Associations and generalization Domain patterns

Upload: others

Post on 08-Jan-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: S5 PIM Class · OptimalJ training section 5 - PIM:Class model 2 3 Class Model • Contains the information structure • Is graphically represented using class diagrams • Shows

OptimalJ training section 5 - PIM:Class model 1

1

PIM—Class model

OptimalJ Foundation

2

Roadmap

• Class model• Class model• Creating the class model

• Classes and class members• Associations and generalization• Domain patterns

Page 2: S5 PIM Class · OptimalJ training section 5 - PIM:Class model 2 3 Class Model • Contains the information structure • Is graphically represented using class diagrams • Shows

OptimalJ training section 5 - PIM:Class model 2

3

Class Model

• Contains the information structure • Is graphically represented using class diagrams • Shows the relationship between classes • Is the basis from which the application model is

generated

4

Creating the Class Model

Page 3: S5 PIM Class · OptimalJ training section 5 - PIM:Class model 2 3 Class Model • Contains the information structure • Is graphically represented using class diagrams • Shows

OptimalJ training section 5 - PIM:Class model 3

5

Roadmap

• Class model• Classes and class members

• Class model elements• Classes and class members• Attributes• Attribute data types• Operations

• Associations and generalization• Domain patterns

6

Class Model Elements

• DomainClass• DomainAttribute• DomainOperation

• DomainParameter

• DomainReference• DomainUniqueConstraint

• DomainAssociation• DomainAssociationEnd

• DomainGeneralization

• DomainAttributeConstraint• AttributeConstraintRange

• DomainEnumType• DomainLiteral

• DomainStructType• DomainLiteral

Page 4: S5 PIM Class · OptimalJ training section 5 - PIM:Class model 2 3 Class Model • Contains the information structure • Is graphically represented using class diagrams • Shows

OptimalJ training section 5 - PIM:Class model 4

7

Classes and Class Members(1)

• Class• a set of objects that share the same attributes, operations,

[methods], relationships and semantics.

• Attribute• a feature within a class that describes a range of values that

instances of the class may hold.

• Operation• a service that can be requested from an object to effect behavior.

• Relationship• a semantic connection among model elements.

8

Classes and Class Members(2)

Page 5: S5 PIM Class · OptimalJ training section 5 - PIM:Class model 2 3 Class Model • Contains the information structure • Is graphically represented using class diagrams • Shows

OptimalJ training section 5 - PIM:Class model 5

9

Attributes

• Attributes are added using:• the Create DomainClass or Edit DomainClass wizards accessed

from Explorer • the Domain Class Diagram

• Specifying:• name• type• multiplicity (mandatory or optional value)• length• initialValue

10

Attribute Data Types

• Primitive types• Pre-defined reference types (classes)• Other types defined in the domain model:

• class• struct• enum

Page 6: S5 PIM Class · OptimalJ training section 5 - PIM:Class model 2 3 Class Model • Contains the information structure • Is graphically represented using class diagrams • Shows

OptimalJ training section 5 - PIM:Class model 6

11

Operations

• Operations are defined for classes in the class model• Operations are implemented as business methods in

the EJB model• Code bodies are added in ClassBean.java files

12

Roadmap

• Class model• Classes and class members

• Associations and generalization• Associations• Association types• Multiplicity• Association versus composition• Specific types of association• Generalization

• Domain patterns

Page 7: S5 PIM Class · OptimalJ training section 5 - PIM:Class model 2 3 Class Model • Contains the information structure • Is graphically represented using class diagrams • Shows

OptimalJ training section 5 - PIM:Class model 7

13

Associations

• Add relationships in the domain class diagram• Specify association properties

• name• connection(s)

• Specify association end properties• aggregation• navigability• multiplicity• name (role name)

14

Association Types

• Association• No effect on primary domain unique constraint of either side• No interdependence of life cycles

• Composition• Primary domain unique constraint of the part side includes a

reference to the whole side• Life cycle of the part side depends on the whole side

Page 8: S5 PIM Class · OptimalJ training section 5 - PIM:Class model 2 3 Class Model • Contains the information structure • Is graphically represented using class diagrams • Shows

OptimalJ training section 5 - PIM:Class model 8

15

Multiplicity

• You set the multiplicity for each association end to:• Zero or one (optional one-end)• Zero or more (optional many-end)• Exactly one (mandatory one-end)• One or more (mandatory many-end)

16

Association Versus Composition

Whole side

Part side

Page 9: S5 PIM Class · OptimalJ training section 5 - PIM:Class model 2 3 Class Model • Contains the information structure • Is graphically represented using class diagrams • Shows

OptimalJ training section 5 - PIM:Class model 9

17

Unary association

Association classes

0..*

0..*Many-to-many associations

Specific Types of Association

Manager

0..*

1

Employee

Class Bx..y x..y

Class A

AssociationClass AB

Student Course

Class B

18

Generalization

Page 10: S5 PIM Class · OptimalJ training section 5 - PIM:Class model 2 3 Class Model • Contains the information structure • Is graphically represented using class diagrams • Shows

OptimalJ training section 5 - PIM:Class model 10

19

Exercises

• Explore a class model• Discover the characteristics of an existing class model

• Create a domain class model• Add two classes and their attributes to an existing domain class

model and add associations between the classes

• Define inheritance (domain generalization)• Create a domain class model which includes superclasses and

subclasses

• Create, install and use a domain pattern module• Create a reusable domain pattern library• Install and use a domain pattern module and

apply it to a domain model package

20

Roadmap

• Class model• Classes and class members• Associations and generalization

• Domain patterns• Applying domain patterns• Distributing domain patterns

Page 11: S5 PIM Class · OptimalJ training section 5 - PIM:Class model 2 3 Class Model • Contains the information structure • Is graphically represented using class diagrams • Shows

OptimalJ training section 5 - PIM:Class model 11

21

Domain Patterns

22

Applying Domain Patterns

Page 12: S5 PIM Class · OptimalJ training section 5 - PIM:Class model 2 3 Class Model • Contains the information structure • Is graphically represented using class diagrams • Shows

OptimalJ training section 5 - PIM:Class model 12

23

Distributing Domain Patterns

24

Summary• The OptimalJ domain class model:

• Is a Platform Independent Model (PIM)• Can be created manually, imported or created from domain

patterns• Contains structural information about the business model• Can contain some behavioral information

• Domain patterns allow you to create reusable class models