![Page 1: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/1.jpg)
Copyright Joey Paquet, 2000 1
Basic Structural Modeling
![Page 2: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/2.jpg)
Copyright Joey Paquet, 2000 2
Part I
Classes
![Page 3: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/3.jpg)
Copyright Joey Paquet, 2000 3
Classes• Description of a set of objects sharing the same
attributes, operations and semantics
• Abstraction of the things that are part of theapplication domain vocabulary
• Can represent software, hardware or conceptualthings
![Page 4: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/4.jpg)
Copyright Joey Paquet, 2000 4
Terms and Concepts• Names
– nouns drawn from the application domainvocabulary, beginning with a capital letter
– short but long enough to carry a meaning
– can include the path of the package(s) itbelongs to
![Page 5: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/5.jpg)
Copyright Joey Paquet, 2000 5
Terms and Concepts• Attributes
– named properties of a class representing thestate of the objects
– extension of classical data structures
– can include type and default values
![Page 6: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/6.jpg)
Copyright Joey Paquet, 2000 6
Terms and Concepts• Operations
– implementation of a behavior or service
– messages that can be understood by the class
– verb or verb phrase describing the intendedbehavior
– can define the interface of the functions
![Page 7: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/7.jpg)
Copyright Joey Paquet, 2000 7
Terms and Concepts• Organizing Attributes and Operations
– some attributes and operations can be omitted
– they can be organized using stereotypes
![Page 8: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/8.jpg)
Copyright Joey Paquet, 2000 8
Terms and Concepts• Responsibilities
– defines the requirements of classes
– expressed as form-free text
– can be used in early stages for abstraction
![Page 9: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/9.jpg)
Copyright Joey Paquet, 2000 9
Common Modeling Techniques• Modeling the vocabulary of the system
– identify things that users use to describe the problem
– identify things that implementers use to describe thesolution
– for each class, identify a set of responsibilities
– provide the attributes and operations needed to carryout these responsibilities
– aggregate related clusters into packages
![Page 10: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/10.jpg)
Copyright Joey Paquet, 2000 10
Common Modeling Techniques• Modeling the distribution of responsibilities
in a system– identify a set of classes that work together to carry out
some behavior
– identify a set of responsibilities for these classes
– aggregate classes that have too few responsibilities
– split classes that have too many responsibilities
– consider the workload involved by each responsibilityand distribute the load evenly
![Page 11: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/11.jpg)
Copyright Joey Paquet, 2000 11
Hints and Tips• When you model, define classes that
– are an abstraction of something drawn either from thevocabulary of the problem or the solution
– embody a small, well-defined set of responsibilities
– are understandable, simple, extensible and adaptable
![Page 12: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/12.jpg)
Copyright Joey Paquet, 2000 12
Hints and Tips• When you draw class diagrams
– show only those properties of the class that important inthe current context
– organize long lists of attributes and operations usingstereotypes
– show related classes in the same diagrams
![Page 13: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/13.jpg)
Copyright Joey Paquet, 2000 13
Part II
Relationships
![Page 14: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/14.jpg)
Copyright Joey Paquet, 2000 14
Relationships• Very few classes stand alone
• Classes collaborate to respond to service requests
• We must model the interactions between objectsand classes– Dependencies: uses relationships
– Generalizations: subclass/superclass relationships
– Associations: structural relationships
![Page 15: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/15.jpg)
Copyright Joey Paquet, 2000 15
Relationships
![Page 16: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/16.jpg)
Copyright Joey Paquet, 2000 16
Terms and Concepts• Dependencies
– a change in the state of an object may affect thebehavior of the depending object
– a class uses another in its behavior
– drawn as a dashed directed line
– most often used to show that one of the operations usesanother class as an argument
– dependencies can be used at various levels ofabstraction
![Page 17: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/17.jpg)
Copyright Joey Paquet, 2000 17
Terms and Concepts• Generalizations
– relationship between a general thing (parent) and amore specific thing (child) of the same kind
– the child inherits the attributes and operations of theparent class
– operations can be redefined in the child and overridethe operations of the parent (polymorphism)
– drawn as a directed line with open arrowhead
![Page 18: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/18.jpg)
Copyright Joey Paquet, 2000 18
Terms and Concepts
5-3
![Page 19: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/19.jpg)
Copyright Joey Paquet, 2000 19
Terms and Concepts• Associations
– used to show structural relationships where none of the classes ispart of the other
– drawn as a solid line connecting classes
• Name of an association– describes the nature of the relationship
– can include the direction of the relationship
– drawn as a tag on the middle of the association
5-4
![Page 20: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/20.jpg)
Copyright Joey Paquet, 2000 20
Terms and Concepts• Roles of an association
– identifies the role that each class plays in therelationship
– drawn as a tag on the near end of the association
– same class can play different roles in different contexts
![Page 21: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/21.jpg)
Copyright Joey Paquet, 2000 21
Terms and Concepts• Defining multiplicity in an association
– shows how many objects of the same type are involvedin the association
– similar to multiplicity defined in entity-relationshipdiagrams
![Page 22: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/22.jpg)
Copyright Joey Paquet, 2000 22
Terms and Concepts• Aggregation
– an association where one class is part of the other(has-a relationship)
– drawn as a solid line with a diamond on the whole sideof the relation
![Page 23: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/23.jpg)
Copyright Joey Paquet, 2000 23
Common Modeling Techniques• Modeling simple dependencies
– e.g. dependency between a class and a class being aparameter in one of its operations
– can be omitted if the signature of the operations isprovided in the class description
![Page 24: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/24.jpg)
Copyright Joey Paquet, 2000 24
Common Modeling Techniques• Modeling single inheritance
– some classes that have common behavior or structurecan be have a common superclass
– given a set of classes, look for responsibilities,attributes and operations common to two or moreclasses
– elevate these elements to a more general class withoutintroducing too many levels
– specify that the children inherit from the parent using ageneralization relationship from children to parent
– multiple inheritance is allowed, cyclic inheritance is not
![Page 25: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/25.jpg)
Copyright Joey Paquet, 2000 25
Common Modeling Techniques• Modeling structural relationships
– for each pair of classes, if you need to navigate betweenthe two, define an association between them (data-driven associations)
– for each pair of classes, if an interaction is neededbetween the two (other than parameters to an operation)specify an association between the two (behavior-driven associations)
– for each of these associations, define their multiplicity
– if one of the classes is a part of the other, make it anaggregation
![Page 26: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/26.jpg)
Copyright Joey Paquet, 2000 26
Common Modeling Techniques
![Page 27: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/27.jpg)
Copyright Joey Paquet, 2000 27
Hints and Tips• When you model
– use dependencies only when the relationship is notstructural
– use generalizations only when you have a is-kind-ofrelationship
– cyclical generalization is not allowed
– inheritance trees should not be too deep nor too wide
![Page 28: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/28.jpg)
Copyright Joey Paquet, 2000 28
Hints and Tips• When you draw
– use rectilinear or oblique lines consistently
– avoid lines that cross
– show only relationships that are necessary to theunderstanding of the diagram in the current context
![Page 29: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/29.jpg)
Copyright Joey Paquet, 2000 29
Part III
Common Mechanisms
![Page 30: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/30.jpg)
Copyright Joey Paquet, 2000 30
Common Mechanisms• Some important facts about a design might
not be expressible in the basic UMLnotation– notes
– version number of components
– constraints on dependencies
![Page 31: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/31.jpg)
Copyright Joey Paquet, 2000 31
Terms and Concepts• Notes
– a graphical symbol used to attach comments orconstraints to an element
– drawn as a rectangle with a dog-eared corner containinga textual or graphical comment
– it does not carry any semantic impact
• Tagged values– extension of the properties of a UML element
– drawn as a string enclosed in {brackets}
![Page 32: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/32.jpg)
Copyright Joey Paquet, 2000 32
Terms and Concepts• Stereotypes
– extension of the vocabulary of the UML
– used to create new kinds of building blocks
– drawn as a name enclosed in <<guillemets>>
– can be represented as a new kind of icon
• Constraint– extension of the semantics of a UML element
– drawn as a string enclosed in {brackets}
– can be put in a note
![Page 33: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/33.jpg)
Copyright Joey Paquet, 2000 33
Hints and Tips• Use notes only for facts that can’t be expressed
using the UML
• Use notes to specify work in progress
• Don’t use too many or large notes
• Standardize the use of stereotypes, tagged valuesand constraints
• Don’t use too many graphical stereotypes
• Use only general and simple additions
![Page 34: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/34.jpg)
Copyright Joey Paquet, 2000 34
Part IV
Diagrams
![Page 35: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/35.jpg)
Copyright Joey Paquet, 2000 35
Diagrams• Simplification of reality
• Using a limited set of general-use building blocks
• Different types of diagrams are used to representthe system in different perspectives
• Good diagrams make the system moreunderstandable
• Choosing the right diagrams forces you to ask theright questions and illuminate their implications
![Page 36: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/36.jpg)
Copyright Joey Paquet, 2000 36
Terms and Concepts• Structural diagrams
– Used to visualize, specify, construct anddocument the static aspects of the system
– Represents the “skeleton” of the system
![Page 37: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/37.jpg)
Copyright Joey Paquet, 2000 37
Terms and Concepts• Structural diagrams
– Class diagram• a set of classes interfaces, collaborations and their relationships
• used to render the static design view of a system
– Object diagram• same as class diagram, but for instances
• “snapshot” of the relations between objects in a hypotheticalsituation
![Page 38: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/38.jpg)
Copyright Joey Paquet, 2000 38
Terms and Concepts• Structural diagrams
– Component diagrams• shows a set of software components and their relationships
• used to render a static implementation view of the system
– Deployment diagrams• shows a set of nodes and their relations
• used to render the static deployment view of the system
• more abstract version of component diagrams
![Page 39: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/39.jpg)
Copyright Joey Paquet, 2000 39
Terms and Concepts• Behavioral diagrams
– Used to visualize, specify, construct anddocument the dynamic aspects of the system
– Represents the behavior of the system
![Page 40: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/40.jpg)
Copyright Joey Paquet, 2000 40
Terms and Concepts• Behavioral diagrams
– Use case diagrams• shows a set of use cases and actors and their
relationships
• shows the different views that are possible on thesystem
• defines subsets of classes (and their interactions)that are needed to achieve a certain goal of thesystem
![Page 41: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/41.jpg)
Copyright Joey Paquet, 2000 41
Terms and Concepts• Behavioral diagrams
– Sequence diagrams• defines the time ordering of messages exchanged
between a set of objects
• shows a set of objects and the messages sent andreceived between these objects towards therealization of a certain service
![Page 42: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/42.jpg)
Copyright Joey Paquet, 2000 42
Terms and Concepts• Behavioral diagrams
– Collaboration diagrams• defines all the dynamic interactions between a set of
objects
• shows a set of objects, links among those objects,and messages sent and received by those objects inthe general case (not related to a specific service)
– Sequence and collaboration diagrams carry thesame information but not in the same context
![Page 43: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/43.jpg)
Copyright Joey Paquet, 2000 43
Terms and Concepts• Behavioral diagrams
– Statechart diagram• defines a behavior that specifies the sequences of
states an object goes through during its lifetime inresponse to events, together with its responses tothose events
• emphasizes the event-ordered behavior of an object
• used to model the behavior of an interface, class orcollaboration between classes
![Page 44: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/44.jpg)
Copyright Joey Paquet, 2000 44
Terms and Concepts• Behavioral diagrams
– Activity diagram• defines the flow of control among objects
• shows the flow from activity to activity within thesystem
• shows a set of activities, the sequential or branchingflow between activities and objects that act or areacted upon in the activity
![Page 45: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/45.jpg)
Copyright Joey Paquet, 2000 45
Common Modeling Techniques• Modeling different views of a system
– views are the different dimensions from whichthe system can be represented
– different views expose different aspects of theproblem or see the same aspect in a differentcontext
– must find the right set of views
– must focus on different views separately, andthen find a compromise for common parts
![Page 46: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/46.jpg)
Copyright Joey Paquet, 2000 46
Common Modeling Techniques• Modeling different views of a system
– decide which views best express thearchitecture and expose all problems
– for each of these views, chose which kind ofdiagrams you will use to capture its details
– decide which of these will be part of thedocumentation
– unused diagrams should not be thrown away
![Page 47: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/47.jpg)
Copyright Joey Paquet, 2000 47
Common Modeling Techniques• Modeling different levels of abstraction
– different people involved in the developmenthave different needs
– the different kinds of diagrams propose adifferent view on the system
– some people need abstract information, othersneed exact information
– several versions of the same diagram, at variouslevels of abstraction, might be needed
![Page 48: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/48.jpg)
Copyright Joey Paquet, 2000 48
Common Modeling Techniques• Modeling different levels of abstraction
– consider the different needs of the readers
– create different abstraction levels for diagramsthat are read by different readers
– hide or reveal building blocks and relationships
– hide or expand messages and transitions thatare essential to understanding
– reveal only adornments that are essential tounderstanding (e.g. classifying stereotypes)
![Page 49: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/49.jpg)
Copyright Joey Paquet, 2000 49
Hints and Tips• When you design a diagram
– diagrams are a tool, they do not need to be cute
– not all diagrams are meant to be preserved
– find an goal and an audience for each diagramand show only the information needed toexplain the solution to the intended audience
– give meaningful names to all diagrams
– group diagrams into packages
![Page 50: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/50.jpg)
Copyright Joey Paquet, 2000 50
Hints and Tips• A well structured diagram
– is focused on communicating one aspect of thesystem
– contains only those elements that are essentialto understanding that aspect
– provides details consistent with its level ofabstraction
![Page 51: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/51.jpg)
Copyright Joey Paquet, 2000 51
Hints and Tips• When you draw a diagram
– give it a name that communicates its purpose
– lay out elements to minimize lines that cross
– lay out related elements close to one another
– use colors and notes to draw attention onimportant features
![Page 52: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/52.jpg)
Copyright Joey Paquet, 2000 52
Part V
Class Diagrams
![Page 53: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/53.jpg)
Copyright Joey Paquet, 2000 53
Class Diagrams• Most common diagram used to model
object-oriented systems
• Shows a set of classes, interfaces, andcollaborations and their relationships
• Models the static design view of the system
• Involves modeling the vocabulary of thesystem requirements specifications
![Page 54: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/54.jpg)
Copyright Joey Paquet, 2000 54
Terms and Concepts• Class diagrams commonly contain
– classes
– interfaces
– collaborations
– relationships
– notes and constraints
– packages or subsystems
![Page 55: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/55.jpg)
Copyright Joey Paquet, 2000 55
Terms and Concepts• Common uses
– model the static design view to support thefunctional requirements of the system
• model the vocabulary of the system: first defineclasses and their responsibilities, and then refinetowards attributes, operations
• model simple collaborations: define the interactionsbetween classes towards the definition of a commonbehavior
• model a database schema: data elements areattributes, tables are classes, and relationshipsare…relationships
![Page 56: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/56.jpg)
Copyright Joey Paquet, 2000 56
Common Modeling Techniques• Modeling simple collaborations
– identify the mechanism to model.
– for each mechanism, identify the classes, interfaces,and other collaborations that participate in thiscollaboration; as well as their relationships
– use scenarios to walk through these things
– populate these elements with their required contents(attributes and operations) first starting withresponsibilities
![Page 57: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/57.jpg)
Copyright Joey Paquet, 2000 57
Example
![Page 58: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/58.jpg)
Copyright Joey Paquet, 2000 58
Common Modeling Techniques• Modeling a logical database schema
– identify the classes whose state must transcend thelifetime of their application
– create a class diagram for these and mark them as<<persistent>> with a tagged value
– define their attributes and associations (and theircardinalities)
– define data-specific operations on these classes
![Page 59: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/59.jpg)
Copyright Joey Paquet, 2000 59
Example of Database Schema
![Page 60: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/60.jpg)
Copyright Joey Paquet, 2000 60
Hints and Tips• A well-structured class diagram
– is focused on communicating only one aspectof the system’s static design
– provides only the details that are consistentwith its associated level of abstraction
– is not minimalist
![Page 61: Basic Structural Modeling - Encspaquet/wiki/... · •Structural diagrams –Class diagram •a set of classes interfaces, collaborations and their relationships •used to render](https://reader034.vdocument.in/reader034/viewer/2022042318/5f07d8187e708231d41f08ef/html5/thumbnails/61.jpg)
Copyright Joey Paquet, 2000 61
Hints and Tips• When you draw a class diagram
– give it a name that communicates its purpose
– minimize line crossing
– use colors and notes to emphasize importantaspects
– lay out related elements close to one another