SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Juega un papel clave en el desarrollo de software porque
permite a los ingenieros de software producir diversos
modelos que:
• Caracterizan la solución a implementar.
• Pueden ser analizados y evaluados con el fin de
determinar si se satisfacen los requisitos.
• Facilitan el examen y evaluación de alternativas.
• Sirven para planificar las siguientes actividades del
desarrollo.
La arquitectura de software de un programa o de un
sistema computacional está definida por la estructura,
comprendida por los elementos de software, las
propiedades visibles de esos elementos y las relaciones
entre ellos.
Incremento en el tamaño y complejidad del software.
• Necesidad de aprender de la experiencia: reutilización
de estructuras asociadas a problemas similares
• Una adecuada estructura general es tan importante
como las implementaciones concretas de las partes.
¿De qué se ocupa?
• Diseño preliminar o de alto nivel.
• Organización a alto nivel del sistema, incluyendo
aspectos como la descripción y análisis de propiedades
relativas a su estructura y control global, los protocolos
de comunicación y sincronización utilizados, la
distribución física del sistema y sus componentes, etc.
• Otros aspectos relacionados con el desarrollo del
sistema y su evolución y adaptación al cambio:
composición, reconfiguración, reutilización, escalabilidad,
etc.
Se diseña con base en requerimientos no funcionales o
atributos de calidad:
Performance
Disponibilidad
Modificabilidad
Seguridad
Verificabilidad (Testability )
Gestion
Habilidad
Usabilidad
Diseño de los módulos y sus responsabilidades
Estilos arquitecturales
• Principales estilos arquitecturales :
• Estructura General
• Capas, tuberías y filtros, repositorio compartido
• Sistemas Distribuidos
• Cliente-servidor, tres capas, broker
• Sistemas Interactivos
• MVC (Modelo-Vista-Controlador), PAC (Presentación-
Abstracción Control).
Estilo cliente servidor:
• Estructura un sistema distribuido en:
• Servidores autosuficientes que provee en servicios
(impresión, gestión de datos, ..).
• Clientes que invocan dichos servicios
Arquitectura Cliente - Servidor
Su principal objetivo es separar la lógica del negocio de la
logia del diseño.
• Se generar múltiples niveles en proceso de desarrollo, si
se genera un cambio en algún nivel solo afecta el nivel
requerido, no hay que revisar todo el código.
• Permite distribuir el trabajo de creación de una
aplicación por niveles, cada grupo de trabajo está
totalmente abstraído del resto de niveles, de forma que
basta con conocer la API (Interfaz de programación de
aplicaciones)que existe entre niveles.
Arquitectura Multicapas
Arquitectura Multicapa
Es una arquitectura de diseño software para
separar los componentes de aplicación en tres
niveles, interfaz de usuario, lógica de control y lógica de
negocio.
• Es una especialización de un modelo de capas, con la
diferencia que se usa para entornos web como patrón
por excelencia.
PATRON MVC (MODELO VISTA Y CONTROL)
ARQUITECTURA MVC
Modelo:
Es la capa encargada de encapsular toda la lógica de
negocio de nuestra aplicación. Esta capa se puede
subdividir en varias:
Lógica de negocio:
Contiene clases o varias para constituir lo referente a la
capa de aplicación, se encarga de atender a las peticiones
de los controladores y así dar una respuesta acorde con
lo recibido.
RESPONSABILIDADES MVC
Capa de datos:
Se encarga de gestionar toda la interconexión con el
SGBD, así mismo, puede contener un gestor ORM para su
aprovechamiento máximo y mejor mantenimiento. Solo se
comunica con la lógica de negocio.
Controlador:
Es el eje central de nuestra arquitectura, encargada de
gestionar todas las peticiones, validar los inputs recibidos
y dirigir cualquier petición de cualquier tipo. Solo se
comunica con el modelo y responde a través de vistas.
RESPONSABILIDADES MVC
GRACIAS

Más contenido relacionado

Similar a arquitectura de software 1 parte.pdf

Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfBibliotecaenlineaUNI
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaamendez45
 
Fundamentos del diseño de software
Fundamentos del diseño de software Fundamentos del diseño de software
Fundamentos del diseño de software AlessandreMndez
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentesUlises Cruz
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareMarcos Cerpa
 
Fundamentos básicos para el Diseño de Software - Alejandro Coronado 26776116
Fundamentos básicos para el Diseño de Software - Alejandro Coronado 26776116Fundamentos básicos para el Diseño de Software - Alejandro Coronado 26776116
Fundamentos básicos para el Diseño de Software - Alejandro Coronado 26776116AlejandroCoronado26
 
Analisis requerimientos jose_fernandez
Analisis requerimientos jose_fernandezAnalisis requerimientos jose_fernandez
Analisis requerimientos jose_fernandezJose Fernandez
 
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTEPRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTECAMILO
 
Presentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de CostePresentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de CosteCAMILO
 
PROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOSPROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOSCAMILO
 
Proyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoProyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoCAMILO
 
presentacion de software y estimacion de doste
presentacion de software y estimacion de dostepresentacion de software y estimacion de doste
presentacion de software y estimacion de dosteCAMILO
 
Proyecto de Software y Coste
Proyecto de Software y CosteProyecto de Software y Coste
Proyecto de Software y CosteCAMILO
 

Similar a arquitectura de software 1 parte.pdf (20)

Principios del RUP
Principios del RUPPrincipios del RUP
Principios del RUP
 
Diseño de sistemas
Diseño de sistemasDiseño de sistemas
Diseño de sistemas
 
Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdf
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaa
 
Capitulo2
Capitulo2Capitulo2
Capitulo2
 
Fundamentos del diseño de software
Fundamentos del diseño de software Fundamentos del diseño de software
Fundamentos del diseño de software
 
Arquitectura
ArquitecturaArquitectura
Arquitectura
 
Rup tony
Rup tonyRup tony
Rup tony
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Fundamentos básicos para el Diseño de Software - Alejandro Coronado 26776116
Fundamentos básicos para el Diseño de Software - Alejandro Coronado 26776116Fundamentos básicos para el Diseño de Software - Alejandro Coronado 26776116
Fundamentos básicos para el Diseño de Software - Alejandro Coronado 26776116
 
Analisis requerimientos jose_fernandez
Analisis requerimientos jose_fernandezAnalisis requerimientos jose_fernandez
Analisis requerimientos jose_fernandez
 
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTEPRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
 
Presentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de CostePresentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de Coste
 
PROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOSPROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOS
 
Proyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoProyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de Costo
 
presentacion de software y estimacion de doste
presentacion de software y estimacion de dostepresentacion de software y estimacion de doste
presentacion de software y estimacion de doste
 
Proyecto de Software y Coste
Proyecto de Software y CosteProyecto de Software y Coste
Proyecto de Software y Coste
 
Proyecto
ProyectoProyecto
Proyecto
 
Proyecto
ProyectoProyecto
Proyecto
 

arquitectura de software 1 parte.pdf

  • 1.
  • 2.
  • 3.
  • 4. Juega un papel clave en el desarrollo de software porque permite a los ingenieros de software producir diversos modelos que: • Caracterizan la solución a implementar. • Pueden ser analizados y evaluados con el fin de determinar si se satisfacen los requisitos. • Facilitan el examen y evaluación de alternativas. • Sirven para planificar las siguientes actividades del desarrollo.
  • 5. La arquitectura de software de un programa o de un sistema computacional está definida por la estructura, comprendida por los elementos de software, las propiedades visibles de esos elementos y las relaciones entre ellos.
  • 6. Incremento en el tamaño y complejidad del software. • Necesidad de aprender de la experiencia: reutilización de estructuras asociadas a problemas similares • Una adecuada estructura general es tan importante como las implementaciones concretas de las partes.
  • 7. ¿De qué se ocupa? • Diseño preliminar o de alto nivel. • Organización a alto nivel del sistema, incluyendo aspectos como la descripción y análisis de propiedades relativas a su estructura y control global, los protocolos de comunicación y sincronización utilizados, la distribución física del sistema y sus componentes, etc. • Otros aspectos relacionados con el desarrollo del sistema y su evolución y adaptación al cambio: composición, reconfiguración, reutilización, escalabilidad, etc.
  • 8. Se diseña con base en requerimientos no funcionales o atributos de calidad: Performance Disponibilidad Modificabilidad Seguridad Verificabilidad (Testability ) Gestion Habilidad Usabilidad
  • 9. Diseño de los módulos y sus responsabilidades
  • 10.
  • 11. Estilos arquitecturales • Principales estilos arquitecturales : • Estructura General • Capas, tuberías y filtros, repositorio compartido • Sistemas Distribuidos • Cliente-servidor, tres capas, broker • Sistemas Interactivos • MVC (Modelo-Vista-Controlador), PAC (Presentación- Abstracción Control).
  • 12. Estilo cliente servidor: • Estructura un sistema distribuido en: • Servidores autosuficientes que provee en servicios (impresión, gestión de datos, ..). • Clientes que invocan dichos servicios
  • 14. Su principal objetivo es separar la lógica del negocio de la logia del diseño. • Se generar múltiples niveles en proceso de desarrollo, si se genera un cambio en algún nivel solo afecta el nivel requerido, no hay que revisar todo el código. • Permite distribuir el trabajo de creación de una aplicación por niveles, cada grupo de trabajo está totalmente abstraído del resto de niveles, de forma que basta con conocer la API (Interfaz de programación de aplicaciones)que existe entre niveles. Arquitectura Multicapas
  • 16. Es una arquitectura de diseño software para separar los componentes de aplicación en tres niveles, interfaz de usuario, lógica de control y lógica de negocio. • Es una especialización de un modelo de capas, con la diferencia que se usa para entornos web como patrón por excelencia. PATRON MVC (MODELO VISTA Y CONTROL)
  • 18. Modelo: Es la capa encargada de encapsular toda la lógica de negocio de nuestra aplicación. Esta capa se puede subdividir en varias: Lógica de negocio: Contiene clases o varias para constituir lo referente a la capa de aplicación, se encarga de atender a las peticiones de los controladores y así dar una respuesta acorde con lo recibido. RESPONSABILIDADES MVC
  • 19. Capa de datos: Se encarga de gestionar toda la interconexión con el SGBD, así mismo, puede contener un gestor ORM para su aprovechamiento máximo y mejor mantenimiento. Solo se comunica con la lógica de negocio. Controlador: Es el eje central de nuestra arquitectura, encargada de gestionar todas las peticiones, validar los inputs recibidos y dirigir cualquier petición de cualquier tipo. Solo se comunica con el modelo y responde a través de vistas. RESPONSABILIDADES MVC