SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Semestre: 2022-1
Ciclo: I
Docente: Godofredo Ayquipa Cordova
PATRONES DE DISEÑOY
ARQUITECTURA DE SOFTWARE
Semana 01
Temas de la clase: Arquitectura de software
• Concepto
• Historia
• Importancia
• Características
• Componentes
• Rol del arquitecto de software
• Ventajas y desventajas
IES WERNHER VON BRAUN 2
Objetivo de la clase
Reconocer la estructura e importancia de la arquitectura de software en
la implementación de un proyecto.
IES WERNHER VON BRAUN 3
IES WERNHER VON BRAUN 4
IES WERNHER VON BRAUN 5
“la arquitectura de software son patrones o
lineamientos que ayudan a la construcción de un
programa (aplicación). Estos patrones permiten
tener una guía para los desarrolladores, analistas y
todos los cargos relacionados para lograr cumplir
con los requerimientos de la aplicación.”
IES WERNHER VON BRAUN 6
“La arquitectura del software por tanto define
la estructura que debe de tener un software,
las piezas que debemos construir y el modo en
el que se deben de juntar y trabajar entre
ellas. Se define a alto nivel mediante una serie
de patrones y abstracciones que seguir para el
desarrollo del software y para la interacción
entre sus diversas piezas.”
IES WERNHER VON BRAUN 7
“La arquitectura de software es un conjunto de
patrones que proporcionan un marco de
referencia necesario para guiar la construcción
de un software, permitiendo a los
programadores, analistas y todo el conjunto de
desarrolladores del software compartir una
misma línea de trabajo y cubrir todos los
objetivos y restricciones de la aplicación.”
IES WERNHER VON BRAUN 8
IES WERNHER VON BRAUN 9
https://www.timetoast.com/timelines/historia-de-la-arquitectura-de-
software-3dc6abaf-5e53-42c5-a2f6-25e14457d856
IES WERNHER VON BRAUN 10
La arquitectura de software nos traza un
camino por el cual seguir para lograr cumplir
con los requerimientos de la aplicación, por lo
tanto tenemos que analizar cada uno de estos
requerimientos para definir qué se va a hacer y
cómo se va a hacer, aquí se comienza a definir
temas como servidores, tecnologías, bases de
datos entre otras cosas.
El definir las tecnologías es uno los puntos más
importantes de la arquitectura de software pero
no quiere decir que si se toma una decisión sea
algo definitivo que no se pueda modificar en el
futuro.
IES WERNHER VON BRAUN 11
• Uno de los objetivos de la arquitectura de
software es crear una estructura de la
aplicación que sea fácilmente escalable,
que no esté fuertemente acoplada (que
todo dependa de todo, lo que evita hacer
cambios de manera sencilla).
• El objetivo principal de la Arquitectura del
Software es aportar elementos que ayuden
a la toma de decisiones y, al mismo tiempo,
proporcionar conceptos y un lenguaje
común que permitan la comunicación entre
los equipos que participen en un proyecto.
IES WERNHER VON BRAUN 12
Una arquitectura de sistema es
una representación de un
sistema en la que hay una
correlación de funciones con
componentes de hardware y
software, una correlación de la
arquitectura de software con la
arquitectura de hardware, e
interacción humana con estos
componentes.
IES WERNHER VON BRAUN 13
En resumen, el desarrollo de software
es el proceso de resolver problemas con
el uso de una computadora. En el
mundo moderno, con la cantidad de
problemas y su complejidad cada vez
mayor, el desarrollo de aplicaciones, es
una herramienta para obtener
soluciones precisas, dándole las tareas
repetitivas a la computadora y
logrando así cubrir las necesidades del
usuario.
IES WERNHER VON BRAUN 14
Contar con la arquitectura de software
cierra la brecha entre los
desarrolladores, las partes interesadas
y los demás involucrados en el
proyecto, ya que les permite tener un
entendimiento común del proceso.
Esto también representa la
implementación de una visión.
IES WERNHER VON BRAUN 15
La arquitectura del software se basa en las
necesidades del cliente. Su diseño requiere
la mayor atención posible con muchos
criterios a considerar, incluyendo, por
ejemplo, ergonomía, flexibilidad, facilidad
de uso o economía.
El objetivo es dar a los usuarios de la
aplicación la mayor satisfacción posible.
Además, el trabajo colaborativo está
ganando más y más seguidores con el
advenimiento de la nube, que amplía aún
más el área de intervención de los
arquitectos de software.
IES WERNHER VON BRAUN 16
A partir de ahora, también es
necesario garantizar la seguridad de
los datos de sus clientes frente a las
amenazas de malware y spyware que
inundan la web. Un criterio
completamente diferente que cada
cliente debe exigir a su desarrollador
de aplicaciones.
IES WERNHER VON BRAUN 17
1. Requerimientos: En esta etapa se recolecta la
información y se documentan los requerimientos
que influyen en la arquitectura de la aplicación,
por ejemplo que lenguaje se utilizara, que marcos
de trabajo se requerirán, en que especificaciones
de equipos esta destinado a funcionar el sistema o
sistemas.
2. Análisis: En esta etapa se profundiza en los
procesos de negocio que están involucrados en el
sistema, y se procede a generar los casos de uso a
nivel de borrador hasta tener la información
necesaria para cada caso.
IES WERNHER VON BRAUN 18
3. Diseño: Es la etapa más crucial, aquí se define el
uso de tecnologías adecuadas para resolver el
problema y no solo porque una tecnología está de
moda.También se tienen en cuenta los patrones de
diseño como por ejemplo MVC (Modelo,Vista,
Controlador) o arquitectura de microservicios,
Directorios de datos.
4. Documentación: Una vez se ha definido el diseño
es necesario comunicarlo de manera eficiente y
eficaz a todos los involucrados, es importante crear
documentación que sirva como referencia a todos
y sea el marco de trabajo para todos, esta parte
incluye el documento Arquitectura General del
sistema.
IES WERNHER VON BRAUN 19
5. Desarrollo: En esta etapa los programadores
tienen asignadas tareas especificas y el arquitecto
de software estará probando los diferentes
módulos para poder hacer mejoras, o correcciones
al sistema final.
6. Pruebas: Es importante luego de tener la
documentación evaluar, esto se puede hacer
incluso sin haber hecho una línea de código y ver
con todos los involucrados si hay algo en el diseño
que pueda no funcionar y reformarlo, esta
evaluación se debería hacer posterior teniendo
métricas por ejemplo del rendimiento de la
aplicación y saber si un cambio mejora o no dicho
rendimiento.
IES WERNHER VON BRAUN 20
7. Implementación: en esta etapa se realiza el
montar el sistema en producción y evaluar
su comportamiento, verificando qué
funciona correctamente.
Los arquitectos de Software son parte clave de
los proyectos de Software de las compañías,
puede llegar a tener casos donde varios
arquitectos de software trabajan en el
desarrollo de secciones o aplicaciones
especificas que trabajaran en conjunto, con lo
que se tendrá un LíderArquitecto para llevar el
control general del proyecto.
IES WERNHER VON BRAUN 21
IES WERNHER VON BRAUN 22
• El arquitecto de software se encarga de seleccionar qué
tecnología se va a utilizar en la creación de un
determinado software, de realizar continuos procesos
de evaluación para determinar si cumple las
expectativas de los usuarios y de estar abierto a
modificar la arquitectura utilizando para ello el
feedback de otros miembros del equipo o de los
propios usuarios.
• El desarrollador de software, también denominado
analista-programador, es un especialista en
informática capaz de crear los sistemas (paquetes de
software), implementarlos y hacer una puesta a punto
para que puedan ser funcionales, todo ello a través de
determinados lenguajes de programación.
IES WERNHER VON BRAUN 23
1. Gestión de los requisitos no funcionales y definición de la
arquitectura de software:
• Los requerimientos no funcionales tienen que ser
específicos, medibles, alcanzables y comprobables, para
poder satisfacerlos (no basta con algo subjetivo como: «el
sistema debe ser rápido»), y además hay que saber
priorizarlos de manera que todos sean tomados en cuenta.
• La definición de la arquitectura se trata de la introducción
de la estructura, directrices, principios y liderazgo de los
aspectos técnicos de un proyecto de software. Por lo tanto
se requiere de una figura dedicada a pensar en estos
aspectos, es decir, alguien tiene que asumir la propiedad
del proceso de definición de la arquitectura y esto es sin
duda, parte de las competencias del Arquitecto de
Software.
IES WERNHER VON BRAUN 24
2. Selección de laTecnología:
La selección de la tecnología suele ser un ejercicio
con una serie de desafíos interesantes y en el cual
se debe tomar en cuenta un universo de factores
como el coste, las licencias, la relación con los
proveedores, la estrategia de la tecnología, la
compatibilidad e interoperabilidad, política de
actualizaciones, etc.
Adicionalmente hay que conocer si las tecnologías
funcionan realmente y se adaptan o no a los
requerimientos del software.
El Arquitecto de Software debe asumir la propiedad
del proceso de selección de la tecnología y por
tanto es responsable del riesgo técnico.
IES WERNHER VON BRAUN 25
3. Mejora continua:
El Arquitecto de Software debe encargarse
de la mejora continua de la Arquitectura y
a su vez estar abierto a modificarla
utilizando las sugerencias o feedback que
se pueda obtener de otros miembros del
equipo.
4. Facilitador:
Es función del Arquitecto de Software
servir de facilitador para la colaboración
entre estos grupos de interés de manera de
garantizar que la arquitectura se integrará
con éxito en el entorno empresarial.
IES WERNHER VON BRAUN 26
5. Líder y Formador:
El Arquitecto de Software debe asumir la
dirección técnica, para asegurar que
todos los aspectos de la arquitectura se
estén implementando de manera
correcta.
De igual manera el Arquitecto de
Software debe proporcionar orientación
técnica y dar apoyo al equipo de
desarrollo; debe estar preparado para
entrenar al equipo en las tecnologías
seleccionadas (Formador) y también debe
estar abierto a sugerencias.
IES WERNHER VON BRAUN 27
6. Aseguramiento de la Calidad
Garantizar la calidad es parte fundamental
del rol de un Arquitecto de Software, el cual
debe apoyarse en procesos de integración
continua que utilicen herramientas
automatizadas de análisis de código fuente,
pruebas unitarias y cobertura de código,
para asegurar el cumplimiento de las
normas, políticas y mejores prácticas
establecidas.
Muchas Gracias
IES WERNHER VON BRAUN 28
Versión del archivo: 2022
Autores:

Más contenido relacionado

La actualidad más candente

Ventajas y desventajas de cmmi
Ventajas y desventajas de cmmiVentajas y desventajas de cmmi
Ventajas y desventajas de cmmi
Sandrea Rodriguez
 
Gestion de la configuracion del software
Gestion de la configuracion del softwareGestion de la configuracion del software
Gestion de la configuracion del software
Johan Prevot R
 
7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos
silviamap64
 
gestion y configuracion del software
 gestion y configuracion del software gestion y configuracion del software
gestion y configuracion del software
Saul Flores
 
Métrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigoMétrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigo
Jesús E. CuRias
 
Estrategias de prueba de software
Estrategias de prueba de softwareEstrategias de prueba de software
Estrategias de prueba de software
jtapiac
 

La actualidad más candente (20)

6. Administración de la Calidad de Software
6. Administración de la Calidad de Software6. Administración de la Calidad de Software
6. Administración de la Calidad de Software
 
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWAREDEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
 
Ventajas y desventajas de cmmi
Ventajas y desventajas de cmmiVentajas y desventajas de cmmi
Ventajas y desventajas de cmmi
 
Prototipado del software
Prototipado del softwarePrototipado del software
Prototipado del software
 
3.5.1 Tipos-de-riesgos
3.5.1 Tipos-de-riesgos3.5.1 Tipos-de-riesgos
3.5.1 Tipos-de-riesgos
 
