Sesion 2.pptx

37
Análisis y diseño orientado a objetos Sesión 2

Transcript of Sesion 2.pptx

Page 1: Sesion 2.pptx

Análisis y diseño orientado a objetosSesión 2

Page 2: Sesion 2.pptx

INTRODUCCION DEL CONTENIDO

En esta sesión conoceremos los conceptos del paradigma orientado a objetos. Identificaremos que es un objeto, sus atributos, comportamientos y sus relaciones con otros objetos. Conoceremos los distintos diagramas UML para analizar y diseñar sistemas de información actuales.

Page 3: Sesion 2.pptx

Objetivo

• Aplicar el análisis y diseño de software orientado a objetos para modelar sistemas a través de UML que satisfagan las necesidades de las organizaciones.

Page 4: Sesion 2.pptx

Conceptos de la POOVentajas:

• Permite al programador organizar un programa de acuerdo a abstracciones de mas alto nivel

• Los datos globales desaparecen y se convierten en parte interna de los objetos.

Page 5: Sesion 2.pptx

Modelado de sistemas

Enfoque Orientado a Objetos usando notación UML

Problemas actuales en implementación, al usar entornos de programación visual y/o bases de datos relacionales

Posibles mejoras a mediano plazo

• Evolución: Uso de BDOO y/o mejoras en los LPOO • Revolución: Generación Automática de Código a partir de Modelos OO.

Page 6: Sesion 2.pptx

Análisis orientado a objetos ¿Qué?• Representar los requisitos del cliente en tres dominios: dominio de la

información, dominio funcional y dominio del comportamiento• Representación conceptual correspondiente al problema y modelo de

requisitos de cada clase aporta para lograr la arquitectura deseada• No se considera el ambiente de implementación

Page 7: Sesion 2.pptx

Análisis Orientado a Objetos

Objeto x

Fecha

Objeto y

Año de 4

Dígitos

funciones

objeto

DíaMesAño

Año de 2

Dígitos

funciones

DíaMesAño

Page 8: Sesion 2.pptx

Diseño orientado a objetos ¿Cómo?

Como el plano para la construcción de una casa

Refinamiento y formalización adicional del modelo de análisis tomando en cuenta los detalles de implementación

El resultado del modelo de diseño son especificaciones mucho más detalladas en cuanto a que se incluyen operaciones y atributos de los objetos

Page 9: Sesion 2.pptx

Aspectos principales del diseño OO

Diseño de Objetos: objetos

incluyendo operaciones y

atributos.

Diseño de Sistema: Se

adapta el modelo al

ambiente de implementación.

Page 10: Sesion 2.pptx

Debate

• ¿Por qué la orientación a objetos?

• ¿Cuáles son los beneficios de OO ?

• ¿Qué es el estado y comportamiento de un objeto?

Page 11: Sesion 2.pptx

UML

• El Unified Modeling Language (UML) define un lenguaje de modelado orientado a objetos común para:• visualizar• especificar• construir y • documentar los componentes de un sistema de software OO.

• Un modelo es una simplificación de larealidad creada para comprender mejor un sistema.

Page 12: Sesion 2.pptx

Diagramas para el análisis y diseño OO

Análisis Diseño Implementación

Diagramas de casos de usoDiagramas de actividadDiagramas de secuencia

Diagramas de colaboración

Diagramas de clasesDiagramas de estados

Diagramas de actividad

Bases de datos relacionales

Page 13: Sesion 2.pptx

Diagramas del análisis OO

Diagramas para modelar el

Comportamiento del Sistema:

Diagrama de Casos de Uso: Muestra un

conjunto de casos de uso y actores y sus

relaciones.

Diagrama de Secuencia:

Diagrama de interacción con la relación temporal de los mensajes y

los objetos.

Diagrama de colaboración:

modela la interacción entre los objetos de un Caso

de Uso.

Diagrama de interacción: resalta

la organización estructural de los

objetos que envían y reciben mensajes.

Page 14: Sesion 2.pptx

Diagramas para diseñar la

solución

Diagrama de Clases: presenta

las clases del sistema con sus

relaciones estructurales y de

herencia.

Diagrama de Estados: Muestra una máquina de estados,

que consta de estados, transiciones,

eventos y actividades. Vista

dinámica del sistema.

Diagrama de Actividades:

Muestra el flujo de actividades dentro

de un sistema.

Diagramas del diseño OO

Page 15: Sesion 2.pptx

Paquetes en UML

• Los paquetes ofrecen un mecanismo general para la organización de los modelos/subsistemas agrupando elementos de modelado

• Se representan gráficamente como:

Page 16: Sesion 2.pptx

Ejemplo de paquetes en UML

Page 17: Sesion 2.pptx

Diagrama de Casos de Uso

• Casos de Uso es una técnica para capturar información de cómo un sistema o negocio trabaja, o de cómo se desea que trabaje

• No pertenece estrictamente al enfoque orientado a objeto, es una técnica para captura de requisitos

Page 18: Sesion 2.pptx

Diagrama de Secuencia

Los Diagramas de Secuencia y de Colaboración son usados para describir gráficamente un caso de uso o un escenario

Los mensajes son dibujados cronológicamente desde arriba hacia abajo

Los rectángulos en las líneas verticales representan los periodos de actividad de los objetos.

Page 19: Sesion 2.pptx

Ejemplo de diagrama de Secuencia

Page 20: Sesion 2.pptx

Diagrama de Colaboración

El Diagrama de Colaboración modela la interacción entre los objetos de un Caso de Uso

Los objetos están conectados por enlaces (links) en los cuales se representan los mensajes enviados acompañados de una flecha que indica su dirección

Page 21: Sesion 2.pptx

Ejemplo de diagrama de Colaboración

Page 22: Sesion 2.pptx

Diagrama de Estados

El Diagrama de Estados modela el comportamiento de una parte del sistema

El comportamiento es modelado en términos del estado en el cual se encuentra el objeto, qué acciones se ejecutan en cada estado y cuál es el estado al que transita después de un determinado evento

Page 23: Sesion 2.pptx

Ejemplo de diagrama de Estados

Page 24: Sesion 2.pptx

Diagrama de Actividad

Caso especial de Diagrama de Estados donde:

• Todos (o la mayoría de) los estados son estados de acción• Todas (la mayoría de) las transiciones son “disparadas” cuando termina una

acción

Puede especificar:

• El comportamiento de los objetos de una clase• La lógica de una operación (método)• Parte o toda la descripción de un Caso de uso• La descripción de un Flujo de Trabajo

Page 25: Sesion 2.pptx

Ejemplo de diagrama de Actividad

Page 26: Sesion 2.pptx

Diagrama de Clases

Un diagrama de clases presenta las clases del sistema con sus relaciones estructurales y de herencia

La definición de clase incluye definiciones para atributos y operaciones

El modelo de casos de uso aporta información para establecer las clases, objetos, atributos y operaciones

Page 27: Sesion 2.pptx

Ejemplo de diagrama de Clases

Como elaborarloComponentes del diagrama de clases

Page 29: Sesion 2.pptx

Características de un Objeto

OBJETO= ESTADO+ COMPORTAMIENTO+

IDENTIDAD

Page 30: Sesion 2.pptx

Encapsulamiento

Privada( -): visible sólo para la clase y para las clases amigas (C++).

Protegida( # ): visible sólo para las clases derivadas (subclases).

Pública( + ): visible para todas las clases con las que esta asociada.

Page 31: Sesion 2.pptx

Jerarquía de clases

• Las jerarquías permiten gestionar la complejidad ordenando los objetos dentro de árboles de clases de abstracción creciente.

Page 32: Sesion 2.pptx

Herencia

• Consiste en factorizar los elementos comunes (atributos, operaciones y restricciones) de un conjunto de clases en una clase más general llamada superclase.

• Significa “es un” o “es una”

Page 33: Sesion 2.pptx

Propiedades de la generalización

Page 34: Sesion 2.pptx

Abstracción

Page 35: Sesion 2.pptx

Polimorfismo

• Describe la característica de un elemento que puede tomar varias formas.

Page 36: Sesion 2.pptx

Análisis de caso: HotelEl dueño de un hotel le pide a usted desarrollar un programa para consultar sobre las habitaciones disponibles y reservar habitaciones de su hotel.• El hotel posee tres tipos de habitaciones: simple, doble y matrimonial, y dos tipos de

clientes: habituales y esporádicos. Una reservación almacena datos del cliente, de la habitación reservada, la fecha de comienzo y el número de días que será ocupada la habitación.

El recepcionista del hotel debe poder hacer la siguientes operaciones:• Obtener un listado de las habitaciones disponible de acuerdo a su tipo• Preguntar por el precio de una habitación de acuerdo a su tipo• Preguntar por el descuento ofrecido a los clientes habituales• Preguntar por el precio total para un cliente dado, especificando su numero de ID, tipo de

habitación y número de noches.• Reservar una habitación especificando el número de la habitación, id y nombre del cliente.• Eliminar una reserva especificando el número de la habitaciónEl administrador puede usar el programa para:• Cambiar el precio de una habitación de acuerdo a su tipo• Cambiar el valor del descuento ofrecido a los clientes habituales• Calcular las ganancias que tendrán en un mes especificado (considere que todos los meses

tienen treinta días).El hotel posee información sobre cuales clientes son habituales. Esta estructura puede manejarla con un diccionario, cuya clave sea el número de ID y como significado tenga los datos personales del cliente.El diseño a desarrollar debe facilitar la extensibilidad de nuevos tipos de habitación o clientes y a su vez permitir agregar nuevas consultas.

Page 37: Sesion 2.pptx

Herramientas CASE

• http://www.objectsbydesign.com/tools/umltools_byPrice.html