1/19
Flashcards on Object-Oriented Software Construction and Finite State Modeling
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Class Diagram
A diagram used to show the existence of classes and their relationships in the logical view of a system.
Class Notation
The notation for a class in a class diagram, consisting of three sections: class name, attributes, and operations.
Attribute Specification Format
visibility attributeName : Type [multiplicity] = DefaultValue {property string}
Operation Specification Format
visibility operationName (parameterName : Type) : ReturnType {property string}
Association (in class diagram)
A connection between classes, denoting a semantic connection.
Generalization
Converting a subclass type into a superclass type, also called widening or up casting.
Specialization
Converting a super class type into a sub class type, also called narrowing or down-casting
Composition
A strong 'has-a' relationship where the containing object owns the contained object, and their lifecycles are tied.
Aggregation
A 'has-a' relationship where the objects' lifecycles are not tied; each can exist independently.
Qualifier
An attribute or list of attributes of the association end.
Constraint
The expression of some semantic condition that must be preserved.
Public Visibility (+)
Accessible from anywhere.
Protected Visibility (#)
Accessible within the class and its subclasses.
Private Visibility (-)
Accessible only within the class.
Package Visibility (~)
Accessible within the same package.
Finite State Machine (FSM)
Defined by a set of states, a set of input symbols, and a set of transitions.
Mealy Machine
An FSM where the output depends on the event and the current state.
Moore Machine
An FSM where the output depends only on the state.
Java Enum
A special 'class' that represents a group of constants (unchangeable variables, like final variables).
HashMap in Java
A data structure that stores items in 'key/value' pairs.