Arquitecturas de software exposicion
Arquitecturas de software   exposicionArquitecturas de software   exposicion
Arquitecturas de software exposicion
 
Planificacion de un Proyecto de Software
Planificacion de un Proyecto de SoftwarePlanificacion de un Proyecto de Software
Planificacion de un Proyecto de Software
 
Gestion de la configuracion del software
Gestion de la configuracion del softwareGestion de la configuracion del software
Gestion de la configuracion del software
 
Metricas de software
Metricas de softwareMetricas de software
Metricas de software
 
IIS Unidad 4 Proyecto de software
IIS Unidad 4 Proyecto de softwareIIS Unidad 4 Proyecto de software
IIS Unidad 4 Proyecto de software
 
Ingeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareIngeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de software
 
7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos
 
calidad para el producto del software
calidad para el producto del softwarecalidad para el producto del software
calidad para el producto del software
 
gestion y configuracion del software
 gestion y configuracion del software gestion y configuracion del software
gestion y configuracion del software
 
Planificacion De Proyectos de SW
Planificacion De Proyectos de SWPlanificacion De Proyectos de SW
Planificacion De Proyectos de SW
 
Métrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigoMétrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigo
 
Cocomo ii guía
Cocomo ii   guíaCocomo ii   guía
Cocomo ii guía
 
