Conceptos Esenciales de POO y UML para el Desarrollo de Software

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,31 KB

Conceptos Fundamentales de la Programación Orientada a Objetos (POO)

Áreas de Aplicación y Beneficios

  • Áreas de Aplicación: lenguajes de programación, BBDD, reingeniería de procesos, CASE, inteligencia artificial, SO, interfaz de usuario y HW.
  • Beneficios Potenciales: mejora la calidad del SW, acortar el tiempo, mayor productividad, aumentar la reutilización del SW.

El Objeto: Estructura y Propiedades

  • Objeto: unidad formada por la unión estado/comportamiento. La encapsulación da una cohesión interna fuerte y un acoplamiento externo débil.
  • Objeto = estado + comportamiento + identidad.
  • Estado de un Objeto: contiene los valores de sus atributos.
  • Comportamiento: acciones/reacciones de los objetos. Cada operación es un átomo de comportamiento.
  • Identidad: caracteriza la existencia de un objeto, no es ambigua.

Principios de la POO

Encapsulamiento

Encapsulamiento: capacidad que tienen los objetos de tener parte pública y privada. Sus atributos son privados; los métodos son públicos y privados.

Relaciones entre Clases

  • Asociación: conexión bidireccional entre clases, es una representación de enlaces, se diferencia por el contexto del diagrama.
  • Agregación: es todo o nada, o algo que integra algo; ambas partes pueden sobrevivir sin la otra.
  • Composición: si desaparece el objeto contenedor, no tiene sentido hablar de partes agregadas.

Jerarquía de Clases

La jerarquía de clases gestiona la complejidad ordenando los objetos dentro de árboles de clases.

  • Generalización: factorizar los elementos comunes de un conjunto de clases en una clase general (superclase).
  • Especificación: capturar particularidades de un conjunto de objetos no discriminados por las clases ya identificadas.

Las subclases heredan propiedades y métodos de las superclases. Las subclases especializan a la superclase, que es una definición generalista de la subclase.

Polimorfismo

Polimorfismo: capacidad de tener más de una interpretación.

  • Vinculación Estática: durante la compilación se sabe qué método se usa.
  • Vinculación Dinámica: durante el tiempo de ejecución.

Introducción al Lenguaje Unificado de Modelado (UML)

Propósito y Elementos de UML

  • Introducción a UML: visualizar, especificar, construir y documentar un sistema de SW.
  • Lenguaje de Modelado Estándar: vocabulario y reglas para la representación, para la descripción de los planos de SW, cubre las vistas de una arquitectura de sistema.
  • Para Especificar: construir modelos que cumplan las condiciones de no ambigüedad y completitud.
  • Para Construir: es posible corresponder con los lenguajes de programación.

Tipos de Diagramas UML

UML es un solo lenguaje para visualizar, especificar, construir y documentar.

  • Casos de Uso: muestra un conjunto de casos de uso, actores y sus relaciones.
  • Clases: muestran un conjunto de clases y sus relaciones.
  • Objetos: objetos y sus relaciones, instantáneas de instancias de los elementos que hay en los diagramas.
  • Secuencia: diagrama de interacción que resalta la ordenación temporal de los mensajes.
  • Comunicación: organización estructural de los objetos que envían mensajes.
  • Transición de Estado: cubren la vista dinámica, resaltan el comportamiento dirigido por eventos de un objeto.
  • Actividad: muestra un flujo de actividades, cubren la vista dinámica, para modelar el funcionamiento de un sistema, resaltan el flujo de control entre objetos.
  • Componentes: organización y dependencias de los componentes, vista estática.
  • Despliegue: configuración de nodos de procesamiento y sus componentes.

Entradas relacionadas: