0% encontró este documento útil (0 votos)
30 vistas10 páginas

Taller Arquitectura de Software - Debo

Cargado por

mendozakaty006
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)
30 vistas10 páginas

Taller Arquitectura de Software - Debo

Cargado por

mendozakaty006
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

EVIDENCIA DE APRENDIZAJE

GA4-220501095-AA2-EV06
Taller arquitectura de software

Por:
Katy Mary Mendoza Pérez
CC 1101812718

CENTRO DE LA TECNOLOGÍA DEL DISEÑO Y LA PRODUCTIVIDAD


EMPRESARIAL REGIONAL CUNDINAMARCA – SENA – GIRARDOT
ANÁLISIS Y DESARROLLO DE SOFTWARE
FICHA 2853091
INSTRUCTOR:
Magda P. León
00/10/2024
TABLA DE CONTENIDO

1. INTRODUCCIÓN
2. OBJETIVOS
3. DESARROLLO DE LA EVIDENCIA
4. CONCLUSIONES
5. REFERENCIAS BIBLIOGRÁFICAS
- Taller arquitectura de software
1. INTRODUCCIÓN
La arquitectura de software es como el plano maestro de un
edificio, pero para aplicaciones y programas informáticos. Es la
estructura y organización que define cómo todos los componentes
de software interactúan entre sí para lograr un funcionamiento
eficiente. Piensa en ello como el diseño detrás de la cortina que
garantiza que todo funcione suavemente, desde cómo se
almacenan los datos hasta cómo los usuarios interactúan con la
aplicación. En esencia, la arquitectura de software es crucial para
crear sistemas sólidos y bien organizados.
3. DESARROLLO DE LA EVIDENCIA
Taller arquitectura de software
¿QUE ENTIENDE POR ARQUITECTURA DE SOFTWARE?
Para mí, la arquitectura de software es como el esquema maestro
que establece cómo se construirá y organizará un programa. Es la
estructura subyacente que dicta cómo interactúan y se relacionan
entre sí los diferentes componentes de software. no el plan director
que asegura que cada parte del sistema funcione de manera
coherente y eficiente. En definitiva, la arquitectura de software es la
base que da forma y guía el desarrollo de aplicaciones para
asegurar su solidez y coherencia.
¿CUAL ES LA FUNCION DE LA ARQUITECTURA DE SOFTWARE?
Desde mi punto de vista, la función principal de la arquitectura de
software es actuar como el arquitecto maestro de un proyecto,
estableciendo las bases y la estructura para el desarrollo de
aplicaciones. Es como el diseño fundamental que asegura que todos
los componentes del software trabajen juntos de manera
armoniosa. La arquitectura define cómo se comunican y colaboran
los diferentes módulos, garantizando eficiencia, escalabilidad y
mantenibilidad a lo largo del tiempo. En resumen, la arquitectura
de software es esencial para construir sistemas sólidos y bien
organizados, proporcionando la estructura que sustenta la
funcionalidad de las aplicaciones.
¿COMO SE ELABORA LA ARQUITECTURA DE SOFTWARE?
1. Análisis de Requisitos: En primer lugar, me sumerjo en la
comprensión profunda de los requisitos del proyecto. Hablo con los
interesados, identifico necesidades y defino claramente lo que la
aplicación debe lograr.
[Link]ño Conceptual: Luego, creo un diseño conceptual que es
como un esquema inicial. Identifico las principales funcionalidades
y cómo se relacionan, dibujando un panorama general de la
aplicación.
[Link]ón de Patrones de Diseño: Exploro patrones de diseño
probados para problemas comunes. Elijo aquellos que se ajustan
mejor a la arquitectura general y los integro en el diseño.
[Link] UML: Utilizo diagramas UML para representar
visualmente la estructura y las relaciones entre los componentes.
Esto me ayuda a comunicar y visualizar mejor la arquitectura.
[Link]ón en Módulos: Divido la aplicación en módulos
más pequeños y manejables. Cada módulo tiene una función
específica, facilitando el desarrollo y la comprensión del sistema.
[Link]ón de Rendimiento y Escalabilidad: Considero cómo la
arquitectura manejará el rendimiento y si es escalable. Es crucial
garantizar que el sistema pueda crecer y adaptarse a futuras
necesidades.
[Link]: A veces, creo prototipos para validar la arquitectura
antes de la implementación completa. Esto me ayuda a identificar
posibles problemas y ajustar el diseño según sea necesario.
[Link]ón: Documento cada parte de la arquitectura, desde
las decisiones de diseño hasta los patrones de diseño
seleccionados. Esto sirve como referencia para mí y para otros
desarrolladores que trabajen en el proyecto.
[Link]ón y Mejora Continua: La arquitectura no es estática. A
medida que avanzo en el desarrollo, estoy constantemente
revisando y mejorando la arquitectura en función de nuevas
necesidades o aprendizajes.
[Link]ón y Retroalimentación: Trabajo estrechamente con
otros miembros del equipo. Sus perspectivas y comentarios son
valiosos para refinar y fortalecer la arquitectura de software.
¿COMO LOGRAR UNA BUENA ARQUITECTURA?
a) Diálogo Constante con los Interesados:
Mantendré un diálogo constante con los interesados para
comprender a fondo sus necesidades y expectativas. Esto
proporcionará la base esencial para diseñar una arquitectura que
realmente resuelva los problemas clave.
b) Investigación de Patrones y Mejores Prácticas:
Dedicaré tiempo a investigar patrones de diseño y mejores prácticas
relevantes para el tipo de aplicación que estoy construyendo. Esto
me permitirá aprovechar soluciones probadas y evitar reinventar la
rueda.
c)Priorización de la Modularidad:
Haré del modularidad una prioridad. Dividiré la aplicación en
módulos cohesivos y acoplados de manera efectiva para facilitar la
comprensión y el mantenimiento a lo largo del tiempo.
d)Modelado Visual para Claridad:
Utilizaré herramientas de modelado visual, como UML, para crear
representaciones visuales de la arquitectura. Esto no solo ayudará a
la comprensión personal, sino que también facilitará la
comunicación con otros miembros del equipo.
e) Evaluación de Rendimiento y Escalabilidad:
Siempre consideraré el rendimiento y la escalabilidad. Esto implica
anticipar posibles cuellos de botella y diseñar la arquitectura de
manera que pueda adaptarse a un aumento en la carga o tamaño
de datos.
f) Iteración y Prototipado:
No temeré la iteración. Si es necesario, crearé prototipos para
validar y ajustar aspectos críticos de la arquitectura antes de
comprometerme completamente.
g) Documentación Completa y Accesible:
Mantendré una documentación completa y accesible. Cada decisión
de diseño, elección de patrón y detalle importante estará registrado
para que cualquier miembro del equipo pueda comprender el "por
qué" detrás de cada elección.
h) Pruebas Rigurosas:
Implementaré pruebas rigurosas para asegurar que la arquitectura
cumpla con las expectativas y que cada componente funcione como
se espera.
i) Flexibilidad y Adaptación Continua:
Mantendré una mentalidad flexible y estaré preparado para adaptar
la arquitectura según evolucionen los requisitos o surjan nuevos
desafíos durante el desarrollo.
j) Colaboración Activa: Fomentaré la colaboración activa. Trabajaré
estrechamente con otros miembros del equipo, buscando sus
aportes y perspectivas para mejorar constantemente la calidad de la
arquitectura.
¿CUÁLES SON LOS ELEMENTOS DE DISEÑO DE UNA
ARQUITECTURA DE SOFTWARE?
Elemento Descripción
Requisitos del Establecer una comprensión clara de lo que los usuarios
Usuario necesitan y esperan de la aplicación.
Patrones de Investigar y seleccionar patrones de diseño apropiados
Diseño que proporcionen soluciones probadas y efectivas a
problemas comunes.
Estructura de Definir la manera en que los datos se organizarán y
Datos gestionarán eficientemente dentro de la aplicación.
Arquitectura de Diseñar la arquitectura necesaria para facilitar la
Red comunicación efectiva entre componentes, servicios o
sistemas externos si es necesario.
Interfaz de Crear una interfaz de usuario intuitiva y centrada en la
Usuario experiencia del usuario para garantizar una interacción
(UI/UX) fácil y agradable.
Módulos y Descomponer la aplicación en módulos y componentes
Componentes claramente definidos para facilitar la construcción, prueba
y mantenimiento del sistema.
Escalabilidad Diseñar la arquitectura con la capacidad de escalar,
considerando cómo la aplicación puede crecer para
manejar un mayor volumen de usuarios o datos.
Seguridad Implementar medidas de seguridad para proteger la
aplicación contra amenazas y asegurar la integridad de los
datos.
Manejo de Establecer estrategias sólidas para el manejo de errores,
Errores considerando cómo la aplicación responderá a situaciones
inesperadas para garantizar una experiencia de usuario
robusta.
Documentación Mantener documentación completa que detalle cada
Exhaustiva decisión de diseño, componente y estructura para facilitar
el entendimiento y futuras actualizaciones.

4. CONCLUSION
La importancia de la arquitectura de software en la actualidad es
como el mapa que te guía a través de un viaje digital. Imagina tratar
de construir una casa sin un plano; sería un caos. De manera similar,
en el vasto mundo de la tecnología, la arquitectura de software
actúa como el diseño inteligente que asegura que nuestras
aplicaciones no solo se vean bonitas en la superficie, sino que
funcionen de manera eficiente en su núcleo. Es la clave para
construir sistemas que no solo respondan a las necesidades
actuales, sino que también estén listos para evolucionar con el
tiempo. En esencia, es el cimiento sobre el cual construimos la
experiencia digital de hoy y las innovaciones del mañana.
5. BIBIOGRAFIA:
Sommerville, I. (2011). Ingeniería de software.
Addison-Wesley. Bass, L., Clements, P., & Kazman, R. (2012).
Software Architecture in Practice. Addison-Wesley Professional.
Shaw, M., & Garlan, D. (1996). Software architecture: Perspectives
on an emerging discipline. Prentice-Hall

También podría gustarte