Object-Oriented Analysis, Design Standards, and Software Testing

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

1/57

flashcard set

Earn XP

Description and Tags

Vocabulary practice flashcards covering Object-Oriented Analysis, Design Standards, and Object-Oriented Software Testing.

Last updated 2:08 PM on 9/9/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

58 Terms

1
New cards

Object Oriented Analysis (OOA)

The first phase of the OOAD lifecycle in which the problem domain and user requirements are studied and modelled in terms of objects, without deciding how the system will be implemented.

2
New cards

Use Case Model

A collection of use cases, actors, and their relationships that captures the functional requirements of a system from the perspective of its users.

3
New cards

Actor

A role played by a user or external system interacting with the system under design, represented as a stick figure in a UML use case diagram.

4
New cards

Use Case

A discrete unit of functionality expressed as a goal an actor wants to achieve, representing a sequence of actions the system performs.

5
New cards

System Boundary

A rectangle in a UML use case diagram that separates what is inside the system (use cases) from what is outside (actors).

6
New cards

Object Analysis

The process of examining the use case model and requirement text to identify candidate objects, their attributes, behaviours, and relationships before implementation decisions are made.

7
New cards

Noun Phrase Approach

An object identification technique of underlining nouns and noun phrases in requirement text to discover candidate classes, where adjectives suggest attributes and verbs suggest operations.

8
New cards

Classification

The process of grouping objects that share common attributes and behaviour into classes, and organizing those classes into meaningful hierarchies.

9
New cards

Classical Approach to Classification

A classification approach based on a fixed set of necessary and sufficient properties, where an object either belongs to a class or does not.

10
New cards

Conceptual Clustering

A classification approach where objects are grouped based on the concept they describe, allowing class membership to depend on how well an object fits a described concept.

11
New cards

Prototype-Based Classification

A classification approach where a class is defined by a representative prototype, and an object belongs to the class if it closely resembles that prototype.

12
New cards

Generalization

An "is-a" relationship created bottom-up by factoring out common attributes and behaviour of several classes into a more general superclass.

13
New cards

Specialization

A top-down classification process starting from a general class and creating more specific subclasses that add extra attributes or behaviour.

14
New cards

Association

A general structural link between two classes where instances of one class are connected to instances of another class.

15
New cards

Aggregation

A "whole-part" relationship where the part can exist independently of the whole, representing weak ownership.

16
New cards

Composition

A strong "whole-part" relationship where the part's lifetime depends on the whole, meaning deleting the whole deletes the parts.

17
New cards

Dependency

A weaker relationship where one class uses another class temporarily, such as a method parameter or return type.

18
New cards

Object Relationships Summary

Summary table listing descriptions and examples for Association, Aggregation, Composition, Generalization, and Dependency.

19
New cards

Multiplicity

A specification on an association indicating how many instances of one class relate to how many instances of another class (e.g., 1, 0..1, 1.., 0..).

20
New cards

Attribute

A property or characteristic of an object that represents data and describes object properties.

21
New cards

Method

An operation or behaviour performed by an object to represent behaviour and perform operations.

22
New cards

Attributes vs. Methods

Comparison showing that attributes represent data and describe properties, whereas methods represent behavior and perform operations.

23
New cards

Responsibility

An obligation an object has to provide a service (a doing responsibility) or to maintain information (a knowing responsibility).

24
New cards

CRC Card

A Class-Responsibility-Collaborator index card used in brainstorming to allocate a class's name, its responsibilities, and its collaborating classes.

25
New cards

Independence Axiom (Axiom 1)

A design axiom stating that component independence must be maintained so each component satisfies one functional requirement without adversely affecting others.

26
New cards

Information Axiom (Axiom 2)

A design axiom stating that among all designs satisfying the Independence Axiom, the design with the minimum information content (least complexity) should be selected.

27
New cards

Corollary

A practical design guideline derived from design axioms that translates abstract axioms into day-to-day architectural rules.

28
New cards

Design Pattern

A general, reusable solution template to a commonly occurring problem in software design, describing structural or interaction rules for classes and objects.

