Card 1 of 24 Known: 0 / 24
click to reveal definition
click to flip back
You know 0 of 24 cards in current set.

Ready to get certified?

Get Certified

Need this expertise applied inside your organization?

Explore Our Services

Full Glossary

Foundations

Object-Oriented Analysis and Design (OOAD)
A method for understanding a problem (analysis) and shaping a solution (design) as collaborating objects, using UML to model both.
Analysis vs. Design
Analysis clarifies what the system must do in the problem domain; design decides how it will be built in the solution domain.
UML
The Unified Modeling Language, the standard visual notation for modeling object-oriented structure and behavior.
Iterative OOAD
Analysis and design evolve iteratively as understanding grows, rather than being completed in one pass.

Analysis

Analysis Model
A model of the problem domain capturing key classes, responsibilities, and relationships, independent of technology.
Use Case Realization
Showing how analysis objects collaborate to fulfill a use case, connecting requirements to structure.
Boundary, Control, Entity
Analysis stereotypes: boundary (interfaces), control (coordination), and entity (domain data) objects.
Responsibilities
What each class knows and does; assigning them well drives cohesive, maintainable models.

Design

Design Model
A refinement of the analysis model that adds implementation decisions — technology, interfaces, and structure — to enable building the system.
Architecture
The high-level structure of components and their relationships that provides a robust framework for detailed design.
Layering
Organizing the system into layers (e.g., presentation, domain, data) to separate concerns and manage dependencies.

Design Principles

Encapsulation
Hiding internal data and exposing behavior through interfaces, reducing coupling and protecting invariants.
Cohesion and Coupling
Good design maximizes cohesion within a class and minimizes coupling between classes for maintainability.
SOLID Principles
Five OO design guidelines — Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Dependency Inversion — for robust design.
Design Patterns
Proven, reusable solutions to recurring design problems (e.g., Strategy, Observer, Factory).

Structure Diagrams

Class Diagram
Shows classes, attributes, operations, and relationships — central to both analysis and design models.
Package Diagram
Organizes model elements into packages to manage large models and dependencies.
Component Diagram
Shows software components, their interfaces, and dependencies for design-level structure.
Deployment Diagram
Shows how software artifacts are deployed onto hardware nodes in the runtime environment.

Behavior Diagrams

Sequence Diagram
Shows objects collaborating over time via messages to realize behavior and design interactions.
Activity Diagram
Models workflow and logic as actions, decisions, and flows, useful for processes and complex behavior.
State Machine Diagram
Models the states and transitions of objects with significant lifecycle behavior.

Quality

Traceability
Linking requirements to analysis to design to tests so coverage and change impact stay clear.
Just Enough Modeling
Creating the models that add value for understanding, communication, and design, without over-documenting.
Get started with ICON, today.
Book a consultation