UNIVERSIDAD LAICA ELOY ALFARO DE MANABÍ
Campus Flavio Alfaro
CARRERA INGENIERÍA EN SOFTWARE
ARQUITECTURA DE SOFTWARE
UNIVERSIDAD LAICA ELOY ALFARO DE MANABI “EXTENSION FLAVIO
ALFARO”
Pertenece a:
Moreira Zambrano Viviana Magdalena
Tema:
Actividad De Informe Técnico
Calidad De La Arquitectura Del Software
Docente:
Ing. Jefferson Palma
Asignatura:
Arquitectura del Software
Curso/paralelo:
Año:
2025-1
ARQUITECTURA DE SOFTWARE
UNIVERSIDAD LAICA ELOY ALFARO DE MANABÍ
Campus Flavio Alfaro
CARRERA INGENIERÍA EN SOFTWARE
Contenido
INTRODUCCIÓN.................................................................................................................3
CALIDAD DE LA ARQUITECTURA DEL SOFTWARE..............................................4
¿Qué es la calidad en arquitectura del software?.................................................................4
Factores que afectan la calidad (mantenibilidad, escalabilidad, rendimiento, etc)................4
Como asegurar la calidad en proyectos de arquitectura de soluciones..................................5
Arquitectura basada en microservicios.................................................................................6
Diferencias entre arquitectura monolítica y microservicios:.................................................6
Ventajas de los microservicios.............................................................................................7
Desventajas de los microservicios........................................................................................8
CONCLUSIONES.................................................................................................................9
REFERENCIAS BIBLIOGRÁFICAS..............................................................................10
UNIVERSIDAD LAICA ELOY ALFARO DE MANABÍ
Campus Flavio Alfaro
CARRERA INGENIERÍA EN SOFTWARE
INTRODUCCIÓN
En la actualidad en la cual estamos viviendo, el desarrollo de software se enfrenta a
múltiples retos los cuales están relacionados con la rapidez de entrega, la adaptación al
cambio y la necesidad de mantener productos escalables y de alta calidad. Por ello, se vuelve
fundamental comprender la arquitectura del software desde un enfoque que garantice no solo
su funcionamiento, sino también su calidad, rendimiento y mantenimiento a largo plazo.
La calidad en la arquitectura del software hace referencia a la forma en que se
estructuran los componentes de un sistema para lograr una solución robusta, confiable y
adaptable. Esto incluye prácticas y decisiones técnicas que permiten que los sistemas sean
mantenibles, escalables y eficientes.
Por otro lado, los microservicios han surgido como un estilo arquitectónico moderno el
cual responde a las demandas de flexibilidad y agilidad en el desarrollo de los sistemas
complejos. A diferencia de las arquitecturas monolíticas tradicionales, los microservicios
promueven la división del sistema en pequeños servicios independientes que pueden
evolucionar y escalar de manera autónoma.
Al estudiar estos temas no solo nos permite entender cómo construir un software de
calidad, sino también cómo enfrentar con éxito los desafíos que conlleva la evolución
constante de la tecnología. Dentro de este informe se podrán explorar ambos conceptos,
cuáles son sus beneficios, prácticas y su impacto en el desarrollo de proyectos de software
modernos.
UNIVERSIDAD LAICA ELOY ALFARO DE MANABÍ
Campus Flavio Alfaro
CARRERA INGENIERÍA EN SOFTWARE
CALIDAD DE LA ARQUITECTURA DEL SOFTWARE
¿Qué es la calidad en arquitectura del software?
La calidad del software se refiere a qué tan bien funciona un sistema, aplicación o
componente, considerando sus características técnicas y su impacto en los usuarios. En otras
palabras, es una forma de medir si un software cumple bien con su propósito y si es confiable,
rápido, fácil de mantener y seguro.
Factores que afectan la calidad (mantenibilidad, escalabilidad, rendimiento, etc)
Para que un software funcione bien a lo largo del tiempo, no solo debe cumplir con sus
funciones, sino también estar bien diseñado. Estos son los principales atributos que permiten
evaluar la calidad de una arquitectura de software:
1. Mantenibilidad. Es la facilidad con la que se pueden hacer cambios al sistema:
arreglar errores, agregar nuevas funciones o adaptarlo. Una arquitectura clara, coherente y
bien documentada es clave para mantener el software sin complicaciones.
2. Extensibilidad. Es la capacidad de agregar nuevas funciones al sistema sin tener
que modificar lo ya existente. Esto es muy útil en proyectos donde se agregan características
constantemente.
3. Simplicidad. Una arquitectura simple es más fácil de entender, mantener y mejorar.
Cuanto más simple sea el diseño, más accesible será para todos los miembros del equipo.
4. Rendimiento. Se refiere a qué tan rápido y eficiente responde el sistema ante
acciones del usuario. Incluye métricas como el tiempo de respuesta (latencia) y la cantidad de
acciones que puede procesar a la vez.
5. Escalabilidad. Es la capacidad del sistema para crecer y adaptarse cuando hay más
usuarios o más datos. Por ejemplo, si el número de usuarios se duplica, el sistema debe seguir
funcionando sin problemas.
UNIVERSIDAD LAICA ELOY ALFARO DE MANABÍ
Campus Flavio Alfaro
CARRERA INGENIERÍA EN SOFTWARE
6.
Interoperabilidad. Es la habilidad del sistema para comunicarse e intercambiar datos con
otros sistemas. Es fundamental para trabajar con plataformas externas, APIs o servicios de
terceros.
7. Evolución. Se refiere a qué tan fácil es que el sistema crezca o cambie en el futuro.
Una arquitectura flexible permite que el software se adapte a nuevas necesidades sin rehacer
todo.
8. Fiabilidad. Es la capacidad del sistema para seguir funcionando correctamente,
incluso cuando ocurren errores o condiciones inesperadas. Un software fiable tiene pocos
fallos y protege bien los datos.
9. Seguridad. Evalúa qué tan bien protege el sistema la información. Incluye evitar
accesos no autorizados, reducir vulnerabilidades y solucionar rápidamente los errores de
seguridad.
10. Tasa de entrega. Es la frecuencia con la que se publican nuevas versiones del
software. Cuanto más seguido se entregan mejoras o correcciones, mayor es la capacidad de
adaptación del sistema.
11. Testeabilidad. Se refiere a qué tan fácil es hacer pruebas al software. Una
arquitectura bien diseñada facilita detectar errores antes de que lleguen al usuario, mejorando
la calidad final del producto.
Como asegurar la calidad en proyectos de arquitectura de soluciones
1. Definir criterios de calidad. Es importante establecer desde el inicio qué se
espera del sistema: rendimiento, seguridad, facilidad de uso, etc. Estos criterios deben ser
claros, medibles y compartidos con todo el equipo.
2. Aplicar métodos de calidad. Se deben seguir pasos organizados para planear,
controlar y mejorar la calidad. Esto incluye verificar que se cumplan estándares y corregir
UNIVERSIDAD LAICA ELOY ALFARO DE MANABÍ
Campus Flavio Alfaro
CARRERA INGENIERÍA EN SOFTWARE
errores cuando se
detecten.
3. Usar herramientas de calidad. Herramientas como listas de verificación,
plantillas o diagramas ayudan a medir y entender si se están cumpliendo los estándares de
calidad.
4. Seguir estándares reconocidos. Utilizar normas conocidas (como ISO) asegura
que la arquitectura siga buenas prácticas aceptadas a nivel profesional e industrial.
5. Involucrar a las partes interesadas. Clientes, usuarios, desarrolladores y otros
deben participar para validar que el producto cumple con lo que se necesita.
6. Aprender de la experiencia. Después del proyecto, revisar qué salió bien y qué
no, para mejorar en el futuro.
Arquitectura basada en microservicios
¿Qué son los microservicios?
Los microservicios son un estilo arquitectónico en el que una aplicación se construye
como un conjunto de pequeños servicios independientes, que se comunican entre sí mediante
APIs bien definidas. Cada microservicio se encarga de una funcionalidad específica y puede
desarrollarse, desplegarse y escalarse de forma autónoma.
Diferencias entre arquitectura monolítica y microservicios:
Arquitectura Monolítica Arquitectura de Microservicios
Sistema único y cohesionado Compuesta por múltiples servicios
Difícil de escalar de forma granular Escalado individual por servicio
Un solo despliegue Despliegue independiente por microservicio
Código interdependiente Servicios desacoplados
Menor flexibilidad tecnológica Cada servicio puede usar distintas
UNIVERSIDAD LAICA ELOY ALFARO DE MANABÍ
Campus Flavio Alfaro
CARRERA INGENIERÍA EN SOFTWARE
tecnologías
Mayor riesgo ante fallos Fallos aislados por servicio
Mantenimiento más complejo Mayor facilidad de mantenimiento y
evolución
Ventajas de los microservicios
Trabajo en equipo más rápido y eficiente. Al dividir una aplicación en varios
microservicios, diferentes equipos pueden trabajar en partes distintas al mismo tiempo. Esto
reduce el tiempo total de desarrollo y permite avanzar más rápido en el proyecto.
Implementaciones más rápidas. Como cada microservicio se desarrolla por
separado, es posible hacer cambios o agregar nuevas funciones sin tener que modificar toda la
aplicación. Esto permite lanzar mejoras más seguido y con mayor velocidad.
Escalabilidad o crecimiento fácil. Si un microservicio (por ejemplo, el de
pagos) tiene mucha demanda, se puede aumentar su capacidad sin tener que cambiar todo el
sistema. Solo se refuerza la parte que lo necesita.
Mayor resistencia a fallos. Si un microservicio falla, los demás pueden seguir
funcionando normalmente. Esto hace que la aplicación sea más estable y confiable, ya que no
todo se cae por un solo error.
Facilidad para instalar y actualizar. Los microservicios, al ser más pequeños y
manejables, se pueden instalar y actualizar más fácilmente. Aunque se necesita buena
coordinación, la modularidad hace que todo sea más ordenado y práctico.
Código más fácil de entender y modificar. Al trabajar con partes pequeñas e
independientes, los desarrolladores entienden mejor cómo funciona cada una. Así pueden
corregir errores o hacer mejoras de manera más rápida.
Libertad tecnológica. Los equipos pueden elegir los lenguajes o tecnologías
que mejor se adapten a cada microservicio. Esto da flexibilidad para innovar y usar
UNIVERSIDAD LAICA ELOY ALFARO DE MANABÍ
Campus Flavio Alfaro
CARRERA INGENIERÍA EN SOFTWARE
herramientas modernas
sin afectar al resto del sistema.
Desventajas de los microservicios
Mayor consumo de recursos (memoria y CPU). Cada microservicio tiene su
propia base de datos y entorno, lo que genera un uso más alto de memoria y
procesamiento en comparación con una arquitectura monolítica.
Tiempo inicial elevado. Al empezar con microservicios, se necesita más
tiempo para planificar, dividir la aplicación en partes, y establecer cómo se comunicarán
entre sí. Esto retrasa un poco el inicio del proyecto.
Complejidad en la gestión. Cuando hay muchos microservicios, se vuelve
difícil controlar y supervisar todo. Se requieren herramientas avanzadas para monitorear el
funcionamiento del sistema completo y detectar fallos.
Requiere desarrolladores con experiencia. No cualquier programador puede
trabajar con microservicios. Se necesitan personas con conocimientos técnicos avanzados,
capaces de manejar problemas como latencia, fallos en red, sincronización y control de
versiones.
Riesgo de falta de uniformidad. Como cada equipo puede usar distintas
tecnologías para cada microservicio, si no se organiza bien, puede generarse un sistema
desordenado y difícil de mantener.
Pruebas más difíciles. Probar un sistema basado en microservicios es más
complicado porque las partes están separadas. Hacer pruebas completas (de todo el
sistema) lleva más tiempo y es más complejo que en un sistema monolítico.
Costo de implementación más alto. Usar microservicios puede ser caro al
inicio. Hay más gastos en infraestructura, monitoreo, herramientas de prueba y recursos
técnicos. Es una inversión mayor comparada con una arquitectura tradicional.
CONCLUSIONES
UNIVERSIDAD LAICA ELOY ALFARO DE MANABÍ
Campus Flavio Alfaro
CARRERA INGENIERÍA EN SOFTWARE
La calidad en la
arquitectura del software y el uso de microservicios son temas esenciales en el desarrollo de
sistemas modernos. Una arquitectura bien diseñada garantiza la sostenibilidad del sistema,
facilitando su mantenimiento, evolución y escalado. Al aplicar principios de modularidad,
automatización y desacoplamiento, se puede responder ágilmente a los cambios y demandas
del mercado.
La adopción de microservicios representa un cambio cultural y técnico importante, que ofrece
grandes beneficios cuando se aplica correctamente, especialmente en entornos de desarrollo
ágil. No obstante, también implica retos que deben ser gestionados cuidadosamente.
En lo personal, considero que entender y aplicar estos conceptos desde etapas tempranas del
desarrollo profesional no solo mejora las competencias técnicas, sino que también permite
participar de manera más efectiva en proyectos innovadores y de alto impacto. Una
arquitectura de calidad no solo es una ventaja técnica, sino también un diferenciador
estratégico.
En mi opinión, para entender y aplicar los principios de calidad en la arquitectura del
software y en el uso de microservicios no solo es una necesidad técnica, sino una estrategia
clave para el éxito de cualquier proyecto de desarrollo moderno. Vivimos en una época donde
los sistemas deben ser rápidos, escalables, seguros y fáciles de mantener, y para lograrlo es
fundamental contar con una arquitectura sólida.
Los microservicios, aunque presentan ciertos desafíos como la complejidad en su
gestión y mayor consumo de recursos, ofrecen enormes beneficios en términos de
flexibilidad, escalabilidad y velocidad de entrega. Nos permiten trabajar de forma más ágil, y
distribuir las responsabilidades entre equipos y adaptar mejor las soluciones a las necesidades
del negocio.
Además, la calidad en la arquitectura no debe verse como un lujo, sino como una
UNIVERSIDAD LAICA ELOY ALFARO DE MANABÍ
Campus Flavio Alfaro
CARRERA INGENIERÍA EN SOFTWARE
inversión. Aplicar
buenas prácticas, seguir estándares internacionales y medir continuamente atributos como
rendimiento, seguridad y mantenibilidad, permite reducir errores, ahorrar costos a largo plazo
y, sobre todo, ofrecer una mejor experiencia al usuario final.
En conclusión, considero que combinar una arquitectura de calidad con un enfoque
basado en microservicios bien gestionado es una de las mejores decisiones que puede tomar
cualquier organización que desee desarrollar software moderno, eficiente y adaptable al
cambio constante del entorno tecnológico.
REFERENCIAS BIBLIOGRÁFICAS
Atributos de calidad de software: todo lo que necesitas saber
https://www.testingit.com.mx/blog/atributos-de-calidad-de-software
AWS – ¿Qué son los microservicios? https://aws.amazon.com/es/microservices/
¿Cómo se garantiza la calidad en los proyectos de arquitectura de soluciones?
https://es.linkedin.com/advice/3/how-do-you-guarantee-quality-solution-architecture?
lang=es
¿Qué son los microservicios? https://www.redhat.com/es/topics/microservices/what-
are-microservices
Arquitectura de microservicios: qué es, ventajas y desventajas
https://decidesoluciones.es/arquitectura-de-microservicios/