SOFTWARE PARA PAGOS DE SUELDOS Patrones de Diseo

  • Slides: 23
Download presentation
SOFTWARE PARA PAGOS DE SUELDOS Patrones de Diseño Integrantes: José Luis Rocha V. Claudia

SOFTWARE PARA PAGOS DE SUELDOS Patrones de Diseño Integrantes: José Luis Rocha V. Claudia Martínez S. Ricardo Ferré M.

SOFTWARE PARA PAGOS DE SUELDOS n Justificación del proyecto n EL problema que tiene

SOFTWARE PARA PAGOS DE SUELDOS n Justificación del proyecto n EL problema que tiene la empresa Café Amboró referente al pago de sueldos es la inconsistencia de información puesto que la realización de su planilla la hace a través de una hoja de Excel, lo que hace que el almacenamiento de la información no sea confiable. Para lo cual el desarrollo de este software pretende dar solución a los problemas de la empresa, tratando de cumplir con todos sus requerimientos.

n Propósito de los patrones n Fundamentos de diseño. n Clasificación de Patrones •

n Propósito de los patrones n Fundamentos de diseño. n Clasificación de Patrones • Creación. • Estructurales –Factory Method –Adapter –Singleton –Facade –Abstract Factory –Composite • Comportamiento –Command –State –Observer

Propósito de los patrones n ¿Qué es un patrón de diseño? n ¿Por qué

Propósito de los patrones n ¿Qué es un patrón de diseño? n ¿Por qué usarlos? n Categorización n Problema - Patrón

¿Qué es un patrón de diseño? n Ante un problema reiterado ofrece una solución

¿Qué es un patrón de diseño? n Ante un problema reiterado ofrece una solución contrastada que lo resuelve. n Describe el problema en forma sencilla. n Describe el contexto en que ocurre. n Describe los pasos a seguir.

¿Por qué usarlos? n Mejora en la comunicación y documentación n Facilita la documentación

¿Por qué usarlos? n Mejora en la comunicación y documentación n Facilita la documentación interna del proyecto. n Mejora la ingeniería de software. n Eleva el nivel del grupo de desarrollo. n Previene “reinventar la rueda” en diseño n Son soluciones ya probadas. n Mejora la calidad y estructura n “¿Cuan grande debe ser una clase? ”

Categorización n Fundamentales n Se usan en otros patrones mas grandes n Creación n

Categorización n Fundamentales n Se usan en otros patrones mas grandes n Creación n Problemas del proceso de creación de un objeto. n Estructura n Problemas relativos a la composición de objetos n Comportamiento n Relativo a la interacción entre objetos

Problema – Patrón n Alto acoplamiento n Façade n Mediator n Observer n Imposibilidad

Problema – Patrón n Alto acoplamiento n Façade n Mediator n Observer n Imposibilidad de cambiar la clases convenientemente Adapter n Decorator n Visitor n

Patrones de creación n Propósito: n Crear un objeto es una toma de decisión.

Patrones de creación n Propósito: n Crear un objeto es una toma de decisión. n Separar los procesos de creación de objeto y de uso de un objeto. n Cuales veremos? n Singleton

Singleton n Problema: n No se puede tener mas de una instancia de una

Singleton n Problema: n No se puede tener mas de una instancia de una clase. n Se necesita controlar el acceso a una clase.

Singleton • Hago que la clase no pueda ser heredada. • Agrego una variable

Singleton • Hago que la clase no pueda ser heredada. • Agrego una variable estática del mismo tipo de la clase donde esta contenida. (instancia) • Agrego un método estático que retorne la variable estática. (Get. Instance) • Agrego el código necesario para no crear dos instancias en distintos thread.

Ejemplo de proyecto n Patrón Singleton n Problema: Control de Acceso de Usuarios Patrón:

