Samenvatting - Modelleren en Ontwerpen (5072MOON6Y)
79 views 8 purchases
Course
Modelleren en Ontwerpen (5072MOON6Y)
Institution
Universiteit Van Amsterdam (UvA)
Een samenvatting van de volledige tentamenstof voor modelleren en ontwerpen. De onderwerpen die terugkomen in Ans zijn groen gemarkeerd, dus mocht je op het tentamen focussen moet je die goed leren!
Class Diagrams
Objecten: een individu in een systeem. Een instantie die zich in een systeem bevindt.
Object Diagram:
• Objects of a system and their relationships (links)
• Snapshot of objects at a specific moment in time
Classes: bevat alle gelijkenissen tussen die vergelijkbare objecten in een systeem of domein
Class diagram: shows the static view of a system.
Class diagrams describe a system on type level, object diagrams on instance level.
Class diagrams describe the structure of a system. object diagrams describe the shape of a system at a certain point
in time.
Attributes: structural characteristics of a class.
• Attributes can have a type.
Syntax:
• Visibility: Who is permitted to access the attribute
• + public: iedereen
• - private: alleen de class zelf
• # protected: de class zelf en de subclasses
• ~ package: classes die in dezelfde package zitten
• {optional}: allows blank values
• /attribute name: derived attribute
• Naam: de naam van de attribuut
Data Type: welk data type is een attribuut.
Can be primitive types and enumerations.
• Pre-defined: Boolean, Integer, UnlimitedNatural, String;
• User-defined: primitive
o Primitive datatypes have no internal structure
• Syntax: <<datatype>> or <<enumeration>>
Enumerations: kan één van bepaalde waardes hebben (bijvoorbeeld academic degree)
Enumerations:
• may have operations.
• have the keyword <<enumeration>>.
• are a user-definable data type which instances form a list of named literal values.
Multiplicity: aantal waardes dat een attribuut kan hebben
o default waarde is 1.
o Notatie: [min…max]
o No upper limit: *
• Default waardes: wanneer een gebruiker niet expliciet een waarde toekent aan een attribuut. Voorbeeld:
wachtwoord
• Property: eigenschappen van een waarde. Predefined properties:
o {readOnly} ... value cannot be changed
o {unique} ... no duplicates permitted
o {non-unique} ... duplicates permitted
o {ordered} ... fixed order of the values
o {unordered} ... no fixed order of the values
,Operations: vormen het gedrag van een class (wat kan een class doen?).
• Operations may have parameters and return values.
Syntax:
• Parameters:
o in ... input parameter: When the operation is used, a value is expected from this parameter
o out ... output parameter. After the execution of the operation, the parameter has adopted a new value
o inout : combined input/output parameter
• Type: iedere return van een operation is van een bepaald type.
Wanneer een attribuut of operation wordt onderstreept, dan heb je het over een class attribute of een class
operation. Een class attribute is statisch, deze word 1 keer per class gedefinieerd. Deze is voor alle instanties van
deze class hetzelfde. Een class operation is nuttig als je de operation ook wilt gebruiken waar er geen instanties van
deze class zijn.
Binary association: connects instances of two classes with one another.
Associations:
• may have navigable and non-navigable association directions.
• may have multiplicities to indicate to how many instances of a class the object is associated to.
• show possible relations between instances of classes.
Optional information:
• Multiplicity at the end of an association.
• An arrow at the end to show navigability.
• A small filled triangle near the association name to show in which way to "read" the name.
• Name
Navigability:
o Navigability: an object knows its partner objects and can therefore access their visible attributes and
operations. Indicated by open arrow head.
o
• Non-navigability: indicated by cross
o
• Navigability undefined: bidirectional navigability is assumed
o
• Multiplicity: het aantal objecten dat geassocieerd mag worden met exact 1 object van de andere kant.
Role: beschrijft de rol die een object heeft in een relatie
•
• Exclusive or constraint (xor): of een object heeft een relatie met één object, of met het andere.
N-ary Association: more than two partner objects are involved in the relationship. It has no navigation directions.
Ternary: three partner object in a relationship.
To define the cardinalities of ternary associations you have to set the cardinality of two classes to one and determine
the cardinality of the third class.
• Association class: Assign attributes to the relationship between classes rather than to a class itself.
o They model that the existence of one object depends on the existence of the association between two
other objects.
o They further specify associations.
o Nodig bij een n:m relatie
o Niet per se nodig voor een 1:1 of 1:n relatie, wel mogelijk.
, Aggregation: hiermee kan je aangeven dat een class onderdeel is van een andere class.
o Transitief: als B deel is van A en C is deel van B, C is deel van A.
o Asymmetrisch: het is niet mogelijk voor A om deel te zijn van B en B deel te zijn van A tegelijk.
Shared aggregation: Expresses a weak belonging of the parts to a whole. Parts also exist independently of the whole.
Multiplicity at the aggregating end may be >1: One element can be part of multiple other elements simultaneously
Syntax: Hollow diamond at the aggregating end.
Composition: Existence dependency between the composite object and its parts. If the composite object is deleted,
its parts are also deleted
o When the composite element is deleted, the parts also die.
o The composite aggregation is a transitive relationship.
o In a composition, a part may belong to only one composite at a time
o a synonym for strong aggregation
One part can only be contained in at most one composite object at one specific point in time: Multiplicity at the
aggregating end max. 1
Syntax: Solid diamond at the aggregating end.
Generalization: een vrij overzichtelijke relatie tussen classes. Je kan het lezen als een ‘is a’ relatie.
• Every instance of a subclass is simultaneously an indirect instance of the superclass.
• Subclass inherits all characteristics, associations, and aggregations of the superclass except private ones.
• A subclass can inherit from multiple superclasses.
• Subclass may have further characteristics, associations, and aggregations.
• Generalizations are transitive.
A generalization:
• may be overlapping or disjoint.
• allows using the instance of a subclass when the instance of a superclass is expected.
• allows a class to inherit the behavior of another class.
• may be complete or incomplete.
• allows taxonomical relations between superclasses and subclasses.
Abstract classes: Used to highlight common characteristics of their subclasses.
• An abstract class may not be instantiated.
• It may be used so that operations that several classes need only have to be implemented once.
• An abstract class is only useful if it has subclasses.
• Multiple inheritance: je kan kenmerken en attributen overnemen van de superclass.
Reflexive association: an instance of a class can be associated with several other instances of that class. An event
may be part of another event
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller matthiaslouws. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $10.16. You're not tied to anything after your purchase.