El Modelo de Objetos -. Modelo de Objetos2 Descomposición de un problema zEncontrar los conceptos centrales del problema zDefinir las responsabilidades.

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

METODOLOGÍA ORIENTADA A OBJETOS CARACTERISTICAS DEL PROCESO
Pablo Fernández Busch - Marcos Pasqualino
Lenguaje Unificado de Modelado
Programación Orientada a Objetos y Lenguaje de Modelado Unificado
Curso de Java Capitulo 7: Continuación Poo Profesor:
PROGRAMACION ORIENTADA A OBJETOS
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Tomado de:
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
ALGORITMICA II - Tipos Abstractos de Datos (TAD)
“ no existe en el mundo algo mas difícil de establecer, que un nuevo orden de cosas” Maquiavelo “ el príncipe” Lo anterior se refiere al hecho de lo importante.
Arquitectura CLARO-TECNOTREE
Introducción a la Orientación a Objetos
DSOO - María Eugenia Valencia
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
La Programación Orientado a Objetos
EEST N°2 Mar del Plata 7mo año Informática Personal y Profesional Docente: Barnés Castilla, Viviana Elisa / Modelos y Sistemas.
Fundamentos de Ingeniería de Software
Tipo de Dato Abstracto Tipos de datos:
Aplicación del paradigma orientado a objetos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Diseño y programación de
Ingeniería del Software
ORIENTADO A OBJETOS ESTUDIANTE JESSICA LORENA LEAL MEDINA INGENIERIA DE SOFTWARE PROGRAMA INGENIERIA DE SISTEMAS UNIVERSIDA COOPERATIVA DE COLOMBIA NEIVA-HUILA.
UNIDAD I. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA.
Programación orientada a objetos Rosemary Torrico Bascopé.
Diagramas de clases Modelan la vista estática del sistema
DIAGRAMA DE CLASE.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Análisis y Diseño orientado a objetos con UML.
PROGRAMACIÓN ORIENTADA A OBJETOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
UML Diagramas. Diagramas de Interacción Muestran como los objetos de la aplicación cooperan e interactúan para cumplir con los requisitos. Suele construirse.
Análisis y Diseño Orientado a Objetos utilizando UML
Introducción a la programación Orientada a objetos
Tema 10: Interfaces Antonio J. Sierra.
Criterios de la Orientación a Objetos 1. Método y Lenguaje (proceso de pensamiento y notaciones para analizar y producir software). 2. Implementación y.
DISEÑO DE SOFTWARE 1ª. Parte
Tecnológico de Estudios Superiores Huixquilucan Fundamentos de Sistemas Ingeniería en Sistemas Computacionales Lic.: Lydia Villavicencio Gómez “Paradigmas.
Universidad Domingo Savio
Métricas Técnicas para Sistemas Orientados a Objeto
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales
INSTITUTO TECNOLOGICO DE MINATITLAN ASIGNATURA: FUNDAMENTOS DE PROGRAMACION DOCENTE: JOSE ANGEL TOLEDO ALVAREZ ALUMNA: ALEJANDRA OSORIO ARVISU SEMESTRE:
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
Facultad de Ingeniería
Programación Orientada a Objeto
PROGRAMACION ORIENTADA A OBJETOS
Ingeniería de Software
Clasificación de Diagramas
Introducción a la Programación Orientada a Objetos (POO)
POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
Ing. Esp. Ricardo Cujar. Programación Orientada a Objetos  Modelo de desarrollo de software.  Modo de pensar del hombre y no de la máquina.  Abstracción.
(Lenguaje Unificado de Modelado)
INTRODUCCION AL ANALISIS Y DESARROLLO DE SISTEMAS DE SOFTWARE EQUIPO NUMERO CUATRO INTEGRADO POR: XAVIER REFUGIO GARY NERY HERNANDEZ OSCAR JUAREZ.
UML Casos de Uso (repaso) y Diagramas de Clase
Modelan la vista estática del sistema Elementos básicos: Clases Relaciones Objeto: Representación de una entidad discreta (real o abstracta) - Estado:
Universidad Tecnológica de Izúcar de Matamoros Programa Educativo: Tecnologías de la Información Asignatura: Base de datos para aplicaciones Tema: Base.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
M.C. Pedro Bello López 1 IMPLEMENTACIÓN. M.C. Pedro Bello López2.
Tipo de relación entre clases Es uno de los aspectos que distinguen el paradigma de orientación a objetos frente a otros paradigmas. Mecanismo que,
Programación Orientada a Objetos: CLASES Y OBJETOS
La Programación Orientado a Objetos
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Fundamentos de Ingeniería de Software
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Prof. Manuel B. Sánchez. Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Modelado UML Diagrama de Clases
Transcripción de la presentación:

El Modelo de Objetos -

Modelo de Objetos2 Descomposición de un problema zEncontrar los conceptos centrales del problema zDefinir las responsabilidades de cada concepto zEncontrar las colaboraciones entre los conceptos

Modelo de Objetos3 Un programa Orientado a Objetos Abstracciones (objetos) Colaboraciones

Modelo de Objetos4 Conceptos centrales zAbstracción: características esenciales del objeto zEncapsulamiento: ocultación de la implementación zModularidad: paquetes de abstracciones agrupadas en unidades discretas zJerarquia: clasificación de abstracciones

Modelo de Objetos5 Conceptos centrales (II) Abstracción Encapsulamiento Jerarquía Modularidad de Agrupación de

Modelo de Objetos6 Objetos zUn objeto representa una entidad individual identificable, real o abstracta, con un papel definido y preciso en el dominio del problema. zTodo objeto tiene estado, comportamiento e identidad. zLos objetos con comportamiento similar se agrupan en clases.

Modelo de Objetos7 Estado de un Objeto zEl estado de un objeto está constituído por todas sus propiedades estáticas y los valores actuales de cada una de ellas: Propiedad Valor

Modelo de Objetos8 Estado zLos objetos son máquinas de estado: su estado actual depende de un estado inicial y de la secuencia de estímulos recibidos. zDistintas secuencias de estímulos pueden implicar distintos estados finales, aunque el estado inicial sea el mismo

Modelo de Objetos9 Comportamiento zEs la descripción de un objeto en términos de sus cambios de estado y paso de mensajes. zEl comportamiento es la actividad “visible” del objeto zEstá expresado por el conjunto de estímulos a los que un objeto es capaz de responder.

Modelo de Objetos10 Operaciones zLlamamos operación a la acción de un objeto sobre otro a fin de provocar un comportamiento zLas operaciones pueden expresarse en términos de un contrato, donde el cliente solicita un servicio asegurando precondiciones y espera poscondiciones

Modelo de Objetos11 Contrato zPrecondiciones: son las cosas que deben asegurarse antes de invocar la operación zPoscondiciones: son las cosas que el receptor garantiza al finalizar la ejecución de la operación zInvariantes: son aquellas cosas que permanecen inmutables durante la ejecución de la operación

Modelo de Objetos12 Excepciones zSon el mecanismo utilizado por un objeto para indicar que una operación solicitada no pudo cumplirse: yPorque no se dan todas las precondiciones, o yporque no pueden asegurarse los invariantes, o yporque no pueden asegurarse las poscondiciones de la operación

Modelo de Objetos13 Semántica de Mensajes Objeto Excepciones Mensaje (método + parámetros ) Respuesta PrecondicionesInvariantes + Poscondiciones

Modelo de Objetos14 Tipos de Operaciones zModificador (set) operación que altera todo o parte del estado del objeto. zSelector (get) operación que accede al estado interno del objeto pero no lo altera zConstructor: operación que crea un objeto, inicializando su estado zComportamientos específicos

Modelo de Objetos15 Métodos zUn método es la implementación de un comportamiento dentro de un objeto. zCada método tiene una visibilidad: ypúblico: es accesible por otros objetos yprivado: sólo es utilizable por el propio objeto yprotegido: es utilizable por el objeto y los objetos instancias de clases derivadas

Modelo de Objetos16 Métodos (II) zCada método tiene una signatura con tres componentes: yEl objeto receptor yEl nombre del método yLos argumentos zLa ejecución de un método puede devolver uno, ninguno o varios objetos