29
New cards

Design Pattern Categories

Classification of GoF design patterns into Creational (object creation), Structural (composition), and Behavioral (communication and responsibility assignment).

30
New cards

Singleton Pattern

A creational pattern that ensures a class has only one instance and provides a single global point of access to it.

31
New cards

Factory Method Pattern

A creational pattern that defines an interface for creating an object, but lets subclasses decide which class to instantiate.

32
New cards

Observer Pattern

A behavioral pattern that defines a one-to-many dependency so that when one object changes state, all its dependents are notified automatically.

33
New cards

Strategy Pattern

A behavioral pattern that defines a family of interchangeable algorithms, encapsulating each one and allowing them to vary independently of clients.

34
New cards

Adapter Pattern

A structural pattern that converts the interface of a class into another interface clients expect, allowing incompatible classes to work together.

35
New cards

Facade Pattern

A structural pattern that provides a simplified, unified interface to a complex subsystem.

36
New cards

Access Layer

The layer in a layered architecture responsible for communication between business/domain objects and the underlying storage mechanism, isolating business logic from storage details.

37
New cards

OODBMS

An Object-Oriented Database Management System that stores data directly as objects—preserving identity, encapsulation, and inheritance—rather than rows and columns.

38
New cards

OODBMS vs. RDBMS Comparison

Detailed comparison of OODBMS and RDBMS regarding storage units, schema, relationships, query languages, and impedance mismatch.

39
New cards

Table Class Mapping Strategies

Standard strategies for persisting object-oriented class structures into relational database tables.

40
New cards

Single Table Inheritance

An ORM strategy where an entire class hierarchy is mapped to a single table, using a discriminator column to indicate which subclass each row represents.

41
New cards

Class Table Inheritance

An ORM strategy where each class in a hierarchy gets its own table, and a subclass row is joined to its parent row via a shared key.

42
New cards

Concrete Table Inheritance

An ORM strategy where each concrete (leaf) class gets its own table containing all inherited and own attributes, with no table created for abstract superclasses.

43
New cards

View Layer

The topmost layer in a layered architecture responsible for displaying information to users and capturing input, operating without business logic.

44
New cards

Software Testing

The process of executing a program or system with the intent of finding errors and verifying that it satisfies specified requirements.

45
New cards

Verification

The process checking "Are we building the product right?", ensuring software work products conform to their specifications.

46
New cards

Validation

The process checking "Are we building the right product?", determining whether the finished software satisfies actual user needs.

47
New cards

Quality Assurance (QA)

A planned and systematic set of process-oriented activities that ensures the development process and software products conform to established standards.

48
New cards

Test Case

A documented set of conditions, inputs, test steps, and expected results created to verify whether a specific feature, method, or requirement behaves as intended.

49
New cards

State-Based Testing

A class-level testing approach where a method is exercised across every relevant state an object can be in.

50
New cards

Boundary Value Analysis

A test design technique that tests input values at the upper and lower edges of valid input ranges.

51
New cards

OO Unit Testing

Unit testing focused on the class as the primary unit under test, testing its methods and state variables together.

52
New cards

Thread-Based Testing

An OO integration testing strategy that integrates and tests the set of collaborating classes required to respond to a single input event or system thread.

53
New cards

Cluster Testing

An integration strategy that groups collaborating classes into a cluster and tests them together to expose interaction faults.

54
New cards

Regression Testing

The re-running of existing test cases after code changes to confirm no new defects were introduced in dependent classes.

55
New cards

Test Plan

A formal document describing the scope, approach, resources, schedule, deliverables, and pass/fail criteria of intended testing activities.

56
New cards

Usability Testing

Evaluation of a software product by observing representative users completing realistic tasks to identify problems in interaction design.

57
New cards

User Satisfaction Testing

Measurement of subjective user comfort and experience with a system using surveys, interviews, or standardized instruments like SUS.

58
New cards

Online Course Registration System Diagram

UML class diagram illustrating the relationships, attributes, and multiplicities between Student, Enrollment, and Course.