1/46
Vocabulary flashcards covering key terms and definitions from lecture notes on object-oriented design principles and UML modeling.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Object-Oriented Design (OOD)
A design approach that models a system as a set of self-contained objects and object classes which manage their own state and operations.
Object
An entity with state (attributes) and behavior (operations) that provides services to other objects via message passing.
Object Class
A template that defines the attributes and operations common to a group of objects; used to instantiate objects.
Encapsulation
The principle of hiding an object's internal state and requiring all interaction to occur through its operations.
Message Passing
The mechanism by which objects communicate, conceptually sending a service request and any required data.
Object-Oriented Analysis (OOA)
The activity focused on building an object model of the application domain to understand requirements.
Object-Oriented Programming (OOP)
The implementation of an OOD using an object-oriented language such as Java or C++.
Advantages of OOD
Includes easier maintenance, better reusability, and natural mapping of real-world entities to system objects.
Unified Modeling Language (UML)
A standardized set of notations used to model object-oriented analysis, design, and implementation artifacts.
UML Structural Diagram
A diagram type that shows the static structure of a system, e.g., Class, Object, Component, Deployment diagrams.
UML Behavioral Diagram
A diagram type that depicts dynamic behavior, e.g., Sequence, State Machine, Activity diagrams.
Class Diagram
A UML structural diagram that depicts classes, their attributes, operations, and relationships.
Attribute
A named property of a class that describes the data held by its objects; appears in the second compartment of a class box.
Derived Attribute
An attribute whose value can be computed from other attributes, denoted with a preceding “/” in UML.
Operation
A function or service provided by a class; listed in the third compartment of a UML class box.
Visibility Symbols
Responsibility (in UML Class)
A contractual service or obligation of a class, sometimes listed in a separate compartment for clarity.
Dependency Relationship
A UML relationship indicating that one element uses or depends on another (dashed arrow).
Generalization
A UML relationship connecting a subclass to its superclass, showing inheritance of attributes and behavior.
Multiple Inheritance
The ability of a class to inherit from more than one superclass, permitted by UML.
Association
A structural relationship indicating communication or linkage between classes, optionally named and given roles.
Multiplicity
A UML notation on an association that specifies how many objects participate (e.g., 1..*, 0..1).
Aggregation
A whole-part association where parts can exist independently of the whole, shown with a hollow diamond.
Composition
A strong whole-part association with shared lifetime; parts are destroyed with the whole, shown with a filled diamond.
Navigability
Direction indicator on an association showing which class is aware of, or can send messages to, the other.
Association Class
An association treated as a class, allowing attributes and operations to be attached to the relationship itself.
Interface (UML)
A named set of operations that defines a service contract without implementation details; marked with «interface».
Realization
A UML relationship where a class implements an interface, depicted by a dashed line with hollow triangle.
Enumeration
A user-defined data type listing named literals, marked with «enumeration» in UML.
Exception (UML)
A class stereotype «exception» representing error conditions and their handling operations.
Package
A container element used to group related UML elements and control access between them.
Component Diagram
A UML diagram showing the organization and dependencies of software components in the implementation view.
Deployment Diagram
A UML diagram that models run-time nodes (hardware) and the components that execute on them.
Sequence Diagram
An interaction diagram that emphasizes time-ordered message exchange between objects along vertical lifelines.
Lifeline (Sequence Diagram)
A dashed vertical line below an object symbol representing the object's existence over time.
Return Message (Sequence Diagram)
A dashed arrow with an open arrowhead showing the return of control or data from a previous call.
Iteration Marker
State Machine Diagram
A behavioral diagram modeling the states of an object and transitions caused by events over its lifecycle.
Start State
The single initial pseudo-state of a state machine diagram, marking where an object's lifecycle begins.
Composite State
A state containing substates; can be sequential or concurrent, used to simplify complex behavior.
Activity Diagram
A flowchart-like UML diagram that models the flow of control from activity to activity across objects or operations.
Synchronization Bar (Activity Diagram)
A thick horizontal or vertical line used to model parallel fork or join of concurrent activities.
OO Design Characteristic: Elimination of Shared Data
In OOD, global shared data areas are avoided; objects communicate solely through message passing.
Self-Contained Object
An object that encapsulates both state and behavior, enabling modular reasoning and stand-alone maintenance.
Class Signature
The precise listing of operation names, parameter types/defaults, and return types for a class.
Whole-Part Relationship
A structural connection where one class represents the whole and another represents its parts (aggregation or composition).
Role Name (Association)
A label on an end of an association showing the role played by instances of the connected class in the relationship.