SlideShare una empresa de Scribd logo
1 de 14
UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS
DESARROLLO DE APLICACIONES CON USO DE PATRONES DE COMPORTAMIENTO
(Modelos de programación)
JUAN CAMILO BOCANEGRA OSORIO
CODIGO 20072020012
SERGIO ANDRES NOVOA
CODIGO 20072020111
PROFESOR JULIO BARON VELANDIA
PROYECTO CURRICULAR INGENIERIA DE SISTEMAS
BOGOTA
30 DE MAYO DE 2013
UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS
PROYECTO CURRICULAR INGENIERIA DE SISTEMAS
DESARROLLO DE APLICACIONES CON USO DE PATRONES DE COMPORTAMIENTO
(Modelos de programación)
INTRODUCCION:
En la ingeniería de software nos topamos con ciertos problemas que se repiten frecuentemente, y
para los cuales, luego de aplicar los principios de diseño orientado a objetos(Abierto - Cerrado,
Sustitución de Liskov, Segregación de Interfaces, entre otros…), generalmente llegamos a las
mismas soluciones. en cierto modo, un patrón de diseño es “la solución más natural a cierto tipo
de problema común”.
Viéndolo de ese modo, parece lógico pensar que cuando nos topemos con uno de esos “problemas
modelo” podríamos aplicar “la solución conocida”, sin tener que reinventar la rueda.
Este documento se encargará de demostrar mediante un ejemplo conocido, la aplicación de
algunos de los patrones de diseño estudiados a través del semestre cursado, y como estos servirán
para el desarrollo confiable de aplicaciones diseñadas para solucionar de manera confiable, estos
problemas.
Claro que, antes de aplicar un patrón, debemos asegurarnos de que nuestro problema encaja con
el modelo, y de que las consecuencias del patrón (buenas o malas) se adaptan a nuestro caso: la
idea no es tratar de usar patrones aquí y allá, si no que sean usados cuando encajen con el
problema de diseño que queremos solucionar.
OBJETIVOS:
El objetivo de este documento es transmitir conocimientos de diseño de software según el
paradigma de objetos. Se busca que a partir del conocimiento del paradigma, técnicas de diseño
y lenguajes, se pueda estar en condiciones de diseñar sistemas nuevos y modificar sistemas
existentes utilizando tecnología de objetos y distintos tipos de "arquitectura".
Para lograrlo se presenta un sistema de patrones para ser usado en distintos contextos y resolver
diferentes tipos de problemas.
PALABRAS CLAVE:
Patrones, Comportamiento, Java, UML, POO.
CONTENIDO:
Un Patrón de Diseño es una vía formal de documentar una solución a un problema de diseño en un
campo particular de experiencia.
Un patrón documenta un par problema-solución recurrente dentro de un contexto dado. Sin
embargo, es más que sólo el problema o la estructura de la solución: se incluye tanto el problema
como la solución, junto con la lógica que los une.
Un problema se considera con respecto a las fuerzas en conflicto (por ejemplo, mantenibilidad
vs. reusabilidad), detallando por qué el problema es un problema. Una solución propuesta se
describe en términos de su estructura, e incluye una presentación clara de las consecuencias,
tanto los beneficios como los inconvenientes, de la aplicación de la solución.
En la Ingeniería del software se encuentra una gran cantidad de patrones que solucionan una
amplia gama de problemas comunes. Entre ellos, y gracias al auge de la programación orientada
a objetos, ha sido posible recolectar y documentar catálogos de aquellos que ha sido más
eficaces para resolver los problemas más comunes de diseño.
Un patrón de diseño no es una solución final absoluta que puede transformarse directamente a
código, es una descripción o plantilla de como resolver un problema que puede usarse en muchas
situaciones diferentes.
Los patrones de diseño pueden acelerar el proceso de desarrollo, al proporcionar paradigmas que
muchas veces han sido probados útiles.
Patrones de comportamiento
Estos patrones tratan acerca de la comunicación entre objetos y conjuntos de estos.
Chain of responsibility
Evita emparejar el objeto que envía una petición con el objeto que recibe esa petición, al
permitir que mas de un objeto pueda tomar la responsabilidad de la petición enviada. Encadena
los objetos que podrán recibir la petición y pasa la petición a lo largo de la cadena hasta que un
objeto acepte la petición.
Command
Transforma una petición en un objeto de tal manera que puedas catalogar clientes con diferentes
peticiones, mantener un registro de las peticiones y soportar el deshacer operaciones.
Interpreter
Permite definir una representación de la gramática de un lenguaje para usarla en un interprete
del lenguaje.
Iterator
Provee de una manera de acceder secuencialmente a los elementos de una colección sin exponer
su representación interna.
Mediator
Crea un objeto mediador que encapsula el cómo un conjunto de objetos interactúan. Mediator
promociona la organización de como interactúan los objetos, sin necesidad de que entre ellos
mismos se referencíen.
Memento
Sin violar el principio de encapsulación, captura y externaliza el estado interno de un objeto de
manera que el objeto pueda regresar al estado después.
Observer
Define una dependencia de uno a muchos entre objetos de tal manera que cuando un objeto
cambie su estado, todas las dependencias del objeto sean notificadas y actualizadas
automáticamente.
State
Permite que un objeto cambie su comportamiento al cambiar su estado. El objeto parecerá que
cambio de clase.
Strategy
Crea un conjunto de algoritmos encapsulados intercambiables. Permite que un algoritmo varíe
independientemente de los clientes que los usan.
Template method
Otorga el derecho a subclases de re definir ciertos pasos o procedimientos de un algoritmo sin
cambiar la estructura de tal algoritmo.
Visitor
Permite definir una operación nueva sin cambiar las clases de los elementos en los cuales opera.
DESCRIPCIÓN DEL PROYECTO
MUEBLES MODULARES es una asociación privada que agrupa 39 fábricas de muebles. Funciona
hace más de 15 años. Aunque no existe una dirección física, se caracteriza entre sus clientes por
ser una empresa que no recibe a sus clientes, sino que va hasta ellos.
MISIÓN
Ofrecer productos de excelente calidad brindando una gran variedad de diseño de muebles y
decoración para el hogar. Que satisfagan las necesidades de nuestros clientes, con magnifico
respaldo y garantía.
VISIÓN
Ser el primer centro de diseño y decoración en muebles para hogar y oficina, que ofrece
productos de vanguardia con una amplia oferta de mobiliario comercial en la puerta de su hogar
o negocio.
IDENTIFICACIÓN DEL PROBLEMA
Debido a las nuevas políticas de expansión y alcance de la empresa, MUEBLES MODULARES se ve
en la obligación de crear un software que le permita manejar los pedidos a proveedores, la
organización de las ventas y los datos de clientes y compras, además del manejo del inventario,
por tal razón acuden a nosotros para el desarrollo de éste proyecto.
ETAPAS Y ACTIVIDADES CONTEMPLADAS EN EL PROYECTO.
1. Reunión con los socios de MUEBLES MODULARES, para la consecución y recolección de
requerimientos necesarios.
2. Delegación de responsabilidades miembros del grupo de desarrollo de software.
3. Asistencia de asesor externo para la consecución del proyecto (profesor Julio Barón
Velandia).
4. Desarrollo diagramas para la generación del software.
5. Primera entrega documento.
6. Aplicación correcciones documento.
7. Segunda entrega documento.
8. Implementación en código (JAVA o VISUAL según los requerimientos de la empresa).
9. Revisión de la implementación.
10. Correcciones de la implementación.
11. Entrega final.
PRODUCTOS DEL PROYECTO.
El grupo de desarrollo de software se encargará de crear un aplicativo, que será utilizado única y
exclusivamente por MUEBLES MODULARES, para el manejo total de todo el proceso de producción
y venta de muebles y decoración del cual se encarga MUEBLES MODULARES.
BENEFICIARIOS DEL PROYECTO.
Este software será utilizado exclusivamente por personal perteneciente a la empresa MUEBLES
MODULARES, y personal perteneciente al grupo de desarrollo de software, en calidad de servicio
de mantenimiento y capacitación en el uso del software descrito.
BREVE RESUMEN DEL PROYECTO - REQUERIMIENTOS.
• ¿ Cuál es el problema y sus causas?
Debido a la expansión de la empresa MUEBLES MODULARES, se hace necesario la
implementación de un software para el manejo de ventas y producción.
• ¿ Qué se pretende lograr con el proyecto?
Generar un software que permita la optimización de manejo de datos, de la empresa
MUEBLES MODULARES.
• ¿ A quiénes beneficiará? ¿ A cuántos?
Aunque los derechos del software sólo pueden pertenecer a MUEBLES MODULARES, según
la cantidad de filiales que genere, el software podrá ser utilizado por ellos.
• ¿Datos básicos a manejar?
Según la reunión con los socios, el software necesario, es muy básico, el cual manejará
datos de los productos que la empresa MUEBLES MODULARES ofrece, los cuales son
muebles y decoración y todas las características que hay tras la producción de ellos,
además manejará clientes y proveedores y el sistema de venta de productos.
• ¿ Con qué recursos?
El software a utilizar estará basado en el lenguaje de programación JAVA o VISUAL, según
los requerimientos de sistema de los equipos de cómputo de MUEBLES MODULARES.
• ¿ Quiénes lo harán? Responsable. Con la colaboración de quienes más?
El proyecto será realizado por los miembros del grupo de desarrollo de software con la
asistencia del profesor JULIO BARON VELANDIA como asesor.
• ¿ Cuánto tiempo durará? Plazos.
Los plazos de entrega de de documentos e implementación fueron acordados según
reuniones desarrolladas anteriormente.
IMPLEMENTACION PATRONES
PROBLEMA
Se necesita crear una serie de elementos que fueron pedidos por un cliente, por la caracteristicas
de estos muebles, se necesita poner a funcionar las maquinas ensambladoras, pero la cortadora
envía las partes aleatoriamente para cada tipo de mueble. Se necesita ir seleccionando las partes
y enviarlas a su respectiva ensambladora.
PATRON UTILIZADO
El patrón Chain of responsability permite establecer una cadena de objetos receptores a través
de los cuales se pasa una petición formulada por un objeto emisor. La idea es que cualquiera de
los receptores pueden responder a la petición en función de un criterio establecido. Encadena los
objetos receptores y pasa la petición a través de la cadena hasta que es procesada por algún
objeto
En este caso se crearan una serie de clases EnsambleSilla, EnsambleMesa y EnsambleSillon, y
según el tipo de partes que sean enviadas, La clase SeleccionarEnsamble, le delegará la
responsabilidad a la maquina respectiva
PROBLEMA
La fábrica va a recibir nuevos moldes para la creación de camarotes, existen de dos y tres pisos,
sin embargo existe el problema que según la cantidad de material que entre a las maquinas están
tendrán la decisión de hacer el camarote especifico.
PATRON UTILIZADO
En determinadas ocasiones, cuando el contexto en el que se está desarrollando requiere que un
objeto tenga diferentes comportamientos según el estado en que se encuentra, resulta
complicado poder manejar el cambio de comportamientos y los estados de dicho objeto, todos
dentro del mismo bloque de código. El patrón State propone una solución a esta complicación,
creando básicamente, un objeto por cada estado posible del objeto que lo llama.
Se utilizará una clase ArmarCamarote, que según la cantidad de material ingresado, creará el
respectivo camarote CamaroteDos o CamaroteTres con sus respectivas caracteristicas.
PROBLEMA
Para la entrada a las instalaciones existe un sistema de identificación, que según el tipo de
persona(cliente, empleado o socio) le permite el acceso a las distintas instalaciones, pero las
caracteristicas de cada uno son similares, y la única diferencia es el tipo de identificación, de
que forma se puede controlar el acceso.
PATRON UTILIZADO
El patrón Plantilla permite que ciertos pasos de un algoritmo definido en una operación de una
superclase, sean redefinidos en las subclases sin necesidad de tener que sobrescribir la operación
entera.
Se utilizará una clase EntradaPorID que según el tipo de persona(Cliente,Empleado, Socio),
los cuales sólo se diferencian por el tipo de ID, permitirá que con esté ID puedan ingresar al
complejo.
PROBLEMA
Por cambio de temporada, MUEBLES MODULARES hará un descuento para las compras, pero con
una caracteristica, los operarios tendrán un descuento mayor que el de los clientes, se necesita
un algoritmo que regule esto.
PATRON UTILIZADO
El patrón Visitor es útil cuando se desea encapsular buscando datos desde un número de
instancias de varias clases. Los patrones de diseño sugieren que el visitante puede proporcionar
una funcionalidad adicional a una clase sin cambiarla. Pero es más práctico decir que un visitante
puede agregar funcionalidad a una colección de clases y encapsular los métodos que utiliza.
A traves de las clases UsuarioPrintVisitor y UsuarioDescuentoVisitor() podremos calcular el
descuento que se hará a cada uno de las personas interesados, según el tipo que es.
CONCLUSIONES
A través del desarrollo del proyecto se entendió la utilización de los patrones de comportamiento
en la realización de programas, con un fin didáctico, explicando de una forma concisa, pero
detallada los patrones utilizados, así como su implementación en uno de los lenguajes de
programación con mayores ventajas para la programación, como es el lenguaje JAVA.
Se puso a prueba el diseño de documentos para la realización de proyectos, en este caso de
desarrollo de software
BIBLIOGRAFIA
Guia de construcción de software en JAVA con patrones de diseño Francisco Javier Martinez Juan
“Design Patterns” E. Gamma et al., Addison Wesley, 1998.
Design Patterns http://www.oodesign.com/
Design Patterns http://sourcemaking.com/design_patterns
Formato de anteproyecto de grado UNIVERSIDAD DE CIENCIAS APLICADAS Y AMBIENTALES –
U.D.C.A.