PSW Unidad 2 MODELOS DE PROCESO
PSW Unidad 2 MODELOS DE PROCESOPSW Unidad 2 MODELOS DE PROCESO
PSW Unidad 2 MODELOS DE PROCESO
 
Estandares y modelos de calidad del software
Estandares y modelos de calidad del softwareEstandares y modelos de calidad del software
Estandares y modelos de calidad del software
 
Estrategias de prueba de software
Estrategias de prueba de softwareEstrategias de prueba de software
Estrategias de prueba de software
 

Similar a ARQUITECTURA DE SOFTWARE.pdf

Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobar
Edwin Alexander
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del software
Daniel Merchan
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_Albarran
Marijoalbarranb
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
Monica Glez
 
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Jose Garcia
 

Similar a ARQUITECTURA DE SOFTWARE.pdf (20)

ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
 
Ingeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelosIngeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelos
 
Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobar
 
Examen omar
Examen omarExamen omar
Examen omar
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del software
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_Albarran
 
sofware libre
sofware libre sofware libre
sofware libre
 
Fases del ciclo de la vida de desarrollo
Fases del ciclo de la vida de desarrolloFases del ciclo de la vida de desarrollo
Fases del ciclo de la vida de desarrollo
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruiz
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatan
 
Plan
PlanPlan
Plan
 
Tecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.softwareTecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.software
 
ingenieriadesoftware1
ingenieriadesoftware1ingenieriadesoftware1
ingenieriadesoftware1
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Metodologiasde desarrollo de software
Metodologiasde desarrollo de softwareMetodologiasde desarrollo de software
Metodologiasde desarrollo de software
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
 

Más de DavidVeraOlivera (10)

U3_Leguaje PHP-Semana 07.pdf
U3_Leguaje PHP-Semana 07.pdfU3_Leguaje PHP-Semana 07.pdf
U3_Leguaje PHP-Semana 07.pdf
 
introduccion-seguridad-informc3a1tica.pptx
introduccion-seguridad-informc3a1tica.pptxintroduccion-seguridad-informc3a1tica.pptx
introduccion-seguridad-informc3a1tica.pptx
 
ES.ASW.Te11_DistribuidosBigData.pdf
ES.ASW.Te11_DistribuidosBigData.pdfES.ASW.Te11_DistribuidosBigData.pdf
ES.ASW.Te11_DistribuidosBigData.pdf
 
