TALLER ARQUITECTURA DE SOFTWARE GA4-220501095-AA2-EV06
JOSE IVAN HERNANDEZ PAVA
SANDRA MILENA AYALA
XAVIER EDUARDO VARGAS DELGADO
ANDRES GILDARDO CHARFUELAN BURBANO
SERVICIO NACIONAL DE APRENDIZAJE
ANALISIS Y DESARROLLO DE SOFTWARE
GIRARDOT – CUNDINAMARCA
AÑO 2023
Página 1 de 6
INTRODUCCION
En este documento vamos a exponer acerca de que entendemos por arquitectura de software, la
función de la arquitectura de software, sobre cómo se elabora la arquitectura de software
algo importante; ¿Cómo se logra una buena arquitectura? Y, por último, ¿Cuáles son los
elementos de diseño de una arquitectura de software?
Página 2 de 6
DESARROLLO
• ¿Qué entiende por arquitectura de software?
Se entiende por arquitectura de software como un conjunto de patrones y abstracciones coherentes
que proporcionan a un marco definido y claro para interactuar con el código fuente del
software.
Para mayor claridad a la imagen sobre que es arquitectura de software es una disciplina que se
encarga de la planificación y diseño para la construcción de edificios y espacios de
esparcimientos, sin embargo, la arquitectura es referida al diseño y planificación a un nivel
superior de una estructura a un nivel abstracto y a la toma de decisiones antes de pasar a su
realización.
La arquitectura de software es importante porque proporciona una visión general del sistema que
ayuda a los desarrolladores a comprender cómo funciona y cómo se puede mantener y
evolucionar.
También ayuda a garantizar que el sistema cumpla con los requisitos del usuario y que sea
escalable, adaptable y seguro.
• ¿Cuál es su función?
La función de la arquitectura de software es proporcionar una visión general del sistema que ayuda
a los desarrolladores a comprender cómo funciona y cómo se puede mantener y
evolucionar. También ayuda a garantizar que el sistema cumpla con los requisitos del
usuario y que sea escalable, adaptable y seguro.
Las funciones específicas de la arquitectura de software incluyen:
Definir la estructura del sistema: La arquitectura de software define los
componentes individuales que componen el sistema, sus interfaces y cómo se
Página 3 de 6
comunican entre sí. Esto ayuda a los desarrolladores a comprender cómo se
organiza el sistema y cómo se pueden reutilizar los componentes.
Definir el comportamiento del sistema: La arquitectura de software define cómo se
comporta el sistema en su conjunto, incluidas sus características funcionales y no
funcionales. Esto ayuda a garantizar que el sistema cumpla con los requisitos del
usuario y que sea escalable, adaptable y seguro.
Proveer una guía para el desarrollo: La arquitectura de software proporciona una
guía para el desarrollo del sistema. Esto ayuda a garantizar que el sistema se
desarrolle de manera consistente y que cumpla con los requisitos de la arquitectura.
Facilitar el mantenimiento y la evolución: La arquitectura de software facilita el
mantenimiento y la evolución del sistema. Esto ayuda a garantizar que el sistema
pueda mantenerse y evolucionar para satisfacer las necesidades cambiantes de los
usuarios.
• ¿Cómo se elabora la arquitectura de software?
El proceso de elaboración de la arquitectura de software se puede dividir en los siguientes pasos:
1. Comprensión de los requisitos: El primer paso es comprender los requisitos del
sistema. Esto incluye los requisitos funcionales, que definen lo que el sistema debe
hacer, y los requisitos no funcionales, que definen cómo el sistema debe funcionar.
2. Diseño de la arquitectura: Una vez que se comprenden los requisitos, se puede
comenzar a diseñar la arquitectura. Esto implica definir los componentes del
sistema, sus interfaces y cómo se comunicarán entre sí.
3. Especificación de la arquitectura: La arquitectura debe especificarse de manera
Página 4 de 6
clara y concisa para que pueda ser comprendida por todos los involucrados en el
desarrollo del sistema. Esto se puede hacer utilizando una variedad de técnicas,
como diagramas, documentos y descripciones textuales.
4. Implementación de la arquitectura: La arquitectura debe implementarse en el
código del sistema. Esto implica desarrollar los componentes del sistema y las
interfaces entre ellos.
5. Evaluación de la arquitectura: Una vez que se implementa la arquitectura, se debe
evaluar para determinar si cumple con los requisitos. Esto puede hacerse utilizando
una variedad de técnicas, como pruebas, análisis de rendimiento y análisis de
seguridad.
• ¿Cómo lograr una buena arquitectura?
Para lograr una buena arquitectura de software, es importante tener en cuenta los siguientes
factores:
Los requisitos del sistema: La arquitectura debe cumplir con los requisitos
funcionales y no funcionales del sistema.
Los principios de arquitectura: La arquitectura debe seguir los principios de
arquitectura establecidos, como el principio de responsabilidad única, el principio
de ocultación de información y el principio de apertura y cierre.
Las mejores prácticas: La arquitectura debe utilizar las mejores prácticas
establecidas, como el uso de componentes reutilizables y la implementación de la
arquitectura en un lenguaje de programación adecuado.
• ¿Cuáles son los elementos de diseño de una arquitectura de software?
Página 5 de 6
Los elementos de diseño de una arquitectura de software son los componentes individuales que
componen el sistema, sus interfaces y cómo se comunican entre sí. Estos elementos se pueden
dividir en tres categorías principales:
Componentes: Los componentes son las unidades de construcción básicas de un sistema
de software. Pueden ser objetos, clases, módulos o paquetes.
Interfaces: Las interfaces definen cómo los componentes interactúan entre sí. Definen los
métodos y propiedades que los componentes pueden usar para comunicarse entre sí.
Relaciones: Las relaciones definen cómo los componentes están relacionados entre sí.
Pueden ser relaciones de dependencia, composición o asociación.
Arquitectura cliente-servidor: En esta arquitectura, los componentes se dividen en clientes
y servidores. Los clientes solicitan servicios a los servidores, que proporcionan esos
servicios.
Página 6 de 6