SlideShare una empresa de Scribd logo
1 de 24
INTRODUCCION DISEÑO DE OBJETOS
Integrantes:
Diego Alirio Carrascal Cód.. 1151340
Deiby Camilo Galvis Cód.. 1151381
Aarón Soto Cód.. 1151452
Martha Alejandra Chacín Cód.. 1151401
José Camilo Boada Cód.. 1151362
Samir Parada Cód.. 1150364
Alejandra Barragán Cód.. 1150792
Javier Calderón Cód.. 1151229
Jhorman Botello Cód.. 1151454
OBJETOS DE APLICACIÓN FRENTE A OBJETOS DE SOLUCIÓN
• Los objetos de aplicación representan conceptos del dominio que manipula el
sistema
• Los objetos de solución representan componentes de apoyo que no tienen una
contraparte en el dominio de la aplicación.
• Durante el análisis identificamos los objetos de aplicación
• Durante el diseño identificamos subsistemas y los objetos de solución mas
importantes
• Durante el diseño de objetos refinamos y detallamos ambos conjuntos de
objetos
9 de junio de 2018 2
REVISIÓN DE TIPOS, FORMAS Y VISIBILIDAD
• El tipo de un atributo especifica el rango de valores que puede tomar el atributo
y las operaciones de este.
• Para oda operación, al tuplo compuesto por los tipos de sus parámetros y el tipo
de valor de retorno se le llama firma de la operación.
• La visibilidad de un atributo o una operación especifica si puede ser usada por
otras clases o no.
– Privado
– Protegido
– Publico
9 de junio de 2018 3
CONTRATOS
• Son restricciones sobre una clase que permiten que el llamador y el llamado
compartan las mismas suposiciones acerca de la clase.
– Invariante: se usan para especificar restricciones de consistencia entre
atributos de clase.
– Precondición: se usan para especificar restricciones que debe satisfacer el
llamador antes de llamar a una operación
– Poscondición: se usan para especificar restricciones que el objeto debe
asegurar después de la invocación de la operación.
9 de junio de 2018 4
9 de junio de 2018 5
LENGUAJE DE RESTRICCIÓN DE OBJETOS
• Las restricciones se expresan usando OCL.
• OCL es un lenguaje que permite que se especifiquen de manera formal las
restricciones en elementos únicos del modelo o en grupos de elementos del
modelo.
9 de junio de 2018 6
ACTIVIDADES DEL DISEÑO DE OBJETOS
9 de junio de 2018 7
Identificación de atributos y operaciones faltantes: durante este paso examinamos la
descripción de servicios del subsistema e identificamos atributos y operaciones faltantes de
la etapa de análisis. Una herramienta muy útil para realizar esta actividad es el diagrama de
secuencia.
ACTIVIDADES DEL DISEÑO DE OBJETOS
Especificación de tipo de firmas y visibilidad: durante esta actividad especificamos los tipos
de atributos, las firmas de las operaciones y la visibilidad de los mismos. Esto refina el modelo
del diseño de objetos especificando primero rangos para los atributos, y segundo,
estableciendo correspondencia entre clases y atributos del modelo de objetos.
Especificación de restricciones: durante este proceso añadimos las restricciones a las clases y
operaciones para especificar con mayor precisión su comportamiento y casos de frontera,
buscando eliminar la ambigüedad mediante 3 tipos de restricciones:
•Invariantes: condiciones de los atributos que siempre son ciertas.
•Precondiciones: condiciones que deben ser satisfechas (por quien llama) antes de una
operación dada.
•Poscondiciones: representan condiciones que están garantizadas por quien fue llamado
cuando termina la operación.
Especificación de excepciones: durante este paso especificamos condiciones que las
operaciones detectan y tratan como errores elevando una excepción. Para esto se deben
establecer convenciones y mecanismos para su manejo. Usualmente se asocian con la
violación de precondiciones.
9 de junio de 2018 8
7.4.5 IDENTIFICACIÓN Y AJUSTES DE BIBLIOTECAS DE CLASE
9 de junio de 2018 9
7.4.6 IDENTIFICACIÓN Y AJUSTE DE MARCOS DE
APLICACIÓN
7.4.7 EJEMPLO DE MARCO: WEBOBJECTS
• Marcos de infraestructura
• Marcos middleware
• Marcos de aplicación empresariales
• Marcos de Caja Blanca
• Marcos de Caja negra
9 de junio de 2018 10
7.4.8 REALIZACIÓN DE ASOCIACIONES
• 1 a 1 Unidireccionales
• 1 a 1 Bidireccionales
• 1 a *
• * a *
• 1 a * con clase intermedia
• 1 a * calificado (existe un hash table en el *)
9 de junio de 2018 11
INCREMENTO DE LA REUTILIZACIÓN
• La herencia permite que los desarrolladores reutilicen el código a través de
varias clases similares.
• JFC: Java Foundation Classes
9 de junio de 2018 12
AbstractButton
JButton JMenuItem JToggleButton
JRadioButton JCheckBox
VENTAJAS PRINCIPALES EN LA UTILIZACIÓN DE UNA JERARQUÍA DE
HERENCIA BIEN DISEÑADA
• Se reutiliza más código, y esto conduce a menos redundancias y, por tanto,
menos oportunidades para que haya defectos.
• El código es extensible, incluyendo una interfaz bien documentada para la
creación de especializaciones futuras.
9 de junio de 2018 13
ENFOQUES PRINCIPALES PARA EL DISEÑO DE UNA JERARQUÍA DE
HERENCIA A FIN DE REUTILIZARLA
• Se examinan varias clases similares y abstraer su comportamiento en común.
• Desacoplar una clase cliente de un cambio anticipado introduciendo un nivel de
abstracción. Los patrones de diseño usan herencia para protegerse contra un
cambio anticipado.
ELIMINACIÓN DE LAS DEPENDENCIAS DE IMPLEMENTACIÓN
• Se usa generalización para clasificar a los objetos en jerarquías de
generalización/especificación.
• Esto permite diferenciar el comportamiento común del caso general con
respecto al comportamiento específico de los objetos especializados.
9 de junio de 2018 14
• Al uso de la herencia con el único propósito de la reutilización se llama Herencia
de Implementación.
• A la clasificación de conceptos en jerarquías de especialización-generalización se
le llama Herencia de Interfaz. También conocida como subtipeado.
REVISIÓN DE LA RUTA DE ACCESO
El recorrido repetido de asociaciones múltiples cuando se tiene acceso a la
información que se necesita, ocasiona un desempeño ineficiente. Otra causa es
el modelado excesivo
Para cada operación:
¿Con cuánta frecuencia se llama a la operación?
¿Cuáles asociaciones tiene que recorrer la operación para obtener la información
que necesita?
9 de junio de 2018 15
DESCOMPOSICIÓN DE OBJETOS: CONVERSIÓN DE OBJETOS EN
ATRIBUTOS
9 de junio de 2018 16
Al realizar el análisis los desarrolladores identifican clases que están asociadas con
conceptos de dominio. Durante el diseño del sistema y el diseño de objetos se
reestructura y optimiza el modelo de objetos, en ciertas ocasiones quedan clases con sólo
unos cuantos atributos y poco comportamiento, para lo cual se hace necesario que dichas
clases se asocien con otras, así puedan descomponerse hacia un atributo, reduciendo por
tanto la complejidad general del modelo.
CACHEO DE RESULTADOS DE CÁLCULOS COSTOSOS
Con frecuencia los cálculos costosos solo necesitan realizarse una vez, debido a que
los valores con los que se realiza el calculo no cambian o lo hacen despacio. En tales
casos se habla de cachear el resultado como un atributo privado.
La operación Capa obtenerContorno() se supone que ElementoCapa se define una
sola vez como parte de la configuración del sistema y no cambian durante la
ejecución. El vector de punto regresado por la operación capa.obtenerContorno ()
siempre es el mismo para un cuadroLim y detalle, tomando en cuentas esto, una
optimización simple es añadir un atributo privado puntos Cacheados a la clase capa,
el cual recuerda el resultado de la operación obtenerContorno ()
Este enfoque incluye un intercambio por un lado mejoramiento del tiempo de
respuesta para la operación solicitada obtenerContorno(), pero por el otro se
consume espacio de memoria guardando información redundante
9 de junio de 2018 17
RETRASO DE CÁLCULOS COSTOSOS
Un enfoque alterno para los cálculos costosos es retrasarlos lo mas posible. En el
ejemplo la carga desde el archivo de todos los pixeles es costosa, sin embargo los
datos no necesitan cargarse sino hasta que se vaya a desplegar, para esto se usa un
patrón apoderado que toma el lugar de Imagen y proporciona la misma interfaz que
el objeto, las operaciones simples son manejadas por este, de ser necesario trazar ()
la Imagen este patrón carga los datos desde el disco y crea un objeto ImagenReal,
de lo contrario no se crea ningún objeto ahorrando tiempo de cálculos.
Las clases llamadoras solo acceden
al ApoderadoImagen e ImagenReal
mediante la interfaz de Imagen.
9 de junio de 2018 18
9 de junio de 2018 19
ADMINISTRACIÓN DEL DISEÑO DE OBJETOS
Incremento en la complejidad de la
comunicación
Cantidad de participantes
involucrados durante la fase de
desarrollo
Consistencia en decisiones y
documentos anteriores
Detallar y refinar el respectivo
modelo de diseño para mantener
registros del estado actual del
desarrollo.
• Documentación del diseño de objetos: El diseño de objetos se documenta en
el documento de diseños de objetos (ODD) y este describe Compromisos del
diseño de objetos tomado por los desarrolladores. Intercambio de información
de interfaz entre equipos y referencias en una prueba.
Existen tres enfoques principales para documentar el diseño de objetos
1. ODD auto contenido generado a partir del modelo : Documentar los
modelos de análisis, diseño del sistema para mantener un modelo de
UML
2.ODD como extensión del RAD: En este enfoque se trata al modelo de
diseño como una extensión del modelo del análisis es decir se considera
al diseño de objetos como el conjunto de objetos de aplicación
aumentado con los objetos de solución.
3.ODD incrustado en el código fuente: En este enfoque se incrusta el
ODD(Documento de diseño de objetos) en el código fuente
La unión de estos enfoques busca la descripción de los objetos una sola vez y sus
consecuencias entre documentación, los stubs y el código se mantenga de forma
automática.
9 de junio de 2018 20
ASIGNACIÓN DE RESPONSABILIDADES
Para asegurar que los cambios a las interfaces se documenten y comuniquen en
forma ordenada varios roles colaboran para controlar, comunicar e implementar
los cambios.
A continuación se presentan los papeles principales del diseño de objetos:
• Arquitecto principal: desarrolla los lineamientos y convenciones de
codificación antes que comience el diseño de objetos.
• Los coordinadores de arquitectura: Documentan las interfaces de los
sistemas públicos de los que son responsables. Esto conduce a un primer
borrador del ODD que utilizan los desarrolladores.
9 de junio de 2018 21
• Diseñadores de objetos: Refinan y detallan la especificación de la interfaz
de la clase o subsistema que implementan.
• El gerente de configuración: lidera los cambios de las interfaces y al ODD
una vez que se encuentran disponibles.
• Los escritores técnicos del equipo de documentación pulen la versión final
del ODD.
Al igual que en diseño del sistema, el equipo de arquitectura es la fuerza
integradora del diseño de objetos. El equipo de arquitectura aseguran que los
cambios sean consistentes en los objetivos del proyecto. El equipo de
documentación, incluyendo a los escritores técnicos, aseguran que los
cambios sean consistentes en los lineamientos y convenciones.
9 de junio de 2018 22
9 de junio de 2018 23
GRACIAS
9 de junio de 2018 24

