Object-Oriented Analysis and Design Principles

Classified in Computers

Written on in English with a size of 3.24 KB

What is APOO?

APOO (Analysis and Object-Oriented Programming) considers a problem and a solution from the perspective of objects, things, or concepts. APOO is the investigation of domain objects and their relationships.

What is OOP?

OOP (Object-Oriented Programming) is a logical solution in terms of software components and their collaborations and responsibilities.

UML Language

The UML (Unified Modeling Language) is the standard language for typesetting to view the results of the analysis and design.

Subactivities:

  1. Define essential use cases.
  2. Draw use case diagrams.
  3. Refine the conceptual model.
  4. Refine the glossary.
  5. Set system sequence diagrams.
  6. Set operation contracts.
  7. Set state diagrams.

What is a Use Case Diagram?

A use case diagram is used to identify how the system behaves in various situations that may occur during operation.

Key Components:

  • Actor: Represents any entity that interacts with the system. It may be a person or another system.
  • Use Case: It is a model of the functions to be performed by the system and the interaction with its borders. Its main application is to confirm to users and customers its features and behavior.
  • Scenario: It is an instance of a "Use Case." The "Use Case" should be described through various scenarios. Build as many scenarios as needed to fully understand the entire system.

Scenario Types:

  • Primary: These are the scenarios in which the flow normally follows without interruption by any kind of error.
  • Secondary: These are the cases that represent exceptions where the normal flow of operation is interrupted.

APOO Applied to System POST Development Cycles

APOO is applied to the system POST in two cycles of development:

Cycle 1

Introduction of basic features and skills of analysis and design relevant to the first cycle.

Cycle 2

Expanded introduction of additional skills of analysis and design.

Development Steps:

  1. Review: Write expanded essential use cases for those being attacked in the current development cycle, if not yet done.
  2. Project: Write real use cases for those under attack in the current development cycle, if not done.

Modeling Principles

Abstraction

Abstraction is a fundamental principle of modeling. A system model is created at different levels, starting at the highest levels and adding more detail, further detailing what is known about the system.

Package

Package: Packages the data and methods of an object. It protects data from being compromised, since it only allows access through its methods.

Inheritance

Inheritance: A class can have subclasses that inherit its properties.

Object State

An object can pass through several states during its cycle. That is, at any given time it may be an instance of one object type, and the next moment, an instance of another type.

Related entries: