Object-Oriented Analysis and Design (OOAD) with UML

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/53

flashcard set

Earn XP

Description and Tags

Comprehensive practice flashcards defining core Object-Oriented Analysis and Design (OOAD) and Unified Modeling Language (UML) terminology, diagrams, views, principles, and team roles.

54 Terms

1
New cards

Unified Modeling Language (UML)

A standard visual modeling language used for specifying, visualizing, constructing, and documenting the artifacts of software-intensive systems, business models, and non-software systems.

2
New cards

Artifact

A physical piece of information produced by the software development process, which includes requirements, architecture, design specifications, source code, project plans, test suites, prototypes, and user manuals.

3
New cards

Things (UML)

The primary structural, behavioral, grouping, and annotational abstractions that serve as first-class citizens in a UML model.

4
New cards

Relationships (UML)

The semantic connections that tie UML things together, including dependency, association, generalization, and realization.

5
New cards

UML Diagram Views

The architectural perspectives used to model a system, comprising the User View, Structure View, Behavioral View, Implementation View, and Environmental View.

<p>The architectural perspectives used to model a system, comprising the User View, Structure View, Behavioral View, Implementation View, and Environmental View.</p>
6
New cards

User View

The system perspective that defines external functionalities and facilities made available by the system to its users, represented using use case diagrams.

7
New cards

Structure View

The system perspective that defines the static composition of objects and classes along with their relationships, captured using class and object diagrams.

8
New cards

Behavioral View

The system perspective that captures dynamic, time-dependent interactions between objects to realize system operations, represented by sequence, collaboration, state-chart, and activity diagrams.

9
New cards

Implementation View

The system perspective that captures the packaged structural code components of the system and their dependencies, modeled through component diagrams.

10
New cards

Environmental View

The system perspective that models the physical layout, hardware nodes, and execution deployment of software components across an enterprise, represented by deployment diagrams.

11
New cards

Use Case

A sequence of actions and scenarios that describes an interaction between an actor and the system, yielding measurable value to the actor from the user's perspective.

12
New cards

Actor

A role played by a person, organization, machine, or external system that resides outside the system boundary and directly interacts with the system.

13
New cards

System Boundary Box

A rectangular boundary drawn in a use case diagram indicating the scope of the system; elements inside represent internal functionality, whereas elements outside are external.

14
New cards

Essential Scenario

A use case scenario that focuses purely on core user intent and system response while deliberately excluding specific user interface technology or interaction mechanics.

15
New cards

Elaborate Scenario

A detailed use case scenario that explicitly incorporates interface mechanisms and operational specifics, such as mouse or keyboard navigation steps.

16
New cards

Class

An abstract blueprint, template, or description defining a category of objects that share common attributes, operations, methods, relationships, and semantics.

17
New cards

Object

A discrete software bundle of variables and related methods representing an entity with an identity, a state, and defined behavior.

18
New cards

Attribute

A named data property of a class describing the type and range of values that instances can hold, collectively defining an object's state.

19
New cards

Operation

The implementation of a service, command, or query that can be requested from any instance of a class to execute a specific behavior.

20
New cards
<p>CRC Card Layout</p>

CRC Card Layout

A three-part index card template used in object modeling that organizes the Class Name at the top, Responsibilities on the left, and Collaborators on the right.

21
New cards

Responsibilities (CRC)

The knowledge and behavioral duties allocated to a class, specifying what the class knows (attributes) and what it does (operations).

22
New cards

Collaborator (CRC)

Another class that a given class must interact with or request services from in order to satisfy its assigned responsibilities.

23
New cards

Multiplicity

A numerical indicator placed at the ends of an association line (such as 11, 0..10..1, or 1..*1..\text{*}) that specifies how many instances of one class can link to one instance of the target class.

24
New cards

Association Class

A class attached to an association line via a dashed line that holds properties, attributes, or methods belonging to the relationship itself rather than to either related class.

25
New cards

Ternary Association

An association connecting three classes simultaneously, represented graphically in UML by a hollow diamond.

26
New cards

Recursive Association

An association where a class maintains a relationship with itself, also referred to as a reflexive association.

