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.