SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Especificación de
Arquitectura de Software
René Sandoval
Experiencia
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE
¿QUÉ ES LA ARQUITECTURA DE SOFTWARE?
De acuerdo al Software Engineering Institute (SEI), la
Arquitectura de Software se refiere a “las estructuras de un
sistema, compuestas de elementos con propiedades visibles
de forma externa y las relaciones que existen entre ellos.”
El término “elementos” dentro de la definición del SEI es vago
a propósito, pues puede referirse a distintas entidades
relacionadas con el sistema.
¿POR QUÉ ES IMPORTANTE
LA ARQUITECTURA DE
SOFTWARE?
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE
LA PRÁCTICA DE DISEÑO
๏Objetivo: ¿Qué?
• Crear árbol navideño
๏Análisis: ¿Para qué?
• Será parte de una maqueta con motivo navideño
๏Requerimientos no funcionales
• Modular, fácil de ampliar, no tóxico, durable, lavable
๏Restricciones
• Tiempo, recursos (número de piezas), tipo de piezas.
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE
LA PRÁCTICA DE DISEÑO
๏Diseño
• Propuesta de solución que dice como cubrirá los requerimientos y se ajusta a las
restricciones dadas.
๏¿Qué tan oportuno debe ser el documento de diseño?
A. Tan oportuno como una guía de construcción
B. Como un documento generado después de construir el árbol
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE
OBJETIVO PRINCIPAL DE LA ARQUITECTURA
๏ Definir la estructura de componentes, sus relaciones que
garanticen la sana operación del sistema hoy y a futuro.
En consecuencia
๏ Reducir los riesgos tecnológicos del proyecto
๏ Diseñar los componentes de software adecuados que
cubran con los requerimientos no funcionales
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE
CONCEPTOS
๏Principios
๏Requerimientos No Funcionales
๏Riesgos
๏Restricciones
๏Consideraciones
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE
¿QUÉ CONTIENE UNA ESPECIFICACIÓN DE ARQUITECTURA?
¿Qué resolver? Contenido
¿De qué se trata esto? Contextualización
¿Qué se puede ó no usar? Restricciones
¿Cómo esta estructurado el sistema? Diagramas de Solución
¿Cómo mostrar los detalles a una audiencia especifica? Vistas/Diagramas por audiencia
¿Con qué aplicaciones es necesario interactuar? Listado de sistemas y subsistemas
¿Qué se intercambiará y de que forma con las demás
aplicaciones?
Lista de interfaces
¿Qué características no funcionales se deben cubrir? Requerimientos No Funcionales
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE
¿QUÉ CONTIENE UNA ESPECIFICACIÓN DE ARQUITECTURA?
¿Qué resolver? Contenido
¿Cómo debo nombrar a mis artefactos? Estándares de codificación, nomenclaturas
¿Qué estrategia seguir para detalles transversales,
logging, auditoria, seguridad, errores?
Especificación de implementación
¿Qué módulos tendrá la aplicación? Diagrama de componentes
¿Qué productos, tecnologías, APIs se usarán? Matriz de Tecnologías, Tiers & Layers
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARETEXTO
¿QUÉ CONTIENE UNA ESPECIFICACIÓN DE ARQUITECTURA?
๏ Otros
• Diagramas de infraestructura
• Especificaciones de GUI, Look & Feel
• Diseño Lógico y Físico, de Base de Datos
• Especificaciones por entorno: DEV, QA, PROD
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE
ANALOGÍA CON ARQUITECTURA
๏ El diseño es funcional, estructural y modesto
๏ La funcionalidad satisface las expectativas del
usuario y del mercado
๏ La ejecución del proyecto es viable y
razonable
๏ El presupuesto es finito
๏ El tiempo necesario para ejecutar el proyecto
corresponde con el diseño
๏ Las habilidades necesarias para construirlo no
son negociables o sustituibles
๏ Se requiere un equipo eficaz para el proyecto
El resultado es eficiente
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE
ANALOGÍA SIN ARQUITECTURA
๏ El diseño de pensamiento mágico, desafía las
leyes de la física: más con menos
๏ La funcionalidad satisface las expectativas de
ahorro del patrocinador
๏ La ejecución del proyecto es caótica e improvisada
๏ El presupuesto es raquítico
๏ El tiempo necesario para ejecutar el proyecto se
predice por intuición
๏ Las habilidades necesarias para construirlo rotan y
se negocian constantemente
๏ Se prescribe un equipo barato para el proyecto
El resultado es “eficaz”
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE
ARQUITECTURA EMPRESARIAL: EXPECTATIVA
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE
ARQUITECTURA EMPRESARIAL: REALIDAD
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE
ARQUITECTURA EN LA NUBE: EXPECTATIVA
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE
ARQUITECTURA EN LA NUBE: REALIDAD
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARETEXTO
¿QUÉ CONTIENE UNA ESPECIFICACIÓN DE ARQUITECTURA?
๏ Otros
• Diagramas de infraestructura
• Especificaciones de GUI, Look & Feel
• Diseño Lógico y Físico, de Base de Datos
• Especificaciones por entorno: DEV, QA, PROD
PROCESO FORMAL DE
ELABORACIÓN DE
ARQUITECTURA DE
SOFTWARE
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE
VISIÓN Y ALCANCE
MANEJO DE
INFLUENCIAS
SELECCIÓN DE
ESTRATEGIAS DE
ARQUITECTURA
ELABORACIÓN DE
ESPECIFICACIÓN DE
ARQUITECTURA
QA DE LA
ARQUITECTURA
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE
ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE
RECURSOS
๏Software Architecture For Developers, Simon Brown
• http://www.codingthearchitecture.com/
๏97 Things Every Software Architect Should Know
• https://books.google.com.mx/books/about/
97_Things_Every_Software_Architect_Shoul.html?
id=HDknEjQJkbUC&redir_esc=y&hl=es
¡GRACIAS!
github.com/resand
resand91@gmail.com