Ejemplo de proyecto n Patrón Singleton n Problema: Control de Acceso de Usuarios Patrón: Singleton (Patrón de creación) Solución: Controla el acceso a una clase, no se puede tener mas de una instancia de una clase. Agrega una variable estática del mismo tipo de clase donde esta contenida Usuario Id_usuario Id_emple Nom_usua login asignar. Contraseña( ) ingresar( )

Patrones de estructura Propósito: Desacoplar el sistema. n Obtener una estructura flexible. n Organizar.

Patrones de estructura Propósito: Desacoplar el sistema. n Obtener una estructura flexible. n Organizar. n n Cuales veremos? n Facade

Facade n Problemas: n El cliente hace muchos viajes al servidor. n Separe por

Facade n Problemas: n El cliente hace muchos viajes al servidor. n Separe por capas, pero tengo muchas clases públicas en el servidor para que puedan ser creadas desde el cliente. n Necesito estructurar las llamadas desde el cliente.

Facade Form Cliente Form Pedidos Cliente Form Ctas Corrientes Presentación Lógica

Facade Form Cliente Form Pedidos Cliente Form Ctas Corrientes Presentación Lógica

Ejemplo de Proyecto n Patrón Business Facade n n n Problema: Obtención de datos

Ejemplo de Proyecto n Patrón Business Facade n n n Problema: Obtención de datos para generar planilla de sueldos Patrón: Business Facade (Patrón de estructura) Solución: Tiene la característica de “hablarse” con los diferentes componentes de las capas de esta arquitectura.

Ejemplo de proyecto n Patrón Business Facade BF_Planilla Registro. Descuento( ) Registro. Ingresos( )

Ejemplo de proyecto n Patrón Business Facade BF_Planilla Registro. Descuento( ) Registro. Ingresos( ) Registro. Prestamo( ) Calcular. Salario( ) Descuento obtiene Registro. Descuento( ) Ingresos obtiene Registro. Ingresos( ) Prestamo Registro. Prestamo( )

Patrones de Comportamiento Propósito: Asignación de responsabilidad = Distribuir el comportamiento. n Comunicación entre

Patrones de Comportamiento Propósito: Asignación de responsabilidad = Distribuir el comportamiento. n Comunicación entre instancias. n Se usa mas la composición que la herencia. n n Cuales veremos? n Observer n Data Access Object

Observer n Intención: Denir una dependencia entre un objeto y un conjunto de ellos,

Observer n Intención: Denir una dependencia entre un objeto y un conjunto de ellos, de modo que los cambios en el primero se vean reflejados en los otros. n Problema: n Mantener distintos objetos relacionados, generalmente son relaciones 1 – N. n Mantener las dependencias entre objetos, sin necesidad de conocer al otro objeto.

Ejemplo de Proyecto n Patrón Observer n n n Problema: Modificación de la Gestión

Ejemplo de Proyecto n Patrón Observer n n n Problema: Modificación de la Gestión Patrón: Observer (Patrón de comportamiento) Solución: Este patrón utiliza un objeto que cuando este cambia todos los objetos que los observan cambian en consecuencia.

Ejemplo de Proyecto n Patrón Observer Anticipo Aguinaldo Prestamos Gestión Ingresos Descuentos Notifica modificación

Ejemplo de Proyecto n Patrón Observer Anticipo Aguinaldo Prestamos Gestión Ingresos Descuentos Notifica modificación Responde a Notificación

Patrón Data Access Object n n n Problema: Seguridad en la obtención de información

Patrón Data Access Object n n n Problema: Seguridad en la obtención de información de la base de datos Patrón: Data Access Object (Patrón de comportamiento) Solución: Propone la utilización de un objeto de acceso a datos para abstraer y encapsular todos los accesos a fuentes de datos. El DAO maneja y controla la conexión con la fuente de datos para obtener y guardar información solicitada.

Ejemplo de Proyecto n Patrón Data Access Object Data. Access Object Planilla BDSueldos Encapsular

Ejemplo de Proyecto n Patrón Data Access Object Data. Access Object Planilla BDSueldos Encapsular Uses Muestra Repositorio