Software Engineering – Object-Oriented Design & UML

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/46

flashcard set

Earn XP

Description and Tags

Vocabulary flashcards covering key terms and definitions from lecture notes on object-oriented design principles and UML modeling.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

47 Terms

1
New cards

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.

2
New cards

Object

An entity with state (attributes) and behavior (operations) that provides services to other objects via message passing.

3
New cards

Object Class

A template that defines the attributes and operations common to a group of objects; used to instantiate objects.

4
New cards

Encapsulation

The principle of hiding an object's internal state and requiring all interaction to occur through its operations.

5
New cards

Message Passing

The mechanism by which objects communicate, conceptually sending a service request and any required data.

6
New cards

Object-Oriented Analysis (OOA)

The activity focused on building an object model of the application domain to understand requirements.

7
New cards

Object-Oriented Programming (OOP)

The implementation of an OOD using an object-oriented language such as Java or C++.

8
New cards

Advantages of OOD

Includes easier maintenance, better reusability, and natural mapping of real-world entities to system objects.

9
New cards

Unified Modeling Language (UML)

A standardized set of notations used to model object-oriented analysis, design, and implementation artifacts.

10
New cards

UML Structural Diagram

A diagram type that shows the static structure of a system, e.g., Class, Object, Component, Deployment diagrams.

11
New cards

UML Behavioral Diagram

A diagram type that depicts dynamic behavior, e.g., Sequence, State Machine, Activity diagrams.

12
New cards

Class Diagram

A UML structural diagram that depicts classes, their attributes, operations, and relationships.

13
New cards

Attribute

A named property of a class that describes the data held by its objects; appears in the second compartment of a class box.

14
New cards

Derived Attribute

An attribute whose value can be computed from other attributes, denoted with a preceding “/” in UML.

15
New cards

Operation

A function or service provided by a class; listed in the third compartment of a UML class box.

16
New cards

Visibility Symbols

  • public, # protected, - private indicators placed before attributes or operations to show access level.
17
New cards

Responsibility (in UML Class)

A contractual service or obligation of a class, sometimes listed in a separate compartment for clarity.

18
New cards

Dependency Relationship

A UML relationship indicating that one element uses or depends on another (dashed arrow).

19
New cards

Generalization

A UML relationship connecting a subclass to its superclass, showing inheritance of attributes and behavior.

20
New cards

Multiple Inheritance

The ability of a class to inherit from more than one superclass, permitted by UML.

21
New cards

Association

A structural relationship indicating communication or linkage between classes, optionally named and given roles.

22
New cards

Multiplicity

A UML notation on an association that specifies how many objects participate (e.g., 1..*, 0..1).

23
New cards

Aggregation

A whole-part association where parts can exist independently of the whole, shown with a hollow diamond.

24
New cards

Composition

A strong whole-part association with shared lifetime; parts are destroyed with the whole, shown with a filled diamond.

25
New cards

Navigability

Direction indicator on an association showing which class is aware of, or can send messages to, the other.

26
New cards

Association Class

An association treated as a class, allowing attributes and operations to be attached to the relationship itself.

27
New cards

Interface (UML)

A named set of operations that defines a service contract without implementation details; marked with «interface».

28
New cards

Realization

A UML relationship where a class implements an interface, depicted by a dashed line with hollow triangle.

29
New cards

Enumeration

A user-defined data type listing named literals, marked with «enumeration» in UML.

30
New cards

Exception (UML)

A class stereotype «exception» representing error conditions and their handling operations.

31
New cards

Package

A container element used to group related UML elements and control access between them.

32
New cards

Component Diagram

A UML diagram showing the organization and dependencies of software components in the implementation view.

33
New cards

Deployment Diagram

A UML diagram that models run-time nodes (hardware) and the components that execute on them.

34
New cards

Sequence Diagram

An interaction diagram that emphasizes time-ordered message exchange between objects along vertical lifelines.

35
New cards

Lifeline (Sequence Diagram)

A dashed vertical line below an object symbol representing the object's existence over time.

36
New cards

Return Message (Sequence Diagram)

A dashed arrow with an open arrowhead showing the return of control or data from a previous call.

37
New cards

Iteration Marker

  • or *[i=1..n] notation on a sequence diagram indicating repeated message sending.
38
New cards

State Machine Diagram

A behavioral diagram modeling the states of an object and transitions caused by events over its lifecycle.

39
New cards

Start State

The single initial pseudo-state of a state machine diagram, marking where an object's lifecycle begins.

40
New cards

Composite State

A state containing substates; can be sequential or concurrent, used to simplify complex behavior.

41
New cards

Activity Diagram

A flowchart-like UML diagram that models the flow of control from activity to activity across objects or operations.

42
New cards

Synchronization Bar (Activity Diagram)

A thick horizontal or vertical line used to model parallel fork or join of concurrent activities.

43
New cards

OO Design Characteristic: Elimination of Shared Data

In OOD, global shared data areas are avoided; objects communicate solely through message passing.

44
New cards

Self-Contained Object

An object that encapsulates both state and behavior, enabling modular reasoning and stand-alone maintenance.

45
New cards

Class Signature

The precise listing of operation names, parameter types/defaults, and return types for a class.

46
New cards

Whole-Part Relationship

A structural connection where one class represents the whole and another represents its parts (aggregation or composition).

47
New cards

Role Name (Association)

A label on an end of an association showing the role played by instances of the connected class in the relationship.