Más contenido relacionado

Similar a Diseño de Objetos

Construcción de Software (Patrones)
Construcción de Software (Patrones)Construcción de Software (Patrones)
Construcción de Software (Patrones)sandyx17
 
Fundamentos programacion poo
Fundamentos programacion pooFundamentos programacion poo
Fundamentos programacion pooRicardo Garcia
 
Fundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetosFundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetosEduardo Galindo
 
6.modelado de los requerimientos escenarios y clases
6.modelado de los requerimientos  escenarios y clases6.modelado de los requerimientos  escenarios y clases
6.modelado de los requerimientos escenarios y clasesRamiro Estigarribia Canese
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POOgueritamala
 
Paradigma Programación Orientada a Objetos
Paradigma Programación Orientada a ObjetosParadigma Programación Orientada a Objetos
Paradigma Programación Orientada a ObjetosRene Guaman-Quinche
 
METODOS DE ELABORACION DE SOFTWARE
METODOS DE ELABORACION DE SOFTWAREMETODOS DE ELABORACION DE SOFTWARE
METODOS DE ELABORACION DE SOFTWAREgregoryj733
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon KoudsiFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon KoudsiRaimonKoudsi
 
Bases De Datos Orientadas A Objetos2
Bases De Datos Orientadas A Objetos2Bases De Datos Orientadas A Objetos2
Bases De Datos Orientadas A Objetos2Cristina Huerta
 
