0% encontró este documento útil (0 votos)
57 vistas6 páginas

Arquitectura de Software: Claves y Diseño

Este documento resume los conceptos clave de la arquitectura de software, incluyendo que la arquitectura de software define la estructura fundamental de un sistema de software, la función de proporcionar una visión estructurada del sistema, y cómo se elabora mediante la identificación de requisitos, definición de componentes y selección de patrones. También explica cómo lograr una buena arquitectura a través de buenas prácticas de diseño y los elementos clave de diseño como componentes, módulos e interfaces.

Cargado por

Brayan Mora
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
57 vistas6 páginas

Arquitectura de Software: Claves y Diseño

Este documento resume los conceptos clave de la arquitectura de software, incluyendo que la arquitectura de software define la estructura fundamental de un sistema de software, la función de proporcionar una visión estructurada del sistema, y cómo se elabora mediante la identificación de requisitos, definición de componentes y selección de patrones. También explica cómo lograr una buena arquitectura a través de buenas prácticas de diseño y los elementos clave de diseño como componentes, módulos e interfaces.

Cargado por

Brayan Mora
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

TALLER ARQUITECTURA DE SOFTWARE - GA4-220501095-AA2-EV06

APRENDIZ:
BRAYAN DANILO MORA TIBAMBRE
FICHA: 2626998

INSTRUCTOR:

FRANCISCO VARGAZ

ANÁLISIS Y DESARROLLO DE SOFTWARE


2023
INTRODUCCIÓN

En este documento hablaremos 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 muy importante; ¿Cómo se logra una buena arquitectura? Y, por último,
¿cuáles son los elementos de diseño de una arquitectura de software?
DESARROLLO DEL TALLER
1. ¿Qué entiende por arquitectura de software?

Se entiende por arquitectura de software a la estructura fundamental de un sistema de


software, que incluye sus componentes, las relaciones entre ellos y los principios que
guían su diseño y evolución a lo largo del tiempo. Es la base sobre la cual se construye un
sistema de software y define su organización, comportamiento y funcionalidad.
2. ¿Cuál es su función?

La función principal de la arquitectura de software es proporcionar una visión


estructurada y coherente del sistema de software, permitiendo comprender su
complejidad y facilitando su desarrollo, mantenimiento y evolución. Además, la
arquitectura de software establece las bases para lograr los objetivos de calidad del
sistema, como la escalabilidad, la seguridad, la facilidad de mantenimiento y la
reutilización de componentes.
3. ¿Cómo se elabora la arquitectura de software?
La arquitectura de software se elabora mediante la identificación y análisis de los
requisitos del sistema, la definición de los componentes principales y sus interacciones, la
selección de patrones arquitectónicos y tecnologías adecuadas, y la validación de las
decisiones arquitectónicas mediante pruebas y revisiones.
1. COMPRENDE CLARAMENTE CUÁLES SON TUS REQUISITOS
 Comienza con una visión general: primero, haz un resumen breve de tus requisitos
con una “vista aérea”. Los mapas mentales son una forma eficaz de hacer esto.
 Haz un mapa de tus requisitos funcionales: puedes usar verbos para agrupar
sustantivos. Por ejemplo, verbos como “ver” y “editar” pueden vincular “cuenta” o
“perfil” entre sí en un mapa mental de áreas funcionales.
 Ten en consideración los requisitos no funcionales: mientras trabajas en tu mapa
mental, puedes anotar tus requisitos no funcionales para utilizarlos más adelante.
Un requisito como “desempeño” es clave, pero probablemente sea demasiado
abstracto para colocarlo en el mapa mental.

2. COMIENZA A PENSAR EN CADA COMPONENTE


 Empieza con el “escenario perfecto”: ¿Cómo sería tu diseño si pudieras crearlo de
manera perfecta?
 Considera y documenta qué implicaciones tienen tus requisitos: comienza a
elaborar un borrador de trabajo con tu equipo y desarróllalo gradualmente. En
primer lugar, debes observar lo que implican los requisitos en tu diseño; por
ejemplo, en qué aspectos los elementos individuales de la lista de deseos de las
partes interesadas pueden contradecirse entre sí o estar en conflicto con otros
requisitos funcionales y no funcionales.
 Espera y realiza el diseño de la arquitectura final más adelante: lo más probable es
