SlideShare ist ein Scribd-Unternehmen logo
1 von 12
UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS
DESARROLLO DE APLICACIONES CON USO DE PATRONES ESTRUCTURALES
(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 ESTRUCTURALES
(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, Creacionales, 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 ESTRUCTURALES
Estos patrones de diseño tratan sobre la composición de clases y objetos. Estos patrones usan
herencia para componer interfaces. Definen maneras de componer un objeto para obtener nuevas
funcionalidades.
Adapter
Transforma la interfaz de una clase en una interfaz que el cliente espera. Este patrón permite
que distintas clases trabajen en juntas.
Bridge
Desempareja la abstracción de un objeto de su implementación de tal manera que las dos puedan
variar independientemente.
Composite
Compone objetos en estructuras tipo árbol para representar jerarquías de parte completa.
Permite tratar objetos individuales y composiciones de objetos uniformemente.
Decorator
Agrega responsabilidades a un objeto dinámicamente. Provee de una alternativa flexible a
subclasificación para extender la funcionalidad.
Facade
Provee de una interfaz unificada de un conjunto de interfaces en un subsistema. Define una
interfaz de alto nivel para hacer un subsistema fácil de usar.
Flyweight
Usa el compartir para soportar grades números de objetos "de grano fino" de manera eficiente.
Proxy
Proporciona un representante de otro objeto para controlar el acceso al objeto que está siendo
representado.
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
La empresa MUEBLES MODULARES, adquirio una nueva maquina ensambladora, la cual por un
precio menor, aumenta la producción en un 15% comparado con las ensambladoras de fabricación
nacional, el problema es que por sus caracteristicas no puede ser entendida por sus operarios, Se
necesita usar un patrón que permita el uso sin inconvenientes de está máquina.
PATRON UTILIZADO
El patrón Adapter (Adaptador) se utiliza para transformar una interfaz en otra, de tal modo que una
clase que no pudiera utilizar la primera, haga uso de ella a través de la segunda.
Utilizando este patrón se creara una clase llamada MaquinaAdaptada que adaptara la
MaquinaImportada para usar esta clase como si fuera una MaquinaGenerica.
PROBLEMA
La llegada de nuevos empleados, trae inconvenientes, al no tener conocimientos del uso de las
maquinas, MUEBLES MODULARES se ve obligado a capacitar a los empleados, pero debido a la
falta de tiempo, se necesita que empiecen a trabajar de inmediato, por eso se necesita una
forma de hacer que todas las maquinas funcionen desde unas instrucciones básicas
PATRON UTILIZADO
El patrón Fachada trata de simplificar la interfaz entre dos sistemas o componentes de software
ocultando un sistema complejo detrás de una clase que hace las veces de pantalla o fachada, de
tal forma que su uso sea mas fácil. Por otro lado, este patrón pretende reducir la complejidad de
un sistema, al ser dividido en componentes mas sencillos e independientes entre sí, así como
también desacoplar a los clientes de las clases del subsistema.
Se Creará una clase FachadaMAquina que con unos sencillos métodos se encargará del uso
completo de casa maquina.
PROBLEMA
Se necesita ajustar una maquina ensambladora para que ensamble dos tipos distintos de
muebles(mesas y sillas), ya que una de las maquinas se averió y no se puede perder tiempo
esperando a la reparación de la maquina averiada
PATRON UTILIZADO
El patrón Bridge, es una técnica usada en programación para desacoplar una abstracción de su
implementación, de manera que ambas puedan ser modificadas independientemente sin
necesidad de alterar por ello la otra.Esto es, se desacopla una abstracción de su implementación
para que puedan variar independientemente.
Crearemos una clase AbstraccionEnsamble que permitirá manejar los dos procesos EnsambleMesa
y EnsambleSilla y servira de puente para el llamado al método correspondiente a cada ensamble
CONCLUSIONES
A través del desarrollo del proyecto se entendió la utilización de los patrones estructurales 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.

Weitere ähnliche Inhalte

Was ist angesagt?

Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareRoberth Loaiza
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteJosé Antonio Sandoval Acosta
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesNedoww Haw
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)katherine revelo gomez
 
Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasAlex Uhu Colli
 
Patrones de creación
Patrones de creaciónPatrones de creación
Patrones de creaciónAutentia
 
Tm01 el modelado en el desarrollo de software
Tm01 el modelado en el desarrollo de softwareTm01 el modelado en el desarrollo de software
Tm01 el modelado en el desarrollo de softwareJulio Pari
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesVictor Escamilla
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de usoTensor
 
Una base de datos de red
Una base de datos de redUna base de datos de red
Una base de datos de redweneliza99
 
UML - Diagramas de Actividades, componentes y clases
UML - Diagramas de Actividades, componentes y clasesUML - Diagramas de Actividades, componentes y clases
UML - Diagramas de Actividades, componentes y clasesErickMontesdeoca5
 
Programación orientada al objeto
Programación orientada al objetoProgramación orientada al objeto
Programación orientada al objetoboncastell
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoFYaskelly Yedra
 
Patrones estructurales
Patrones estructuralesPatrones estructurales
Patrones estructuralesAutentia
 

Was ist angesagt? (20)

Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de Software
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
 
Uml - Caso práctico
Uml - Caso prácticoUml - Caso práctico
Uml - Caso práctico
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)
 