Análisis y diseño de sistemas sesion 11 - modelo de analisis
Análisis y diseño de sistemas   sesion 11 - modelo de analisisAnálisis y diseño de sistemas   sesion 11 - modelo de analisis
Análisis y diseño de sistemas sesion 11 - modelo de analisisGianfrancoEduardoBra
 
Análisis y diseño orientado a objetos
Análisis y diseño orientado a objetosAnálisis y diseño orientado a objetos
Análisis y diseño orientado a objetosChristian Leon
 

Similar a Diseño de Objetos (20)

Construcción de Software (Patrones)
Construcción de Software (Patrones)Construcción de Software (Patrones)
Construcción de Software (Patrones)
 
Fundamentos programacion poo
Fundamentos programacion pooFundamentos programacion poo
Fundamentos programacion poo
 
Fundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetosFundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetos
 
6.modelado de los requerimientos escenarios y clases
6.modelado de los requerimientos  escenarios y clases6.modelado de los requerimientos  escenarios y clases
6.modelado de los requerimientos escenarios y clases
 
Diseño o.o
Diseño o.oDiseño o.o
Diseño o.o
 
Diseño o.o
Diseño o.oDiseño o.o
Diseño o.o
 
Sistemas IV (I Bimestre)
Sistemas IV (I Bimestre)Sistemas IV (I Bimestre)
Sistemas IV (I Bimestre)
 
Requisitos metrica
Requisitos metricaRequisitos metrica
Requisitos metrica
 
Ciclo de vida de una Base de Datos
Ciclo de vida de una Base de DatosCiclo de vida de una Base de Datos
Ciclo de vida de una Base de Datos
 
Metodologia para el proyecto
Metodologia para el proyectoMetodologia para el proyecto
Metodologia para el proyecto
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POO
 
Paradigma Programación Orientada a Objetos
Paradigma Programación Orientada a ObjetosParadigma Programación Orientada a Objetos
Paradigma Programación Orientada a Objetos
 
METODOS DE ELABORACION DE SOFTWARE
METODOS DE ELABORACION DE SOFTWAREMETODOS DE ELABORACION DE SOFTWARE
METODOS DE ELABORACION DE SOFTWARE
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon KoudsiFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
 
Bases De Datos Orientadas A Objetos2
Bases De Datos Orientadas A Objetos2Bases De Datos Orientadas A Objetos2
Bases De Datos Orientadas A Objetos2
 
C:\Fakepath\Bdiii
C:\Fakepath\BdiiiC:\Fakepath\Bdiii
C:\Fakepath\Bdiii
 
Metodología ICONIX
Metodología ICONIXMetodología ICONIX
Metodología ICONIX
 
OOSE
OOSEOOSE
OOSE
 
Análisis y diseño de sistemas sesion 11 - modelo de analisis
Análisis y diseño de sistemas   sesion 11 - modelo de analisisAnálisis y diseño de sistemas   sesion 11 - modelo de analisis
Análisis y diseño de sistemas sesion 11 - modelo de analisis
 
Análisis y diseño orientado a objetos
Análisis y diseño orientado a objetosAnálisis y diseño orientado a objetos
Análisis y diseño orientado a objetos
 

Más de Javier Calderon

Ciclo de vida y metodologia
Ciclo de vida y metodologiaCiclo de vida y metodologia
Ciclo de vida y metodologiaJavier Calderon
 
Documento arquitectura.doc
Documento arquitectura.docDocumento arquitectura.doc
Documento arquitectura.docJavier Calderon
 
Glosario del Sistema.doc
Glosario del Sistema.docGlosario del Sistema.doc
Glosario del Sistema.docJavier Calderon
 
Taller de requerimientos funcionales modulo 10.2
Taller de requerimientos funcionales modulo 10.2Taller de requerimientos funcionales modulo 10.2
Taller de requerimientos funcionales modulo 10.2Javier Calderon
 
Taller 3 modelos de ciclo de vida del software
Taller 3  modelos de ciclo de vida del softwareTaller 3  modelos de ciclo de vida del software
Taller 3 modelos de ciclo de vida del softwareJavier Calderon
 
Talleres 1 y 2 1151229-1151454-1150792
Talleres 1 y 2  1151229-1151454-1150792Talleres 1 y 2  1151229-1151454-1150792
Talleres 1 y 2 1151229-1151454-1150792Javier Calderon
 

Más de Javier Calderon (11)

Ciclo de vida y metodologia
Ciclo de vida y metodologiaCiclo de vida y metodologia
Ciclo de vida y metodologia
 
Ficha tecnica sw.doc
Ficha tecnica sw.docFicha tecnica sw.doc
Ficha tecnica sw.doc
 
Documento arquitectura.doc
Documento arquitectura.docDocumento arquitectura.doc
Documento arquitectura.doc
 
Modelo de analisis.doc
Modelo de analisis.docModelo de analisis.doc
Modelo de analisis.doc
 
Preguntas SI
Preguntas SIPreguntas SI
Preguntas SI
 
Glosario del Sistema.doc
Glosario del Sistema.docGlosario del Sistema.doc
Glosario del Sistema.doc
 
Modelo del negocio
Modelo del negocioModelo del negocio
Modelo del negocio
 
Taller de requerimientos funcionales modulo 10.2
Taller de requerimientos funcionales modulo 10.2Taller de requerimientos funcionales modulo 10.2
Taller de requerimientos funcionales modulo 10.2
 
Taller 3 modelos de ciclo de vida del software
Taller 3  modelos de ciclo de vida del softwareTaller 3  modelos de ciclo de vida del software
Taller 3 modelos de ciclo de vida del software
 
Talleres 1 y 2 1151229-1151454-1150792
Talleres 1 y 2  1151229-1151454-1150792Talleres 1 y 2  1151229-1151454-1150792
Talleres 1 y 2 1151229-1151454-1150792
 
Trabajo Casos de Uso
Trabajo Casos de Uso Trabajo Casos de Uso
Trabajo Casos de Uso
 

Último

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 

Último (20)

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 

Diseño de Objetos

  • 1. INTRODUCCION DISEÑO DE OBJETOS Integrantes: Diego Alirio Carrascal Cód.. 1151340 Deiby Camilo Galvis Cód.. 1151381 Aarón Soto Cód.. 1151452 Martha Alejandra Chacín Cód.. 1151401 José Camilo Boada Cód.. 1151362 Samir Parada Cód.. 1150364 Alejandra Barragán Cód.. 1150792 Javier Calderón Cód.. 1151229 Jhorman Botello Cód.. 1151454
  • 2. OBJETOS DE APLICACIÓN FRENTE A OBJETOS DE SOLUCIÓN • Los objetos de aplicación representan conceptos del dominio que manipula el sistema • Los objetos de solución representan componentes de apoyo que no tienen una contraparte en el dominio de la aplicación. • Durante el análisis identificamos los objetos de aplicación • Durante el diseño identificamos subsistemas y los objetos de solución mas importantes • Durante el diseño de objetos refinamos y detallamos ambos conjuntos de objetos 9 de junio de 2018 2
  • 3. REVISIÓN DE TIPOS, FORMAS Y VISIBILIDAD • El tipo de un atributo especifica el rango de valores que puede tomar el atributo y las operaciones de este. • Para oda operación, al tuplo compuesto por los tipos de sus parámetros y el tipo de valor de retorno se le llama firma de la operación. • La visibilidad de un atributo o una operación especifica si puede ser usada por otras clases o no. – Privado – Protegido – Publico 9 de junio de 2018 3
  • 4. CONTRATOS • Son restricciones sobre una clase que permiten que el llamador y el llamado compartan las mismas suposiciones acerca de la clase. – Invariante: se usan para especificar restricciones de consistencia entre atributos de clase. – Precondición: se usan para especificar restricciones que debe satisfacer el llamador antes de llamar a una operación – Poscondición: se usan para especificar restricciones que el objeto debe asegurar después de la invocación de la operación. 9 de junio de 2018 4
  • 5. 9 de junio de 2018 5
  • 6. LENGUAJE DE RESTRICCIÓN DE OBJETOS • Las restricciones se expresan usando OCL. • OCL es un lenguaje que permite que se especifiquen de manera formal las restricciones en elementos únicos del modelo o en grupos de elementos del modelo. 9 de junio de 2018 6
  • 7. ACTIVIDADES DEL DISEÑO DE OBJETOS 9 de junio de 2018 7 Identificación de atributos y operaciones faltantes: durante este paso examinamos la descripción de servicios del subsistema e identificamos atributos y operaciones faltantes de la etapa de análisis. Una herramienta muy útil para realizar esta actividad es el diagrama de secuencia.
  • 8. ACTIVIDADES DEL DISEÑO DE OBJETOS Especificación de tipo de firmas y visibilidad: durante esta actividad especificamos los tipos de atributos, las firmas de las operaciones y la visibilidad de los mismos. Esto refina el modelo del diseño de objetos especificando primero rangos para los atributos, y segundo, estableciendo correspondencia entre clases y atributos del modelo de objetos. Especificación de restricciones: durante este proceso añadimos las restricciones a las clases y operaciones para especificar con mayor precisión su comportamiento y casos de frontera, buscando eliminar la ambigüedad mediante 3 tipos de restricciones: •Invariantes: condiciones de los atributos que siempre son ciertas. •Precondiciones: condiciones que deben ser satisfechas (por quien llama) antes de una operación dada. •Poscondiciones: representan condiciones que están garantizadas por quien fue llamado cuando termina la operación. Especificación de excepciones: durante este paso especificamos condiciones que las operaciones detectan y tratan como errores elevando una excepción. Para esto se deben establecer convenciones y mecanismos para su manejo. Usualmente se asocian con la violación de precondiciones. 9 de junio de 2018 8
  • 9. 7.4.5 IDENTIFICACIÓN Y AJUSTES DE BIBLIOTECAS DE CLASE 9 de junio de 2018 9
  • 10. 7.4.6 IDENTIFICACIÓN Y AJUSTE DE MARCOS DE APLICACIÓN 7.4.7 EJEMPLO DE MARCO: WEBOBJECTS • Marcos de infraestructura • Marcos middleware • Marcos de aplicación empresariales • Marcos de Caja Blanca • Marcos de Caja negra 9 de junio de 2018 10
  • 11. 7.4.8 REALIZACIÓN DE ASOCIACIONES • 1 a 1 Unidireccionales • 1 a 1 Bidireccionales • 1 a * • * a * • 1 a * con clase intermedia • 1 a * calificado (existe un hash table en el *) 9 de junio de 2018 11
  • 12. INCREMENTO DE LA REUTILIZACIÓN • La herencia permite que los desarrolladores reutilicen el código a través de varias clases similares. • JFC: Java Foundation Classes 9 de junio de 2018 12 AbstractButton JButton JMenuItem JToggleButton JRadioButton JCheckBox
  • 13. VENTAJAS PRINCIPALES EN LA UTILIZACIÓN DE UNA JERARQUÍA DE HERENCIA BIEN DISEÑADA • Se reutiliza más código, y esto conduce a menos redundancias y, por tanto, menos oportunidades para que haya defectos. • El código es extensible, incluyendo una interfaz bien documentada para la creación de especializaciones futuras. 9 de junio de 2018 13
  • 14. ENFOQUES PRINCIPALES PARA EL DISEÑO DE UNA JERARQUÍA DE HERENCIA A FIN DE REUTILIZARLA • Se examinan varias clases similares y abstraer su comportamiento en común. • Desacoplar una clase cliente de un cambio anticipado introduciendo un nivel de abstracción. Los patrones de diseño usan herencia para protegerse contra un cambio anticipado. ELIMINACIÓN DE LAS DEPENDENCIAS DE IMPLEMENTACIÓN • Se usa generalización para clasificar a los objetos en jerarquías de generalización/especificación. • Esto permite diferenciar el comportamiento común del caso general con respecto al comportamiento específico de los objetos especializados. 9 de junio de 2018 14
  • 15. • Al uso de la herencia con el único propósito de la reutilización se llama Herencia de Implementación. • A la clasificación de conceptos en jerarquías de especialización-generalización se le llama Herencia de Interfaz. También conocida como subtipeado. REVISIÓN DE LA RUTA DE ACCESO El recorrido repetido de asociaciones múltiples cuando se tiene acceso a la información que se necesita, ocasiona un desempeño ineficiente. Otra causa es el modelado excesivo Para cada operación: ¿Con cuánta frecuencia se llama a la operación? ¿Cuáles asociaciones tiene que recorrer la operación para obtener la información que necesita? 9 de junio de 2018 15
  • 16. DESCOMPOSICIÓN DE OBJETOS: CONVERSIÓN DE OBJETOS EN ATRIBUTOS 9 de junio de 2018 16 Al realizar el análisis los desarrolladores identifican clases que están asociadas con conceptos de dominio. Durante el diseño del sistema y el diseño de objetos se reestructura y optimiza el modelo de objetos, en ciertas ocasiones quedan clases con sólo unos cuantos atributos y poco comportamiento, para lo cual se hace necesario que dichas clases se asocien con otras, así puedan descomponerse hacia un atributo, reduciendo por tanto la complejidad general del modelo.
  • 17. CACHEO DE RESULTADOS DE CÁLCULOS COSTOSOS Con frecuencia los cálculos costosos solo necesitan realizarse una vez, debido a que los valores con los que se realiza el calculo no cambian o lo hacen despacio. En tales casos se habla de cachear el resultado como un atributo privado. La operación Capa obtenerContorno() se supone que ElementoCapa se define una sola vez como parte de la configuración del sistema y no cambian durante la ejecución. El vector de punto regresado por la operación capa.obtenerContorno () siempre es el mismo para un cuadroLim y detalle, tomando en cuentas esto, una optimización simple es añadir un atributo privado puntos Cacheados a la clase capa, el cual recuerda el resultado de la operación obtenerContorno () Este enfoque incluye un intercambio por un lado mejoramiento del tiempo de respuesta para la operación solicitada obtenerContorno(), pero por el otro se consume espacio de memoria guardando información redundante 9 de junio de 2018 17
  • 18. RETRASO DE CÁLCULOS COSTOSOS Un enfoque alterno para los cálculos costosos es retrasarlos lo mas posible. En el ejemplo la carga desde el archivo de todos los pixeles es costosa, sin embargo los datos no necesitan cargarse sino hasta que se vaya a desplegar, para esto se usa un patrón apoderado que toma el lugar de Imagen y proporciona la misma interfaz que el objeto, las operaciones simples son manejadas por este, de ser necesario trazar () la Imagen este patrón carga los datos desde el disco y crea un objeto ImagenReal, de lo contrario no se crea ningún objeto ahorrando tiempo de cálculos. Las clases llamadoras solo acceden al ApoderadoImagen e ImagenReal mediante la interfaz de Imagen. 9 de junio de 2018 18
  • 19. 9 de junio de 2018 19 ADMINISTRACIÓN DEL DISEÑO DE OBJETOS Incremento en la complejidad de la comunicación Cantidad de participantes involucrados durante la fase de desarrollo Consistencia en decisiones y documentos anteriores Detallar y refinar el respectivo modelo de diseño para mantener registros del estado actual del desarrollo. • Documentación del diseño de objetos: El diseño de objetos se documenta en el documento de diseños de objetos (ODD) y este describe Compromisos del diseño de objetos tomado por los desarrolladores. Intercambio de información de interfaz entre equipos y referencias en una prueba.
  • 20. Existen tres enfoques principales para documentar el diseño de objetos 1. ODD auto contenido generado a partir del modelo : Documentar los modelos de análisis, diseño del sistema para mantener un modelo de UML 2.ODD como extensión del RAD: En este enfoque se trata al modelo de diseño como una extensión del modelo del análisis es decir se considera al diseño de objetos como el conjunto de objetos de aplicación aumentado con los objetos de solución. 3.ODD incrustado en el código fuente: En este enfoque se incrusta el ODD(Documento de diseño de objetos) en el código fuente La unión de estos enfoques busca la descripción de los objetos una sola vez y sus consecuencias entre documentación, los stubs y el código se mantenga de forma automática. 9 de junio de 2018 20
  • 21. ASIGNACIÓN DE RESPONSABILIDADES Para asegurar que los cambios a las interfaces se documenten y comuniquen en forma ordenada varios roles colaboran para controlar, comunicar e implementar los cambios. A continuación se presentan los papeles principales del diseño de objetos: • Arquitecto principal: desarrolla los lineamientos y convenciones de codificación antes que comience el diseño de objetos. • Los coordinadores de arquitectura: Documentan las interfaces de los sistemas públicos de los que son responsables. Esto conduce a un primer borrador del ODD que utilizan los desarrolladores. 9 de junio de 2018 21
  • 22. • Diseñadores de objetos: Refinan y detallan la especificación de la interfaz de la clase o subsistema que implementan. • El gerente de configuración: lidera los cambios de las interfaces y al ODD una vez que se encuentran disponibles. • Los escritores técnicos del equipo de documentación pulen la versión final del ODD. Al igual que en diseño del sistema, el equipo de arquitectura es la fuerza integradora del diseño de objetos. El equipo de arquitectura aseguran que los cambios sean consistentes en los objetivos del proyecto. El equipo de documentación, incluyendo a los escritores técnicos, aseguran que los cambios sean consistentes en los lineamientos y convenciones. 9 de junio de 2018 22
  • 23. 9 de junio de 2018 23
  • 24. GRACIAS 9 de junio de 2018 24