que hagas cambios en tu planeación a lo largo de este proceso, así que no esperes
que el primer borrador se parezca mucho al resultado final.

3. DIVIDE TU ARQUITECTURA EN “REBANADAS”


 Tu diseño de arquitectura, por supuesto, pasa a una fase de planeación a medida
que decides cómo vas a entregar tu diseño. Al dividir tu arquitectura en rebanadas,
puede resultar más fácil la elaboración de este plan, de tal manera que
proporcione beneficios a los usuarios y sirva para planear adecuadamente tu uso
de los recursos de desarrollo.

4. HACER UN PROTOTIPO
 Mantén un historial de cambios riguroso: por supuesto, si no documentas lo que
vas descubriendo en la creación de los prototipos, corres el riesgo de repetir tus
errores. Anota todo: documenta minuciosamente tus decisiones de diseño y los
cambios que realices sobre la marcha.
 Ten una sola fuente de información: no será conveniente que tengas múltiples
cambios y diferentes versiones que frenen tu progreso, así que establece un sólido
control de versiones basadas en una única fuente de información para tu
documentación.
 Haz diagramas de tus prototipos: puedes usar diagramas para ayudarte a
administrar los cambios de prototipos y visualizar las diferencias entre cada
versión.

5. IDENTIFICA Y CUANTIFICA LOS REQUISITOS NO FUNCIONALES


 Desempeño: qué tan bien funciona todo tu sistema, así como las rebanadas o
capas individuales.
 Escalabilidad: el potencial actual y futuro para escalar tu sistema junto con tus
necesidades.
 Portabilidad: la portabilidad de tus datos, así como la posible portabilidad de
los componentes de tu sistema si procede o es necesario.
 Extensibilidad: explica el crecimiento futuro de tu sistema y de tu empresa, la
capacidad de adaptación de tu sistema y el esfuerzo que conlleva la
adaptación.
 Cumplimiento normativo: es otro factor esencial y que tiene un impacto
importante en el diseño general de tu proyecto
4. ¿Cómo lograr una buena arquitectura?
Para lograr una buena arquitectura de software, es importante seguir buenas prácticas de
diseño, como modularidad, cohesión, acoplamiento adecuado y separación de
preocupaciones. Además, se deben tener en cuenta los principios de diseño
arquitectónico, como la simplicidad, la abstracción y la reutilización, y se debe realizar una
planificación cuidadosa para adaptar la arquitectura a los requisitos y restricciones del
proyecto.

 Establece sistemas robustos, pero libres de frameworks. Esto permite que la


estructura sea estable e independiente.
 Ajusta la construcción y el uso de la base de datos. La base de datos es la que debe
alinearse a tus necesidades de negocio, no al revés.
 Elige las herramientas necesarias para optimizar procesos. Considera la posibilidad
de unificar servicios de automatización de sistemas e integración de aplicaciones,
colocándolos de manera estratégica desde un inicio.
 Auditable y testeable. Es importante crear un ambiente donde el código pueda ser
evaluado, medido y regulado.
5. ¿Cuáles son los elementos de diseño de una arquitectura de software?

Los elementos de diseño de una arquitectura de software incluyen componentes,


módulos, interfaces, relaciones de dependencia, patrones arquitectónicos, modelos de
comportamiento y modelos de datos. Estos elementos se combinan para definir la
estructura y el funcionamiento del sistema de software, y proporcionan una base sólida
para su desarrollo y evolución.
CONCLUSIÓN
La arquitectura de software es un aspecto fundamental en el desarrollo de sistemas de
software, ya que proporciona la estructura y la base sobre la cual se construye y
evoluciona el sistema. Entender qué es la arquitectura de software, cuál es su función,
cómo se elabora, cómo lograr una buena arquitectura y cuáles son sus elementos de
diseño es crucial para desarrolladores, arquitectos y cualquier persona involucrada en
proyectos de software. Una arquitectura bien diseñada puede mejorar la calidad, la
escalabilidad y la mantenibilidad del software, mientras que una arquitectura deficiente
puede conducir a problemas técnicos y dificultades en el desarrollo y mantenimiento del
sistema. Por lo tanto, invertir tiempo y esfuerzo en comprender y aplicar los principios de
la arquitectura de software puede tener un impacto significativo en el éxito de los
proyectos de desarrollo de software.

También podría gustarte