ES.ASW.Te02_Definiciones.pdf
ES.ASW.Te02_Definiciones.pdfES.ASW.Te02_Definiciones.pdf
ES.ASW.Te02_Definiciones.pdf
 
ARQUITECTURA EN CAPAS.pdf
ARQUITECTURA EN CAPAS.pdfARQUITECTURA EN CAPAS.pdf
ARQUITECTURA EN CAPAS.pdf
 
ARQUITECTURA CLIENTE SERVIDOR.pdf
ARQUITECTURA CLIENTE SERVIDOR.pdfARQUITECTURA CLIENTE SERVIDOR.pdf
ARQUITECTURA CLIENTE SERVIDOR.pdf
 
sesion01-traspas.pdf
sesion01-traspas.pdfsesion01-traspas.pdf
sesion01-traspas.pdf
 
ARQII_00-Repaso2.pdf
ARQII_00-Repaso2.pdfARQII_00-Repaso2.pdf
ARQII_00-Repaso2.pdf
 
ARQII_00-Repaso-2012.pdf
ARQII_00-Repaso-2012.pdfARQII_00-Repaso-2012.pdf
ARQII_00-Repaso-2012.pdf
 
Software Architecture & Design of Modern Large Scale.pptx
Software Architecture & Design of Modern Large Scale.pptxSoftware Architecture & Design of Modern Large Scale.pptx
Software Architecture & Design of Modern Large Scale.pptx
 

