GA4-22050195-AA2-EV06 TALLER DE ARQUITECTURA DE SOFTWARE
Presentado a.
Jorge Eliecer niño
Presentado por.
Carlos Mario valencia bedoya
SENA
2023 INTRODUCCION
La arquitectura de software se refiere a l estructuración del sistema que, idealmente, se crea en
etapas tempranas del desarrollo. esta estructuración representa un diseño de alto nivel del sistema que tiene dos propósitos primarios: satisfacer los atributos de calidad y el servir como guía en el desarrollo. Al igual que otras ingenierías. el término de arquitectura se usa para referirse a varios aspectos relacionados con las TI. De acuerdo con el 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.”
La arquitectura de software es de especial importancia ya que la manera en que se estructura un
sistema tiene un impacto directo sobre la capacidad de este para satisfacer lo que se conoce como los atributos de calidad del sistema. Ejemplos de atributos de calidad son el desempeño, que tiene que ver con el tiempo de respuesta del sistema a las peticiones que se le hacen, la usabilidad, que tiene que ver con qué tan sencillo les resulta a los usuarios realizar operaciones con el sistema, o bien la modificabilidad, que tiene que ver con qué tan simple resulta introducir cambios en el sistema. Los atributos de calidad son parte de los requerimientos (no funcionales) del sistema y son características que deben expresarse de forma cuantitativa. No tiene sentido, por ejemplo, decir que el sistema debe devolver una petición “de manera rápida”, o presentar una página “ligera”, ya que no es posible evaluar objetivamente si el sistema cubre o no esos requerimientos. PREGUNTAS
1. ¿Qué entiende por arquitectura de software?
2. ¿Cuál es su función? 3. ¿Cómo se elabora la arquitectura de software? 4. ¿Cómo lograr una buena arquitectura? 5. ¿Cuáles son los elementos de diseño de una arquitectura de software? DESARROLLO DE LA ACTIVIDAD
1. Se entiende como la arquitectura de software es una planificación basada en modelos,
patrones y abstracciones teóricas, a la hora de realizar una pieza de software de la complejidad. De esta manera se dispone de una guía teórica detallada que nos permite comprender como se encajan las piezas de nuestro producto o servicio. 2. La función de la arquitectura de software es planificar el desarrollo y elegir un conjunto de herramientas para llevar a cabo nuestro proyecto, esto significa que antes de pasar a programar de debe determinar un ritmo de desarrollo e incluso los factores económicos y humanos durante el proceso. La persona que ocupa el rol de arquitecto de software debe tener unos conocimientos con gran experiencia sobre programación, liderazgo y otras funciones tales como: - La gestión de los requisitos no funcionales y la definición de la arquitectura de softwares, lo que en muchos casos se miden en alcances, comprobables y saber priorizar las características tales como el rendimiento, la escalabilidad, la disponibilidad, auditoria y otras. - 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, las relaciones con proveedores, la estrategia de la tecnología, la compatibilidad e interoperabilidad, política de actualizaciones, etc. - La mejora continua de la arquitectura de software se basa en los procesos para demostrar que funciona, que efectivamente resuelve los requisitos no funcionales y por tanto reducir el riesgo general de fracaso del proyecto. - La función del arquitecto de software servir de facilitador para la colaboración entre estos grupos de intereses de manera garantizar que la arquitectura se integrara con éxito en el entorno. - El arquitecto de software asume la dirección técnica que asegura todos los aspectos de la arquitectura se esta implementando de manera correcta. De igual forma el arquitecto de software debe proporcionar orientación técnica y dar apoyo al equipo de desarrollo. 3. Para la elaboración de la arquitectura de software se debe tener en cuenta. - Primero se debe comprender claramente cuales son tus requisitos, todo diseño que comience tendrá requisitos funcionales y no funcionales, lo que nos permite concluir el proyecto con la presentación de un producto final que deje satisfechas a las partes interesadas. Si no tienes comprensión clara de estos requisitos desde los principios, tú equipo corre el riesgo. - Luego se debe comenzar a pensar en cada componente lo que hace que la influencia de los requisitos funcionales en mi proyecto es posible que el diseño, tecnología ya esta decidida que haya definido los requisitos. Se debe tener en cuenta lo planteado el diseño o plan de proyectos los cuales cumplen algunos supuestos tales como: “el escenario perfecto”, “considera y documenta que implicaciones tienen tus requisitos” y por último la espera y realización de diseños de la arquitectura final mas adelante.