¿Cómo ser arquitecto de software? aprende sobre atributos de calidad
En el mundo de la arquitectura de software, crear productos de la más alta calidad, capaces de tener un rendimiento estable y que además cumplan con los requerimientos técnicos y de negocio es el pan de cada día.
Una de las herramientas más importantes para lograr esta misión son los atributos de calidad, una serie de parámetros medibles y testeables que, cuando ya tenemos claro qué debe hacer el sistema que vamos a crear, nos ayudan a orientar cómo debe hacerlo para cumplir con los requerimientos y expectativas, no solo de los stakeholders, sino también de los usuarios finales. Además, también es importante considerar cómo estos atributos de calidad pueden evolucionar y ser mejorados en el futuro a medida que el software crece y cambia.
Conocer a fondo los atributos de calidad hace parte de las herramientas clave para desempeñarte en un cargo de arquitectura de software. A continuación, hablamos de algunos de ellos para que empieces a preparar tu paso al mundo de de la arquitectura.
También puedes revisar nuestro artículo sobre las habilidades blandas que puedes empezar a cultivar para llegar a desempeñarte en un cargo de arquitectura de software.
¿Qué son los atributos de calidad en la arquitectura de software?
Como lo dijimos anteriormente, los atributos de calidad nos ayudan a garantizar que un activo digital va a tener un funcionamiento estable, que cumple las especificaciones técnicas necesarias y que, además, es capaz de satisfacer las necesidades de los usuarios.
Existen diferentes modelos de calidad que tienen en cuenta diferentes criterios y parámetros. Continuación hablaremos de los atributos de calidad que se miden en el modelo ISO/IEC 25010
-
Funcionalidad
Este atributo se ve desde el punto de vista de los usuarios finales. Hace referencia a la capacidad del software para ofrecer una solución o satisfacer necesidades explícitas e implícitas de las personas que lo van a utilizar.
Este atributo de calidad tiene tres subdivisiones: functional completeness, functional correctness y Functional appropriateness.
Estas hacen referencia a la capacidad de software para realizar la totalidad de las tareas necesarias para que el usuario cumpla su objetivo, ofrecer resultados precisos y el grado en que se cumplen los objetivos que han sido especificado para satisfacer al usuario. -
Fiabilidad
Hablamos de software fiable cuando es capaz de seguir realizando sus funciones en condiciones específicas y durante un tiempo determinado. Este atributo mide la disponibilidad, la tolerancia a fallos y la capacidad del sistema para recuperar datos y restablecer su funcionamiento en caso de presentarse un fallo. También tiene en cuenta su grado de madurez, es decir, su capacidad de operar como se espera que lo haga durante la operación normal.
- Eficiencia
Esta característica representa el rendimiento en relación a la cantidad de recursos utilizados.
Aquí se tienen en cuenta los tiempos de respuesta y procesamiento, las tasas de rendimiento, etc. También se mide la cantidad de recursos utilizados para que el software cumpla sus funciones y su capacidad máxima en diferentes parámetros. - Compatibilidad
Es la capacidad de un activo digital para intercambiar información con otros sistemas o para cumplir sus funciones al tiempo que comparte el mismo entorno de hardware o software.
Aquí se mide su capacidad de coexistir eficientemente y sin impactos perjudiciales para otros productos cuando utiliza recursos comunes. También se tiene en cuenta la interoperabilidad, es decir, la capacidad de utilizar información que se ha intercambiado con otros sistemas. - .Usabilidad
Su nombre lo dice todo: es la capacidad de un activo digital para ser utilizado por usuarios con el fin de alcanzar un objetivo determinado. La usabilidad también se mide en términos de efectividad, eficiencia y satisfacción.
Si los usuarios pueden reconocer que un producto es adecuado para sus necesidades y si además es fácil operarlo y aprender a hacerlo estamos ante un producto usable.
En la usabilidad también se mide el grado en que el sistema protege a los usuarios de cometer errores, la estética de la interfaz y la accesibilidad. -
Seguridad
Es la capacidad de proteger la información y los datos mientras se permite cierto grado de acceso para que personas y sistemas puedan utilizar esa información según el nivel apropiado de autorización. Tiene varios componentes. La confidencialidad, es decir, que la información solo sea accesible para quienes tengan autorización, la integralidad, que hace referencia la capacidad de impedir el acceso no autorizado y la autenticidad, que se mide por el grado en que se puede demostrar la identidad de un sujeto o recurso que reclama acceso. También se mide la capacidad de rastrear las acciones de las entidades que interactúan con el activo digital y de “recordar” las acciones o eventos que se realizan.
- Mantenibilidad
Un activo digital debe poder modificarse para ser corregido, mejorado o para adaptarlo a los cambios en el entorno.
En este atributo de calidad se tiene en cuenta la modularidad, es decir, la capacidad que se tiene de cambiar un componente con el menor impacto posible para los demás.
También se mide la capacidad del software para construir otros activos (reusabilidad), la posibilidad de evaluar su impacto y el de cada una de sus partes (analizabilidad) y la modificabilidad, que se refiere a la posibilidad de ser modificado sin introducir defectos o desmejorar la calidad.
En este atributo de calidad también entra la testabilidad, que es la capacidad para establecer criterios de prueba para determinar si está cumpliendo con determinados criterios. - Portabilidad
Por último, tenemos el atributo de calidad que mide la capacidad de un activo digital para pasar de un entorno operativo o de uso a otro.
Cuando hablamos de portabilidad debemos tener en cuenta la adaptabilidad, que es la capacidad de encajar de manera efectiva y eficiente para distintos entornos, la instabilidad (capacidad de instalarse y/o desinstalarse) y la reemplazabilidad (la posibilidad de ser reemplazado por otro producto)
Conclusiones
Los atributos de calidad son una brújula que nos permite orientar procesos de desarrollo para garantizar su calidad y un impacto positivo en en la vida de los usuarios finales.
En resumen, podríamos decir que cada uno de estos atributos de calidad buscan un objetivo concreto:
- Fiabilidad: Hacer que el software funcione sin fallos y de manera consistente.
Escalabilidad: Lograr que el software maneje sin fricciones aumentos en la carga de trabajo o el volumen de datos. - Mantenibilidad: Conseguir que el software se pueda mantener y actualizar el software fácilmente.
- Rendimiento: Construir un software que sea veloz y eficiente.
Seguridad: Garantizar que el software es capaz de proteger la integridad de los datos y evitar accesos no autorizados. - Usabilidad: Ofrecer una experiencia fácil de utilizar y navegar.
- Portabilidad: Lograr que el software pueda ejecutarse en diferentes plataformas y sistemas operativos.
- Interoperabilidad: Construir el software de manera que pueda interactuar y trabajar con otros sistemas y aplicaciones.
¿Te interesa trabajar en un lugar donde creces acompañado por expertos en distintas áreas del sector tecnológico? Conoce nuestras vacantes
Comparte
Te puede interesar
Otros artículos de Marketing
Cinco pasos clave para diseñar una arquitectura de software
Modelos de documentación: ¿Cómo se usan en arquitectura de software?
Outsourcing de TI: ¿Qué es y cómo puede acelerar tus proyectos?
Suscríbete al
Blog Pragma
Recibirás cada mes nuestra selección de contenido en Transformación digital.