84
2. Diseño orientado a Objetos 2.1 Diseño del sistema en base a procesos. 2.1.1 Actividades y casos de uso. 2.1.2 Interfaces de usuario . 2.2 Diseño de la lógica. 2.2.1 Clases y Objetos . 2.2.2 Interacción. 2.2.3 Estados y T ransiciones.

2. Diseño orientado a Objetos. diapositivas

Embed Size (px)

DESCRIPTION

Un diagrama o modelo entidad-relación (a veces denominado por sus siglas en inglés, E-R "Entity relationship", o del español DER "Diagrama de Entidad Relación") es una herramienta para el modelado de datos que permite representar las entidades relevantes de un sistema de información así como sus interrelaciones y propiedades.

Citation preview

Page 1: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 1/84

2. Diseño orientado a Objetos

2.1 Diseño del sistema en base a procesos.

2.1.1 Actividades y casos de uso.

2.1.2 Interfaces de usuario.2.2 Diseño de la lógica.

2.2.1 Clases y Objetos.

2.2.2 Interacción.

2.2.3 Estados y Transiciones.

Page 2: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 2/84

Diseño orientado a objetos

• Antes de iniciar con el diseño orientado a

objetos, se repasaran algunos aspectos

básicos de la orientación a objetos

Page 3: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 3/84

Análisis Orientado a Objetos

• Identificación de clases y objetos

• Identificación de estructuras

• Identificación de temas

• Identificación de atributos

• Identificación de servicios

Page 4: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 4/84

Diseño Orientado a Objetos

•Componente del Dominio del Problema

• Componente de Interacción Humana

• Componente de Administración de Tareas

• Componente del Manejo de Datos

Page 5: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 5/84

Análisis del Sistema

Consiste en identificar y analizar la funcióny ejecución requeridas del sistema que se

va a construir y entonces distribuir esta

función y ejecución a cada uno de los

elementos del sistema.

Page 6: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 6/84

Actividades

Desarrollar o adquirir una declaración delalcance del sistema

 Aislar los procesos y entidades a nivel

superior 

Distribuir procesos y entidades a elementos

físicos del sistema

Desarrollar una declaración refinada delalcance para cada elemento distribuido del

sistema

Contactar con el cliente para revisar la

distribución

Page 7: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 7/84

Declaración del alcance del sistema

Formular preguntas para comprender la función

global del sistema

Describir la función global del sistema

Identificar las principales entradas y salidas

Listar todas las restricciones que afecten al sistema

Escribir un párrafo en un lenguaje sencillo

Page 8: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 8/84

Preguntas

Salidas

Entradas

Funciones

¿qué información produce?

¿cuál es el formato?¿Produce gráficos, reportes u otros?

¿quién utiliza los datos de salida?

¿Otro sistema los utiliza?

¿qué información acepta como entrada?

¿Los datos se proporcionan interactivamente?

¿qué nivel de validación de datos es requerido?

¿cuál es el formato de entrada?

¿quién proporciona la entrada?

¿cuáles son los procesos que realizan?

¿cómo manejan la informaciónde entrada para

proporconar la salida?

Page 9: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 9/84

Describir la función global del sistema

Consiste en escribir un párrafo que

identifique los objetivos globales del

sistema basado en computadora.

Utilizar un lenguaje sencillo para describir 

las funciones que el sistema va a llevar acabo y la información de entrada y de

salida

Page 10: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 10/84

Identificar las entradas y salidas

Clasificar los datos transformados en

•Objetos Datos

•Objetos Control

Información transformada por 

software

Ocurrencia de una acción o

evento específico

Page 11: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 11/84

Restricciones que afecten al sistema

•Restricciones económicas

Medio ambiente en el cual se ubicará

Page 12: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 12/84

Párrafo en un lenguaje sencillo

Escribir una narrativa que contenga:

•Un listado de los principales datos de entrada y salida

• Una descripción de la función global del sistema

•Un listado de las restricciones mas importantes del sistema

Page 13: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 13/84

 Aislar los procesos y entidades a nivel superior 

Seleccionar entidades Objetos

Seleccionar entidades Procesos

Page 14: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 14/84

Seleccionar Entidades Objetos

•Subrayar cada sustantivo o cláusla

sustantivo e inclirla en una tala Entidad.

(Debe considerar los alias)

•Los atributos de las entidades se identifican

subrayando todos los adjetivos y asociandolos

a las entidades correspondientes

Page 15: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 15/84

Seleccionar Entidades Procesos

•Subrayar todos los verbos, frases verbale y

predicados, relacionando cada proceso a la

entidad apropiada. (Tabla de Procesos)

•Los atributos de los procesos son

identificados subrayando todos los adverbios y

entonces asociando éstos con sus respectivos

procesos.

Page 16: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 16/84

Distribuir proceso y entidades a

elementos físicos del sistema

Desarrollar lista de criterios para la

distribución y priorizar 

Proponer al menos dos distribuciones

 Aplicar criterios para estimar laviabilidad de cada alternativa

Seleccionar una distribución

Page 17: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 17/84

Lista de Criterios

•Restricciones económicas

•Restricciones en cuanto a experiencia

•Restricciones en el grado global de riesgo

•Restricciones en la disponibilidad de apoyo

Page 18: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 18/84

Proponer dos distribuciones

Es necesario contar con al menos dos

soluciones potenciales para el sistema,ya que de no ser así indicaria que no

se ha comprendido realmente el

problema

Page 19: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 19/84

Criterios para estimar la viabilidad

•Consideraciones del proyecto

•Consideraciones del negocio

• Aspectos humanos

•Interfaces medioambientales

•Consideraciones legales

Page 20: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 20/84

Seleccionar una distribución

Seleccionar la distribución que mejor cumpla con los criterios establecidos.

Page 21: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 21/84

Declaración refinada del alcance para

cada elemento

Se realiza una descripción de losprocesos y entidades asociados con

el hardware, software, personas, bses

de datos, documentos y

procedimientos

Page 22: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 22/84

Revisar distribución con el cliente•¿Se definieron las funciones principales?

•¿Se definieron las interfaces entre los elementos del

sistema?

•¿Se establecieron las restricciones para cada elementodel sistema

•¿Fue seleccionada la mejor alternativa?

•¿La solución es factibe?

¿Se establecieron mecanismos de validación yverificación?

•¿Existe consistencia entre los elementos del sistema?

Page 23: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 23/84

Un ejemplo

• Suponga que deseo enviar flores a mi abuela (cuyo

nombre es Elisa) debido a su cumpleaños. Ella vive en

la ciudad a varios kilómetros de distancia, asi que no

me es posible llevarle las flores en persona. Sin

embargo enviarle las flores es lo mas sencillo del

mundo; solo tengo que ir con mi florista local (cuyo

nombre es Flo) describirle el tipo y cantidad de flores

que quiero enviar, y puedo estar seguro de que las

flores seran entregadas automáticamente

Page 24: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 24/84

Conceptos de AOO

• Superclase

• Clase (flores, persona)

• Objeto

• Encapsulamiento• Abstracción

• Herencia

• Polimorfismo

Modularidad•  jerarquía

Page 25: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 25/84

Características de un objeto

• Tiene un comportamiento• Tiene responsabilidades•

Se asocia con otros a través de mensajes• Son agregados, y juntos conforman un

todo• Se clasifican y forman las clases•

Cada clase tiene atributos y operacionesdiferentes, aunque cuando tienen igualatributo u operaciones se dice que

• Heredan características

Page 26: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 26/84

2.1 Diseño del sistema en base a procesos.

• 2.1.1 Actividades y casos de uso.

• 2.1.2 Interfaces de usuario.

d d d

Page 27: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 27/84

2.1.1 Actividades y casos de uso.

Diagramas de casos de uso

• Un Diagrama de Casos de Uso muestra la relaciónentre los actores y los casos de uso del sistema.

• Representa la funcionalidad que ofrece el sistema en

lo que se refiere a su interacción externa.

Elementos

Actores• casos de uso

• relaciones entre casos de uso.

Page 28: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 28/84

Diagramas de casos de uso. Elementos

Identificación de los actores

• Un actor representa a una cosa, o persona queinteractúa con el sistema, incluyendo sistemas

externos, y otras organizaciones.• Los actores son siempre externos al sistema que está

siendo modelado.

• Un actor es una entidad externa al sistema querealiza algún tipo de interacción con el mismo.

• Se representa mediante una figura humana dibujada

con palotes.

Page 29: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 29/84

Cómo encontrar los actores 

Mediante las siguientes preguntas• ¿Quién es el principal cliente de su sistema?

• ¿Quién obtiene la información de este sistema?

• ¿Quién proporciona información al sistema?

• ¿Quién instala el sistema?

• ¿Quién opera el sistema?

• ¿Quién apaga el sistema?

• ¿Qué otros sistemas interactúan con este sistema?

• ¿Hay algo que sucederá de forma automática a una hora predeterminada?

•¿Quién suministro, utilización, o eliminar la información del sistema?

• ¿De dónde viene el sistema de obtener información?

Page 30: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 30/84

Diagramas de casos de uso. Elementos

casos de uso• Es una descripción de la secuencia de interacciones que se

producen entre un actor y el sistema, cuando el actor usa el

sistema para llevar a cabo una tarea específica. Expresa una

unidad coherente de funcionalidad.

• Se representa en el Diagrama de Casos de Uso mediante una

elipse con el nombre del caso de uso en su interior. El nombre

del caso de uso debe reflejar la tarea específica que el actor

desea llevar a cabo usando el sistema.

Page 31: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 31/84

Diagramas de casos de uso. Elementos

Identificación de casos de usopreguntando a sus interesados, lo siguiente, desde el punto de

vista de los actores:

• ¿Cuáles son los usuarios de este rol tratando de realizar?

• ¿Qué deben ser capaces los usuarios de hacer?• ¿Cuáles son las principales tareas de los usuarios en este

papel?

• ¿Qué información necesitan examinar, crear o cambiar los

usuarios de este perfil?• ¿Qué información necesitan los usuarios de este perfil del

sistema?

• ¿Qué hacen los usuarios en este perfil que necesitan informar

al sistema?

Page 32: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 32/84

Diagramas de casos de uso. Elementos

Relaciones entre Casos de UsoEntre dos casos de uso puede haber las siguientesrelaciones:

• Extiende: Cuando un caso de uso especializa a otro

extendiendo su funcionalidad.• Usa: Cuando un caso de uso utiliza a otro.

Se representan como una línea que une a los dos casos

de uso relacionados, con una flecha en forma detriángulo y con una etiqueta <<extiende>> o <<usa>>según sea el tipo de relación.

Page 33: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 33/84

ejemplo de Diagrama de Casos de Uso para un cajero automático

Page 34: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 34/84

2.1.2 Interfaces de usuario

• Es la parte del software con el que un usuariointeractúa directamente.

• Un prototipo no es exactamente la interfaz de usuario

Cuando se diseña la interfaz de usuario, este itera entre

las siguientes tareas:• Explorar el uso del sistema.

• Las pantallas de informes potenciales, se puedemodelar usando papel de rota folio.

•Se Modelan elementos como campos de entrada, laslistas, y los contenedores

• Se realizan en el software seleccionado

A áli i O i t d Obj t (AOO) 2 2 1 Cl

Page 35: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 35/84

Análisis Orientado a Objetos (AOO)

Establecer una correspondencia cercana entre la representacióntécnica de un sistema y la vista conceptual del mundo real.

2.2.1 Clases y

Objetos

Page 36: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 36/84

•Igualar la representación técnica de un sistema lo más

cercanamente posible a la vista conceptual del mundo real.

•Lograr y comunicar un entendimiento del espacio del

problema.•Crear un marco de referencia establecido para el análisis y

la especificación.

•Reducir la volatilidad.

•Constituye la expresión inicial del contexto del problema.•Evitar el cambio de representación del análisis al diseño.

Análisis Orientado a Objetos (AOO)

Page 37: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 37/84

Análisis Orientado a Objetos (AOO)

Dominio o Espacio del problema.

Campos de interés bajo consideración.

Responsabilidades del sistema.

Arreglo de cosas de interés, relacionadasentre sí como un todo.

Dominio del problema:Persona

Nombre

Dirección

Peso

Edad

Estilo de vida

Preferencias religiosas

Responsabilidades del sistema:Persona

Nombre

Dirección

Análisis Orientado a Objetos (AOO)

Page 38: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 38/84

Análisis Orientado a Objetos (AOO)

ObjetoUna abstracción de algo parteneciente al espacio

del problema, la cual refleja las capacidades de unsistema de mantener información sobre él y/o

interactuar con él, un encapsulamiento de valores

de Atributos y sus Servicios exclusivos.

Clase.Una descripción de unos o más objetos con un

conjunto uniforme de Atributos y Servicios.

Clases-y-Objetos.Término que significa “una clase y los objetos en esa

clase”.

N t ió

Page 39: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 39/84

Notación

“Clase y Objetos” 

Algunos objetos dentro de una Clase

“Clase” 

Page 40: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 40/84

•Los nombres de Clase-y-Objetos deben ser del vocabulario estándar del

problema.

•Deben ser nombres familiares.

•Los nombres deben ser legibles. No abusar de los prefijos.

Análisis Orientado a Objetos (AOO)

Nombre de la Clases-y-Objetos.

Atributos de la Clases-y-Objetos.

Servicios de la Clases-y-Objetos.

Page 41: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 41/84

Análisis Orientado a Objetos (AOO)

•Observar.

•Checar resultados de AOO previos.

•Checar otros sistemas.•Documentarse.

•Realizar prototipos.

Análisis Orientado a Objetos (AOO)

Page 42: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 42/84

Análisis Orientado a Objetos (AOO)

•Estructuras.

Buscar estructuras del tipo Generalización-Especialización y Entero-Parte.

•Otros sistemas.

¿Interactuará el sistema con algún otro sistema(s)?

•Dispositivos.

¿Con qué dispositivos necesita interactuar el sistema?

•Cosas o eventos que deben ser recordados.

•Roles desempeñados.

¿Qué papeles o roles desempeñan las personas en el sistema bajo estudio?

•Procedimientos operativos.

Cuando el sistema necesita recordar alguna operación o secuencia de pasos en particular.

•Sitios.

¿De qué sitios, localidades o sitios necesita el sistema tener conocimiento?

•Unidades organizacionales.

A áli i O i d Obj (AOO)

Page 43: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 43/84

Análisis Orientado a Objetos (AOO)

(Usualmente) más de un Objeto en la clase.

Atributos siempre aplicables.

Supervisor

Construcción

Dirección

PrecioÁreaNúmeroBaño

A áli i O i t d Obj t (AOO)

Page 44: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 44/84

Análisis Orientado a Objetos (AOO)

Información retenida.¿Necesita el sistema recordar algo acerca de los Objetos de la Clase?

¿Puede un Objeto de la Clase ser descrito? ¿Cuáles son los atributos? ¿Es el

conocimiento de esta del mundo real, de interés para el sistema bajo estudio?

Comportamiento necesario.¿Necesita un Objeto de la Clase exhibir algún comportamiento?

Si necesita recordar algo sobre la Clase-y-Objeto, entonces se requerirán servicios: crear,

conectar, accesar y liberar.

(Usualmente) múltiples atributos.

A áli i O i t d Obj t (AOO)

Page 45: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 45/84

Análisis Orientado a Objetos (AOO)

•Servicios siempre aplicables.¿Existe comportamiento que se aplique para cada objeto en la clase?

Los servicios pueden ser algorítmicamente sencillos (crear, conectar, accesar, liberar) o

algorítmicamente complejos (calcular, inicializar, monitorear, etc.)

•Requerimientos esenciales.Son requerimientos que el sistema debe tener, independientemente de la

tecnología empleada para implementar el sistema.

•No incluir resultados que puedan derivarse.

Page 46: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 46/84

Análisis Orientado a Objetos (AOO)

Ejemplo:

Sistema de registro de vehículos de motor.

1. Gente

2. Legal

Capa de Temas

Page 47: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 47/84

Análisis Orientado a Objetos (AOO)

Capas de temas y deClases&Objetos

Page 48: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 48/84

Análisis Orientado a Objetos (AOO)

Page 49: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 49/84

Análisis Orientado a Objetos (AOO)

Page 50: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 50/84

EstructuraUna expresión de la complejidad del

espacio del problema correspondiente

a las responsabilidades del sistema. Eltérmino Estructura describe tanto a la

estructura Generalización-

Especialización (Gen-Espec) como la

estructura Entero-Parte.

Análisis Orientado a Objetos (AOO)

Page 51: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 51/84

•Se enfoca la atención del analista y de los expertos del espacio del problema en la

complejidad de múltiples Clases-y-Objetos.

•Se analizan los límites de las responsabilidades del sistema, descubriendo Clases-y-Objetos

adicionales.

Análisis Orientado a Objetos (AOO)

Gen_Espec Clasificación

Entero_Parte Ensamblaje

A áli i O i t d Obj t (AOO)

Page 52: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 52/84

Análisis Orientado a Objetos (AOO)

La Reja:

•Enfatiza las especializaciones adicionales.

•Captura explícitamente las similitudes.

•Incrementar en menor grado la complejidad del modelo

Page 53: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 53/84

Análisis Orientado a Objetos (AOO)

Considerar cada Clase como una generalización. Para cada una de sus especializaciones

candidatas, preguntar:

•¿Está en el espacio del problema?

•¿Está dentro de las responsabilidades del sistema?

•¿Habrá herencia?

•¿Cumplen las especializaciones con cada uno de los criterios de Clase-y-Objetos?.

De igual forma, considerar cada Clase como una especialización y para sus generalizaciones

potenciales preguntar:

•¿Está en el espacio del problema?•¿Está dentro de las responsabilidades del sistema?

•¿Habrá herencia?

•¿Cumplen las especializaciones con cada uno de los criterios de Clase-y-Objetos?.

Deben checarse AOO previos para detectar Estructuras Gen-Espec que puedan reutilizarse.

Page 54: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 54/84

Análisis Orientado a Objetos (AOO)

Nave

Avión Jet Helicóptero Jet Militar

(Ej. Sistema Transporte Aéreo)

•¿Las especializaciones AviónJet y Helicóptero tienen sentido en el espacio del problema?

•¿Necesita el sistema reconocer la diferencia entre un Avión Jet y un Helicóptero?

•¿Habrá herencia? Es decir, atributos y servicios heredados a todas las naves, y Atributos y Servicios

especializados aplicables sólo a AviónJet y otros a Helicóptero?.

Si la única diferencia entre un AviónJet y Helicóptero y es el tipo, entonces úsese un atributo tipo conenumeración de valores.

Si la única distinción entre las especializaciones es que el sistema es responsable de conocer la carga

máxima de un jet (pero no en el caso del helicóptero), entonces use un Atributo MaxCarga en Nave con

Valores.

Si una Clase no agrega Atributo y Servicios, entonces no es necesaria, amenos que sea una Clase con

mucha Generalizaciones Directas (como en el caso de una reja).

Análisis Orientado a Objetos (AOO)

Page 55: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 55/84

Análisis Orientado a Objetos (AOO)

Page 56: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 56/84

Análisis Orientado a Objetos (AOO)

•Sub-dominios del problema.

•Emplear Entero-Parte.

•Interdependencias (Estructuras) mínimas entre temas.

•Interacciones (Conexiones de mensaje) mínimas entre temas.

1. Gente

2. Legal

Page 57: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 57/84

Análisis Orientado a Objetos (AOO)

Dependiendo de la complejidad del problema.

1 1

1 1

2 2

2 2

3 3

3 3

Análisis Orientado a Objetos (AOO)

Page 58: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 58/84

1. Gente 2. Legal

1 1

1 1

2 2

2 2

1. Gente

Clases-y-Objetos1Clases-y-Objetos2

2. Legal

Clases-y-Objetos1

Clases-y-Objetos2

Page 59: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 59/84

Análisis Orientado a Objetos (AOO)

Servicio.Comportamiento especifico que el Objeto es responsable de exhibir.

Análisis Orientado a Objetos (AOO)

Page 60: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 60/84

Especificar los servicios dentro de un formato de clases-y-objetos, empleando un Diagrama

de Servicio.

Especificación

Atributo

Atributo

Atributo

Entrada ExternaSalida Externa

Diagrama de Estado del Objeto

Restricciones adicionales

Notas

servicio<nombre y Diagrama de Servicios>

servicio<nombre y Diagrama de Servicios>servicio<nombre y Diagrama de Servicios>

y, conforme sea necesario

Códigos de estado aplicables

Requerimientos de tiempo

Requerimientos de memoria

Análisis Orientado a Objetos (AOO)

Page 61: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 61/84

Debe considerarse a cada objeto como un todo, y para cada una de las partespotenciales preguntar:

•¿Está dentro del espacio del problema? 

•¿Está dentro de las responsabilidades del sistema? 

•¿Captura más que un valor de estado? Si no, entonces basta con incluir un atributo en el todo.

•¿Proporciona una abstracción útil para tratar el espacio del problema? 

¿Qué papeles o roles desempeña las personas en el sistema bajo estudio?

De igual manera considerar a cada Objeto como Parte, y para cada Todo potencial

realizar las mismas preguntas.

Análisis Orientado a Objetos (AOO)

Page 62: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 62/84

Análisis Orientado a Objetos (AOO)

Estructura Entero-Parte

La notación es direccional, por lo que la estructura puede dibujarse en cualquier ángulo.

Las líneas están posicionadas de manera que reflejan el mapeo entre objetos.

Entero

Parte 1 Parte 2

Análisis Orientado a Objetos (AOO)

Page 63: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 63/84

Análisis Orientado a Objetos (AOO)

Toda-parte es uno de los métodos básicos de organización empleados por la mentehumana.

En la investigación del espacio del problema, es muy útil al identificar Clases-y-Objetos en

el espacio del problema y en cuanto a las responsabilidades del sistema.

Deben considerar las siguientes variaciones:

Ensamblado-Partes.

Contenedor-Contenido.

Colección-Elementos.

Análisis Orientado a Objetos (AOO)

Page 64: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 64/84

ArtículoCarga

Motor

Piloto

(Ej. Sistema Transporte Aéreo)

¿Cuáles son las partes potenciales de una aeronave? Considérense los motores.

•¿Tiene sentido un motor en este dominio? Si el dominio es “servicios de alimentación”

probablemente no, si el dominio es “transporte aéreo” entonces tiene sentido. •¿Está el motor dentro de las responsabilidades del sistema? ¿Necesita el sistema saber de o

interactuar con los motores? Para el caso de “transporte aéreo”, podría ser parte de las

responsabilidades del sistema.

•¿Tiene un motor más que sólo un valor de estado? Si las responsabilidades del sistema sólo

incluyen el estado de la nave o del motor, entonces no es necesario una clase-y-objetos

Motor. Pero si se requiere más que su estado entonces se requiere una Clase-y-Objetos

Motor.

•¿Proporcionar una abstracción útil en el espacio del problema? Si.

Análisis Orientado a Objetos (AOO)

Page 65: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 65/84

Análisis Orientado a Objetos (AOO)

Capas de temas y de Clases&Objetos y Estructuras

Análisis Orientado a Objetos (AOO)

Page 66: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 66/84

Análisis Orientado a Objetos (AOO)

Análisis Orientado a Objetos (AOO)

Page 67: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 67/84

Análisis Orientado a Objetos (AOO)

Capas de temas y de Clases&Objetos y Estructuras

