sesion 2 2 conceptos claves de analisis y diseno
TRANSCRIPT
![Page 1: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/1.jpg)
Conceptos Claves de Análisis y Diseño
Lic. César Alcántara Loayza
![Page 2: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/2.jpg)
CAL/Fundamentos
Abstracción Es una representación de un objeto
del mundo real. No es una descripción completa sino una que es útil para una aplicación o propósito específico.
![Page 3: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/3.jpg)
CAL/Fundamentos
Abstracción Criterios para decidir sobre la
información necesaria: Contexto: ¿quién usará el objeto?
¿cómo lo usará?, ¿por qué necesita el objeto?. Si el objeto es un aula, ¿se necesitan las dimensiones de la misma?.
Detalle: ¿qué tanto detalle necesito?. Tiempo: ¿cuánto necesito para hacer
el seguimiento del objeto?.
![Page 4: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/4.jpg)
CAL/Fundamentos
Abstracción : describir objeto Ejem. - Liste la información necesaria
acerca de un auto para tres dominios de problema diferentes: Información acerca de un auto que la
división de motores de vehículos requiere.
Información acerca de un auto que un estacionamiento requiere.
Información acerca de un auto que un vendedor de autos requiere.
![Page 5: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/5.jpg)
CAL/Fundamentos
Encapsulamiento Conocido como “ocultamiento de la
información” (Information hidding), porque la implementación del objeto está oculta.
Pero hay algo mas importante: “lo que el objeto expone”.
Propósito e interfase. Interfase : la parte visible de una clase. Usada
para describir la signatura pública de las operaciones en una clase.
![Page 6: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/6.jpg)
CAL/Fundamentos
Encapsulamiento Muchos objetos comparten la misma
interfase pero tienen un propósito distinto: Ejem., El control de Televisión y de una
video grabadora. El diseño basado en
encapsulamiento es clave para crear objetos reusables e intercambiables.
![Page 7: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/7.jpg)
CAL/Fundamentos
Encapsulamiento La definición de un objeto en dos
fases: Definir una vista encapsulada del objeto
definiendo solo su propósito e interfase. Definir el interior, la implementación de
los datos y el comportamiento que soporte al propósito y la interfase.
La implementación puede variar en el tiempo la interfase y propósito son mas estables.
![Page 8: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/8.jpg)
CAL/Fundamentos
Encapsulamiento Ejercicio:
Identificar los aspectos de cada uno de los siguientes dispositivos que deban ser expuestos u ocultados:
Televisión Videograbadora.
Modele sus respuestas.
![Page 9: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/9.jpg)
CAL/Fundamentos
Encapsulamiento Ejemplo: Teléfono
Expone: Propósito: Permitir la comunicación a través de una línea
telefónica. Interfases:
Iniciar una llamada Terminar una llamada Hacer una llamada
Oculta: Implementación de la manipulación de botones a señales
electronicas y los datos usados para convertir señales. Implementación del inicio de la llamada y los datos usados
para ejecutar la conexión. Los datos de identificación del llamador
![Page 10: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/10.jpg)
CAL/Fundamentos
Cohesión Es una medida del grado al cual todos las
partes de un objeto soportan un único propósito. Alta cohesión significa que todos los elementos en el objeto soportan el mismo propósito. Baja cohesión significa que diferentes elementos soportan diferentes propósitos.
Puede ser aplicada a cualquier entidad – no solo a objetos – incluyendo operaciones, aplicaciones, componentes, subsistemas y sistemas.
![Page 11: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/11.jpg)
CAL/Fundamentos
Cohesión Cuando los objetos tienen que
manejar múltiples responsabilidades, son menos flexibles, incurren en overhead al jugar con muchas tareas y trabajan menos eficientemente; como cuando se nos asignan diversas y diferentes tareas en nuestro trabajo en vez de enfocarnos en nuestra especialidad.
![Page 12: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/12.jpg)
CAL/Fundamentos
Cohesión Las organizaciones que necesitan de
máxima flexibilidad tienden a tener alta cohesión. Alta cohesión un único propósito para cada objeto, soporta el ensamble rápido de objetos para crear nuevos componentes y aplicaciones.
Los principios de cohesión se aplican igualmente a todos los niveles de abstracción de modelamiento.
![Page 13: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/13.jpg)
CAL/Fundamentos
Cohesión ¿cuánta información debería incluir en un
objeto? Solo la información necesaria para soportar el
único propósito del objeto. ¿cuándo debería partirse un objeto?
Cuando es objeto es responsable de mas un propósito.
¿cuándo debería juntar múltiples objetos? Cuando los objetos sean fragmentados y no
puedan cumplir un propósito sin la ayuda constante de otro objeto.
![Page 14: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/14.jpg)
CAL/Fundamentos
Acoplamiento Es una medida del grado de dependencia
entre objetos. Dependencia significa que un objeto necesita los datos o la funcionalidad poseida por otro objeto.
Bajo acoplamiento significa bajo grado de dependencia y alto acomplamiento significa alto grado de dependencia. Acomplamiento : una medida del grado de
dependencia entre los elementos del modelo.
![Page 15: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/15.jpg)
CAL/Fundamentos
Acoplamiento Si un cambio en un objeto necesita
cambios en otro objeto, el segundo objeto es dependiente del primero. Ej. Si la interfase de un servidor cambia la aplicación cliente probablemente no trabajará adecuadamente. La aplicación cliente depende del servidor para funcionar adecuadamente.
![Page 16: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/16.jpg)
CAL/Fundamentos
Acoplamiento El acoplamiento tiene un efecto directo
sobre el mantenimiento. Acoplamiento apretado resulta en un efecto de onda, esto es cambios en un objeto necesitarán cambios (o al menos, pruebas) de todos los objetos asociados.
Se puede lograr acoplamiento débil asignando a un objeto solo el comportamiento que cumple con el propósito del objeto (alta cohesión).
![Page 17: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/17.jpg)
CAL/Fundamentos
Acoplamiento Evitar incluir comportamiento
simplemente porque ellos sean necesarios para el proceso en el que participa el objeto.
![Page 18: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/18.jpg)
CAL/Fundamentos
Cohesión y Acoplamiento Deberían evaluarse siempre juntos. Acoplamiento débil se puede lograr
facilmente por medio de baja cohesión, esto es, atiborrando todo en un solo objeto de modo que no se necesite ayuda de ningún otro objeto.
Alta cohesión puede resultar en muchos objetos pequeños que no puedan hacer nada sin tomar en cuenta a otros objetos. ....
![Page 19: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/19.jpg)
CAL/Fundamentos
Cohesión y Acoplamiento ... El overhead de comunicación
destruye el rendimiento de la aplicación. La solución óptima es un compromiso entre alta cohesión y bajo acoplamiento.
Estos dos conceptos son factores en la creación de patrones de diseño. En un patrón de diseño cada objeto tiene una responsabilidad específica, esto es, alta cohesión.
![Page 20: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/20.jpg)
CAL/Fundamentos
Cohesión y Acoplamiento La colección de objetos tiene un
patrón predecible de colaboración o comunicación. El patrón de colaboración se basa en la naturaleza específica del acoplamiento entre los objetos, esto es, la ayuda que necesita cada objeto de los otros objetos.
![Page 21: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/21.jpg)
CAL/Fundamentos
Acoplamiento Débil ó Apretado
Un gerente de proyecto asigna tareas a programadores de acuerdo con sus habilidades y experiencia. Los programadores reportan sus progresos al gerente de proyectos de modo que pueda hacer el seguimiento del progreso de acuerdo a un plan y hacer los ajustes necesarios
![Page 22: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/22.jpg)
CAL/Fundamentos
Un gerente de proyectos asigna tareas a programadores de acuerdo a sus habilidades y experiencia. El gerente de proyecto usa los asignamiento para mejorar y adicionar habilidades a cada programador. A medida que cada programador ejecuta cada tarea, el gerente de proyecto evalúa periódicamente el progreso y hace sugerencias y/o correcciones como sean necesarias.
Acoplamiento Débil ó Apretado
![Page 23: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/23.jpg)
CAL/Fundamentos
Un gerente de proyecto asigna tareas a programadores de acuerdo a sus habilidades y experiencia. El gerente de proyecto reporta al departamento de planillas el tiempo que los miembros del equipo gastan en el proyecto. El departamento de planillas produce cheques quincenales. El Gerente de proyecto distribuye los cheques a los miembros del equipo.
Acoplamiento Débil ó Apretado
![Page 24: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/24.jpg)
CAL/Fundamentos
Un gerente de proyecto asigna tareas a programadores de acuerdo con sus habilidades y experiencia. El gerente de proyecto reporta al departamento de planillas el tiempo que los miembros del equipo gastan en el proyecto. El departamento de planillas necesita las cifras de la labor planeada del proyecto asi como las cifras de la labor actual para actualizar el plan financiero de la compañía sobre una base quincenal.
Acoplamiento Débil ó Apretado
![Page 25: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/25.jpg)
CAL/Fundamentos
Cuando el departamento de planillas detecta una desviación de mas del 10%, solicita una justificación formal al gerente de proyecto
Acoplamiento débil bajo grado de dependencia entre objetos.
Acoplamiento apretado alto grado de dependencia entre objetos.
Acoplamiento Débil ó Apretado
![Page 26: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/26.jpg)
CAL/Fundamentos
Agregación Describe un ensamble de objeto
donde el todo (el ensamblado) es mas que la suma de las partes.
La agregación no tiene reflejo en el código. La implementación se ve como cualquier otra asociación.
![Page 27: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/27.jpg)
CAL/Fundamentos
Agregación Cuando se desea que las partes
esten diponibles para uso aún cuando el agregado ó todo no exista agregación debil.
Si las partes existen solo si forman parte del todo Agregación fuerte, o composición.
![Page 28: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/28.jpg)
CAL/Fundamentos
Agregación débil Los jugadores pueden
participar en muchos equipos al mismo tiempo. Por ejemplo ellos pueden jugar por la liga de la ciudad y por el equipo de una compañía. Cuando un equipo desaparece los jugadores aún existen y pueden reasignarse a otros equipos.
![Page 29: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/29.jpg)
CAL/Fundamentos
Agregación fuerte Composición
Los capítulos pertenecen a un libro específico. Sin el libro los capítulo carecen de contexto y pierden su significado. Si el libro es borrado los capítulos son borrados con el.
![Page 30: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/30.jpg)
CAL/Fundamentos
Generalización Un tractor es un tipo de Vehículo, un
aeroplano es una clase de vehículo. Si todas las propiedades del tractor y el aeroplano fueran iguales, entonces ellos podrían ser instancias de la misma clase, pero ellos solo comparten algunas propiedades. En este caso se generaliza las
propiedades compartidas
![Page 31: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/31.jpg)
CAL/Fundamentos
Generalización El término generalización es usado
de otra forma. Una generalización es una estructura, esto es, una jerarquía de clases.
![Page 32: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/32.jpg)
CAL/Fundamentos
Generalización La clase vehículo define las propiedades que
botes, tractores y aeroplanos tienen en común tales como manufacturador, modelo y capacidades de aceleración y desaceleración.
Vehículo
Bote Tractor Aeroplano
![Page 33: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/33.jpg)
CAL/Fundamentos
Generalización El bote, tractor y aeroplano
contienen solo las propiedades adicionales que las distinguen de los otros tipos de vehículos.
![Page 34: Sesion 2 2 conceptos claves de analisis y diseno](https://reader035.vdocuments.mx/reader035/viewer/2022081603/557b02a0d8b42a17208b4f9e/html5/thumbnails/34.jpg)
CAL/Fundamentos
Generalización Generalizar significa identificar las
propiedades que un grupo de objetos tiene en común. Especializar significa identificar las propiedades que distinguen objetos similares de otros.
La generalización no es un tipo de asociación. Una asociación puede instanciarse como enlace entre dos objetos. Una generalización conecta dos clases de definiciones que deben usarse juntas para crear un único objeto.