Introducción al curso

1

Introducción al curso de Profesional de Arquitectura de Software

Atributos de calidad

2

Definición

3

Atributos: Idoneidad funcional

4

Atributos: Eficiencia de ejecución

5

Atributos: Compatibilidad

6

Atributos: Usabilidad

7

Atributos: Confiabilidad

8

Atributos: Seguridad

9

Atributos: Mantenibilidad

10

Atributos: Portabilidad

11

Tensiones entre atributos

12

Analizando PlatziServicios

Patrones de arquitectura

13

Patrones monolíticos vs distribuidos

14

Patrones: Modelo Vista Controlador

15

Patrones: Capas

16

Patrones: Orientado a eventos / Provisión de eventos.

17

Patrones: Microkernel - Plug-ins

18

Patrones: Comparte-nada

19

Patrones: Microservicios

20

Patrones: CQRS

21

Patrones: Hexagonal - Puertos y adaptadores

22

Patrones: Diseño orientado al dominio

23

Combinando patrones de arquitectura

24

Analizando nuevamente PlatziServicios

Diseño de una arquitectura

25

Pararse en hombros de gigantes

26

Herramientas y partes de un diseño: Tipos de conectores

27

Conectores: Llamado asincrónico / sincrónico. Modelo Cliente servidor.

28

Conectores: Enrutador, difusión

29

Conectores: Pizarra, repositorio, colas, modelo PUBSUB

30

Escenarios y tácticas

31

Escenarios: Disponibilidad, detección, reparación

32

Escenarios: Reintroducción y prevención

33

Escenarios: Mantenibilidad

34

Escenarios: Prevenir efectos dominó y diferir enlace

35

Escenarios: Eficiencia de ejecución

36

Escenarios: Seguridad

37

Escenarios: Capacidad de prueba

38

Escenarios: Usabilidad

39

Validar las decisiones de diseño: Arquitectura en evolución

40

Último análisis a PlatziServicios

Modelado y documentación de arquitectura

41

Cómo comunicar la arquitectura: Vistas y Puntos de vista

42

Documentación vs implementación

43

Conclusiones del curso

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Atributos: Portabilidad

10/43
Recursos

Aportes 13

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Portabilidad

  • Adaptabilidad -> Analizamos que tanto depende nuestro sistema de un entorno especifico.
  • Capacidad de instalación -> ¿Cuantos pasos se tienen que realizar? ¿Que tan difícil son?
  • Capacidad de remplazo -> Entender cuales son los requerimientos que cumplen los sistemas actuales y como se puede aprovechar para remplazarlo objetivamente.
  • Adaptabilidad: La podemos medir analizando cuán fuertemente depende nuestro sistema de un entorno especifico.

  • Capacidad de Instalación: La podemos medir analizando cuán fuertemente necesitamos requerimientos en el el entorno de despliegue.

  • Capacidad de Reemplazo: La podemos medir conociendo los nuevos requerimientos o facilidades que hay hoy y configurarlo a favor de 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.

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.

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.

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.

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?

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?