You are on page 1of 47

Programacin Orientada a Objetos y Lenguaje de Modelado Unificado

Objetivos
Adquirir la terminologa necesaria para realizar el anlisis y diseo bajo UML Conocer las herramientas de anlisis y aprender como utilizarlas y en qu momento. Asimilar los conceptos tericos aprendidos mediante la exposicin de ejemplos prcticos.

Agenda
Programacin Orientada a Objetos Que es UML? Modelos del Proceso Unificado Tipos de Diagramas Aplicacin Diagramas Estticos vs. Diagramas Dinmicos Qu es un Caso de Uso? Diagrama y Especificacin Ejemplos

Programacin Orientada a Objetos

Qu es un Objeto? Un Objeto es la representacin de un conocimiento abstracto de un problema del mundo real


Una cosa tangible y/o visible. Algo que puede comprenderse intelectualmente. Algo a lo que se dirige un pensamiento o accin.

Un Objeto tiene:
Estado, Comportamiento e Identidad Estado
Mediante todas las propiedades del mismo (normalmente estticas), ms los valores actuales ( normalmente dinmicas), de cada una de esas propiedades.

Comportamiento
A travs de la forma en que responde a los estmulos a los que es sometido

Identidad
Mediante la propiedad que distingue al objeto de otro objeto

Cmo identificamos a los objetos?


Usando herramientas gramaticales tales como sustantivos y verbos Objetos --> nombres; servicios --> verbos Usando entidades tangibles, (cosas), en la aplicacin de dominios Productos, Clientes, Gerencia, Reuniones, etc... Determinando participantes y comportamientos, tanto a nivel general como particular Participantes son objetos y los comportamientos son servicios.

Tipos de Relaciones entre Objetos Las relaciones entre Objetos son:


Asociacin (conocimiento) Agregacin Generalizacin

Tipos de Relaciones entre Objetos


Asociacin (mensajes): Conexin semntica entre instancias de clases Proporciona una conexin entre los objetos para el envo de mensajes. Enlace: Instancia de una asociacin Lista ordenada de referencias a objetos

Tipos de Relaciones entre Objetos


Agregacin: Mientras que los enlaces denotan relaciones igual-a-igual la agregacin denota una jerarqua todo/parte. Con la capacidad de ir desde el todo, (el agregado), hasta sus partes, (conocidos tambin como atributos).

Cliente tiene un Orden tiene un Item tiene un Precio

Tipos de Relaciones entre Objetos


Generalizacin: Relacin taxonmica entre una descripcin general y otra ms especfica que la extiende. Relacin es un tipo de.
Cuenta

CajaDeAhorro

CuentaCte

Qu es UML?
UML es un conjunto de herramientas que permite modelar sistemas orientados a objetos No es un mtodo de desarrollo, por lo tanto, no va a decir cmo pasar del anlisis al diseo y de ste al cdigo Y al no ser un mtodo de desarrollo, es independiente del ciclo de desarrollo que se utilice

Qu es UML?
UML es un lenguaje unificado de modelado para:

Representar y Comunicar Ideas Visualizar Especificar Modelos precisos, no ambiguos, completos Construir Trasladar en forma directa a un leng. prog. Documentar Los artefactos construidos durante un proyecto

Los artefactos de un sistema de software.

Modelos de Proceso Unificado


Un modelo es una representacin en algn medio que captura los aspectos importantes del sistema modelado desde un determinado punto de vista. Propsitos de los modelos
Capturar y precisar requerimientos de un dominio de conocimiento, que sea comprensible por los Sponsors del proyecto.
Pensar sobre un diseo de un sistema. Capturar decisiones de diseo de un sistema. Explorar posibles soluciones a un problema econmicamente. Generar productos de trabajo tiles. Documentar.

Modelos de Proceso Unificado


Iterativo Incremental Dirigido por Casos de Uso Centrado en la Arquitectura Enfocado en los Riesgos

Diagramas UML
UML cuenta con distintos tipos de diagramas los que muestran distintos aspectos de las entidades representadas. Ellos son:

Diagrama de Casos de Uso Diagrama de Clases Diagrama de Estados Diagrama de Secuencia Diagrama de Colaboracin Diagrama de Actividades Diagrama de Componentes Diagrama de Distribucin

(Dinmico) (Esttico) (Dinmico) (Dinmico) (Dinmico) (Dinmico) (Esttico) (Esttico)

Diagramas UML

Diagramas Estticos vs. Dinmicos


Podemos ver al modelos desde un punto de vista dinmico y esttico. Esto se representa mediante la siguiente distincin: Modelo esttico (estructural): Diagrama de despliegue Diagrama de componentes Diagrama de clases Diagrama de objetos
Los diagramas estructurales de UML permiten visualizar, especificar, construir y documentar los aspectos estticos de un sistema

Diagramas Estticos vs. Dinmicos


Modelo dinmico (comportamiento): Diagrama de estados Diagrama de actividades Diagrama de secuencia Diagrama de colaboracin Diagrama de casos de uso
Mientras que los diagramas de comportamiento de UML se emplean para visualizar, especificar, construir y documentar los aspectos dinmicos de un sistema

Diagrama de Casos de Uso (dinmico)


Organizan los comportamientos del sistema. Un diagrama de caso de uso representa un conjunto de casos de uso y actores (un tipo especial de clases) y sus relaciones. Un diagrama de Casos de Uso consta de los siguientes elementos: Actores Casos de Uso Relaciones

Consideraciones claves
El nombre de un Caso de Uso se expresa con verbo en infinitivo Los Casos de Uso tienen las siguientes caractersticas: Estn expresados desde el punto de vista del actor Se documentan con texto informal Describen tanto lo que hace el actor como el sistema, aunque se hace nfasis en la interaccin Son iniciados por un nico actor Estn acotados a una nica funcionalidad (claramente diferenciada) del sistema

Consideraciones claves
Relacin ms bsica que indica la invocacin desde un actor o caso de uso a otra operacin (caso de uso)

Asociacin

Este tipo de relacin es el ms Generalizacin utilizado, cumple una doble funcin segn el estereotipo <<include>> o <<extends>>

Consideraciones claves
La relacin <<Extiende >> se utiliza cuando un caso de uso es similar a otro pero con alguna caracterstica nueva. La relacin << usa Include >> se utiliza cuando se tiene una parte del comportamiento comn de ms de un caso de uso y se desea simplificar el uso de la descripcin de este comportamiento.

Descripcin de los Casos de Uso


Caso de Uso: Breve Descripcin: Actores: Precondicin: Post-Condicin: Referencias: Curso Normal: Curso Alternativo: Supuestos y Dependencias: Problemas y Comentarios:

Caso de Ejemplo
Se quiere realizar un Sistema que controla una mquina de reciclamiento de botellas y tarros. Para ello, el sistema debe permitir: Registrar el nmero de tems ingresados Imprimir un recibo cuando el usuario finalice el deposito Comenzar el proceso al detectar el deposito de un nuevo tem Saber cuntos tems han sido retornados en el da Que el operador obtenga un resumen al final del da de todo lo depositado Cambiar informacin asociada a cada tem Emitir una alarma en caso que el tem se atore

1) Como primera aproximacin se identifican los actores que interactan con el sistema

Sistema Mquina de Reciclaje

Cliente

Operador

2) Luego, tenemos que un cliente puede Depositar tems y un operador puede cambiar informacin de un tem, o bien, puede imprimir un informe: Generar Reporte Depositar tem Cambiar tem Operador

Cliente

3) Pero a su vez, podemos notar que un tem puede ser una botella o un tarro por lo tanto: Depositar tem <<extends>> Depositar Botella <<extends>> Depositar Tarro

4) A su vez, existe la impresin de comprobantes, que puede ser realizada despus de depositar algn tem por un cliente o bien, puede ser pedida por el operador: Depositar tem <<include>> Generar Reporte <<include>>

Imprimir

Ejemplo: Diagrama de Casos de Uso

Ejemplo: UCS_Depositar Item


Caso de Uso: Depositar tem Breve Descripcin: El presente caso de uso describe los pasos a seguir por el usuario para depositar un item en la recicladora Actor: Usuario Precondicin: La maquina recicladora debe estar en funcionamiento Post condicin: El tem fue depositado y registrado Referencia: * Incluye CU: Depositar Botella. * Incluye CU: Depositar Tarro * Incluye CU: Eliminar Alarma Curso Normal: 1) El usuario deposita un tem en la maquina recicladora. 2) La recicladora valida el tem. Valida que: * Sea un tem valido (Se un tarro o una botella) * Se encuentre en la posicin correcta

3) El sistema obtiene informacin del tipo de tem. 4) El sistema registra el tem segn su tipo. *tem Botella. Caso de uso Depositar Botella *tem Tarro. Caso de uso Depositar Tarro 5) El sistema queda a la espera de un nuevo tem. Curso Alternativo: 2.1 En caso que el tem ingresado no sea valido, el sistema informa la situacin por medio de un mensaje al usuario. 2.1.1 El usuario retira el tem. 2.2 En caso que el tem no se encuentre en la posicin correcta, el sistema informa la situacin al operador mediante una alarma. Para ello llama al caso de uso Emitir Alarma 2.2.1 El operador corrige el tem atascado Supuestos y Dependencias: N / A Problemas y Comentarios:La maquina recicladora debe contar con un detector de tems.

Diagrama de Secuencia (dinmico)


Los Diagramas de Secuencia y de Colaboracin son usados para describir grficamente un escenario El Diagrama de Secuencia muestra los objetos de un escenario mediante lneas verticales y utiliza flechas de conexin para mostrar los mensajes entre objetos Los mensajes son dibujados cronolgicamente desde arriba hacia abajo Los rectngulos en las lneas verticales representan los perodos de actividad de los objetos.

Ejemplo: Diagrama de Secuencia

Diagrama de Colaboracin (dinmico)


El Diagrama de Colaboracin modela la interaccin entre los objetos de un Caso de Uso Los objetos estn conectados por enlaces (links) que representan los mensajes enviados acompaados de una flecha indicando su direccin Este tipo de diagrama ofrece una mejor visin del escenario cuando el analista est intentando comprender la participacin de un objeto en el sistema

Ejemplo: Diagrama de Colaboracin

Diferencias
El Diagrama de Secuencia destaca la sucesin de las interacciones. El Diagrama de Colaboracin destaca el contexto y organizacin general de los objetos que interactan.

El Diagrama de Secuencia se organiza de acuerdo al tiempo. El Diagrama de Colaboracin de acuerdo a la interaccin entre los objetos.

Diagrama de Clases (esttico)


Es el diagrama principal para el anlisis y diseo del sistema Un diagrama de clases presenta las clases del sistema con sus relaciones estructurales y de herencia Para cada clase se describen los atributos y operaciones El modelo de casos de uso debera aportar informacin para establecer las clases, objetos, atributos y operaciones

Ejemplo: Diagrama de Clases

Diagrama de Estados (dinmico)


El diagrama de estados presenta los estados en los que pueden encontrarse un objeto junto con las transiciones entre los estados, y muestra los puntos inicial y final de una secuencia de cambios de estado. Los diagramas de clase o casos de uso ya vistos modelan el comportamiento de un sistema o al menos un grupo de clases, mientras que el diagrama de estados muestra las condiciones de un solo objeto. Es necesario contar con diagramas de estados dado que permiten a los analistas, diseadores y desarrolladores comprender el comportamiento de los objetos de un sistema.

Modelo

Diagrama de Actividades (dinmico)


Es una extensin del Diagrama de Estados Fue diseado para mostrar una visin simplificada de lo que ocurre durante una operacin o proceso, mostrando los pasos, puntos de decisin y bifurcaciones. El Diagrama de Actividades 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: Diagrama de Actividades

Diagrama de Componentes (esttico)


Los diagramas de componentes describen los elementos fsicos - denominados artefactos del sistema - y sus relaciones Muestran grupos de artefactos de software de acuerdo a una funcionalidad comn y pueden incluir cdigo fuente, binario y ejecutable, recursos grficos o textuales, etc. Los componentes representan todos los tipos de elementos software que entran en la fabricacin de aplicaciones informticas. Pueden ser simples archivos, paquetes, bibliotecas cargadas dinmicamente, etc. Las relaciones de dependencia entre componentes se utilizan para indicar que un componente utiliza los servicios ofrecidos por otro componente

Modelo

Diagrama de Despliegue (esttico)


El Diagrama de Despliegue mapea la arquitectura de software creada en diseo con una arquitectura fsica de sistema que lo ejecuta. Se lo conoce tambin como Diagrama de Distribucin o de Dominio Los Diagramas de Despliegue muestran la disposicin fsica de los distintos nodos que componen un sistema y el reparto de los componentes sobre dichos nodos Los estereotipos permiten precisar la naturaleza del equipo: Dispositivos Procesadores Memoria Los nodos se interconectan mediante soportes bidireccionales que pueden a su vez estereotiparse

Modelo
<<Cliente>> Terminal Punto de Venta <<Servidor>> <<TCP/IP>> Base de Datos

<<RDSI>>

Control

<<RDSI>>

Podemos distinguir tipos de nodos y conexiones por estereotipado

Otra forma de representarlo

You might also like