Más contenido relacionado

Similar a Arquitectura de Software

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
CAMILO
 
PROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOSPROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOS
CAMILO
 
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
CAMILO
 
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
CAMILO
 
Proyecto de Software y Coste
Proyecto de Software y CosteProyecto de Software y Coste
Proyecto de Software y Coste
CAMILO
 
Proyecto de Software y Estimacion de Coste
Proyecto de Software y Estimacion de CosteProyecto de Software y Estimacion de Coste
Proyecto de Software y Estimacion de Coste
CAMILO
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_Albarran
Marijoalbarranb
 

Similar a Arquitectura de Software (20)

Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de software
 
Fundamentos de Diseño - Grupo Delta
Fundamentos de Diseño - Grupo DeltaFundamentos de Diseño - Grupo Delta
Fundamentos de Diseño - Grupo Delta
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Espoch
EspochEspoch
Espoch
 
Ingeniería de software - definiciones
Ingeniería de software - definicionesIngeniería de software - definiciones
Ingeniería de software - definiciones
 
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
 
2 Introduccion.ppt
2 Introduccion.ppt2 Introduccion.ppt
2 Introduccion.ppt
 
User Experience, UX & UI
User Experience, UX & UIUser Experience, UX & UI
User Experience, UX & UI
 
5.comprensión de los requerimientos
5.comprensión de los requerimientos5.comprensión de los requerimientos
5.comprensión de los requerimientos
 
Metodo watch y lps
Metodo watch y lpsMetodo watch y lps
Metodo watch y lps
 
Metodo watch y lps
Metodo watch y lpsMetodo watch y lps
Metodo watch y lps
 
Tecnología CASE
Tecnología CASE Tecnología CASE
Tecnología CASE
 
Proyecto de Software y Estimacion de Coste
Proyecto de Software y Estimacion de CosteProyecto de Software y Estimacion de Coste
Proyecto de Software y Estimacion de Coste
 
Juan velasquez
Juan velasquezJuan velasquez
Juan velasquez
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_Albarran
 

