Post on 31-Oct-2015
description
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.
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
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
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
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.
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
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
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?
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
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
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á
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
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
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
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.
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
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
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
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
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.
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
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?
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
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
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
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
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.
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.
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?
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.
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?
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.
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
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
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
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)
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)
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ó
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”
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.
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)
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)
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)
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)
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.
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
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
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)
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)
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)
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)
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
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.
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)
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)
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
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)
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
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
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
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
7/16/2019 2. Diseño orientado a Objetos. diapositivas.
http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 74/84
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.
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)
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
í
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.
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
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
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
7/16/2019 2. Diseño orientado a Objetos. diapositivas.
http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 82/84
7/16/2019 2. Diseño orientado a Objetos. diapositivas.
http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 83/84
7/16/2019 2. Diseño orientado a Objetos. diapositivas.
http://slidepdf.com/reader/full/2-diseno-orientado-a-objetos-diapositivas 84/84