General_UML Flashcards
Memorize UML basics (based on Karoly Udemy course)
Name 5 diagram types in UML
Use Case Diagram Class Diagram Activity Diagram Sequence Diagram Statechart Diagram
What does a use case diagram do?
Describes the functionality of a system, from user’s pov (functional)
What does a class diagram do?
Describes a system in terms of objects, attributes, operations, relations (Structural)
What are the three parts of a Class Diagram and what are their naming conventions?
Class Name: singular noun; camel uppercase
Attributes: lower camelcase
Methods: lower camelcase
How do we control who can access the attributes and methods of a class?
\+ public: can be used by code outside the object - private: can only be accessed within the defined class # protected: accessible from defining and child classes ~ package: available within its enclosing package
Name the different kinds of relationships that express the relations and dependencies between the objects (+ annotation)
Generalization: “is a”; child-parent; line with open arrow head
Association: “interaction”; full line
Aggregation: “has a”; line with hollow diamond at owner’s end (redundant?)
Composition: “part of”; ownership; when owner dies contained objects die too
Dependency: “references”; changes in one class may cause changes in the other; dashed line with arrow at dependency
Realization: “implements behavior”; class implements the behavior specified by another element: dashed line with open arrow at implementor’s end
What are possible nodes in an Activity Diagram? + explain + annotation
Decision node: one inbound flow, two or more outbound; filled diamond; add guards between [] near outbound flows
Merge node: two or more inbound flows; one outbound; hollow diamond
How do you represent concurrent, parallel behavior in an Activity Diagram?
Fork: one inbound, two or more outbound; need to be synchronized; thick line
Join: represents synchronization after fork; two or more incoming, one outbound; thick line
What are the elements of a Statechart Diagram
State: possible conditions; rounded rectangles
Transition: arrow, with trigger event as annotation
Event: event that triggers the transition
What are the preliminary steps for Object-Oriented Design?
Gather requirements Describe system pov user Use cases User stories Identify classes Create diagrams