Subido por Bryan Fernando Reyes

Complemento Presentación 8

Anuncio
COMPLEMENTO PRESENTACIÓN 8
Espacio del problema: Detalla qué voy a resolver sin entrar en el detalle de cómo.
Espacio de la solución: Entra en detalle de cómo resolver en función al problema que detectamos
y tratando de evitar resolver problemas que no queremos resolver.
Una vez que entendemos el espacio del problema y el espacio de la solución, vamos a entrar a
analizar los requerimientos de nuestro sistema.
Requerimientos de producto: Los podemos dividir en 3.
Capa de requerimientos de negocio, son reglas del negocio que alimentan los requerimientos del
negocio.
Capa de usuario, tienen que ver en cómo el usuario se desenvuelve usando el sistema, qué
atributos del sistema se deben poner por encima de otros.
Capa Funcional, se ven alimentados por requerimientos del sistema, ¿qué cosas tienen que pasar
operativamente?
Esta capa se ve afectada por las restricciones que pueden afectar operativamente a lo funcional.
Requerimientos de proyecto: Tienen que ver más con el rol de gestor de proyectos, se usan para
dar prioridad a los requerimientos del producto.
Estos dos mundos de requerimientos hablan de las prioridades del equipo de trabajo del proyecto.
Requerimientos de producto:
Requerimientos funcionales: Tienen que ver con las historias de usuarios, que hablan sobre
específicamente lo que hace el sistema, por ejemplo que usuario ingrese al sistema.
Requerimientos no funcionales: son aquellos que agregan cualidades al sistema, por ejemplo que
el ingreso de ese usuario sea de manera segura.
La Idoneidad Funcional es lo que conecta a lo que el usuario quiere hacer (tareas u objetivos a
resolver con el sistema) y como están implementadas funcionalmente en nuestro sistema.
Tres sub-características:
Idoneidad funcional. Es lo que conecta a lo que el usuario quiere hacer, sus objetivos o las tareas
que tiene que resolver con el sistema, y cómo están implementadas funcionalmente en nuestro
sistema.
Completitud Funcional. Cuán completa está la implementación con respecto a lo que se espera
que haga el sistema.
COMPLEMENTO PRESENTACIÓN 8
Podemos medirla viendo cuáles fueron los requerimientos funcionales pedidos y cuántos fueron
ya implementados.
Exactitud Funcional Cuán preciso es el sistema para implementar lo que está implementando.
Podemos comparar el resultado esperado con el resultado querido
Pertinencia Funcional Cuán alineado está lo que se implementó con lo que se necesita.
La podemos tratar de evaluar a través de cuánto se cumplieron los objetivos y cuántos objetivos
estábamos esperando que se puedan cumplir
Ejemplos:
Completitud: Login con redes sociales. ¿cuáles? implementación incremental.
Exactitud: Reportes históricos. Límites de análisis por volúmen de datos.
Pertinencia: Sistemas CRUD en su evolución
Eficiencia de ejecución
Trata sobre cuán bueno, cuán eficiente es el sistema a la hora de responder a lo que el usuario
necesita, y a su vez, teniendo los recursos que el sistema necesita, cuánto los aprovecha o
desaprovecha.
Tiempo a comportamiento. Nos dice cuán bueno es el sistema respondiendo al usuario,
específicamente, cuánto tarda el sistema y cuánto esperamos que ese sistema tarde.
Uso de recursos. Cuánto el sistema aprovecha sus recursos en sus contextos, ya sea RAM, CPU o
Disco.
Capacidad. Habla sobre cuánto soporta el sistema en cantidad de pedidos.
Ejemplos:
Tiempo a Comportamiento: Videojuegos online. Latencia.
Uso de recursos: Grandes volúmenes de datos. Reportes.
Capacidad: Email marketing. Sistemas de tickets.
Compatibilidad
Agrupa los atributos que tienen que ver con cuánto el sistema coexiste o interopera con otros
sistemas, es decir, cuánto puede el sistema vivir en un contexto más grande.
Caracteristicas:
COMPLEMENTO PRESENTACIÓN 8
Interoperabilidad. Cuán fácil es comunicarse con este sistema, cuánto este sistema define su
forma de comunicación e incluso cuánto puede después comunicarse con otros.
Coexistencia. Cuánto el sistema soporta o no estar en un contexto dado con otros sistemas
también.
Ejemplos:
Interoperabilidad: API- pública, SAS, plataforma de pagos, ecommerce que nos permita programar
su API
Coexistencia: Herramienta de (Transacciones), que lo que este haciendo en un esquema de BD no
afecte.
Usabilidad.
Grado en el cual un producto o sistema puede ser utilizado por usuarios específicos para alcanzar
objetivos específicos con efectividad, eficiencia y satisfacción en un contexto de uso específico.
Esta característica se compone de las siguientes subcaracterísticas:
Reconocimiento de idoneidad. Grado en el cual los usuarios pueden reconocer si un
producto o sistema es apropiado para sus necesidades.
Ej: Appro. recog: Wordpress usado para cualquier cosa que no sea blog.
• Curva de aprendizaje. Grado en que un producto o sistema puede ser utilizado por usuarios
específicos para lograr objetivos específicos de aprender a utilizar el producto o sistema con
efectividad, eficiencia, ausencia de riesgo y satisfacción en un contexto de uso específico.
Ej: Lenguaje de gestos en aplicaciones móviles.
• Operabilidad. Grado en el cual un producto o sistema tiene atributos que hacen que sea fácil de
operar y controlar.
Ej: Formularios largos o de múltiples pasos. Sistemas gubernamentales.
• Protección de errores. de usuario Grado en el que un sistema protege a los usuarios contra
errores.
EJ: Sistemas de pago, incertidumbre en el estado del pago.
• Estética de la interfaz de usuario. Grado en el cual una interfaz de usuario permite una
interacción agradable y satisfactoria para el usuario.
Ej: UI vs UX.
• Accesibilidad. Grado al cual un producto o sistema puede ser utilizado por personas con la más
amplia gama de características y capacidades para alcanzar un objetivo específico en un contexto
de uso específico.
Ej: imágenes con texto, sin alt. Contenido redundante o mal marku.
COMPLEMENTO PRESENTACIÓN 8
Confiabilidad
Atributos que tienen que tienen que ver con el uso normal del sistema a través del tiempo:
• Madurez, El grado en que un sistema, producto o componente satisface necesidades de
confiabilidad bajo operación normal.
Ej: Sistemas de compras. Sistemas bancarios.
• Disponibilidad, Grado en el cual un sistema, producto o componente es operacional y accesible
cuando se requiere su uso.
Ej: SLAs, contratos de servicio. Sistemas con eventos de carga pico puntuales.
• Tolerancia a fallos, Grado en el que un sistema, producto o componente funciona según lo
previsto a pesar de la presencia de fallas de hardware o software.
Ej Aplicaciones móviles.
• Capacidad de recuperación, Grado en el que, en caso de interrupción o falla, un producto o
sistema puede recuperar los datos directamente afectados y restablecer el estado deseado del
sistema.
Ej Sistemas distribuidos, configuraciones auto-escalables en la nube. Puede estar conectado a la
mantenibilidad.
Seguridad:
Es grado en que un producto o sistema protege la información y los datos para que las personas u
otros productos o sistemas tengan el grado de acceso a los datos apropiado para sus tipos y
niveles de autorización. Esta característica se compone de las siguientes subcaracterísticas:
• Confidencialidad, Grado en el cual un producto o sistema asegura que los datos solo sean
accesibles para aquellos autorizados a tener acceso.
Ej: Redes sociales.
• Integridad, Grado en el que un sistema, producto o componente impide el acceso no autorizado
o la modificación de programas o datos de computadora.
Ej: Sistemas bancarios.
• Comprobación de hecho, Grado en que se puede demostrar que las acciones o eventos tuvieron
lugar, para que los eventos o acciones no puedan ser repudiados más tarde.
Ej: Firmas digitales. Logs de auditoría.
• Traza de responsabilidad, Grado en el que las acciones de una entidad se pueden rastrear de
manera única a la entidad.
Ej: Logs de auditoría.
• Autenticidad, Grado en el cual se puede probar que la identidad de un sujeto o recurso es la
reclamada.
Ej: Autenticación de 2 factores. Correo electrónico, número de teléfono. Datos biométricos.
COMPLEMENTO PRESENTACIÓN 8
Mantenibilidad
Esta característica representa el grado de efectividad y eficiencia con la que un producto o sistema
puede ser modificado para mejorarlo, corregirlo o adaptarlo a los cambios en el entorno y en los
requisitos. Esta característica se compone de las siguientes subcaracterísticas:
• Modularidad, Grado en el cual un sistema o programa de computadora se compone de
componentes discretos tales que un cambio en un componente tiene un impacto mínimo en otros
componentes.
Ej: Patrones de arquitectura. Sistemas distribuídos.
• Reusabilidad, Grado en el cual un activo puede ser utilizado en más de un sistema, o en la
construcción de otros activos.
Ej: Código de código abierto.
• Analizabilidad, Grado de efectividad y eficiencia con el cual es posible evaluar el impacto en un
producto o sistema de un cambio intencional a una o más de sus partes, o diagnosticar un
producto por deficiencias o causas de fallas, o identificar partes a ser modificadas .
Ej: Conexión entre código y requerimiento (pepinillo)
• Modificabilidad, Grado en que un producto o sistema puede ser modificado de manera efectiva
y eficiente sin introducir defectos o degradar la calidad del producto existente.
Ej: Cobertura de código en tests.
• Testabilidad, Grado de eficacia y eficiencia con el que se pueden establecer los criterios de
prueba para un sistema, producto o componente y se pueden realizar pruebas para determinar si
se han cumplido esos criterios.
Ej: Funciones puras: ayuda efectos secundarios. Principio de responsabilidad única. Buenas
prácticas de diseño.
Portabilidad:
Se mide como la cantidad de entornos en los que puede correr nuestro sistema.
Adaptabilidad: La podemos medir según la cantidad de dependencias a entornos específicos.
Ej: Frameworks. Sistemas operativos.
Capacidad de Instalación: Se miden los números de pasos a seguir para acceder a un servicio
dentro del sistema y en los contextos donde se puede reproducir el acceso a dicho sistema.
Ej: Estándares de Google Appstore para poner una aplicación en su tienda.
Capacidad de Reemplazo: Como cuales son los requerimientos que nuestro sistema cumple o
como cumplen con esos requerimientos los estándares actuales y como nuestro sistema
aprovecha ese entorno actual y reemplazarlo efectivamente.
Ej: Sistemas monolíticos vs Sistemas distribuidos
Descargar