click to reveal definition
click to flip back
You know 0 of 24 cards in current set.
Ready to get certified?
Get CertifiedNeed this expertise applied inside your organization?
Explore Our ServicesFull 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.