Más contenido relacionado

La actualidad más candente

Modelado del sistema
Modelado del sistemaModelado del sistema
Modelado del sistemaIsrael Rey
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso RealesSergio Sanchez
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwareJose Patricio Bovet Derpich
 
Modelamiento De Negocio
Modelamiento De NegocioModelamiento De Negocio
Modelamiento De NegocioKudos S.A.S
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitosZuleima
 
Introducción a UML y Diagrama de Casos de Uso
Introducción a UML y Diagrama de Casos de UsoIntroducción a UML y Diagrama de Casos de Uso
Introducción a UML y Diagrama de Casos de UsoYaskelly Yedra
 
Modelo Cascada y Espiral
Modelo Cascada y EspiralModelo Cascada y Espiral
Modelo Cascada y Espiraljuanksi28
 
Programacion Orientada a Eventos
Programacion Orientada a EventosProgramacion Orientada a Eventos
Programacion Orientada a EventosLaura
 
Fundamentos y metodos de analisis de requerimientos
Fundamentos y metodos de analisis de requerimientosFundamentos y metodos de analisis de requerimientos
Fundamentos y metodos de analisis de requerimientoslexiherrera
 
Patrones de creación
Patrones de creaciónPatrones de creación
Patrones de creaciónAutentia
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de SoftwareRene Guaman-Quinche
 