27
New cards

Interaction Diagram

A graphical representation depicting the dynamic message-passing behavior and collaboration among a community of objects fulfilling a specific scenario.

28
New cards

Sequence Diagram

An interaction diagram that illustrates object interactions chronologically, emphasizing the time ordering of messages flowing from top to bottom.

29
New cards

Lifeline

A vertical dashed line extending downward from an object box in a sequence diagram representing the existence and duration of that object over time.

30
New cards

Focus of Control

A tall, thin rectangle positioned along an object's lifeline in a sequence diagram that indicates the exact period an object directs messages or executes an action.

31
New cards

Guard

A boolean condition enclosed within square brackets ([][ ]) in interaction and activity diagrams that must evaluate to true for an operation or transition to execute.

32
New cards

Controller

A dedicated class that coordinates application workflow, handles incoming requests from the GUI, and manages core business logic operations.

33
New cards

Collaboration Diagram

A spatially oriented interaction diagram that emphasizes the structural organization and communication links between objects, using numbered labels to indicate message order.

34
New cards

State Transition Diagram

A dynamic model describing the sequence of states an individual object passes through over its lifetime in response to external events, conditions, and actions.

35
New cards

Activity Diagram

A workflow diagram representing step-by-step procedural flows where states primarily represent actions and transitions are triggered by the completion of internal activities.

36
New cards

Fork (Activity Diagram)

A solid horizontal or vertical synchronization bar used to split a single incoming flow into multiple parallel, concurrent activity branches.

37
New cards

Join (Activity Diagram)

A solid horizontal or vertical synchronization bar used to synchronize and merge multiple concurrent activities back into a single outgoing control flow.

38
New cards

Branch (Activity Diagram)

A diamond symbol representing a decision point where an incoming flow is directed along alternative paths according to evaluated guard expressions.

39
New cards

Component Diagram

A structural diagram showing the physical organization and dependencies among software modules, libraries, tables, executables, and documents.

40
New cards

Deployment Diagram

A diagram that visualizes the distribution of software components and artifacts across physical computational nodes and hardware configurations.

41
New cards

Node (Deployment)

A computational hardware or execution environment element depicted as a three-dimensional box upon which software artifacts reside and run.

42
New cards

Encapsulation

The object-oriented principle of packaging attributes and methods within a single class while hiding internal data representations from outside unauthorized access.

43
New cards

Abstraction

The design process of isolating and emphasizing essential properties of an entity while suppressing implementation and operational details that are irrelevant to the current perspective.

44
New cards

Modularity

The structural property of a system that has been decomposed into a collection of cohesive, loosely coupled, and independently manageable modules.

45
New cards

Hierarchy (Inheritance)

A structural ordering where subclasses derive operations and information structures from a generalized superclass, facilitating code reuse and specialization.

46
New cards

Polymorphism

A type-theoretic principle allowing a single interface or operation identifier to execute different underlying implementations depending on the target object's class.

47
New cards

Algorithmic Decomposition

A top-down structured design technique where a software system is partitioned into major processing steps and functional procedural modules.

48
New cards

Object-Oriented Decomposition

A system partitioning strategy based on modeling problem-domain entities as autonomous interacting objects that encapsulate state and behavior.

49
New cards

Business Domain Experts (BDEs)

Team members who work directly with business operations daily (such as operational clerks) and provide direct domain knowledge to guide system requirements.

50
New cards

Object Design Analyst

A modeling team specialist with expertise in object-oriented methodologies responsible for shaping object architectures and continuing into implementation phases.

51
New cards

Facilitator

The analysis and design team leader who organizes modeling sessions, guides technical discussions, ensures active contribution, and maintains requirement alignment.

52
New cards

Scribe

A team member possessing strong listening and written skills assigned to record discussions and capture secondary details during modeling sessions.

53
New cards

Rational Unified Process (RUP)

An iterative software engineering framework divided into four phases that repeatedly executes analysis, design, implementation, and testing cycles.

54
New cards

Time Boxing

An iterative project management technique where development cycles are set to a fixed duration, requiring teams to adjust deliverables to fit the designated window.