Software Engineering – The Object Model

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

1/29

flashcard set

Earn XP

Description and Tags

Vocabulary flashcards covering key terms from the lecture on objects, interfaces, UML, object relationships, OO vs. process-oriented approaches, and supporting methodologies such as traceability, testing, measurement, and security.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

30 Terms

1
New cards

Software Object

A programming construct that encapsulates data (attributes/state) and behavior (methods) into a single, self-contained unit.

2
New cards

Method (Operation)

A callable procedure defined inside an object that specifies an acceptable service the object can perform.

3
New cards

Method Signature

The name of a method together with its parameters, parameter types, and return type; defines how clients may call the method.

4
New cards

Interface

A set of method signatures that describes the services an object offers while hiding its internal state.

5
New cards

Encapsulation

The principle of hiding an object’s internal state and exposing functionality only through its interface.

6
New cards

Client Object

An object that sends messages (method calls) requesting services from other objects.

7
New cards

Server Object

An object that receives messages, performs requested services, and returns results.

8
New cards

Message

A method call sent from a client object to a server object to request a service.

9
New cards

On-Demand Design

Design approach where interfaces and their implementations are created to satisfy the immediate needs of client objects rather than pre-defining features.

10
New cards

Attributes (State)

Variables maintained inside an object that represent its current condition or data.

11
New cards

Software Module

A loose grouping of subprograms and data; lacks the strict encapsulation enforced by objects.

12
New cards

Subprogram (Behavior)

A standalone procedure or function inside a module; equivalent to a method inside an object.

13
New cards

Composition

An object relationship in which one object contains references to other objects to use their services (has-a relationship).

14
New cards

Inheritance

An object relationship where a derived class acquires the attributes and methods of a base class (is-a relationship).

15
New cards

Change Propagation

The effect where modifications in a base class automatically affect derived classes, creating potential risk for new bugs.

16
New cards

UML Class Notation

A diagram element with three compartments: class name, attributes, and operations.

17
New cards

UML Interface

A stereotype «interface» element that lists only operation signatures, implemented by one or more classes.

18
New cards

Base Class

A general class whose properties are inherited by another class.

19
New cards

Derived Class

A class that extends a base class, inheriting and possibly overriding its behavior.

20
New cards

Front-End Class

In composition, the object that acts as a façade, delegating work to the contained (back-end) object.

21
New cards

Process-Oriented Approach

Development mindset centered on sequential steps and actions; intuitive but hard to scale for complex systems.

22
New cards

Object-Oriented Approach

Development mindset centered on organizing responsibilities among collaborating objects; scales better but is harder to design well.

23
New cards

Traceability

The ability to follow every requirement through design, implementation, and testing artifacts without unexplained gaps.

24
New cards

Test-Driven Development (TDD)

A practice where tests are written first and development proceeds only when code passes those tests.

25
New cards

Measurement (in SE)

The use of metrics and tools to monitor product quality and developer productivity.

26
New cards

Security Development Lifecycle (SDL)

Microsoft’s structured process for integrating security considerations throughout software development.

27
New cards

Prime Factorization

The expression of an integer as a product of prime numbers (e.g., 905 = 5 × 181).

28
New cards

Coprime (Relatively Prime)

Two integers with no common factor other than 1; equivalently, their greatest common divisor is 1.

29
New cards

Greatest Common Divisor (GCD)

The largest integer that divides two numbers without remainder; equals 1 for coprime pairs.

30
New cards

Rube Goldberg Machine (TDD Example)

Illustrates that passing a single test case doesn’t guarantee robustness; a system may work for one scenario yet remain fragile.