Modelo de Objetos17 Identidad zEs la propiedad de un objeto que lo distingue de todos los demás: xElementoPantalla x; xGradienteTemperatura gi; zLa identidad de un objeto está indicada por su referencia: el nombre de un objeto es la referencia del objeto físico

Modelo de Objetos18 Ciclo de vida de un Objeto zUn objeto ocupa un espacio de memoria durante un tiempo determinado ConstrucciónUtilizaciónFinalización Destrucción Persistencia

Modelo de Objetos19 Persistencia zEs la propiedad de un objeto de sobrevivir en el tiempo al objeto que lo creó

Modelo de Objetos20 Persistencia yresultados transitorios de la evaluación de expresiones yvariables locales a un procedimiento yvariables del espacio de memoria libre ydatos de configuración usados en != ejecuciones de una aplicación ydatos usados por != versiones de una aplicación ydatos que ‘sobreviven’ a una aplicación

Modelo de Objetos21 Objetos activos y pasivos zLos activos exhiben comportamiento sin que nadie actúe sobre ellos: son autónomos. zLos pasivos sólo cambian de estado cuando reciben estímulo externo zLos sistemas secuenciales tienen sólo un objeto activo, mientras que los sistemas concurrentes tienen varios.

Modelo de Objetos22 Sincronización zCuando un objeto envía un mensaje a otro se dice que ambos estan sincronizados. zComo distintos objetos pueden enviar mensajes simultáneamente a otro, aparece la concurrencia

Modelo de Objetos23 Concurrencia B A C D (Pasivo) Tres objetos activos (A, B y C) envían mensajes simultáneos a un servidor pasivo (D) t0: m1 t0: m2 t0: m3

Modelo de Objetos24 Concurrencia zEn el enlace de objetos activos con uno pasivo hay tres tipos de sincronización: ySecuencial: el o. pasivo funciona bien en presencia de un solo actor. yVigilado: los objetos activos deben respetar la exclusión mutua ySíncrono: el o. pasivo garantiza ejecución correcta en un escenario de concurrencia

Modelo de Objetos25 Relaciones zAsociación entre objetos para cumplir una responsabilidad determinada zLas asociaciones pueden ser ‘uno a uno’ o ‘uno a varios’ yEjemplo: un ‘cliente’ utiliza los servicios de un ‘servidor’ ClienteServidor Método

Modelo de Objetos26 Roles zEn una asociación, cada objeto cumple un rol determinado. yActor: opera sobre otros yServidor: otros operan sobre él yAgente: es Actor en algunas asociaciones y Servidor en otras

Modelo de Objetos27 Relaciones entre clases zGeneralización/Especialización: herencia zTodo/Parte: agregación zAsociación: dependencia semántica entre clases independientes

Modelo de Objetos28 Polimorfismo zEs un concepto esencial que permite construir código reutilizable zSignifica que objetos de clases distintas pueden ‘entender’ mensajes iguales zEl cliente envía un mismo mensaje a objetos diferentes. Cada receptor implementará un comportamiento específico

Modelo de Objetos29 Polimorfismo (II) cliente imprimir Imágen Texto Cada objeto provee una implementación distinta de ‘Imprimir’ que produce el comportamiento buscado por el cliente

Modelo de Objetos30 Polimorfismo (III) zMensajes que tienen sentido semejante deben tener el mismo nombre para maximizar la flexibilidad que otorga el polimorfismo. zEl cliente delega en el objeto receptor la responsabilidad de proveer la implementación correcta

Modelo de Objetos31 Enlace Dinámico zDynamic Binding en inglés, es la asociación entre el objeto receptor y el mensaje que se le envía, producida en el momento de la ejecución de la aplicación: unaCuenta.extraer( 100 ); Este código invocará el método extraer() del objeto unaCuenta. Esto supone que la clase a la que pertenece el objeto unaCuenta tiene un método extraer(), o su superclase, o las ‘ascendientes’

Modelo de Objetos32 Enlace Dinámico (II) zLa ‘versión’ del mensaje a ejecutarse se determina dinámicamente en el momento de la ejecución, basada en la clase del objeto unaCuenta. zEste concepto está asociado al polimorfismo y a la herencia para otorgar gran flexibilidad al diseño orientado a objetos