s5 pim class · optimalj training section 5 - pim:class model 2 3 class model • contains the...
TRANSCRIPT
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
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
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
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)
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
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
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
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
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
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
OptimalJ training section 5 - PIM:Class model 11
21
Domain Patterns
22
Applying Domain Patterns
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