Análisis Orientado a Objetos (AOO)

Page 68: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 68/84

Análisis Orientado a Objetos (AOO)

Análisis Orientado a Objetos (AOO)

Page 69: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 69/84

Análisis Orientado a Objetos (AOO)

Capas de temas y de Clases&Objetos, Estructuras y Servicios

Análisis Orientado a Objetos (AOO)

Page 70: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 70/84

Análisis Orientado a Objetos (AOO)

Page 71: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 71/84

2.2.2 Interacción

Muestra un patrón de interacción entre objetos.

Los diagramas de interacción son:

• Diagramas de Secuencia

• Diagramas de Colaboración.

Diagramas de secuencia

Page 72: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 72/84

Diagramas de secuencia

Muestra los objetos participantes en la interacción y los

mensajes que intercambian, ordenados según su secuencia en el

tiempo.

El eje vertical representa el tiempo, y en el eje horizontal se

colocan los objetos y actores participantes en la interacción, sin

un orden prefijado.

Cada objeto o actor tiene una línea vertical

Los mensajes se representan mediante flechas entre los distintos

objetos.

El tiempo fluye de arriba abajo Se pueden colocar etiquetas (como restricciones de

Page 73: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 73/84

El tiempo fluye de arriba abajo. Se pueden colocar etiquetas (como restricciones de

tiempo, descripciones de acciones, etc.) bien en el margen izquierdo o bien junto a las

transiciones o activaciones a las que se refieren.

Ejemplo de un diagrama de secuencia

Page 74: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 74/84

Page 75: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 75/84

Diagramas de Colaboración

Muestra una interacción organizada basándose en

los objetos que toman parte en la interacción y los

enlaces entre los mismos (en cuanto a la interacción

se refiere).

Muestran las relaciones entre los roles de los

objetos. La secuencia de los mensajes y los flujos deejecución concurrentes deben determinarse

explícitamente mediante números de secuencia.

Page 76: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 76/84

2.2.3 Estados y Transiciones

• Los diagramas de estado se utilizan para

describir el comportamiento de un sistema.

• Representa los diferentes estados que puede

adquirir una clase.

• Representa las diferentes etapas de su vida

• En UML los estado se representan por óvalos

Análisis Orientado a Objetos (AOO)

Page 77: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 77/84

Cada objeto pasa por diferentes estados, desde que es creado hasta que es liberado o

eliminado.

Un estado de Objeto es la identificación de valor(es) de Atributo, que refleja un cambio

en el comportamiento del objeto.

Para identificar los estados de un objeto:(1) Examinar los valores potenciales para los atributos, y

(2) Determinar si las responsabilidades del sistema incluyen un comportamiento distinto

para dichos valores potenciales.

Estado Transición

í

Page 78: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 78/84

Simbología• Circulo lleno. Apuntando a un

estado inicial.

• Circulo Hueco. Que contiene uncírculo lleno más pequeño en elinterior, indicando el estado final

( si existiera).• Rectángulo redondeado.

Denotado un estado, en la partesuperior del rectángulo esta el

nombre del estado. Puedecontener una línea horizontal enla mitad, debajo de la cual seindican las actividades que sehacen en el estado.

Page 79: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 79/84

• Flecha, denotadotransición. El nombre

de un evento(siexistiera) que causa latransición etiqueta elcuerpo de la flecha.

• Línea horizontalgruesa con flecha.

Denotanunión/separación,respectivamente

d

Page 80: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 80/84

2.2.3 Estados y Transiciones

• Un estado puede descomponerse en

subestados, con transiciones entre ellos y

conexiones al nivel superior. Las conexiones se

ven al nivel inferior como estados de inicio ofin, los cuales se suponen conectados a las

entradas y salidas del nivel inmediatamente

superior

Page 81: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 81/84

Ejemplo de diagrama de estado en UML

Page 82: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 82/84

Page 83: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 83/84

Page 84: 2. Diseño orientado a Objetos. diapositivas

7/16/2019 2. Diseño orientado a Objetos. diapositivas.

http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 84/84