Carlos Eduardo Diaz Polanco
Viberth Gonzalez
Elmer Padilla Espinoza
Evaluar software con rigor empieza por tres atributos clave: adaptabilidad, capacidad de instalación y capacidad de reemplazo. Entender su impacto —dependencias del sistema operativo, pasos de despliegue y compatibilidad entre versiones— orienta decisiones de arquitectura que facilitan cambios y reducen fricción.
¿Cómo medir la adaptabilidad sin depender del sistema operativo?
La adaptabilidad se mide por cuán fuertemente el sistema depende de un entorno específico. Si solo funciona en Linux y no en Mac, o si usa tecnologías que corren únicamente en Windows, la adaptabilidad disminuye. Esto no impide adaptar más adelante, pero incrementa la dificultad del cambio.
¿Qué define la capacidad de instalación y cómo simplificar el despliegue con app stores?
La capacidad de instalación se mide por los requisitos del entorno de despliegue: cuántos pasos hay que realizar para poner la aplicación a disposición de las personas usuarias, cuán complejos son y si el proceso se puede reproducir en otro contexto. Los app stores han garantizado la simplicidad de despliegue en móviles y también en escritorio para distintos entornos, mejorando notablemente este atributo.
¿Cómo asegurar la capacidad de reemplazo con sistemas distribuidos y retrocompatibilidad?
La capacidad de reemplazo se mide entendiendo qué requisitos cumplen los sistemas actuales y cómo el nuevo sistema puede aprovechar ese entorno para reemplazarlo de forma efectiva. En bases de datos, es clave conectar con los datos existentes o transformarlos al esquema de datos propio. También ayudan los estándares de datos y de estructura para permitir sustituir un producto por otro con menos fricción.
¿Dónde has encontrado más obstáculos: dependencias del sistema operativo, pasos de despliegue o compatibilidad entre versiones? Comparte tu experiencia y la estrategia que mejor te funcionó.
Carlos Eduardo Diaz Polanco
Viberth Gonzalez
Elmer Padilla Espinoza
Abril Darynka Tapia Sosa
Christian Gómez
Andrés Madrigal
Edgar Del Castillo Zegarra
Walter Franco
Javier Grajeda
David Valecillo
Antonio Rafael González Ferrer
Jenny Karen Guzmán Pulido
Frandel Corporan Rodríguez
Miguel Angel Reyes Moreno
Luis Rodolfo Altuve Cáceres
ANDRES ALFONSO MIRA MEJIA
Camilo Martínez Zuluaica
Camilo Beltrán
Leonardo Flores
Juan Carlos Ortiz Romero
Juan Carlos Ortiz Romero
Matias Acosta
Xavier Carrera
Juan Pablo Perez
Juan Daniel Gualtero Diaz
Portabilidad:
Grado de eficacia y eficiencia con el que un sistema, producto o componente puede transferirse de un hardware, software u otro entorno operacional o de uso a otro. Esta característica se compone de las siguientes subcaracterísticas:
• Adaptabilidad, Grado en el cual un producto o sistema puede ser adaptado efectiva y eficientemente para hardware, software u otros entornos operacionales o de uso diferentes o en evolución.
Ej: Arquitecturas específicas de dominio. Abstracción y separación.
• Instalabilidad, Grado de eficacia y eficiencia con el que un producto o sistema puede instalarse y / o desinstalarse con éxito en un entorno específico.
Ej: Tiendas de aplicaciones.
• Reemplazabilidad, Grado en el cual un producto puede reemplazar otro producto de software especificado para el mismo propósito en el mismo entorno.
Ej: Sistemas distribuidos. Microservicios.
buen post
Agradecido por tu resumen Carlos.
Portabilidad
Portabilidad:
Se mide como la cantidad de entornos en los que puede correr nuestro sistema.
Hola, le dejo mi resumen de atributos de calidad por si les sirve.
ATRIBUTOS DE CALIDAD
Expectativas de usuario de cuan bien funciona el producto
IDONEIDAD FUNCIONAL
Completitud
Exactitud
Pertinencia
EFICIENCIA DE EJECUCION
Tiempo a comportamiento: tiempo entre pedido y respuesta
Uso de recursos: consumo de recursos y el esperado (en RAM)
Capacidad: limite de usuarios
COMPATIBILIDAD
Cuanto puede el sistema vivir en un contexto mas grande
Interoperabilidad: cuan fácil es comunicarse con este sistema
Disponibilidad de esquemas( Json, api, SOAP)
Coexistencia: cuanto el sistema soporta o no estar con otros sistemas (se mide con cantidad de fallos por razones externas en un tiempo dado)
USABILIDAD
Reconocimiento de idoneidad: relación entre conceptos de dominio y acciones de sistema
Curva de aprendizaje: cuan fácil o difícil es aprender a usar un sistema
Operabilidad: cantidad de pasos para lograr un objetivo
Proteccion a errores: cantidad de intentos fallidos
Estetica de la interfaz: encuestas de apreciación de estética. (medir con encuestas)
Accesibilidad: adhesión de estándares.
CONFIABILIDAD
Cuanto el sistema nos permite a traves del tiempo usarlo de forma normal
Madures: cuanto menos falle, mas maduro el sistema
Disponibilidad: cantidad de tiempo fuera de servicio
Tolerancia a fallos: como el sistema puede seguir dando servicio por q hayan fallos
Capacidad de recuperación: cuanto tarda el sistema en volver a dar servicio luego de un fallo (tiempo medio de recuperación)
SEGURIDAD
Cuando el sistema protege la información del usuario
Confidencialidad: como el sistema autoriza a acceder a cierta informacion
Integridad: cuando el sistema toma recaudos para proteger la información.
Traza de responsabilidad: como se conecta la acción con el usuario.
Comprobación de hechos:
Autenticidad:
MANTENIBILIDAD
Todo lo q hace q un sistema pueda cambiar. (análisis estático de código)
Modularidad: capacidad del sistema de ser separado en partes
Reusabilidad: cuanto podemos volver a usar el código para una funcionalidad diferente
Capacidad de modificación: cuan fácil o difícil es cambiar el código (test automatizados para medirlo)
Capacidad de análisis: cuanto podemos entender el problema que estamos resolviendo.
Capacidad de Prueba: dificultad para crear test en el sistema.
PORTABILIDAD
Adaptabilidad: dependencia a entornos específicos (MAC, Windows)
Capacidad de instalación: requerimientos del entorno de despliegue
Capacidad de reemplazo: cuales son los requerimientos de los entornos actuales y su implementación.
Excelente resumen. Gracias.
Excelente, gracias
Atributo Potabilidad: Adaptabilidad: en ella podemos medir cuando dependiente es nuestro sistema de un entorno especifico. por ejemplo sistemas que dependen del sistema operativo. Ese tipo de características afectan la adaptabilidad. Capacidad de instalación: cuanto requerimientos de despliegue posee el sistema, cuan complejos son esos requerimientos Capacidad de reemplazo: como cumple los requerimientos el sistema actual y como puede aprovechar ese entorno actual y reemplazarlo exitosamente. Un sistema muy grande que es monolítico y es muy difícil remplazar una de sus partes al contrario una ventaja de sistemas distribuidos es la facilidad de reemplazar sus partes.
Apuntes:
Portabilidad
Adaptabilidad. Cuán fuertemente depende nuestro sistema de un entorno específico.
Capacidad de instalación. Cuán fuertemente tenemos requerimientos del entorno de despliegue.
Capacidad de reemplazo. La podemos medir entendiendo cuáles son los requerimientos que hoy cumplen o cómo cumplen esos requerimientos los sistemas actuales y cómo nuestro sistema puede aprovechar ese entorno actual y reemplazarlo efectivamente.
Capacidad de Reemplazo: Medir entregables que cumplen con los requerimientos actuales y como el sistema los puede aprovechar, ejemplo: Los sistemas distribuidos sirven para reemplazarlo.
Portabilidad
La compatibilidad del sistema en diferentes entornos de ejecución.
Adaptabilidad: Cuan fuertemente depende el sistema de un entorno especifico.
Capacidad de instalación: que tanta dificultad presenta el despliegue del sistema en diferentes entornos.
Capacidad de reemplazo: La podemos medir conociendo los nuevos requerimientos o facilidades que hay hoy y configurarlo a favor de nuestro sistema.
Esta clase empezó sin explicar primeramente qué es la portabilidad, pero aquí lo explico:
El atributo de portabilidad se refiere a la capacidad de un sistema de software para ser utilizado en diferentes entornos de hardware o software con poco o ningún cambio. Esto incluye la facilidad para mover el sistema entre plataformas, así como su adaptabilidad a nuevos entornos. Un software que es portátil puede ejecutarse en múltiples sistemas operativos o configuraciones sin requerir modificaciones significativas. Esto es crucial en el desarrollo y la arquitectura para asegurar que el software pueda alcanzar más usuarios y adaptarse a diferentes necesidades tecnológicas.
La portabilidad mide la capacidad de un sistema para operar en diferentes entornos sin necesidad de modificaciones significativas. Incluye:
✅
Portabilidad: ¿Se puede ejecutar nuestro software sencillamente en otros entornos? Se divide en tres características: -Adaptabilidad: Nuestro sistema se adapta fácilmente si se mueve de un entorno a otro?. -Capacidad de instalación: Cuántos pasos debo realizar para poder desplegar o instalar mi aplicativo en otros entornos. -Capacidad de reemplazo: Si deseo reemplazar algún módulo o componente de mi sistema, lo puedo hacer fácilmente?
Portabilidad Dificultad para usar nuestro software en diferentes sistemas operativos Adaptabilidad Cuanto depende nuestro sistema de un entorno en específico Ejemplo: Sólo funciona en Linux, Windows o MacOS Capacidad de instalación Nivel de complejidad para instalar nuestro software Capacidad de remplazo Estándares o herramientas de carga o conversión de datos. Implementación de interfaces comunes
Como capacidad de instalación se puede considerar cuantos recursos posee el sistema a instalar para proveerle al entorno de instalación y asi evitar descargas de dependencias que no existan en dicho entorno. Asi esto podría dar un mejor resultado de adaptabilidad.
🤖🤖🤖
Portabilidad: Grado de eficacia y eficiencia con el que un sistema, producto o componente puede transferirse de un hardware, software u otro entorno operacional o de uso a otro. Esta característica se compone de las siguientes subcaracterísticas: • Adaptabilidad, Grado en el cual un producto o sistema puede ser adaptado efectiva y eficientemente para hardware, software u otros entornos operacionales o de uso diferentes o en evolución. Abstracción y separación. • Instalabilidad, Grado de eficacia y eficiencia con el que un producto o sistema puede instalarse y / o desinstalarse con éxito en un entorno específico.
• Reemplazabilidad, Grado en el cual un producto puede reemplazar otro producto de software especificado para el mismo propósito en el mismo entorno.
Adaptabilidad: Cuanto depende del sistema de un entorno? Ej. sistemas operativos.
Capacidad de instalación: Cuantos pasos toma al usuario instalar nuestro sistema?
Capacidad de reemplazo: Cuales son los requerimientos nuevos y como se pueden configurar a nuestro favor?
Grcias compañero.
Estos puntos son importantes para poder tener claro los limitantes que tienen nuestras soluciones, la pregunta es si estos los puedo ir evaluando cada interacción para aumentar el porcentaje de potabilidad?