El Proceso de Diseño de interfaces de usuario. Roger Pressman
El Proceso de Diseño de interfaces de usuario. Roger PressmanEl Proceso de Diseño de interfaces de usuario. Roger Pressman
El Proceso de Diseño de interfaces de usuario. Roger PressmanJuan Pablo Bustos Thames
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 

La actualidad más candente (20)

UML - Analisis de Sistemas
UML - Analisis de SistemasUML - Analisis de Sistemas
UML - Analisis de Sistemas
 
Modelado del sistema
Modelado del sistemaModelado del sistema
Modelado del sistema
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
 
Modelos evolutivos. incremental y espiral
Modelos evolutivos. incremental y espiralModelos evolutivos. incremental y espiral
Modelos evolutivos. incremental y espiral
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del software
 
Modelamiento De Negocio
Modelamiento De NegocioModelamiento De Negocio
Modelamiento De Negocio
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitos
 
Introducción a UML y Diagrama de Casos de Uso
Introducción a UML y Diagrama de Casos de UsoIntroducción a UML y Diagrama de Casos de Uso
Introducción a UML y Diagrama de Casos de Uso
 
Fase de Elaboración RUP
Fase de Elaboración RUPFase de Elaboración RUP
Fase de Elaboración RUP
 
Modelo Cascada y Espiral
Modelo Cascada y EspiralModelo Cascada y Espiral
Modelo Cascada y Espiral
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptual
 
Programacion Orientada a Eventos
Programacion Orientada a EventosProgramacion Orientada a Eventos
Programacion Orientada a Eventos
 
Fundamentos y metodos de analisis de requerimientos
Fundamentos y metodos de analisis de requerimientosFundamentos y metodos de analisis de requerimientos
Fundamentos y metodos de analisis de requerimientos
 
Estilos Arquitectonicos-Capas
Estilos Arquitectonicos-CapasEstilos Arquitectonicos-Capas
Estilos Arquitectonicos-Capas
 
Patrones de creación
Patrones de creaciónPatrones de creación
Patrones de creación
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de Software
 
El Proceso de Diseño de interfaces de usuario. Roger Pressman
El Proceso de Diseño de interfaces de usuario. Roger PressmanEl Proceso de Diseño de interfaces de usuario. Roger Pressman
El Proceso de Diseño de interfaces de usuario. Roger Pressman
 
App inventor
App inventorApp inventor
App inventor
 
Manual de Erwin
Manual de ErwinManual de Erwin
Manual de Erwin
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 

Similar a Patrones comportamiento

Ingeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosWilfredo Mogollón
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...Joel Fernandez
 
Patrones de diseño - Andrés Dorado
Patrones de diseño - Andrés DoradoPatrones de diseño - Andrés Dorado
Patrones de diseño - Andrés Dorado2008PA2Info3
 
Paradigma orientado a objetos,
Paradigma orientado a objetos,Paradigma orientado a objetos,
Paradigma orientado a objetos,iestpaht
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseñolandeta_p
 
Framework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesFramework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesIván Campaña Naranjo
 
Fundamentos de Diseño Orientado a Objetos
Fundamentos de Diseño Orientado a ObjetosFundamentos de Diseño Orientado a Objetos
Fundamentos de Diseño Orientado a Objetosforwer1223
 
Metodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móvilesMetodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móvilesJaqueline Luna
 
Líneas de productos de software y el metodo watch
Líneas de productos de software y el metodo watchLíneas de productos de software y el metodo watch
Líneas de productos de software y el metodo watchAng Car
 
Fundamentos de Diseño - Grupo Delta
Fundamentos de Diseño - Grupo DeltaFundamentos de Diseño - Grupo Delta
Fundamentos de Diseño - Grupo DeltaNicola Pizzi Castro
 
2.4 DISEÑO BASADO EN PATRONES.pptx
2.4 DISEÑO BASADO EN PATRONES.pptx2.4 DISEÑO BASADO EN PATRONES.pptx
2.4 DISEÑO BASADO EN PATRONES.pptxGonzaloMartinezSilve
 
Modelos del proceso del software
Modelos del proceso del software Modelos del proceso del software
Modelos del proceso del software Faby Aliaga
 
Aplicacion mvc entity_framework_login_membership
Aplicacion mvc entity_framework_login_membershipAplicacion mvc entity_framework_login_membership
Aplicacion mvc entity_framework_login_membershipJose B Flores P
 
Patrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. JaramilloPatrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. Jaramillo2008PA2Info3
 
1 Avance Del Proyecto 6
1 Avance Del Proyecto 61 Avance Del Proyecto 6
1 Avance Del Proyecto 6guestde29b5
 
1. ciclo de_vida_de_software
1. ciclo de_vida_de_software1. ciclo de_vida_de_software
1. ciclo de_vida_de_softwareMiguel Castro
 

Similar a Patrones comportamiento (20)

Ingeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetos
 
Uml
UmlUml
Uml
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de software
 
Deber analisis
Deber analisisDeber analisis
Deber analisis
 
Patrones de diseño - Andrés Dorado
Patrones de diseño - Andrés DoradoPatrones de diseño - Andrés Dorado
Patrones de diseño - Andrés Dorado
 
Paradigma orientado a objetos,
Paradigma orientado a objetos,Paradigma orientado a objetos,
Paradigma orientado a objetos,
 
Mod 6.2 introducción al análisis
Mod 6.2 introducción al análisisMod 6.2 introducción al análisis
Mod 6.2 introducción al análisis
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño
 
Framework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesFramework para desarrollo de apps móviles
Framework para desarrollo de apps móviles
 
Fundamentos de Diseño Orientado a Objetos
Fundamentos de Diseño Orientado a ObjetosFundamentos de Diseño Orientado a Objetos
Fundamentos de Diseño Orientado a Objetos
 
Metodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móvilesMetodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móviles
 
Líneas de productos de software y el metodo watch
Líneas de productos de software y el metodo watchLíneas de productos de software y el metodo watch
Líneas de productos de software y el metodo watch
 
Fundamentos de Diseño - Grupo Delta
Fundamentos de Diseño - Grupo DeltaFundamentos de Diseño - Grupo Delta
Fundamentos de Diseño - Grupo Delta
 
2.4 DISEÑO BASADO EN PATRONES.pptx
2.4 DISEÑO BASADO EN PATRONES.pptx2.4 DISEÑO BASADO EN PATRONES.pptx
2.4 DISEÑO BASADO EN PATRONES.pptx
 
Modelos del proceso del software
Modelos del proceso del software Modelos del proceso del software
Modelos del proceso del software
 
Aplicacion mvc entity_framework_login_membership
Aplicacion mvc entity_framework_login_membershipAplicacion mvc entity_framework_login_membership
Aplicacion mvc entity_framework_login_membership
 
Patrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. JaramilloPatrones de diseño - Daniel E. Jaramillo
Patrones de diseño - Daniel E. Jaramillo
 
1 Avance Del Proyecto 6
1 Avance Del Proyecto 61 Avance Del Proyecto 6
1 Avance Del Proyecto 6
 
1. ciclo de_vida_de_software
1. ciclo de_vida_de_software1. ciclo de_vida_de_software
1. ciclo de_vida_de_software
 

Último

RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 

Último (20)

RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 