Más de René Sandoval

Más de René Sandoval (12)

Consejos, recomendaciones mitos y realidad del home office
Consejos, recomendaciones mitos y realidad del home officeConsejos, recomendaciones mitos y realidad del home office
Consejos, recomendaciones mitos y realidad del home office
 
No basta saber programar
No basta saber programarNo basta saber programar
No basta saber programar
 
Futuro presente del internet, computadoras, juegos y smartphones
Futuro presente del internet, computadoras, juegos y smartphonesFuturo presente del internet, computadoras, juegos y smartphones
Futuro presente del internet, computadoras, juegos y smartphones
 
Blockchain revolucionando la agricultura y el suministro de alimentos
Blockchain revolucionando la agricultura y el suministro de alimentosBlockchain revolucionando la agricultura y el suministro de alimentos
Blockchain revolucionando la agricultura y el suministro de alimentos
 
La verdad sobre los equipos de trabajo en desarrollo de software
La verdad sobre los equipos de trabajo en desarrollo de softwareLa verdad sobre los equipos de trabajo en desarrollo de software
La verdad sobre los equipos de trabajo en desarrollo de software
 
Skills para la industria 4.0
Skills para la industria 4.0Skills para la industria 4.0
Skills para la industria 4.0
 
Producto Mínimo Viable
Producto Mínimo ViableProducto Mínimo Viable
Producto Mínimo Viable
 
Primeras luchas de un joven programador
Primeras luchas de un joven programadorPrimeras luchas de un joven programador
Primeras luchas de un joven programador
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Mozilla Firefox
Mozilla FirefoxMozilla Firefox
Mozilla Firefox
 
Lo que callamos los programadores
Lo que callamos los programadoresLo que callamos los programadores
Lo que callamos los programadores
 
Laravel 5.1
Laravel 5.1Laravel 5.1
Laravel 5.1
 

Arquitectura de Software

  • 1. Especificación de Arquitectura de Software René Sandoval
  • 3. ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE ¿QUÉ ES LA ARQUITECTURA DE SOFTWARE? De acuerdo al Software Engineering Institute (SEI), la Arquitectura de Software se refiere a “las estructuras de un sistema, compuestas de elementos con propiedades visibles de forma externa y las relaciones que existen entre ellos.” El término “elementos” dentro de la definición del SEI es vago a propósito, pues puede referirse a distintas entidades relacionadas con el sistema.
  • 4. ¿POR QUÉ ES IMPORTANTE LA ARQUITECTURA DE SOFTWARE?
  • 5. ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE LA PRÁCTICA DE DISEÑO ๏Objetivo: ¿Qué? • Crear árbol navideño ๏Análisis: ¿Para qué? • Será parte de una maqueta con motivo navideño ๏Requerimientos no funcionales • Modular, fácil de ampliar, no tóxico, durable, lavable ๏Restricciones • Tiempo, recursos (número de piezas), tipo de piezas.
  • 6. ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE LA PRÁCTICA DE DISEÑO ๏Diseño • Propuesta de solución que dice como cubrirá los requerimientos y se ajusta a las restricciones dadas. ๏¿Qué tan oportuno debe ser el documento de diseño? A. Tan oportuno como una guía de construcción B. Como un documento generado después de construir el árbol
  • 7. ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE OBJETIVO PRINCIPAL DE LA ARQUITECTURA ๏ Definir la estructura de componentes, sus relaciones que garanticen la sana operación del sistema hoy y a futuro. En consecuencia ๏ Reducir los riesgos tecnológicos del proyecto ๏ Diseñar los componentes de software adecuados que cubran con los requerimientos no funcionales
  • 8. ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE CONCEPTOS ๏Principios ๏Requerimientos No Funcionales ๏Riesgos ๏Restricciones ๏Consideraciones
  • 9. ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE ¿QUÉ CONTIENE UNA ESPECIFICACIÓN DE ARQUITECTURA? ¿Qué resolver? Contenido ¿De qué se trata esto? Contextualización ¿Qué se puede ó no usar? Restricciones ¿Cómo esta estructurado el sistema? Diagramas de Solución ¿Cómo mostrar los detalles a una audiencia especifica? Vistas/Diagramas por audiencia ¿Con qué aplicaciones es necesario interactuar? Listado de sistemas y subsistemas ¿Qué se intercambiará y de que forma con las demás aplicaciones? Lista de interfaces ¿Qué características no funcionales se deben cubrir? Requerimientos No Funcionales
  • 10. ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE ¿QUÉ CONTIENE UNA ESPECIFICACIÓN DE ARQUITECTURA? ¿Qué resolver? Contenido ¿Cómo debo nombrar a mis artefactos? Estándares de codificación, nomenclaturas ¿Qué estrategia seguir para detalles transversales, logging, auditoria, seguridad, errores? Especificación de implementación ¿Qué módulos tendrá la aplicación? Diagrama de componentes ¿Qué productos, tecnologías, APIs se usarán? Matriz de Tecnologías, Tiers & Layers
  • 11. ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARETEXTO ¿QUÉ CONTIENE UNA ESPECIFICACIÓN DE ARQUITECTURA? ๏ Otros • Diagramas de infraestructura • Especificaciones de GUI, Look & Feel • Diseño Lógico y Físico, de Base de Datos • Especificaciones por entorno: DEV, QA, PROD
  • 12. ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE ANALOGÍA CON ARQUITECTURA ๏ El diseño es funcional, estructural y modesto ๏ La funcionalidad satisface las expectativas del usuario y del mercado ๏ La ejecución del proyecto es viable y razonable ๏ El presupuesto es finito ๏ El tiempo necesario para ejecutar el proyecto corresponde con el diseño ๏ Las habilidades necesarias para construirlo no son negociables o sustituibles ๏ Se requiere un equipo eficaz para el proyecto El resultado es eficiente
  • 13. ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE ANALOGÍA SIN ARQUITECTURA ๏ El diseño de pensamiento mágico, desafía las leyes de la física: más con menos ๏ La funcionalidad satisface las expectativas de ahorro del patrocinador ๏ La ejecución del proyecto es caótica e improvisada ๏ El presupuesto es raquítico ๏ El tiempo necesario para ejecutar el proyecto se predice por intuición ๏ Las habilidades necesarias para construirlo rotan y se negocian constantemente ๏ Se prescribe un equipo barato para el proyecto El resultado es “eficaz”
  • 14. ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE ARQUITECTURA EMPRESARIAL: EXPECTATIVA
  • 15. ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE ARQUITECTURA EMPRESARIAL: REALIDAD
  • 16. ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE ARQUITECTURA EN LA NUBE: EXPECTATIVA
  • 17. ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE ARQUITECTURA EN LA NUBE: REALIDAD
  • 18. ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARETEXTO ¿QUÉ CONTIENE UNA ESPECIFICACIÓN DE ARQUITECTURA? ๏ Otros • Diagramas de infraestructura • Especificaciones de GUI, Look & Feel • Diseño Lógico y Físico, de Base de Datos • Especificaciones por entorno: DEV, QA, PROD
  • 19. PROCESO FORMAL DE ELABORACIÓN DE ARQUITECTURA DE SOFTWARE
  • 20. ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE VISIÓN Y ALCANCE MANEJO DE INFLUENCIAS SELECCIÓN DE ESTRATEGIAS DE ARQUITECTURA ELABORACIÓN DE ESPECIFICACIÓN DE ARQUITECTURA QA DE LA ARQUITECTURA
  • 22. ESPECIFICACIÓN DE ARQUITECTURA DE SOFTWARE RECURSOS ๏Software Architecture For Developers, Simon Brown • http://www.codingthearchitecture.com/ ๏97 Things Every Software Architect Should Know • https://books.google.com.mx/books/about/ 97_Things_Every_Software_Architect_Shoul.html? id=HDknEjQJkbUC&redir_esc=y&hl=es