SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Patrón arquitectónico de la
plataforma de apoyo para la
mejora de procesos software
en PyMEs
Roque Manuel Rueda Anastacio
Este documento presenta una descripción de la arquitectura propuesta por la

plataforma de apoyo para la mejora de procesos software en las PyMEs la cual se
desprende de la tesis del alumno Roque Manuel Rueda Anastacio para obtener el

grado de Maestro en Sistemas Computacionales




 10/24/2012
Page 0 of 9
Patrón arquitectónico de la plataforma
de apoyo para la mejora de procesos
software

Índice



Índice ....................................................................................................................................................... 1

Definición de arquitectura de software ....................................................................................... 1

Patrones arquitectónicos .................................................................................................................. 2

    Influencias en el desarrollo de la arquitectura ..................................................................... 3

    Experiencia del arquitecto ........................................................................................................... 3

    Modelo/Vista/Controlador .......................................................................................................... 4

    Model-View-ViewModel .............................................................................................................. 5

Arquitectura Propuesta ..................................................................................................................... 7

Referencias ............................................................................................................................................ 9




Definición de arquitectura de software
La arquitectura de un sistema computacional es una representación que permite
comprender como se comportará el sistema [1].

Es un plano para el desarrollo del sistema y el equipo de desarrollo, define los
elementos que se deben realizar tanto por el equipo de diseño así como el de
Page 1 of 9
implementación. La arquitectura contiene las características del sistema como lo

son el desempeño, fácil aceptación de cambios y seguridad, los cuales no se
pueden lograr sin tener una visión unificada de la arquitectura. La arquitectura es

un producto de trabajo para el inicio del análisis para asegurar que la aproximación
de diseño proporcionara un sistema aceptable.

“Es el pegamento que mantiene todos las fases del proyecto juntos para sus diversos

implicados” [2].

La arquitectura de software es una pieza central en el desarrollo de un sistema ya
que dicta el camino a seguir en el desarrollo de la aplicación. Una arquitectura

debe describir los elementos del sistema y sus relaciones así como también con el
ambiente en el que se encuentran. Se puede decir entonces que una arquitectura

es una abstracción del sistema que solo incluye la descripción de los detalles más
importantes y permite que conforme se desarrolle el sistema se agrega detalles

que crean un sistema funcional. Una arquitectura se puede entender también
como: la estructura o estructuras del sistema, que componen los elementos de

software, sus propiedades que son visibles externamente y las relaciones
entre ellos [3].



Patrones arquitectónicos
Patrones arquitectónicos o estilos arquitectónicos son analogías de los estilos
arquitectónicos de los edificios, como Gótico, Revival Griego o Queen Anne.

Consisten en conjuntos de características claves y reglas para combinarlos con
el fin de poder preservar la integridad arquitectónica.         Presentan estilos a

problemas arquitectónicos recurrentes [4]. Existen diversas influencias en el diseño
y las influencias cambian de acuerdo al ambiente en el que se desenvuelve.



Page 2 of 9
Influencias en el desarrollo de la arquitectura
La arquitectura de software se define dependiendo de las necesidades específicas

del sistema a desarrollar ya que no existe una arquitectura que cubra todas las
necesidades. Un mismo arquitecto puede generar una arquitectura diferente para

un sistema similar dependiendo de las necesidades de los involucrados. En la
ilustración 1 apreciamos una serie de implicados en un sistema dando una serie de

sugerencias a un arquitecto.




 Administrador           Marketing          Usuario final        Mantenimiento            Clientes del negocio




                                         Comportamiento,
Bajo costo,      Características, poco
                                         desempeño,                Agregar nuevas          Bajo costo, tiempo de
mantener el      tiempo, a la par de
                                         seguridad, confianza,     características         entrega, sin cambios
trabajo          otros productos
                                         usabilidad                                        continuamente



                                                                   ¡AAAHH!
                                                                   (Este puedes ser tú)



                                         Arquitecto


                    Ilustración 1 Influencia de los implicados en la arquitectura



Experiencia del arquitecto
Si el arquitecto de un sistema tiene buenos resultados con una aproximación
arquitectónica, es muy probable que se utilice esa misma aproximación en

esfuerzos de desarrollo siguientes. También las decisiones pueden provenir de la
educación y entrenamiento, exposición a patrones arquitectónicos exitosos o
sistemas que se desempeñaban pobremente o particularmente bien.