Patrones comportamiento

  • 1. UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS DESARROLLO DE APLICACIONES CON USO DE PATRONES DE COMPORTAMIENTO (Modelos de programación) JUAN CAMILO BOCANEGRA OSORIO CODIGO 20072020012 SERGIO ANDRES NOVOA CODIGO 20072020111 PROFESOR JULIO BARON VELANDIA PROYECTO CURRICULAR INGENIERIA DE SISTEMAS BOGOTA 30 DE MAYO DE 2013
  • 2. UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS PROYECTO CURRICULAR INGENIERIA DE SISTEMAS DESARROLLO DE APLICACIONES CON USO DE PATRONES DE COMPORTAMIENTO (Modelos de programación) INTRODUCCION: En la ingeniería de software nos topamos con ciertos problemas que se repiten frecuentemente, y para los cuales, luego de aplicar los principios de diseño orientado a objetos(Abierto - Cerrado, Sustitución de Liskov, Segregación de Interfaces, entre otros…), generalmente llegamos a las mismas soluciones. en cierto modo, un patrón de diseño es “la solución más natural a cierto tipo de problema común”. Viéndolo de ese modo, parece lógico pensar que cuando nos topemos con uno de esos “problemas modelo” podríamos aplicar “la solución conocida”, sin tener que reinventar la rueda. Este documento se encargará de demostrar mediante un ejemplo conocido, la aplicación de algunos de los patrones de diseño estudiados a través del semestre cursado, y como estos servirán para el desarrollo confiable de aplicaciones diseñadas para solucionar de manera confiable, estos problemas. Claro que, antes de aplicar un patrón, debemos asegurarnos de que nuestro problema encaja con el modelo, y de que las consecuencias del patrón (buenas o malas) se adaptan a nuestro caso: la idea no es tratar de usar patrones aquí y allá, si no que sean usados cuando encajen con el problema de diseño que queremos solucionar. OBJETIVOS: El objetivo de este documento es transmitir conocimientos de diseño de software según el paradigma de objetos. Se busca que a partir del conocimiento del paradigma, técnicas de diseño y lenguajes, se pueda estar en condiciones de diseñar sistemas nuevos y modificar sistemas existentes utilizando tecnología de objetos y distintos tipos de "arquitectura". Para lograrlo se presenta un sistema de patrones para ser usado en distintos contextos y resolver diferentes tipos de problemas. PALABRAS CLAVE: Patrones, Comportamiento, Java, UML, POO. CONTENIDO: Un Patrón de Diseño es una vía formal de documentar una solución a un problema de diseño en un campo particular de experiencia. Un patrón documenta un par problema-solución recurrente dentro de un contexto dado. Sin embargo, es más que sólo el problema o la estructura de la solución: se incluye tanto el problema como la solución, junto con la lógica que los une. Un problema se considera con respecto a las fuerzas en conflicto (por ejemplo, mantenibilidad vs. reusabilidad), detallando por qué el problema es un problema. Una solución propuesta se describe en términos de su estructura, e incluye una presentación clara de las consecuencias, tanto los beneficios como los inconvenientes, de la aplicación de la solución. En la Ingeniería del software se encuentra una gran cantidad de patrones que solucionan una amplia gama de problemas comunes. Entre ellos, y gracias al auge de la programación orientada a objetos, ha sido posible recolectar y documentar catálogos de aquellos que ha sido más
  • 3. eficaces para resolver los problemas más comunes de diseño. Un patrón de diseño no es una solución final absoluta que puede transformarse directamente a código, es una descripción o plantilla de como resolver un problema que puede usarse en muchas situaciones diferentes. Los patrones de diseño pueden acelerar el proceso de desarrollo, al proporcionar paradigmas que muchas veces han sido probados útiles. Patrones de comportamiento Estos patrones tratan acerca de la comunicación entre objetos y conjuntos de estos. Chain of responsibility Evita emparejar el objeto que envía una petición con el objeto que recibe esa petición, al permitir que mas de un objeto pueda tomar la responsabilidad de la petición enviada. Encadena los objetos que podrán recibir la petición y pasa la petición a lo largo de la cadena hasta que un objeto acepte la petición. Command Transforma una petición en un objeto de tal manera que puedas catalogar clientes con diferentes peticiones, mantener un registro de las peticiones y soportar el deshacer operaciones.
  • 4. Interpreter Permite definir una representación de la gramática de un lenguaje para usarla en un interprete del lenguaje. Iterator Provee de una manera de acceder secuencialmente a los elementos de una colección sin exponer su representación interna.
  • 5. Mediator Crea un objeto mediador que encapsula el cómo un conjunto de objetos interactúan. Mediator promociona la organización de como interactúan los objetos, sin necesidad de que entre ellos mismos se referencíen. Memento Sin violar el principio de encapsulación, captura y externaliza el estado interno de un objeto de manera que el objeto pueda regresar al estado después.
  • 6. Observer Define una dependencia de uno a muchos entre objetos de tal manera que cuando un objeto cambie su estado, todas las dependencias del objeto sean notificadas y actualizadas automáticamente. State Permite que un objeto cambie su comportamiento al cambiar su estado. El objeto parecerá que cambio de clase.
  • 7. Strategy Crea un conjunto de algoritmos encapsulados intercambiables. Permite que un algoritmo varíe independientemente de los clientes que los usan. Template method Otorga el derecho a subclases de re definir ciertos pasos o procedimientos de un algoritmo sin cambiar la estructura de tal algoritmo. Visitor Permite definir una operación nueva sin cambiar las clases de los elementos en los cuales opera.
  • 8. DESCRIPCIÓN DEL PROYECTO MUEBLES MODULARES es una asociación privada que agrupa 39 fábricas de muebles. Funciona hace más de 15 años. Aunque no existe una dirección física, se caracteriza entre sus clientes por ser una empresa que no recibe a sus clientes, sino que va hasta ellos. MISIÓN Ofrecer productos de excelente calidad brindando una gran variedad de diseño de muebles y decoración para el hogar. Que satisfagan las necesidades de nuestros clientes, con magnifico respaldo y garantía. VISIÓN Ser el primer centro de diseño y decoración en muebles para hogar y oficina, que ofrece productos de vanguardia con una amplia oferta de mobiliario comercial en la puerta de su hogar o negocio. IDENTIFICACIÓN DEL PROBLEMA Debido a las nuevas políticas de expansión y alcance de la empresa, MUEBLES MODULARES se ve en la obligación de crear un software que le permita manejar los pedidos a proveedores, la organización de las ventas y los datos de clientes y compras, además del manejo del inventario, por tal razón acuden a nosotros para el desarrollo de éste proyecto. ETAPAS Y ACTIVIDADES CONTEMPLADAS EN EL PROYECTO. 1. Reunión con los socios de MUEBLES MODULARES, para la consecución y recolección de requerimientos necesarios. 2. Delegación de responsabilidades miembros del grupo de desarrollo de software. 3. Asistencia de asesor externo para la consecución del proyecto (profesor Julio Barón Velandia). 4. Desarrollo diagramas para la generación del software. 5. Primera entrega documento. 6. Aplicación correcciones documento. 7. Segunda entrega documento. 8. Implementación en código (JAVA o VISUAL según los requerimientos de la empresa). 9. Revisión de la implementación. 10. Correcciones de la implementación. 11. Entrega final. PRODUCTOS DEL PROYECTO. El grupo de desarrollo de software se encargará de crear un aplicativo, que será utilizado única y exclusivamente por MUEBLES MODULARES, para el manejo total de todo el proceso de producción y venta de muebles y decoración del cual se encarga MUEBLES MODULARES. BENEFICIARIOS DEL PROYECTO. Este software será utilizado exclusivamente por personal perteneciente a la empresa MUEBLES MODULARES, y personal perteneciente al grupo de desarrollo de software, en calidad de servicio de mantenimiento y capacitación en el uso del software descrito.
  • 9. BREVE RESUMEN DEL PROYECTO - REQUERIMIENTOS. • ¿ Cuál es el problema y sus causas? Debido a la expansión de la empresa MUEBLES MODULARES, se hace necesario la implementación de un software para el manejo de ventas y producción. • ¿ Qué se pretende lograr con el proyecto? Generar un software que permita la optimización de manejo de datos, de la empresa MUEBLES MODULARES. • ¿ A quiénes beneficiará? ¿ A cuántos? Aunque los derechos del software sólo pueden pertenecer a MUEBLES MODULARES, según la cantidad de filiales que genere, el software podrá ser utilizado por ellos. • ¿Datos básicos a manejar? Según la reunión con los socios, el software necesario, es muy básico, el cual manejará datos de los productos que la empresa MUEBLES MODULARES ofrece, los cuales son muebles y decoración y todas las características que hay tras la producción de ellos, además manejará clientes y proveedores y el sistema de venta de productos. • ¿ Con qué recursos? El software a utilizar estará basado en el lenguaje de programación JAVA o VISUAL, según los requerimientos de sistema de los equipos de cómputo de MUEBLES MODULARES. • ¿ Quiénes lo harán? Responsable. Con la colaboración de quienes más? El proyecto será realizado por los miembros del grupo de desarrollo de software con la asistencia del profesor JULIO BARON VELANDIA como asesor. • ¿ Cuánto tiempo durará? Plazos. Los plazos de entrega de de documentos e implementación fueron acordados según reuniones desarrolladas anteriormente. IMPLEMENTACION PATRONES PROBLEMA Se necesita crear una serie de elementos que fueron pedidos por un cliente, por la caracteristicas de estos muebles, se necesita poner a funcionar las maquinas ensambladoras, pero la cortadora envía las partes aleatoriamente para cada tipo de mueble. Se necesita ir seleccionando las partes y enviarlas a su respectiva ensambladora. PATRON UTILIZADO El patrón Chain of responsability permite establecer una cadena de objetos receptores a través de los cuales se pasa una petición formulada por un objeto emisor. La idea es que cualquiera de los receptores pueden responder a la petición en función de un criterio establecido. Encadena los objetos receptores y pasa la petición a través de la cadena hasta que es procesada por algún objeto En este caso se crearan una serie de clases EnsambleSilla, EnsambleMesa y EnsambleSillon, y según el tipo de partes que sean enviadas, La clase SeleccionarEnsamble, le delegará la responsabilidad a la maquina respectiva
  • 10. PROBLEMA La fábrica va a recibir nuevos moldes para la creación de camarotes, existen de dos y tres pisos, sin embargo existe el problema que según la cantidad de material que entre a las maquinas están tendrán la decisión de hacer el camarote especifico. PATRON UTILIZADO En determinadas ocasiones, cuando el contexto en el que se está desarrollando requiere que un objeto tenga diferentes comportamientos según el estado en que se encuentra, resulta complicado poder manejar el cambio de comportamientos y los estados de dicho objeto, todos dentro del mismo bloque de código. El patrón State propone una solución a esta complicación, creando básicamente, un objeto por cada estado posible del objeto que lo llama. Se utilizará una clase ArmarCamarote, que según la cantidad de material ingresado, creará el respectivo camarote CamaroteDos o CamaroteTres con sus respectivas caracteristicas.
  • 11. PROBLEMA Para la entrada a las instalaciones existe un sistema de identificación, que según el tipo de persona(cliente, empleado o socio) le permite el acceso a las distintas instalaciones, pero las caracteristicas de cada uno son similares, y la única diferencia es el tipo de identificación, de que forma se puede controlar el acceso. PATRON UTILIZADO El patrón Plantilla permite que ciertos pasos de un algoritmo definido en una operación de una superclase, sean redefinidos en las subclases sin necesidad de tener que sobrescribir la operación entera. Se utilizará una clase EntradaPorID que según el tipo de persona(Cliente,Empleado, Socio), los cuales sólo se diferencian por el tipo de ID, permitirá que con esté ID puedan ingresar al complejo. PROBLEMA Por cambio de temporada, MUEBLES MODULARES hará un descuento para las compras, pero con una caracteristica, los operarios tendrán un descuento mayor que el de los clientes, se necesita un algoritmo que regule esto. PATRON UTILIZADO El patrón Visitor es útil cuando se desea encapsular buscando datos desde un número de instancias de varias clases. Los patrones de diseño sugieren que el visitante puede proporcionar una funcionalidad adicional a una clase sin cambiarla. Pero es más práctico decir que un visitante puede agregar funcionalidad a una colección de clases y encapsular los métodos que utiliza. A traves de las clases UsuarioPrintVisitor y UsuarioDescuentoVisitor() podremos calcular el descuento que se hará a cada uno de las personas interesados, según el tipo que es.
  • 12.
  • 13. CONCLUSIONES A través del desarrollo del proyecto se entendió la utilización de los patrones de comportamiento en la realización de programas, con un fin didáctico, explicando de una forma concisa, pero detallada los patrones utilizados, así como su implementación en uno de los lenguajes de programación con mayores ventajas para la programación, como es el lenguaje JAVA. Se puso a prueba el diseño de documentos para la realización de proyectos, en este caso de desarrollo de software
  • 14. BIBLIOGRAFIA Guia de construcción de software en JAVA con patrones de diseño Francisco Javier Martinez Juan “Design Patterns” E. Gamma et al., Addison Wesley, 1998. Design Patterns http://www.oodesign.com/ Design Patterns http://sourcemaking.com/design_patterns Formato de anteproyecto de grado UNIVERSIDAD DE CIENCIAS APLICADAS Y AMBIENTALES – U.D.C.A.