Sunteți pe pagina 1din 37

Anlisis y diseo orientado a objetos

Sesin 2

INTRODUCCION DEL CONTENIDO


En esta sesin 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
disear sistemas de informacin actuales.

Objetivo

Aplicar el anlisis y diseo de software orientado a objetos


para modelar sistemas a travs de UML que satisfagan las
necesidades de las organizaciones.

Conceptos de la POO
Ventajas:
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.

Modelado de sistemas
Enfoque Orientado a Objetos usando notacin UML

Problemas actuales en implementacin, al usar entornos de


programacin visual y/o bases de datos relacionales

Posibles mejoras a mediano plazo


Evolucin: Uso de BDOO y/o mejoras en los LPOO
Revolucin: Generacin Automtica de Cdigo a partir de
Modelos OO.

Anlisis orientado a objetos Qu?


Representar los requisitos del cliente en tres dominios:
dominio de la informacin, dominio funcional y dominio del
comportamiento
Representacin conceptual correspondiente al problema y
modelo de requisitos de cada clase aporta para lograr la
arquitectura deseada
No se considera el ambiente de implementacin

Anlisis Orientado a Objetos


Objet
oy

Objet
ox

Fecha
objeto

funciones

funciones
Da
Mes
Ao

Ao
de 2
Dgito
s

Da
Mes
Ao

Ao
de 4
Dgito
s

Diseo orientado a objetos Cmo?


Como el plano para la construccin de una
casa
Refinamiento y formalizacin adicional del
modelo de anlisis tomando en cuenta los
detalles de implementacin
El resultado del modelo de diseo son
especificaciones mucho ms detalladas en
cuanto a que se incluyen operaciones y
atributos de los objetos

Aspectos principales del diseo OO

Diseo de
Diseo de
Objetos:
Sistema: Se
objetos
adapta el
incluyendo
modelo al
operaciones y
ambiente de
atributos.
implementacin.

Debate
Por qu la orientacin a objetos?
Cules son los beneficios de OO ?
Qu es el estado y comportamiento de un objeto?

UML
ElUnified Modeling Language (UML)define un lenguaje
de modelado orientado a objetos comn para:

visualizar
especificar
construir y
documentar los componentes de un sistema de software OO.

Unmodeloes una simplificacin de la


realidad creada para comprender mejor un sistema.

Diagramas para el anlisis y diseo


OO
Anlisis

Diseo

Diagramas de casos
de uso
Diagramas de
actividad
Diagramas de
secuencia
Diagramas de
colaboracin
Diagramas de clases
Diagramas de
estados
Diagramas de
actividad

Implementaci
n

Bases de datos
relacionales

Diagramas del anlisis OO


Diagrama de
Casos de Uso:
Muestra un
conjunto de
casos de uso y
actores y sus
relaciones.

Diagrama de
interaccin:
resalta la
organizacin
estructural de
los objetos que
envan y reciben
mensajes.

Diagramas
para modelar
el
Comportamie
nto del
Sistema:
Diagrama de
colaboracin:
modela la
interaccin entre
los objetos de un
Caso de Uso.

Diagrama de
Secuencia:
Diagrama de
interaccin con
la relacin
temporal de los
mensajes y los
objetos.

Diagramas del diseo OO


Diagrama de
Clases:
presenta las
clases del
sistema con
sus relaciones
estructurales y
de herencia.

Diagrama de
Actividades:
Muestra el flujo
de actividades
dentro de un
sistema.

Diagramas
para
disear la
solucin

Diagrama de
Estados:
Muestra una
mquina de
estados, que
consta de
estados,
transiciones,
eventos y
actividades. Vista
dinmica del
sistema.

Paquetes en UML
Los paquetes ofrecen un mecanismo general para la
organizacin de los modelos/subsistemas agrupando
elementos de modelado
Se representan grficamente como:

Ejemplo de paquetes en UML

Diagrama de Casos de Uso


Casos de Uso es una tcnica para capturar informacin de
cmo un sistema o negocio trabaja, o de cmo se desea que
trabaje
No pertenece estrictamente al enfoque orientado a objeto, es
una tcnica para captura de requisitos

Diagrama de Secuencia
Los Diagramas de Secuencia y de
Colaboracin son usados para describir
grficamente un caso de uso o un escenario
Los mensajes son dibujados
cronolgicamente desde arriba hacia abajo
Los rectngulos en las lneas verticales
representan los periodos de actividad de
los objetos.

Ejemplo de diagrama de Secuencia

Diagrama de Colaboracin

El Diagrama de Colaboracin modela la interaccin entre los


objetos de un Caso de Uso

Los objetos estn conectados por enlaces (links) en los cuales


se representan los mensajes enviados acompaados de una
flecha que indica su direccin

Ejemplo de diagrama de Colaboracin

Diagrama de Estados

El Diagrama de Estados modela el comportamiento de una


parte del sistema

El comportamiento es modelado en trminos del estado en el


cual se encuentra el objeto, qu acciones se ejecutan en cada
estado y cul es el estado al que transita despus de un
determinado evento

Ejemplo de diagrama de Estados

Diagrama de Actividad
Caso especial de Diagrama de Estados donde:
Todos (o la mayora de) los estados son estados de accin
Todas (la mayora de) las transiciones son disparadas
cuando termina una accin
Puede especificar:

El comportamiento de los objetos de una clase


La lgica de una operacin (mtodo)
Parte o toda la descripcin de un Caso de uso
La descripcin de un Flujo de Trabajo

Ejemplo de diagrama de Actividad

Diagrama de Clases

Un diagrama de clases presenta las clases del sistema con sus


relaciones estructurales y de herencia

La definicin de clase incluye definiciones para atributos y


operaciones

El modelo de casos de uso aporta informacin para establecer


las clases, objetos, atributos y operaciones

Ejemplo de diagrama de Clases

Como
elaborarlo

Componentes del
diagrama de cl
ases

Cmo identificar Objetos?

Cosas tangibles
Roles
Incidentes o eventos
Interacciones

Caractersticas de un Objeto

OBJETO= ESTADO+
COMPORTAMIENTO+
IDENTIDAD

Encapsulamiento

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

Protegida( # ): visible slo para las clases derivadas


(subclases).

Pblica( + ): visible para todas las clases con las que esta
asociada.

Jerarqua de clases
Las jerarquas permiten gestionar la complejidad ordenando
los objetos dentro de rboles de clases de abstraccin
creciente.

Herencia
Consiste en factorizar los elementos comunes (atributos,
operaciones y restricciones) de un conjunto de clases en una
clase ms general llamada superclase.
Significa es un o es una

Propiedades de la generalizacin

Abstraccin

Polimorfismo

Describe la caracterstica de
un elemento que puede tomar
varias formas.

Anlisis de caso: Hotel


El dueo 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 espordicos. Una reservacin almacena datos
del cliente, de la habitacin reservada, la fecha de comienzo y el nmero de
das que ser ocupada la habitacin.
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 habitacin 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 habitacin y nmero de noches.
Reservar una habitacin especificando el nmero de la habitacin, id y nombre
del cliente.
Eliminar una reserva especificando el nmero de la habitacin
El administrador puede usar el programa para:
Cambiar el precio de una habitacin de acuerdo a su tipo
Cambiar el valor del descuento ofrecido a los clientes habituales
Calcular las ganancias que tendrn en un mes especificado (considere que
todos los meses tienen treinta das).
El hotel posee informacin sobre cuales clientes son habituales. Esta estructura
puede manejarla con un diccionario, cuya clave sea el nmero de ID y como
significado tenga los datos personales del cliente.
El diseo a desarrollar debe facilitar la extensibilidad de nuevos tipos de

Herramientas CASE

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

S-ar putea să vă placă și