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

Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
UPT
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitos
Kleo Jorgee
 
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
Valentina
 
Diseño del software
Diseño del softwareDiseño del software
Diseño del software
duberlisg
 
Metodologia de desarrollo de software
Metodologia de desarrollo de softwareMetodologia de desarrollo de software
Metodologia de desarrollo de software
Victor Varela
 
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
Julio Pari
 
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
Alex 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-servidor
Oskr Gamez
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de software
Roger Villegas
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
landeta_p
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
Liliana 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 Software
lcastillo110
 
Proceso del diseño arquitectónico
Proceso del diseño arquitectónicoProceso del diseño arquitectónico
Proceso del diseño arquitectónico
Diamante Xahuen
 
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
jdmanchas
 

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
Arquitecturas
enlinea70
 
Clase7 unidad1
Clase7 unidad1Clase7 unidad1
Clase7 unidad1
zurda21
 
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
 
Modelo de analisis
Modelo de analisisModelo de analisis
Modelo de analisis
diana_caluna
 

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 unidad1
Clase7 unidad1Clase7 unidad1
Clase7 unidad1
 
Clase7
Clase7Clase7
Clase7
 
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

Bitacora de Inteligencia Artificial y Herramientas Digitales HD4 Ccesa007.pdf
Bitacora de Inteligencia Artificial  y Herramientas Digitales HD4  Ccesa007.pdfBitacora de Inteligencia Artificial  y Herramientas Digitales HD4  Ccesa007.pdf
Bitacora de Inteligencia Artificial y Herramientas Digitales HD4 Ccesa007.pdf
Demetrio Ccesa Rayme
 
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menoresFICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
Santosprez2
 
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdfPasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
NELLYKATTY
 
Lineamientos de la Escuela de la Confianza SJA Ccesa.pptx
Lineamientos de la Escuela de la Confianza  SJA  Ccesa.pptxLineamientos de la Escuela de la Confianza  SJA  Ccesa.pptx
Lineamientos de la Escuela de la Confianza SJA Ccesa.pptx
Demetrio Ccesa Rayme
 
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D Ccesa007.pdf
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D  Ccesa007.pdfEdiciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D  Ccesa007.pdf
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D Ccesa007.pdf
Demetrio Ccesa Rayme
 
Las Preguntas Educativas entran a las Aulas CIAESA Ccesa007.pdf
Las Preguntas Educativas entran a las Aulas CIAESA  Ccesa007.pdfLas Preguntas Educativas entran a las Aulas CIAESA  Ccesa007.pdf
Las Preguntas Educativas entran a las Aulas CIAESA Ccesa007.pdf
Demetrio Ccesa Rayme
 

Último (20)

tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
 
Botiquin del amor - Plantillas digitales.pdf
Botiquin del amor - Plantillas digitales.pdfBotiquin del amor - Plantillas digitales.pdf
Botiquin del amor - Plantillas digitales.pdf
 
Bitacora de Inteligencia Artificial y Herramientas Digitales HD4 Ccesa007.pdf
Bitacora de Inteligencia Artificial  y Herramientas Digitales HD4  Ccesa007.pdfBitacora de Inteligencia Artificial  y Herramientas Digitales HD4  Ccesa007.pdf
Bitacora de Inteligencia Artificial y Herramientas Digitales HD4 Ccesa007.pdf
 
REGLAMENTO FINAL DE EVALUACIÓN 2024 pdf.pdf
REGLAMENTO  FINAL DE EVALUACIÓN 2024 pdf.pdfREGLAMENTO  FINAL DE EVALUACIÓN 2024 pdf.pdf
REGLAMENTO FINAL DE EVALUACIÓN 2024 pdf.pdf
 
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menoresFICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
 
El Futuro de la Educacion Digital JS1 Ccesa007.pdf
El Futuro de la Educacion Digital  JS1  Ccesa007.pdfEl Futuro de la Educacion Digital  JS1  Ccesa007.pdf
El Futuro de la Educacion Digital JS1 Ccesa007.pdf
 
Sesión de clase Motivados por la esperanza.pdf
Sesión de clase Motivados por la esperanza.pdfSesión de clase Motivados por la esperanza.pdf
Sesión de clase Motivados por la esperanza.pdf
 
En un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdfEn un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdf
 
flujo de materia y energía ecosistemas.
flujo de materia y  energía ecosistemas.flujo de materia y  energía ecosistemas.
flujo de materia y energía ecosistemas.
 
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdfPasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
 
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdfTÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
 
POEMAS ILUSTRADOS DE LUÍSA VILLALTA. Elaborados polos alumnos de 4º PDC do IE...
POEMAS ILUSTRADOS DE LUÍSA VILLALTA. Elaborados polos alumnos de 4º PDC do IE...POEMAS ILUSTRADOS DE LUÍSA VILLALTA. Elaborados polos alumnos de 4º PDC do IE...
POEMAS ILUSTRADOS DE LUÍSA VILLALTA. Elaborados polos alumnos de 4º PDC do IE...
 
Lineamientos de la Escuela de la Confianza SJA Ccesa.pptx
Lineamientos de la Escuela de la Confianza  SJA  Ccesa.pptxLineamientos de la Escuela de la Confianza  SJA  Ccesa.pptx
Lineamientos de la Escuela de la Confianza SJA Ccesa.pptx
 
Power Point : Motivados por la esperanza
Power Point : Motivados por la esperanzaPower Point : Motivados por la esperanza
Power Point : Motivados por la esperanza
 
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D Ccesa007.pdf
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D  Ccesa007.pdfEdiciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D  Ccesa007.pdf
Ediciones Previas Proyecto de Innovacion Pedagogica ORIGAMI 3D Ccesa007.pdf
 
Santa Criz de Eslava, la más monumental de las ciudades romanas de Navarra
Santa Criz de Eslava, la más monumental de las ciudades romanas de NavarraSanta Criz de Eslava, la más monumental de las ciudades romanas de Navarra
Santa Criz de Eslava, la más monumental de las ciudades romanas de Navarra
 
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLAACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
 
Las Preguntas Educativas entran a las Aulas CIAESA Ccesa007.pdf
Las Preguntas Educativas entran a las Aulas CIAESA  Ccesa007.pdfLas Preguntas Educativas entran a las Aulas CIAESA  Ccesa007.pdf
Las Preguntas Educativas entran a las Aulas CIAESA Ccesa007.pdf
 
Libros del Ministerio de Educación (2023-2024).pdf
Libros del Ministerio de Educación (2023-2024).pdfLibros del Ministerio de Educación (2023-2024).pdf
Libros del Ministerio de Educación (2023-2024).pdf
 
sesion de aprendizaje 1 SEC. 13- 17 MAYO 2024 comunicación.pdf
sesion de aprendizaje 1 SEC. 13- 17  MAYO  2024 comunicación.pdfsesion de aprendizaje 1 SEC. 13- 17  MAYO  2024 comunicación.pdf
sesion de aprendizaje 1 SEC. 13- 17 MAYO 2024 comunicación.pdf
 

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