TRIGGERS O DISPARADORES
TRIGGERS O DISPARADORESTRIGGERS O DISPARADORES
TRIGGERS O DISPARADORES
 
Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capas
 
Patrones de creación
Patrones de creaciónPatrones de creación
Patrones de creación
 
Tm01 el modelado en el desarrollo de software
Tm01 el modelado en el desarrollo de softwareTm01 el modelado en el desarrollo de software
Tm01 el modelado en el desarrollo de software
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de uso
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Una base de datos de red
Una base de datos de redUna base de datos de red
Una base de datos de red
 
UML - Diagramas de Actividades, componentes y clases
UML - Diagramas de Actividades, componentes y clasesUML - Diagramas de Actividades, componentes y clases
UML - Diagramas de Actividades, componentes y clases
 
Rational rose
Rational roseRational rose
Rational rose
 
Programación orientada al objeto
Programación orientada al objetoProgramación orientada al objeto
Programación orientada al objeto
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoF
 
Patrones estructurales
Patrones estructuralesPatrones estructurales
Patrones estructurales
 

Andere mochten auch

Andere mochten auch (16)

Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Lenguaje De Programación
Lenguaje De ProgramaciónLenguaje De Programación
Lenguaje De Programación
 
Modelado, Ingenieria de Software
Modelado, Ingenieria de SoftwareModelado, Ingenieria de Software
Modelado, Ingenieria de Software
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
 
Herramientas IDE - CASE
Herramientas IDE - CASEHerramientas IDE - CASE
Herramientas IDE - CASE
 
Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de software
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Diagramas De Interaccion
Diagramas De InteraccionDiagramas De Interaccion
Diagramas De Interaccion
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Diapositivas ciencia, tecnologia y sociedad
Diapositivas ciencia, tecnologia y sociedadDiapositivas ciencia, tecnologia y sociedad
Diapositivas ciencia, tecnologia y sociedad
 
Innovacion Tecnologica
Innovacion TecnologicaInnovacion Tecnologica
Innovacion Tecnologica
 
Proyecto de grado
Proyecto de gradoProyecto de grado
Proyecto de grado
 
LA NATURALEZA DE LA ACTIVIDAD CIENTÍFICA
LA NATURALEZA DE LA ACTIVIDAD CIENTÍFICALA NATURALEZA DE LA ACTIVIDAD CIENTÍFICA
LA NATURALEZA DE LA ACTIVIDAD CIENTÍFICA
 
La tecnología
La tecnologíaLa tecnología
La tecnología
 
Factibilidad Tecnica, Operativa y Economica
Factibilidad Tecnica, Operativa y EconomicaFactibilidad Tecnica, Operativa y Economica
Factibilidad Tecnica, Operativa y Economica
 
Análisis Estadístico
Análisis EstadísticoAnálisis Estadístico
Análisis Estadístico
 

Ähnlich wie Patrones estructurales

Patrones comportamiento
Patrones comportamientoPatrones comportamiento
Patrones comportamientoJuan Camilo
 
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
 
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
 
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
 
Modelos del proceso del software
Modelos del proceso del software Modelos del proceso del software
Modelos del proceso del software Faby Aliaga
 
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
 
Relación Entre SPL Y MDSE
Relación Entre SPL Y MDSERelación Entre SPL Y MDSE
Relación Entre SPL Y MDSEEdicson Edicson
 
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
 
12-150203140754-conversion-gate02.pptx
12-150203140754-conversion-gate02.pptx12-150203140754-conversion-gate02.pptx
12-150203140754-conversion-gate02.pptxGonzaloMartinezSilve
 
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
 
Qué relación existe entre spl y mdse
Qué relación existe entre spl y mdseQué relación existe entre spl y mdse
Qué relación existe entre spl y mdseOscar Eraso Moncayo
 
Fundamentos de diseño de software
Fundamentos de diseño de softwareFundamentos de diseño de software
Fundamentos de diseño de softwareLuis Jesus Curbata
 

Ähnlich wie Patrones estructurales (20)

Patrones comportamiento
Patrones comportamientoPatrones comportamiento
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 objetos
 
Uml
UmlUml
Uml
 
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
 
Aplicacion mvc entity_framework_login_membership
Aplicacion mvc entity_framework_login_membershipAplicacion mvc entity_framework_login_membership
Aplicacion mvc entity_framework_login_membership
 
Modelos del proceso del software
Modelos del proceso del software Modelos del proceso del software
Modelos del proceso del software
 
Patrones de-diseño
Patrones de-diseñoPatrones de-diseño
Patrones de-diseño
 
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
 
Relación Entre SPL Y MDSE
Relación Entre SPL Y MDSERelación Entre SPL Y MDSE
Relación Entre SPL Y MDSE
 
Aplicacion mvc entity_framework_factura
Aplicacion mvc entity_framework_facturaAplicacion mvc entity_framework_factura
Aplicacion mvc entity_framework_factura
 
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
 
12-150203140754-conversion-gate02.pptx
12-150203140754-conversion-gate02.pptx12-150203140754-conversion-gate02.pptx
12-150203140754-conversion-gate02.pptx
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
prueva
pruevaprueva
prueva
 
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
 
12.diseño basado en patrones
12.diseño basado en patrones12.diseño basado en patrones
12.diseño basado en patrones
 
Qué relación existe entre spl y mdse
Qué relación existe entre spl y mdseQué relación existe entre spl y mdse
Qué relación existe entre spl y mdse
 
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
 
Fundamentos de diseño de software
Fundamentos de diseño de softwareFundamentos de diseño de software
Fundamentos de diseño de software
 

Kürzlich hochgeladen

Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicaGianninaValeskaContr
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaLuis Minaya
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 

Kürzlich hochgeladen (20)

Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 

Patrones estructurales

  • 1. UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS DESARROLLO DE APLICACIONES CON USO DE PATRONES ESTRUCTURALES (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 ESTRUCTURALES (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, Creacionales, 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.
  • 3. 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 ESTRUCTURALES Estos patrones de diseño tratan sobre la composición de clases y objetos. Estos patrones usan herencia para componer interfaces. Definen maneras de componer un objeto para obtener nuevas funcionalidades. Adapter Transforma la interfaz de una clase en una interfaz que el cliente espera. Este patrón permite que distintas clases trabajen en juntas. Bridge Desempareja la abstracción de un objeto de su implementación de tal manera que las dos puedan variar independientemente.
  • 4. Composite Compone objetos en estructuras tipo árbol para representar jerarquías de parte completa. Permite tratar objetos individuales y composiciones de objetos uniformemente. Decorator Agrega responsabilidades a un objeto dinámicamente. Provee de una alternativa flexible a subclasificación para extender la funcionalidad. Facade Provee de una interfaz unificada de un conjunto de interfaces en un subsistema. Define una interfaz de alto nivel para hacer un subsistema fácil de usar.
  • 5. Flyweight Usa el compartir para soportar grades números de objetos "de grano fino" de manera eficiente. Proxy Proporciona un representante de otro objeto para controlar el acceso al objeto que está siendo representado.
  • 6. 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.
  • 7. 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.
  • 8. IMPLEMENTACION PATRONES PROBLEMA La empresa MUEBLES MODULARES, adquirio una nueva maquina ensambladora, la cual por un precio menor, aumenta la producción en un 15% comparado con las ensambladoras de fabricación nacional, el problema es que por sus caracteristicas no puede ser entendida por sus operarios, Se necesita usar un patrón que permita el uso sin inconvenientes de está máquina. PATRON UTILIZADO El patrón Adapter (Adaptador) se utiliza para transformar una interfaz en otra, de tal modo que una clase que no pudiera utilizar la primera, haga uso de ella a través de la segunda. Utilizando este patrón se creara una clase llamada MaquinaAdaptada que adaptara la MaquinaImportada para usar esta clase como si fuera una MaquinaGenerica. PROBLEMA La llegada de nuevos empleados, trae inconvenientes, al no tener conocimientos del uso de las maquinas, MUEBLES MODULARES se ve obligado a capacitar a los empleados, pero debido a la falta de tiempo, se necesita que empiecen a trabajar de inmediato, por eso se necesita una forma de hacer que todas las maquinas funcionen desde unas instrucciones básicas PATRON UTILIZADO El patrón Fachada trata de simplificar la interfaz entre dos sistemas o componentes de software ocultando un sistema complejo detrás de una clase que hace las veces de pantalla o fachada, de tal forma que su uso sea mas fácil. Por otro lado, este patrón pretende reducir la complejidad de un sistema, al ser dividido en componentes mas sencillos e independientes entre sí, así como también desacoplar a los clientes de las clases del subsistema.
  • 9. Se Creará una clase FachadaMAquina que con unos sencillos métodos se encargará del uso completo de casa maquina. PROBLEMA Se necesita ajustar una maquina ensambladora para que ensamble dos tipos distintos de muebles(mesas y sillas), ya que una de las maquinas se averió y no se puede perder tiempo esperando a la reparación de la maquina averiada PATRON UTILIZADO El patrón Bridge, es una técnica usada en programación para desacoplar una abstracción de su implementación, de manera que ambas puedan ser modificadas independientemente sin necesidad de alterar por ello la otra.Esto es, se desacopla una abstracción de su implementación para que puedan variar independientemente. Crearemos una clase AbstraccionEnsamble que permitirá manejar los dos procesos EnsambleMesa y EnsambleSilla y servira de puente para el llamado al método correspondiente a cada ensamble
  • 10.
  • 11. CONCLUSIONES A través del desarrollo del proyecto se entendió la utilización de los patrones estructurales 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
  • 12. 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.