ARQUITECTURA DE SOFTWARE.pdf

  • 1. Semestre: 2022-1 Ciclo: I Docente: Godofredo Ayquipa Cordova PATRONES DE DISEÑOY ARQUITECTURA DE SOFTWARE
  • 2. Semana 01 Temas de la clase: Arquitectura de software • Concepto • Historia • Importancia • Características • Componentes • Rol del arquitecto de software • Ventajas y desventajas IES WERNHER VON BRAUN 2
  • 3. Objetivo de la clase Reconocer la estructura e importancia de la arquitectura de software en la implementación de un proyecto. IES WERNHER VON BRAUN 3
  • 4. IES WERNHER VON BRAUN 4
  • 5. IES WERNHER VON BRAUN 5 “la arquitectura de software son patrones o lineamientos que ayudan a la construcción de un programa (aplicación). Estos patrones permiten tener una guía para los desarrolladores, analistas y todos los cargos relacionados para lograr cumplir con los requerimientos de la aplicación.”
  • 6. IES WERNHER VON BRAUN 6 “La arquitectura del software por tanto define la estructura que debe de tener un software, las piezas que debemos construir y el modo en el que se deben de juntar y trabajar entre ellas. Se define a alto nivel mediante una serie de patrones y abstracciones que seguir para el desarrollo del software y para la interacción entre sus diversas piezas.”
  • 7. IES WERNHER VON BRAUN 7 “La arquitectura de software es un conjunto de patrones que proporcionan un marco de referencia necesario para guiar la construcción de un software, permitiendo a los programadores, analistas y todo el conjunto de desarrolladores del software compartir una misma línea de trabajo y cubrir todos los objetivos y restricciones de la aplicación.”
  • 8. IES WERNHER VON BRAUN 8
  • 9. IES WERNHER VON BRAUN 9 https://www.timetoast.com/timelines/historia-de-la-arquitectura-de- software-3dc6abaf-5e53-42c5-a2f6-25e14457d856
  • 10. IES WERNHER VON BRAUN 10 La arquitectura de software nos traza un camino por el cual seguir para lograr cumplir con los requerimientos de la aplicación, por lo tanto tenemos que analizar cada uno de estos requerimientos para definir qué se va a hacer y cómo se va a hacer, aquí se comienza a definir temas como servidores, tecnologías, bases de datos entre otras cosas. El definir las tecnologías es uno los puntos más importantes de la arquitectura de software pero no quiere decir que si se toma una decisión sea algo definitivo que no se pueda modificar en el futuro.
  • 11. IES WERNHER VON BRAUN 11 • Uno de los objetivos de la arquitectura de software es crear una estructura de la aplicación que sea fácilmente escalable, que no esté fuertemente acoplada (que todo dependa de todo, lo que evita hacer cambios de manera sencilla). • El objetivo principal de la Arquitectura del Software es aportar elementos que ayuden a la toma de decisiones y, al mismo tiempo, proporcionar conceptos y un lenguaje común que permitan la comunicación entre los equipos que participen en un proyecto.
  • 12. IES WERNHER VON BRAUN 12 Una arquitectura de sistema es una representación de un sistema en la que hay una correlación de funciones con componentes de hardware y software, una correlación de la arquitectura de software con la arquitectura de hardware, e interacción humana con estos componentes.
  • 13. IES WERNHER VON BRAUN 13 En resumen, el desarrollo de software es el proceso de resolver problemas con el uso de una computadora. En el mundo moderno, con la cantidad de problemas y su complejidad cada vez mayor, el desarrollo de aplicaciones, es una herramienta para obtener soluciones precisas, dándole las tareas repetitivas a la computadora y logrando así cubrir las necesidades del usuario.
  • 14. IES WERNHER VON BRAUN 14 Contar con la arquitectura de software cierra la brecha entre los desarrolladores, las partes interesadas y los demás involucrados en el proyecto, ya que les permite tener un entendimiento común del proceso. Esto también representa la implementación de una visión.
  • 15. IES WERNHER VON BRAUN 15 La arquitectura del software se basa en las necesidades del cliente. Su diseño requiere la mayor atención posible con muchos criterios a considerar, incluyendo, por ejemplo, ergonomía, flexibilidad, facilidad de uso o economía. El objetivo es dar a los usuarios de la aplicación la mayor satisfacción posible. Además, el trabajo colaborativo está ganando más y más seguidores con el advenimiento de la nube, que amplía aún más el área de intervención de los arquitectos de software.
  • 16. IES WERNHER VON BRAUN 16 A partir de ahora, también es necesario garantizar la seguridad de los datos de sus clientes frente a las amenazas de malware y spyware que inundan la web. Un criterio completamente diferente que cada cliente debe exigir a su desarrollador de aplicaciones.
  • 17. IES WERNHER VON BRAUN 17 1. Requerimientos: En esta etapa se recolecta la información y se documentan los requerimientos que influyen en la arquitectura de la aplicación, por ejemplo que lenguaje se utilizara, que marcos de trabajo se requerirán, en que especificaciones de equipos esta destinado a funcionar el sistema o sistemas. 2. Análisis: En esta etapa se profundiza en los procesos de negocio que están involucrados en el sistema, y se procede a generar los casos de uso a nivel de borrador hasta tener la información necesaria para cada caso.
  • 18. IES WERNHER VON BRAUN 18 3. Diseño: Es la etapa más crucial, aquí se define el uso de tecnologías adecuadas para resolver el problema y no solo porque una tecnología está de moda.También se tienen en cuenta los patrones de diseño como por ejemplo MVC (Modelo,Vista, Controlador) o arquitectura de microservicios, Directorios de datos. 4. Documentación: Una vez se ha definido el diseño es necesario comunicarlo de manera eficiente y eficaz a todos los involucrados, es importante crear documentación que sirva como referencia a todos y sea el marco de trabajo para todos, esta parte incluye el documento Arquitectura General del sistema.
  • 19. IES WERNHER VON BRAUN 19 5. Desarrollo: En esta etapa los programadores tienen asignadas tareas especificas y el arquitecto de software estará probando los diferentes módulos para poder hacer mejoras, o correcciones al sistema final. 6. Pruebas: Es importante luego de tener la documentación evaluar, esto se puede hacer incluso sin haber hecho una línea de código y ver con todos los involucrados si hay algo en el diseño que pueda no funcionar y reformarlo, esta evaluación se debería hacer posterior teniendo métricas por ejemplo del rendimiento de la aplicación y saber si un cambio mejora o no dicho rendimiento.
  • 20. IES WERNHER VON BRAUN 20 7. Implementación: en esta etapa se realiza el montar el sistema en producción y evaluar su comportamiento, verificando qué funciona correctamente. Los arquitectos de Software son parte clave de los proyectos de Software de las compañías, puede llegar a tener casos donde varios arquitectos de software trabajan en el desarrollo de secciones o aplicaciones especificas que trabajaran en conjunto, con lo que se tendrá un LíderArquitecto para llevar el control general del proyecto.
  • 21. IES WERNHER VON BRAUN 21
  • 22. IES WERNHER VON BRAUN 22 • El arquitecto de software se encarga de seleccionar qué tecnología se va a utilizar en la creación de un determinado software, de realizar continuos procesos de evaluación para determinar si cumple las expectativas de los usuarios y de estar abierto a modificar la arquitectura utilizando para ello el feedback de otros miembros del equipo o de los propios usuarios. • El desarrollador de software, también denominado analista-programador, es un especialista en informática capaz de crear los sistemas (paquetes de software), implementarlos y hacer una puesta a punto para que puedan ser funcionales, todo ello a través de determinados lenguajes de programación.
  • 23. IES WERNHER VON BRAUN 23 1. Gestión de los requisitos no funcionales y definición de la arquitectura de software: • Los requerimientos no funcionales tienen que ser específicos, medibles, alcanzables y comprobables, para poder satisfacerlos (no basta con algo subjetivo como: «el sistema debe ser rápido»), y además hay que saber priorizarlos de manera que todos sean tomados en cuenta. • La definición de la arquitectura se trata de la introducción de la estructura, directrices, principios y liderazgo de los aspectos técnicos de un proyecto de software. Por lo tanto se requiere de una figura dedicada a pensar en estos aspectos, es decir, alguien tiene que asumir la propiedad del proceso de definición de la arquitectura y esto es sin duda, parte de las competencias del Arquitecto de Software.
  • 24. IES WERNHER VON BRAUN 24 2. Selección de laTecnología: La selección de la tecnología suele ser un ejercicio con una serie de desafíos interesantes y en el cual se debe tomar en cuenta un universo de factores como el coste, las licencias, la relación con los proveedores, la estrategia de la tecnología, la compatibilidad e interoperabilidad, política de actualizaciones, etc. Adicionalmente hay que conocer si las tecnologías funcionan realmente y se adaptan o no a los requerimientos del software. El Arquitecto de Software debe asumir la propiedad del proceso de selección de la tecnología y por tanto es responsable del riesgo técnico.
  • 25. IES WERNHER VON BRAUN 25 3. Mejora continua: El Arquitecto de Software debe encargarse de la mejora continua de la Arquitectura y a su vez estar abierto a modificarla utilizando las sugerencias o feedback que se pueda obtener de otros miembros del equipo. 4. Facilitador: Es función del Arquitecto de Software servir de facilitador para la colaboración entre estos grupos de interés de manera de garantizar que la arquitectura se integrará con éxito en el entorno empresarial.
  • 26. IES WERNHER VON BRAUN 26 5. Líder y Formador: El Arquitecto de Software debe asumir la dirección técnica, para asegurar que todos los aspectos de la arquitectura se estén implementando de manera correcta. De igual manera el Arquitecto de Software debe proporcionar orientación técnica y dar apoyo al equipo de desarrollo; debe estar preparado para entrenar al equipo en las tecnologías seleccionadas (Formador) y también debe estar abierto a sugerencias.
  • 27. IES WERNHER VON BRAUN 27 6. Aseguramiento de la Calidad Garantizar la calidad es parte fundamental del rol de un Arquitecto de Software, el cual debe apoyarse en procesos de integración continua que utilicen herramientas automatizadas de análisis de código fuente, pruebas unitarias y cobertura de código, para asegurar el cumplimiento de las normas, políticas y mejores prácticas establecidas.
  • 28. Muchas Gracias IES WERNHER VON BRAUN 28 Versión del archivo: 2022 Autores: