Vous êtes sur la page 1sur 42

POO1501-Paradigma Orientado a Objetos

Profesor : Roberto Rojas Rodrguez


Escuela de Informtica y Telecomunicaciones
Sede San Joaqun
Unidad 1 : Bases de la Orientacin a Objetos
Contenidos
1. UML: qu es
2. UML Parte Esttica
3. Taller
1. UML: Qu es
Lo que implica que sea unificado
Componentes: Vistas y Diagramas
Ejemplos

Unified Modeling Language

Lenguaje de Modelado Visual de Propsito
general

Usos:
Especificar, visualizar, construir y documentar
artefactos de un sistema software.

Se dise de manera de independizarlo del
mtodo de desarrollo, y se intenta que sea
aplicable a todas las etapas del ciclo de vida del
software
UML: Unificado
Cruza los mtodos y notaciones anteriores
Cruza los ciclos de desarrollo
Cruza los dominios de aplicacin
Cruza las plataformas y lenguajes de
implantacin
Cruza los procesos de desarrollo
Cruza los conceptos internos

UML: Componentes
Vista Esttica
Vista de Casos de Uso
Vista de Interaccin
Diagrama de Secuencia
Diagrama de Colaboracin
Vista de la Mquina de Estados
Vista de Actividades
Vista Fsica
Vista de la Gestin del Modelo
Constructores de Extensibilidad
UML Esttico
Vista

Diagramas

Conceptos Principales

Vista Esttica

Diagrama de
Clases

Clase, Asociacin,
Generalizacin
Dependencia, Realizacin,
Interfase

Vista de Casos
de Uso

Diagrama de
Casos de Uso

Caso de uso, Actor,
Asociacin, Extensin,
Inclusin, Generalizacin de
caso de uso

Vista de
Implementacin



Vista del
despliegue
(deployment)
Diagrama de
Componentes
Componente, Interfaz,
Dependencia, Realizacin
Diagrama de
Despliegue

Nodo, Componente,
Dependencia, Locacin

Diagrama de Clases
Diagrama de Casos de Uso
Diagrama de Componentes
Diagrama de Despliegue
UML Dinmico
Vista

Diagramas

Conceptos
Principales

Vista de Mquina
de Estados

Diagrama de
Estados
(statechart)

Estado, Evento,
Transicin, Accin

Vista de
actividades

Diagrama de
Actividades

Estado, Actividad,
Transicin de
complecin,
Juntura (join),
Bifurcacin (fork)


Vista de
Interaccin

Diagrama de
Secuencia

Interaccin,
Objeto, Mensaje,
Activacin

Diagrama de
Colaboracin

Colaboracin,
Interaccin, Rol de
colaboracin,
Mensaje

Diagrama de Estados
Diagrama de Actividades
Diagrama de Secuencia
Diagrama de Colaboracin
UML
Gestin del Modelo
Vista

Diagramas

Conceptos
Principales

Vista de la gestin
del modelo

Diagrama de
Clases

Paquete,
Subsistema,
Modelo

Vista

Diagramas

Conceptos
Principales

Todas

Todos

Restriccin, Estereotipo,
Valores tagged
(etiquetados)

Extensibilidad
Vista de la Gestin del Modelo
Extensibilidad
2. UML Parte Esttica
Diagrama de Casos de Uso
Diagrama de Clases
Diagrama de Casos de Uso
Modela la funcionalidad de un sistema percibido
desde el usuario externo (actor).

Un caso de uso es una unidad de funcionalidad
coherente expresado como una transaccin
entre actores y el sistema.

Pueden describirse en varios niveles de detalle.

Un caso de uso se implementa como una
colaboracin en la vista de interaccin.
Diagrama de Casos de Uso: Elementos
Actor:
rol que juega un
usuario con respecto al
sistema.

un Actor no
necesariamente
representa a una
persona en particular,
sino ms bien la labor
que realiza frente al
sistema.
Caso de Uso:
Operacin o tarea
especfica que se
realiza tras una orden
de algn agente
externo, originada por
una peticin de un
actor o bien desde la
invocacin desde otro
caso de uso
Diagrama de Casos de Uso: Relaciones
Asociacin:
Es el tipo de relacin
ms bsica que indica
la invocacin desde un
actor o caso de uso a
otra operacin (caso de
uso).
Dependencia o Instanciacin:
Es una forma muy
particular de relacin
entre clases, en la cual
una clase depende de
otra, es decir, se
instancia (se crea).
Diagrama de casos de Uso:
Relaciones de Generalizacin
Este tipo de relacin esta
orientado exclusivamente
para casos de uso (y no
para actores).
Se diferencian por el
estereotipo <<uses>> (uso)
o (<<extends>>) (herencia).

extends: Se recomienda
utilizar cuando un caso de
uso es similar a otro (en
sus caractersticas).
uses: Se recomienda
utilizar cuando se tiene un
conjunto de
caractersticas que son
similares en ms de un
caso de uso y no se
desea mantener copiada
la descripcin de la
caracterstica.
Diagrama de Casos de Uso: Ejemplo
Mquina Recicladora
El sistema debe :
1. Registrar el nmero de temes ingresados.
2. Imprimir un recibo cuando el usuario lo solicita, que incluye
(a) una descripcin de lo depositado, (b) el valor de cada
item y (c) el total
3. El usuario/cliente presiona el botn de comienzo
4. Existe un operador que desea saber lo siguiente: (a)
Cuntos temes han sido retornados en el da y (b) al final
de cada da, un resumen de todo lo depositado.
5. El operador debe adems poder cambiar informacin
asociada a temes y dar una alarma en el caso de que (a)
un item se atore o (b) no hay ms papel.

Mquina Recicladora:
Identificacin de Actores
Mquina Recicladora: Diagrama
Completo
Diagrama de Clases
Modela los conceptos del dominio de la aplicacin.

Permite visualizar las relaciones entre las clases
que involucran el sistema

Un diagrama de clases est compuesto por los
siguientes elementos:

Clases: atributos, operaciones y visibilidad.
Relaciones: Herencia, Composicin, Agregacin,
Asociacin y Uso.
Responsabilidades
Clase
Es la unidad bsica
que encapsula toda la
informacin de un Tipo
de Objeto (un objeto es
una instancia de una
clase).
Atributo
Los atributos describen
a una clase. Pueden
ser Pblicos, Privados
o Protegidos.

public (+, ): Indica
que el atributo ser
visible tanto dentro
como fuera de la clase,
es decir, es accesible
desde todos lados.


private (-, ): Indica que
el atributo slo ser
accesible desde dentro de
la clase (slo sus mtodos
lo pueden acceder).

protected (#, ): Indica
que el atributo no ser
accesible desde fuera de la
clase, pero si podr ser
accesado por mtodos de
la clase adems de las
subclases que se deriven
(herencia)

Mtodos
Las operaciones o mtodos
de una clase describen la
forma en la cual sta
interacta con su entorno.
Pueden ser Pblicas,
Privadas o Protegidas.

public (+, ): Indica que el
mtodo ser visible tanto
dentro como fuera de la
clase, es decir, es accesible
desde todos lados.


private (-, ): Indica que el
mtodo slo ser accesible
desde dentro de la clase
(slo otros mtodos de la
misma clase lo pueden
acceder).

protected (#, ): Indica que
el atributo no ser accesible
desde fuera de la clase, pero
si podr ser accesado por
mtodos de la clase adems
de las subclases que se
deriven (herencia)

Relaciones entre Clases
Las clases interrelacionadas modelan un sistema
en su dimensin esttica.

Existen tres tipos de relaciones bsicas:

Dependencia
Generalizacin
Asociacin

Un cambio en la clase independiente (Aplicacin)
puede afectar a la clase dependiente (Ventana)
La interpretacin ms frecuente es la de uso: una
clase usa a otra como argumento de una operacin.

El objeto creado no se almacena en el objeto que lo
crea.
Dependencia (instanciacin o uso)
Generalizacin
Relaciona una abstraccin general (superclase)
con una ms concreta del mismo tipo (subclase)

Una clase puede tener cero, una (herencia
simple) o ms superclases (herencia mltiple)
Una clase sin superclases es una clase raz

Una clase sin subclases es una clase hoja
Generalizacin Polimorfismo
Una generalizacin da a lugar al polimorfismo
entre clases de una jerarqua de
generalizaciones.

Un objeto de una subclase puede sustituir a un objeto
de la superclase en cualquier contexto. Lo inverso no
es cierto
Una operacin de la subclase con igual signatura que
una operacin de la superclase la anula y sustituye.

El polimorfismo es muy til en la programacin.
Generalizacin
Asociacin
Tiene multiplicidad, que especifica por cada clase el
nmero de objetos de la clase opuesta que se relacionan
con un solo objeto de dicha clase a travs de la
asociacin:

1 : uno
0..1 : cero o uno
3 : tres
*: muchos
1..*: al menos uno
2,6,7: dos, seis o siete
2-4, 10-12 : de dos a cuatro y de diez a doce
Asociacin
Agregacin y Composicin
Composicin

Relacin esttica, en donde
el tiempo de vida del objeto
incluido est condicionado
por el tiempo de vida del
que lo incluye.
El Objeto base se contruye
a partir del objeto incluido,
es decir, es "parte/todo,
como un parmetro pasado
por valor.
Agregacin

Relacin dinmica, en
donde el tiempo de vida
del objeto incluido es
independiente del que lo
incluye.
El objeto base utiliza al
incluido para su
funcionamiento, como un
parmetro pasado por
referencia.
Permite modelar objetos complejos, en base a relaciones todo
parte.
Agregacin y Composicin
Agregacin
(Por referencia)
Composicin
(Por valor)
Elementos Responsabilidades
La distribucin de
responsabilidades en un
sistema, se realiza
identificando un conjunto de
clases que colaboran entre
s para llevar a cabo algn
comportamiento.

Luego hay que identificar el
conjunto de
responsabilidades para
cada clase
Diagrama de Clases