Introducción y fundamentos de arquitectura de software
Size: 2.2 MB
Language: es
Added: Sep 18, 2025
Slides: 11 pages
Slide Content
S01 INTRODUCCIÓN Y FUNDAMENTOS DE LA ARQUITECTURA DE SOFTWARE Ing. Mg. Ricardo Emanuel Lezcano Menchola UNTELS 2024
S01 DEFINICIÓN DE ARQUITECTURA DE SOFTWARE Y SU IMPORTANCIA
S01 DEFINICIÓN DE ARQUITECTURA DE SOFTWARE Y SU IMPORTANCIA
S01 ARQUITECTURA DE SOFTWARE Y SU IMPORTANCIA Durante la gestión del sistema: Documento sobre el que poder discutir. Aumenta la precisión en la estimación del coste y tiempo. Ayuda a gestionar la complejidad (abstracción). Durante el desarrollo del sistema: Es una excelente vista general del sistema. Proporciona la relación de puntos de diseño a tratar. Facilita el desarrollo simultáneo de componentes. Permite detectar errores de diseño en fases tempranas.
S01 La arquitectura es el proceso de definir una solución estructural que cumple con todos los requisitos funcionales y no funcionales, como la escalabilidad, el rendimiento y la seguridad.. Podríamos decir que la arquitectura de software es como el plano maestro de una obra arquitectónica. Aunque no siempre es visible para los usuarios finales, determina la robustez, la flexibilidad y la eficiencia del sistema. DEFINICIÓN DE ARQUITECTURA DE SOFTWARE Y SU IMPORTANCIA
S01 CONSIDERACIONES AL ELEGIR UNA ARQUITECTURA DE SOFWARE Requisitos funcionales y no funcionales Debes entender los objetivos y las necesidades de tu aplicación, como la carga de trabajo, la escalabilidad, la seguridad y la tolerancia a fallos. Recursos y habilidades del equipo Debes evaluar si tu equipo tiene la experiencia necesaria para implementar y mantener una arquitectura específica. Costos y licencias Algunas arquitecturas pueden requerir inversiones significativas en términos de hardware o software. Asegúrate de que tu presupuesto sea adecuado. Compatibilidad y futuro Considera si la arquitectura es compatible con las tecnologías y sistemas existentes. Además, evalúa su capacidad para evolucionar y adaptarse a futuros cambios.
S01 CARACTERÍSTICAS DE LA ARQUITECTURA DE SOFTWARE
S01 PRINCIPIOS Y CARACTERÍSTICAS CLAVE DE LA ARQUITECTURA DE SOFTWARE Modularidad Este principio implica la capacidad de dividir el sistema en componentes independientes. Cada módulo cumple una función específica y se comunica con otros a través de interfaces definidas. Esto facilita la organización del código y permite realizar cambios o mejoras en un módulo sin afectar a otros Separación en capas Implica dividir el sistema en capas o módulos que se ocupan de funcionalidades específicas. Por ejemplo, en una aplicación web, existe una capa para la interfaz de usuario, otra para la lógica de negocio y otra para el acceso a la base de datos. Esto hace que el código sea más limpio y mantenible, ya que cada capa tiene una responsabilidad clara. Escalabilidad Un sistema arquitectónicamente sólido debe ser escalable, lo que significa que puede manejar un aumento en la carga de trabajo sin una degradación significativa del rendimiento. Esto es esencial para aplicaciones que deben crecer para satisfacer la demanda creciente de usuarios. Mantenibilidad La facilidad con la que un sistema puede ser mantenido y evolucionado con el tiempo es crucial para su vida útil. Una arquitectura adecuada facilita la identificación y corrección de errores, así como la implementación de nuevas características Reusabilidad Es el grado en el que los componentes o módulos del sistema pueden ser reutilizados en diferentes contextos. Esto ahorra tiempo y recursos al permitir que se utilicen soluciones existentes en lugar de reinventar la rueda en cada proyecto.
S01 PRINCIPIOS Y CARACTERÍSTICAS CLAVE DE LA ARQUITECTURA DE SOFTWARE El software suele ser desarrollado por equipos de ingenieros y desarrolladores. Es fundamental que cada persona que trabaje en el proyecto siga el mismo proceso. Sin esta consistencia, sería casi imposible desarrollar un software exitoso y entregarlo al cliente a tiempo. El desarrollo de software puede ser difícil de administrar debido a los requisitos cambiantes, los avances de la tecnología y la colaboración interfuncional. La metodología del ciclo de vida del desarrollo de software (SDLC) ofrece un marco de administración sistemático con entregas específicas en cada etapa del proceso de desarrollo de software. Como resultado, todas las partes interesadas establecen por adelantado los objetivos y requisitos de desarrollo del software y también cuentan con una planificación para conseguirlo. Planificación Definir Requisitos Diseño y Prototipado Desarrollo de software Pruebas de software Despliegue Mantenimiento En la fase de diseño, los ingenieros de software analizan los requisitos e identifican las mejores soluciones para crear el software. Por ejemplo, pueden plantearse la integración de módulos ya existentes, elegir la tecnología e identificar herramientas de desarrollo. Decidirán la mejor manera de integrar el nuevo software en cualquier infraestructura de TI existente que la organización pueda tener. Diseño y Prototipado