Page 3 of 9
Modelo/Vista/Controlador
El patrón Modelo Vista Controlador o MVC es una manera práctica de arquitectura

interactiva en sistemas de software. El concepto principal es la separación de las
interfaces de los datos representados por la interfaz de usuario. El modelo es la

porción que representa el problema que se busca solucionar en datos, el modelo
solo cambiara cuando cambie la problemática la cual se supone se mantenga por

periodos de tiempo extensos, contienen la información como la lógica para
cambiar esa información. El control es responsable entre la comunicación de la

Vista y los modelos. Y la vista únicamente presenta la información al usuario y pasa
las interacciones del usuario a su control [5].




Características que se obtienen de este patrón arquitectónico:

      La apariencia del sistema puede cambiar de manera drástica sin afectar las
       estructuras de datos o la lógica del negocio.

      La aplicación puede mantener distintas interfaces, así como múltiples
       lenguajes, o diferentes niveles de permisos.




Page 4 of 9
Model-View-ViewModel
El patrón Modelo-Vista-Vista de Modelo consiste de tres componentes principales:

La vista es la representación de la interfaz de usuario. Contiene usualmente solo
componentes de interfaz de usuario sin código o solo el código de lógica

necesario, otro elemento es la vista de modelo es un objeto que encapsula los
datos desde su forma de registros hacia a una presentación, Maneja los eventos

que se generan desde la vista. Finalmente el modelo se refiere al dominio del
problema y representan la problemática y encapsula el comportamiento del

sistema.




Características que se obtienen de este patrón arquitectónico:

      La vista puede ser cambiada sin ninguna complicación.

Page 5 of 9
   Se pueden realizar pruebas unitarias simulando la interacción del usuario

       con las vistas.
      Permite la interacción de diferentes vistas con un mismo modelo de datos.

      Se puede modificar las vistas o el modelo sin que se afecte al otro
      Se puede dar formato a los datos antes de ser presentados en una vista de

       manera fácil




Page 6 of 9
Arquitectura Propuesta



                                                   Navegador                                                             Cliente Web
               Dispositivo Android



                      Aplicación Android
                                                        Interne
                                                                                                   Presentación de
              Widget API             KSOAP2                                           Vaadin                                    JAXB
                                                                                                      resultados




                                                 Servicios Web                                   Módulo de
                                                                                                  consultas
                                                               Constructor de                                         Base
                                                                                               Consulta a base
                                                                  cuestionarios
                                                                                                  de datos

                                                                                                Búsqueda por
                                                                       Extracción y                                  Ontologí
                           Servidor de                                                            sinónimos
                                                                    estructuración del
                           aplicaciones

                             JBOSS
                                          Generación           Modulo de matriz                Unificación de

                                          de reportes          de cumplimiento                   términos




Page 7 of 9
La arquitectura propuesta sigue el patrón arquitectónico MVVM cuenta con 3

grandes elementos que integran los elementos del sistema, la Plataforma SPI
(gris) contiene los elementos que corresponden al modelo y representan el

problema a abordar, así como también encapsulan el comportamiento del sistema,
se agrega una capa de servicios web la cual expondrá interfaces (Patron de diseño

facade -> Fachada) para acceder a la funcionalidad del sistema.

Al exponer la funcionalidad del sistema mediante servicios web se obtiene, una
vista y una vista de modelo que pueden ser modificadas sin alterar ningún
elemento del otro; siempre y cuando se respete la interfaz expuesta por el servicio
web. Además de dar soporte a otros lenguajes y otros dispositivos y plataformas

de comunicarse con la plataforma propuesta.

Los otros dos elementos importantes Aplicación Android y Cliente Web
representan la vista de modelo ya que son quienes cuentan con la vista hacia el

usuario y además cuentan con clases para obtener la información de la plataforma,
dar formato si es necesario o realizar operaciones con ella antes de ser mostrada al

usuario además de que pueden realizar operaciones antes de enviarla a la
plataforma.

La ventaja que se descubre es entonces que la plataforma podrá interactuar con

cualquier lenguaje/dispositivo/plataforma capaz de consumir un servicio web
(SOAP). Además se denomina plataforma ya que permitirá la derivación de nuevas

tecnologías o procesos a partir de las funcionalidades contenidas y expuestas
mediante los servicios web. [Ref mi tesis]




Page 8 of 9
Referencias
   [1]. (2012) Software Architecture. [Online]. Available: http://www.sei.cmu.edu/architecture/

   [2]. (2012)        Software          Architecture         Start        [Online]           Available:
       http://www.sei.cmu.edu/architecture/start/?wt.ac=swaGettingStarted
                                                                                     nd
   [3]. Len Bass, Paul Clements, Rick Kazman, Software Architecture in Practice, 2        ed., Addison

       Wesley, 2003, ISBN: 0-321-15495-9, p. 560.

   [4]. Douglas Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann, Pattern-Oriented Software
       Architecture—Patterns for Concurrent and Networked Objects, Volume 2, Wiley, 2000.

   [5]. Avraham    Leff,   James   T.   Rayfield,   “Web-Application    Development       Using    the

       Model/View/Controller Desing Pattern”, IBM T.J. Watson Research Center.

   [6]. P. Tanuska, T. Skripcak “Data-Driven Scenario Test Generation for Information Systems”
       International Journal of Computer Theory and Engineering, Vol. 3, No. 4, August 2011




Page 9 of 9

Más contenido relacionado

La actualidad más candente

Modelos requisitos casos de uso si_investigación
Modelos requisitos casos de uso si_investigaciónModelos requisitos casos de uso si_investigación
Modelos requisitos casos de uso si_investigaciónailatan66
 
Tipos de Modelos y Metodologías Orientado a Objetos
Tipos de Modelos y Metodologías Orientado a ObjetosTipos de Modelos y Metodologías Orientado a Objetos
Tipos de Modelos y Metodologías Orientado a ObjetosJuan Antonio Sanchez Barrera
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de SoftwareUPT
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitosKleo Jorgee
 
Análisis de los tipos de modelos y metodologías del modelado orientado a objetos
Análisis de los tipos de modelos y metodologías del modelado orientado a objetosAnálisis de los tipos de modelos y metodologías del modelado orientado a objetos
Análisis de los tipos de modelos y metodologías del modelado orientado a objetosJuan Guadarrama
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOSFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOSValentina
 
Diseño del software
Diseño del softwareDiseño del software
Diseño del softwareduberlisg
 
Metodologia de desarrollo de software
Metodologia de desarrollo de softwareMetodologia de desarrollo de software
Metodologia de desarrollo de softwareVictor Varela
 
Conceptos y principios de diseño
Conceptos y principios de diseñoConceptos y principios de diseño
Conceptos y principios de diseñoNataly Adelaida
 
Planos arquitectonicos el modelo de 4+1 vistas de la
Planos arquitectonicos el modelo de 4+1 vistas de laPlanos arquitectonicos el modelo de 4+1 vistas de la
Planos arquitectonicos el modelo de 4+1 vistas de laJulio Pari
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a ObjetosRafael Miranda
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetosyolandacando1
 
Arquitectura de software orientada a patrones
Arquitectura de software orientada a patronesArquitectura de software orientada a patrones
Arquitectura de software orientada a patronesGustavo De la Cruz Tovar
 
Ingeniería de software II - Parte 3.1
Ingeniería de software II - Parte 3.1Ingeniería de software II - Parte 3.1
Ingeniería de software II - Parte 3.1Marta Silvia Tabares
 
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 arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)josecuartas
 

La actualidad más candente (20)

Modelos requisitos casos de uso si_investigación
Modelos requisitos casos de uso si_investigaciónModelos requisitos casos de uso si_investigación
Modelos requisitos casos de uso si_investigación
 
Tipos de Modelos y Metodologías Orientado a Objetos
Tipos de Modelos y Metodologías Orientado a ObjetosTipos de Modelos y Metodologías Orientado a Objetos
Tipos de Modelos y Metodologías Orientado a Objetos
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
Modelo 4+1
Modelo 4+1Modelo 4+1
Modelo 4+1
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitos
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
Análisis de los tipos de modelos y metodologías del modelado orientado a objetos
Análisis de los tipos de modelos y metodologías del modelado orientado a objetosAnálisis de los tipos de modelos y metodologías del modelado orientado a objetos
Análisis de los tipos de modelos y metodologías del modelado orientado a objetos
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOSFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS
 
Diseño del software
Diseño del softwareDiseño del software
Diseño del software
 
Metodologia de desarrollo de software
Metodologia de desarrollo de softwareMetodologia de desarrollo de software
Metodologia de desarrollo de software
 
