Sei sulla pagina 1di 30

Análisis y Diseño

Orientado a Objetos
Interfaces
Laboratorio de Diseño
Ing. Anabel Montero Posada. M.Sc.
anmontero@javeriana.edu.co
3208320 Ext. 5993
Recordando
 ¿Qué disciplina comenzamos a estudiar?
 ¿Cuáles son las entradas al modelo de diseño?
 ¿Cuáles son las salidas?
 ¿Qué es el diseño de software?
 ¿Cuáles son los productos que componen al modelo de
diseño?
 ¿Qué utilizamos para descomponer el sistema en partes mas
pequeñas?
 ¿Qué es arquitectura de software?
¿Dónde nos encontramos?
Agenda
 Interfaces
 Hacer diagrama de paquetes en EA
 Hacer diagrama de componentes en EA
 Ejercicio para identificar paquetes
Servicios e interfaces de
subsistema
 El conjunto de operaciones de un subsistema que está
disponible a otros subsistemas forman la interface del
subsistema
 La interface incluye:
 Nombre de las operaciones
 Parámetros
 Tipos
 Valores de retorno
Interface
 Unainterface es una colección de
operaciones que son utilizadas para
especificar un servicio de una clase.

Observe que
IGestionTransacciones se muestra
con el estereotipo
<<interface>>,indicando que
es una Interface
Interface
 Se
escriben los encabezados de los
métodos sin definirlos.
 Todoslos métodos son de manera
implícita públicos y abstractos
 Abstracto:
se escribe sólo la firma del
método no su implementación.
Interface
 La clase que implementa la interface es
la responsable de la implementación
específica de cada método declarado en
la interface.
Observe que la línea que une a
la clase implementadora con la
interface es discontinua, la
relación se llama de
REALIZACIÓN
Interface
 Las subclases implementadoras deben siempre
tener implementado el código de las
operaciones de la interfaz
Interface
 La interface separa el QUE del COMO
 La interface define el QUE
 Las clases implementadoras el COMO
 Las clases que usen la interfaz no les incumbe el COMO,
sólo el QUE, esto es, dependen de la interface no de la
implementación.
Interface
 En una interface no se pretende heredar
implementación ni estado
Atributos en Interfaces
 Ya que en una interface no se pretende heredar
implementación ni estado, declarar atributos
en ella no tiene mucho uso.
 Sinembargo si la interface tiene atributos estos son
siempre:
 públicos

y estáticos
 (nunca cambian su valor, se manejan como constantes)
 mostrados como subrayados
Interface
 La interface no puede ser instanciada.

IGestionTransacciones interface = new IGestionTransacciones();


Escenario de Uso de Interfaces:
Subsistemas
 Un escenario de uso de interfaces consiste
de los subsistemas
 Siguiendo el mismo principio de “ocultar”
detalles de funcionamiento, sólo se debería
hacer visible aquellos métodos que sean
necesarios para utilizar un subsistema
 Estos métodos deberían estar definidos en una
clase en una interface.
Usando la Interface
Observe que los objetos de tipo Control son candidatos para Interfaces
Usando Interface
 La interfaz es un contrato
 Las implementaciones son flexibles ya que
pueden cambiar sin afectar a los que utilizan
la interfaz
 Cambio se refiere al algoritmo utilizado dentro de
la operación.
 Lo anterior se denomina el principio de
encapsulamiento
Usando la Interface
El objeto de tipo boundary tiene una referencia (control) a la Interface (QUE)
no a la clase implementadora (COMO)
* Cuando se cambie la clase implementadora el boundary no tendrá impacto,
esto es, se mejora la modificabilidad
Tutorial diagrama
de paquetes EA
Se crea una Vista simple dentro del Modelo
Se crea una Diagrama de paquetes dentro
de la Vista
Aparece el estereotipo de Paquete y
relaciones en la barra de herramientas
Arrastre paquetes al diagrama, y cree
relaciones de dependencia entre ellos.
Arrastre paquetes al diagrama, y cree
relaciones de dependencia entre ellos.

• Si usted desea agrupar otros elementos dentro del


paquete, deje marcado el checkbox
Puede crear por ejemplo un diagrama de
clases dentro de ese paquete
Para crear paquetes dentro de un paquete,
simplemente agrande el paquete deseado y
arrastre nuevos paquetes dentro de el.
Si desea crear capas o regiones para los
paquetes puede utilizar el componente
Boundary
Si desea crear capas o regiones para los
paquetes puede utilizar el componente
Boundary
Ejercicios de
diseño en Uvirtual
Bibliografía
 Lectura base Capítulo 6 del libro guía [BERND2010]
 Epígrafes 6.1, 6.2 y 6.3
 Pressman
 Capítulo 8 – Conceptos de diseño
 Sommerville
 Capítulos 5, 6 y 7
TAREA
 Estudiar los conceptos vistos en clase.
 Hacer el mismo diagrama utilizando diagramas de
componentes

Potrebbero piacerti anche