Is.1p.5 arquitectura de software
Is.1p.5 arquitectura de softwareIs.1p.5 arquitectura de software
Is.1p.5 arquitectura de software
 
Conceptos y principios de diseño
Conceptos y principios de diseñoConceptos y principios de diseño
Conceptos y principios de diseño
 
Planos arquitectonicos el modelo de 4+1 vistas de la
Planos arquitectonicos el modelo de 4+1 vistas de laPlanos arquitectonicos el modelo de 4+1 vistas de la
Planos arquitectonicos el modelo de 4+1 vistas de la
 
Plantilla ers
Plantilla ersPlantilla ers
Plantilla ers
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a Objetos
 
Metodología orientadas a objetos
Metodología orientadas a objetosMetodología orientadas a objetos
Metodología orientadas a objetos
 
Arquitectura de software orientada a patrones
Arquitectura de software orientada a patronesArquitectura de software orientada a patrones
Arquitectura de software orientada a patrones
 
Ingeniería de software II - Parte 3.1
Ingeniería de software II - Parte 3.1Ingeniería de software II - Parte 3.1
Ingeniería de software II - Parte 3.1
 
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 arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)Patrones de arquitectura Software(Capa de Datos)
Patrones de arquitectura Software(Capa de Datos)
 

Destacado

Diseno de-software-en-arquitectura-cliente-servidor
Diseno de-software-en-arquitectura-cliente-servidorDiseno de-software-en-arquitectura-cliente-servidor
Diseno de-software-en-arquitectura-cliente-servidorOskr Gamez
 
Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareAndresRealp1
 
Gestion De Proyecto De Desarrollo De Software
Gestion De Proyecto De Desarrollo De SoftwareGestion De Proyecto De Desarrollo De Software
Gestion De Proyecto De Desarrollo De SoftwareDecimo Sistemas
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareRoger Villegas
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EECarlos Gavidia-Calderon
 
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
 
Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1Marta Silvia Tabares
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareLiliana Pacheco
 
DiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del SoftwareDiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del Softwarelcastillo110
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Marta Silvia Tabares
 
Proceso del diseño arquitectónico
Proceso del diseño arquitectónicoProceso del diseño arquitectónico
Proceso del diseño arquitectónicoDiamante Xahuen
 
El proceso de diseño arquitectonico
El proceso de diseño arquitectonicoEl proceso de diseño arquitectonico
El proceso de diseño arquitectonicoMarce F.
 
Estilos y tendencias del diseño arquitectonico
Estilos y tendencias del diseño arquitectonicoEstilos y tendencias del diseño arquitectonico
Estilos y tendencias del diseño arquitectonicojdmanchas
 

Destacado (20)

Software exposicion
Software exposicionSoftware exposicion
Software exposicion
 
Arquitectura del software
Arquitectura del softwareArquitectura del software
Arquitectura del software
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
Arquitectura software
Arquitectura softwareArquitectura software
Arquitectura software
 
Diseno de-software-en-arquitectura-cliente-servidor
Diseno de-software-en-arquitectura-cliente-servidorDiseno de-software-en-arquitectura-cliente-servidor
Diseno de-software-en-arquitectura-cliente-servidor
 
Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-software
 
Gestion De Proyecto De Desarrollo De Software
Gestion De Proyecto De Desarrollo De SoftwareGestion De Proyecto De Desarrollo De Software
Gestion De Proyecto De Desarrollo De Software
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de software
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EE
 
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
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1Arquitecturas de software - Parte 1
Arquitecturas de software - Parte 1
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
DiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del SoftwareDiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del Software
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2
 
Proceso del diseño arquitectónico
Proceso del diseño arquitectónicoProceso del diseño arquitectónico
Proceso del diseño arquitectónico
 
El proceso de diseño arquitectonico
El proceso de diseño arquitectonicoEl proceso de diseño arquitectonico
El proceso de diseño arquitectonico
 
Estilos y tendencias del diseño arquitectonico
Estilos y tendencias del diseño arquitectonicoEstilos y tendencias del diseño arquitectonico
Estilos y tendencias del diseño arquitectonico
 

Similar a Arquitectura de software

Arquitecturas
ArquitecturasArquitecturas
Arquitecturasenlinea70
 
Introduccion a las Arquitecturas Limpias
Introduccion a las Arquitecturas LimpiasIntroduccion a las Arquitecturas Limpias
Introduccion a las Arquitecturas Limpiassolidussnake07
 
Clase7 unidad1
Clase7 unidad1Clase7 unidad1
Clase7 unidad1zurda21
 
Conferencia Gestión de Proyectos de TI
Conferencia Gestión de Proyectos de TIConferencia Gestión de Proyectos de TI
Conferencia Gestión de Proyectos de TIhanzcg
 
Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Renan Cayao
 
Unidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptxUnidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptxRunayli
 
S8 arely medina_power_point
S8 arely medina_power_pointS8 arely medina_power_point
S8 arely medina_power_pointArely_Medina
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESJesus Caceres Tello
 
Modelo de analisis
Modelo de analisisModelo de analisis
Modelo de analisisdiana_caluna
 
Análisis de la Arquitectura de Sistemas.pptx
Análisis de la Arquitectura de Sistemas.pptxAnálisis de la Arquitectura de Sistemas.pptx
Análisis de la Arquitectura de Sistemas.pptxoscaralava3
 
Desarrollo de aplicaciones web en el entorno servidor
Desarrollo de aplicaciones web en el entorno servidorDesarrollo de aplicaciones web en el entorno servidor
Desarrollo de aplicaciones web en el entorno servidorJomicast
 
Tema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de softwareTema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de softwareMagemyl Egana
 
Arquitectura de software.docx
Arquitectura de software.docxArquitectura de software.docx
Arquitectura de software.docxKeiberOrtiz1
 
Unidad 1 MOOC MVC
Unidad 1 MOOC MVCUnidad 1 MOOC MVC
Unidad 1 MOOC MVCscolomina
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controladorEmilio Sarabia
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDat@center S.A
 

Similar a Arquitectura de software (20)

Arquitecturas de software
Arquitecturas de softwareArquitecturas de software
Arquitecturas de software
 
Arquitecturas
ArquitecturasArquitecturas
Arquitecturas
 
Introduccion a las Arquitecturas Limpias
Introduccion a las Arquitecturas LimpiasIntroduccion a las Arquitecturas Limpias
Introduccion a las Arquitecturas Limpias
 
Clase7
Clase7Clase7
Clase7
 
Clase7 unidad1
Clase7 unidad1Clase7 unidad1
Clase7 unidad1
 
Conferencia Gestión de Proyectos de TI
Conferencia Gestión de Proyectos de TIConferencia Gestión de Proyectos de TI
Conferencia Gestión de Proyectos de TI
 
Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...
 
Unidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptxUnidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptx
 
S8 arely medina_power_point
S8 arely medina_power_pointS8 arely medina_power_point
S8 arely medina_power_point
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITES
 
Modelo de analisis
Modelo de analisisModelo de analisis
Modelo de analisis
 
Análisis de la Arquitectura de Sistemas.pptx
Análisis de la Arquitectura de Sistemas.pptxAnálisis de la Arquitectura de Sistemas.pptx
Análisis de la Arquitectura de Sistemas.pptx
 
Desarrollo de aplicaciones web en el entorno servidor
Desarrollo de aplicaciones web en el entorno servidorDesarrollo de aplicaciones web en el entorno servidor
Desarrollo de aplicaciones web en el entorno servidor
 
Sistemas II (I Bimestre)
Sistemas II (I Bimestre)Sistemas II (I Bimestre)
Sistemas II (I Bimestre)
 
Tema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de softwareTema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de software
 
Arquitectura de software.docx
Arquitectura de software.docxArquitectura de software.docx
Arquitectura de software.docx
 
Unidad 1 MOOC MVC
Unidad 1 MOOC MVCUnidad 1 MOOC MVC
Unidad 1 MOOC MVC
 
Articulo MVC
Articulo MVC Articulo MVC
Articulo MVC
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a Objetos
 

Último

TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
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
 
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
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
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
 
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
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 

Último (20)

TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
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
 
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
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
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
 
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
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 

Arquitectura de software

  • 1. Patrón arquitectónico de la plataforma de apoyo para la mejora de procesos software en PyMEs Roque Manuel Rueda Anastacio Este documento presenta una descripción de la arquitectura propuesta por la plataforma de apoyo para la mejora de procesos software en las PyMEs la cual se desprende de la tesis del alumno Roque Manuel Rueda Anastacio para obtener el grado de Maestro en Sistemas Computacionales 10/24/2012 Page 0 of 9
  • 2. Patrón arquitectónico de la plataforma de apoyo para la mejora de procesos software Índice Índice ....................................................................................................................................................... 1 Definición de arquitectura de software ....................................................................................... 1 Patrones arquitectónicos .................................................................................................................. 2 Influencias en el desarrollo de la arquitectura ..................................................................... 3 Experiencia del arquitecto ........................................................................................................... 3 Modelo/Vista/Controlador .......................................................................................................... 4 Model-View-ViewModel .............................................................................................................. 5 Arquitectura Propuesta ..................................................................................................................... 7 Referencias ............................................................................................................................................ 9 Definición de arquitectura de software La arquitectura de un sistema computacional es una representación que permite comprender como se comportará el sistema [1]. Es un plano para el desarrollo del sistema y el equipo de desarrollo, define los elementos que se deben realizar tanto por el equipo de diseño así como el de Page 1 of 9
  • 3. implementación. La arquitectura contiene las características del sistema como lo son el desempeño, fácil aceptación de cambios y seguridad, los cuales no se pueden lograr sin tener una visión unificada de la arquitectura. La arquitectura es un producto de trabajo para el inicio del análisis para asegurar que la aproximación de diseño proporcionara un sistema aceptable. “Es el pegamento que mantiene todos las fases del proyecto juntos para sus diversos implicados” [2]. La arquitectura de software es una pieza central en el desarrollo de un sistema ya que dicta el camino a seguir en el desarrollo de la aplicación. Una arquitectura debe describir los elementos del sistema y sus relaciones así como también con el ambiente en el que se encuentran. Se puede decir entonces que una arquitectura es una abstracción del sistema que solo incluye la descripción de los detalles más importantes y permite que conforme se desarrolle el sistema se agrega detalles que crean un sistema funcional. Una arquitectura se puede entender también como: la estructura o estructuras del sistema, que componen los elementos de software, sus propiedades que son visibles externamente y las relaciones entre ellos [3]. Patrones arquitectónicos Patrones arquitectónicos o estilos arquitectónicos son analogías de los estilos arquitectónicos de los edificios, como Gótico, Revival Griego o Queen Anne. Consisten en conjuntos de características claves y reglas para combinarlos con el fin de poder preservar la integridad arquitectónica. Presentan estilos a problemas arquitectónicos recurrentes [4]. Existen diversas influencias en el diseño y las influencias cambian de acuerdo al ambiente en el que se desenvuelve. Page 2 of 9
  • 4. Influencias en el desarrollo de la arquitectura La arquitectura de software se define dependiendo de las necesidades específicas del sistema a desarrollar ya que no existe una arquitectura que cubra todas las necesidades. Un mismo arquitecto puede generar una arquitectura diferente para un sistema similar dependiendo de las necesidades de los involucrados. En la ilustración 1 apreciamos una serie de implicados en un sistema dando una serie de sugerencias a un arquitecto. Administrador Marketing Usuario final Mantenimiento Clientes del negocio Comportamiento, Bajo costo, Características, poco desempeño, Agregar nuevas Bajo costo, tiempo de mantener el tiempo, a la par de seguridad, confianza, características entrega, sin cambios trabajo otros productos usabilidad continuamente ¡AAAHH! (Este puedes ser tú) Arquitecto Ilustración 1 Influencia de los implicados en la arquitectura Experiencia del arquitecto Si el arquitecto de un sistema tiene buenos resultados con una aproximación arquitectónica, es muy probable que se utilice esa misma aproximación en esfuerzos de desarrollo siguientes. También las decisiones pueden provenir de la educación y entrenamiento, exposición a patrones arquitectónicos exitosos o sistemas que se desempeñaban pobremente o particularmente bien. Page 3 of 9
  • 5. Modelo/Vista/Controlador El patrón Modelo Vista Controlador o MVC es una manera práctica de arquitectura interactiva en sistemas de software. El concepto principal es la separación de las interfaces de los datos representados por la interfaz de usuario. El modelo es la porción que representa el problema que se busca solucionar en datos, el modelo solo cambiara cuando cambie la problemática la cual se supone se mantenga por periodos de tiempo extensos, contienen la información como la lógica para cambiar esa información. El control es responsable entre la comunicación de la Vista y los modelos. Y la vista únicamente presenta la información al usuario y pasa las interacciones del usuario a su control [5]. Características que se obtienen de este patrón arquitectónico:  La apariencia del sistema puede cambiar de manera drástica sin afectar las estructuras de datos o la lógica del negocio.  La aplicación puede mantener distintas interfaces, así como múltiples lenguajes, o diferentes niveles de permisos. Page 4 of 9
  • 6. Model-View-ViewModel El patrón Modelo-Vista-Vista de Modelo consiste de tres componentes principales: La vista es la representación de la interfaz de usuario. Contiene usualmente solo componentes de interfaz de usuario sin código o solo el código de lógica necesario, otro elemento es la vista de modelo es un objeto que encapsula los datos desde su forma de registros hacia a una presentación, Maneja los eventos que se generan desde la vista. Finalmente el modelo se refiere al dominio del problema y representan la problemática y encapsula el comportamiento del sistema. Características que se obtienen de este patrón arquitectónico:  La vista puede ser cambiada sin ninguna complicación. Page 5 of 9
  • 7. Se pueden realizar pruebas unitarias simulando la interacción del usuario con las vistas.  Permite la interacción de diferentes vistas con un mismo modelo de datos.  Se puede modificar las vistas o el modelo sin que se afecte al otro  Se puede dar formato a los datos antes de ser presentados en una vista de manera fácil Page 6 of 9
  • 8. Arquitectura Propuesta Navegador Cliente Web Dispositivo Android Aplicación Android Interne Presentación de Widget API KSOAP2 Vaadin JAXB resultados Servicios Web Módulo de consultas Constructor de Base Consulta a base cuestionarios de datos Búsqueda por Extracción y Ontologí Servidor de sinónimos estructuración del aplicaciones JBOSS Generación Modulo de matriz Unificación de de reportes de cumplimiento términos Page 7 of 9
  • 9. La arquitectura propuesta sigue el patrón arquitectónico MVVM cuenta con 3 grandes elementos que integran los elementos del sistema, la Plataforma SPI (gris) contiene los elementos que corresponden al modelo y representan el problema a abordar, así como también encapsulan el comportamiento del sistema, se agrega una capa de servicios web la cual expondrá interfaces (Patron de diseño facade -> Fachada) para acceder a la funcionalidad del sistema. Al exponer la funcionalidad del sistema mediante servicios web se obtiene, una vista y una vista de modelo que pueden ser modificadas sin alterar ningún elemento del otro; siempre y cuando se respete la interfaz expuesta por el servicio web. Además de dar soporte a otros lenguajes y otros dispositivos y plataformas de comunicarse con la plataforma propuesta. Los otros dos elementos importantes Aplicación Android y Cliente Web representan la vista de modelo ya que son quienes cuentan con la vista hacia el usuario y además cuentan con clases para obtener la información de la plataforma, dar formato si es necesario o realizar operaciones con ella antes de ser mostrada al usuario además de que pueden realizar operaciones antes de enviarla a la plataforma. La ventaja que se descubre es entonces que la plataforma podrá interactuar con cualquier lenguaje/dispositivo/plataforma capaz de consumir un servicio web (SOAP). Además se denomina plataforma ya que permitirá la derivación de nuevas tecnologías o procesos a partir de las funcionalidades contenidas y expuestas mediante los servicios web. [Ref mi tesis] Page 8 of 9
  • 10. Referencias [1]. (2012) Software Architecture. [Online]. Available: http://www.sei.cmu.edu/architecture/ [2]. (2012) Software Architecture Start [Online] Available: http://www.sei.cmu.edu/architecture/start/?wt.ac=swaGettingStarted nd [3]. Len Bass, Paul Clements, Rick Kazman, Software Architecture in Practice, 2 ed., Addison Wesley, 2003, ISBN: 0-321-15495-9, p. 560. [4]. Douglas Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann, Pattern-Oriented Software Architecture—Patterns for Concurrent and Networked Objects, Volume 2, Wiley, 2000. [5]. Avraham Leff, James T. Rayfield, “Web-Application Development Using the Model/View/Controller Desing Pattern”, IBM T.J. Watson Research Center. [6]. P. Tanuska, T. Skripcak “Data-Driven Scenario Test Generation for Information Systems” International Journal of Computer Theory and Engineering, Vol. 3, No. 4, August 2011 Page 9 of 9