Logo Studenta

slides_gestion - clase (13)

¡Este material tiene más páginas!

Vista previa del material en texto

EVALUACIÓN
Diseño la 
estrategia
Aprendo
Definición MVP y 
Evaluación
PLANIFICACIÓN IMPLEMENTACIÓN
Analizar la situación
Entiendo el 
problema/ 
la 
necesidad
Entiendo a 
quien esta 
dirigido
Fijo fechas, 
objetivos y formato
Ejecución de 
Sprints
Mido los 
resultados
Armado de 
backlog + needs 
de equipo
Customer problem Customer solution
ETAPAS
Establezco la 
forma de trabajo
¿QUÉ SON
LOS REQUERIMIENTOS?
En ingeniería del software y el desarrollo de sistemas, 
un requerimiento es una necesidad documentada sobre 
el contenido, forma o funcionalidad de un producto o 
servicio.
Los requerimientos son declaraciones que identifican 
atributos, capacidades, características y/o cualidades 
que necesita cumplir un sistema (o un sistema de 
software) para que tenga valor y utilidad para el 
usuario. En otras palabras, los requerimientos muestran 
qué elementos y funciones son necesarias para un 
proyecto.
Nos darán una base para priorizar las tareas y calcular 
el costo de desarrollo de las mismas.
ARMADO DE BACKLOG + NEEDS DEL EQUIPO
IMPLEMENTACIÓN
INGENIERÍA
DE REQUERIMIENTOS
Cuando se da inicio a un proyecto de software siempre 
empezamos por el mismo lugar: los requerimientos.
Los requerimientos son un elemento fundamental en el 
proceso de desarrollo de Software. 
Muchos de los proyectos de software que fracasan es 
por causa de una mala definición, especificación o 
administración de requisitos. 
No siempre lo que el cliente quiere es lo que 
realmente necesita, también muchas veces lo que el 
cliente solicita no es lo que se le transmite al 
programador, la ingeniería de requerimientos se trata 
de que lo que el cliente pide es lo que realmente 
necesita y más importante aún es lo que los analistas y 
programadores desarrollan. 
ARMADO DE BACKLOG + NEEDS DEL EQUIPO
IMPLEMENTACIÓN
INGENIERÍA DE REQUERIMIENTOS
“La parte más dura de hacer software es, precisamente, decidir lo que hacer. 
Ninguna otra de las partes en que se divide este trabajo es tan difícil como establecer los requisitos técnicos 
detallados, incluyendo todas las interfaces con la personas, las máquinas y los otros sistemas de software. Ninguna 
otra parte del trabajo destroza tanto el resultado final si se hace mal. Ninguna otra parte resulta tan difícil de 
rectificar a posteriori.” 
“Por tanto, la función más importante que realiza el diseñador de software para el cliente es la extracción iterativa y 
el refinamiento de los requisitos del producto. La verdad es que el cliente no sabe lo que quiere. El cliente 
normalmente no sabe que preguntas deben ser respondidas, y casi nunca ha pensado en los detalles del problema 
necesarios para la especificación. Incluso la simple respuesta ("Haz que el nuevo software trabaje como nuestro 
viejo sistema de procesado manual de la información") es de hecho demasiado simple”
by Frederick P. Brooks, Jr.
ARMADO DE BACKLOG + NEEDS DEL EQUIPO
IMPLEMENTACIÓN
INGENIERÍA DE REQUERIMIENTOS ARMADO DE BACKLOG + NEEDS DEL EQUIPOIMPLEMENTACIÓN
REQUERIMIENTOS
FUNCIONALES Y NO FUNCIONALES
Requerimientos funcionales: 
Un requerimiento funcional es una declaración de cómo debe 
comportarse un sistema. Define lo que el sistema debe hacer para 
satisfacer las necesidades o expectativas del usuario. Los requerimientos 
funcionales se pueden considerar como características que el usuario 
detecta.
La especificación de los requisitos funcionales de un sistema debe ser 
completa y coherente. Completa significa que todos los servicios 
solicitados por el usuario y/u otro sistema están definidos. La coherencia 
significa que los requisitos no tienen una definición contradictoria.
Ejemplo:
- El sistema de reservas de vuelos debe permitir a los usuarios 
buscar vuelos por destino, fecha y número de pasajeros.
- El sistema de ecommerce debe permitir a los clientes agregar 
productos a su carrito de compras y proceder al pago.
Requerimientos no funcionales: 
Se trata de requisitos que no se refieren directamente a las 
funciones específicas suministradas por el sistema, sino a las 
propiedades del sistema: rendimiento, seguridad, disponibilidad, 
etc.
La definición de estos requisitos es un factor esencial en el 
desarrollo de una solución total para el cliente que cumpla con 
los objetivos comerciales. Los requerimientos no funcionales se 
utilizan principalmente para impulsar los aspectos operativos de 
la arquitectura; en otras palabras, abordar las principales áreas 
operativas y técnicas del sistema para garantizar la solidez y 
robustez de la aplicación.
Ejemplo:
- El sistema de reserva de vuelos debe tener un tiempo de 
respuesta de búsqueda de vuelos inferior a 3 segundos.
ARMADO DE BACKLOG + NEEDS DEL EQUIPO
IMPLEMENTACIÓN
¿CÓMO IDENTIFICAR Y DOCUMENTAR 
REQUERIMIENTOS FUNCIONALES?
1- Comprender el contexto del sistema: Antes de comenzar a identificar los requerimientos funcionales, es fundamental comprender el 
contexto del sistema. Esto implica conocer los objetivos del sistema, las necesidades de los usuarios y las restricciones o limitaciones 
existentes.
2- Identificar a los actores principales: Identifica a los actores principales que interactuarán con el sistema. Estos pueden ser usuarios 
finales, administradores, sistemas externos u otros elementos del entorno del sistema.
3- Realizar entrevistas y reuniones con los stakeholders: Lleva a cabo entrevistas y reuniones con los stakeholders, como los usuarios, los 
clientes y otros expertos relevantes. Estos encuentros te permitirán obtener información directa sobre las funcionalidades que requieren y 
las expectativas que tienen. Hacerlo mediante entrevistas, workshops, cuestionarios, talleres y observación.
4- Organizar y categorizar los requerimientos: Una vez que hayas recopilado los requerimientos, organízalos y categorízalos de manera 
lógica. Puedes utilizar técnicas como la matriz de trazabilidad o la jerarquización para establecer relaciones entre los requerimientos y 
asegurarte de que no se omita ninguno.
ARMADO DE BACKLOG + NEEDS DEL EQUIPO
IMPLEMENTACIÓN
¿CÓMO IDENTIFICAR Y DOCUMENTAR 
REQUERIMIENTOS FUNCIONALES?
6- Especificar los requerimientos de manera clara y precisa: Documenta los requerimientos de manera clara y precisa utilizando un formato 
estándar. Puedes utilizar plantillas o tablas para registrar cada requerimiento. Asegúrate de incluir una descripción concisa de la 
funcionalidad, los criterios de aceptación, las restricciones y cualquier información relevante.
7- Validar y verificar los requerimientos: Una vez que hayas documentado los requerimientos, realiza un proceso de validación y
verificación. Esto implica revisar los requerimientos con los stakeholders para asegurarte de que se comprendan correctamente y reflejen 
sus necesidades. También verifica que los requerimientos sean coherentes y no contradictorios entre sí.
8- Mantener los requerimientos actualizados: Los requerimientos pueden evolucionar a lo largo del tiempo debido a cambios en las 
necesidades de los usuarios o nuevos requisitos. Es importante mantener los requerimientos actualizados y gestionar los cambios 
adecuadamente para evitar confusiones o malentendidos en el futuro.
ARMADO DE BACKLOG + NEEDS DEL EQUIPO
IMPLEMENTACIÓN
¿CÓMO IDENTIFICAR Y DOCUMENTAR 
REQUERIMIENTOS NO FUNCIONALES?
Los requisitos no funcionales se originan en la necesidad del usuario, debido a restricciones presupuestarias, políticas organizacionales, la 
necesidad de interoperabilidad con otros sistemas de software o hardware, o factores externos tales como regulaciones de seguridad, 
políticas de privacidad, entre otros.
Existen diferentes tipos de requisitos y se clasifican según sus implicaciones.
- Requisitos del producto: Especifican el comportamiento del producto, como los requisitos de rendimiento sobre la velocidad de 
ejecución del sistema y la cantidad de memoria necesaria, los requisitos de fiabilidad que establecen la tasa de fallos para que el 
sistema sea aceptable, los requisitos de portabilidady los requisitos de usabilidad.
- Requisitos organizativos: Se derivan de las políticas y procedimientos existentes en la organización cliente y en la organización del 
desarrollador: estándares en los procesos a utilizar; requisitos de implementación tales como lenguajes de programación o el 
método de diseño a utilizar; y requisitos de entrega que especifican cuándo se entregará el producto y su documentación.
- Necesidades externas: Se derivan de factores externos al sistema y a su proceso de desarrollo. Incluyen los requisitos de 
interoperabilidad que definen la forma en que el sistema interactúa con los demás sistemas de la organización; los requisitos legales 
que deben seguirse para garantizar que el sistema funciona dentro de la ley; y los requisitos éticos. Estos últimos se imponen al 
sistema para asegurar que será aceptado por el usuario.
ARMADO DE BACKLOG + NEEDS DEL EQUIPO
IMPLEMENTACIÓN
TÉCNICAS DE ESPECIFICACION DE 
REQUERIMIENTOS
Existen varias técnicas de especificación de requerimientos que se utilizan para capturar y documentar los detalles de los requisitos de un sistema de 
manera clara y precisa
1- Casos de Uso: Los casos de uso describen cómo los actores interactúan con el sistema en diferentes escenarios o situaciones. Se centran en los 
objetivos del usuario y muestran las acciones que se realizan y las respuestas esperadas del sistema
2- Historias de Usuario: Las historias de usuario son breves descripciones de una funcionalidad desde la perspectiva del usuario. Se enfocan en los 
objetivos del usuario y suelen seguir una estructura simple: "Como [tipo de usuario], quiero [realizar una acción] para [obtener un beneficio]".
3- Tablas de Decisión: Las tablas de decisión son una técnica para especificar reglas de negocio o lógica de toma de decisiones. Consisten en una tabla 
que enumera las diferentes condiciones y acciones posibles, lo que facilita la especificación de reglas complejas de manera estructurada.
4- Diagramas de Clases: Los diagramas de clases son utilizados en el modelado orientado a objetos para describir la estructura y las relaciones entre las 
clases del sistema. Ayudan a especificar los requerimientos relacionados con los objetos, sus atributos y métodos, y cómo interactúan entre sí.
5- Prototipado: La creación de prototipos es una técnica que implica desarrollar representaciones visuales o interactivas del sistema para ayudar a los 
stakeholders a comprender mejor los requerimientos. Los prototipos pueden ser rápidos y de baja fidelidad al inicio del proceso, y más detallados y 
refinados a medida que se avanza en la especificación de los requerimientos.
ARMADO DE BACKLOG + NEEDS DEL EQUIPO
IMPLEMENTACIÓN
TÉCNICAS DE ESPECIFICACION DE 
REQUERIMIENTOS - CASOS DE USO
ARMADO DE BACKLOG + NEEDS DEL EQUIPO
IMPLEMENTACIÓN
TÉCNICAS DE ESPECIFICACION DE 
REQUERIMIENTOS - HISTORIAS DE USUARIO
ARMADO DE BACKLOG + NEEDS DEL EQUIPO
IMPLEMENTACIÓN
TÉCNICAS DE ESPECIFICACION DE 
REQUERIMIENTOS - TABLAS DE DECISION
ARMADO DE BACKLOG + NEEDS DEL EQUIPO
IMPLEMENTACIÓN
TÉCNICAS DE ESPECIFICACION DE 
REQUERIMIENTOS - DIAGRAMA DE CLASES
ARMADO DE BACKLOG + NEEDS DEL EQUIPO
IMPLEMENTACIÓN
VALIDACIÓN DE REQUERIMIENTOS
Validar los requerimientos es un paso crucial. Va más allá de leer los documentos, aprobar y recolectar firmas. Aunque esto es necesario a veces, no es lo más importante. 
Validar correctamente los requerimientos es lo que permitirá que el equipo se enfoque en producir y entregar valor frecuentemente. 
Es el paso en el que encontramos lo valioso y nos deshacemos de lo innecesario.
Características de un requerimiento excelente :
- Correcto: el requerimiento provee una función o capacidad que es acorde con una necesidad de los stakeholders. La función está descripta con claridad.
- Factible: es posible implementar el requerimiento dentro de las capacidades y limitaciones del sistema y el proyecto. Por ejemplo, tenemos y conocemos el 
framework de desarrollo para hacerlo y contamos con el tiempo y el presupuesto necesarios.
- Necesario: el requerimiento ofrece a los stakeholders el valor de negocio esperado, diferencia el producto de software de otros en el mercado, o es necesario para 
adecuarse a una regulación externa. 
- No ambiguo: primeramente, la definición del requerimiento debe ser comprensible; quien lo lee debe ser capaz de comprender lo que fue definido. Después, el 
requerimiento debe ser interpretado de la misma manera por dos o más personas.
- Verificable: el requerimiento es verificable si podemos definir formas de probarlo. 
- Consistente: los requerimientos deben ser atómicos y no entrar en conflicto con otros o contradecirse. 
- Completo: la especificación tiene el detalle suficiente para permitirle al equipo entender lo que se debe desarrollar. 
ARMADO DE BACKLOG + NEEDS DEL EQUIPO
IMPLEMENTACIÓN
VALIDACIÓN DE REQUERIMIENTOS ARMADO DE BACKLOG + NEEDS DEL EQUIPOIMPLEMENTACIÓN
Historia de Usuario: Como usuario, quiero que la aplicación sea fácil de usar, de 
modo que no tenga que pasar mucho tiempo aprendiendo a usarla.
¿Qué significa ser “fácil de usar”?
¿Fácil para quién?
¿Cómo se mide?
¿Cómo lo rastreas?
¿Cómo se prueba? ¿Contra qué criterios?
❌
Historia de usuario: Como usuario, quiero que se muestre un tutorial al 
iniciar sesión por primera vez, para que pueda ver para qué se utiliza cada 
opción de la pantalla de inicio.
Ya sabes qué mostrar, un tutorial.
Ya sabes lo que hay que comprobar, que explica cada opción en la pantalla 
de inicio.
Usted sabe cuando necesita ser mostrado, en el primer inicio de sesión del 
usuario (puede explicar más adelante si el tutorial puede ser omitido, 
mostrado en otros momentos, accedido desde alguna sección dentro del 
menú, etc.)
✅
Ejemplo de RNF: El sistema debe ser seguro.
¿Qué tan seguro es “seguro”?
¿En qué situaciones?
¿Existe una norma a cumplir?
¿En qué secciones?
¿Qué debe ocurrir si el sistema no puede funcionar tan rápido como se 
requiere?
❌
Ejemplo de RNF: Todas las comunicaciones externas entre los servidores 
de datos, la aplicación y el cliente del sistema deben estar cifradas 
utilizando el algoritmo RSA.
Sabes qué tipo de comunicaciones necesitan ser encriptadas.
Usted sabe qué algoritmo usar y validar.
✅
ARMADO
DE DOCUMENTACIÓN
En la fase de documentación es donde se registran las necesidades 
del negocio (requisitos del cliente y necesidades del usuario) y se 
definen los requerimientos que debe cumplir el producto, sistema 
o software a desarrollar. 
¿Por qué conviene usar una especificación de requisitos de 
software?
Si los desarrolladores no tienen instrucciones claras con respecto a 
cuándo crear un producto nuevo, probablemente termines 
dedicando tiempo para producir un software que coincida con lo 
que tienes en mente.
Dado que la especificación de requisitos de software es un 
documento dinámico, también puede funcionar como centro para 
las comunicaciones entre las diferentes partes interesadas de un 
proceso de desarrollo de productos. 
ARMADO DE BACKLOG + NEEDS DEL EQUIPO
IMPLEMENTACIÓN
ARMADO DE DOCUMENTACIÓN
1. Introducción
La introducción en esta especificación es exactamente lo que esperas, un panorama global del proyecto en general. Cuando redactes la 
introducción, describe el propósito de la creación del producto, el público que pretendes cautivar y cómo crees que ese público usará el 
software
2. Requisitos funcionales y del sistema
Una vez que hayas terminado la introducción, será hora de volverse más específico. En los requisitos funcionales se desglosan las 
características y funciones que permiten que el sistema se comporte como ha sido previsto.
3. Requisitos de la interfaz externa
Los requisitos de la interfaz externa son tipos de requisitos funcionales con los que se garantiza que el sistema se comunicará correctamente 
con los componentes externos como las interfaces de usuarios, las interfaces de hardware, las interfaces de software, las interfaces para 
comunicaciones
4. Requisitosno funcionales (NRF)
La sección final de los detalles de la especificación de requisitos de software incluye los requisitos no funcionales. Mientras que con los 
requisitos funcionales se le indica al sistema cómo debe comportarse, con los no funcionales (NFR) se determina de qué manera el sistema 
implementará estas funciones
ARMADO DE BACKLOG + NEEDS DEL EQUIPO
IMPLEMENTACIÓN
	Diapositiva 2
	Diapositiva 3
	Diapositiva 4
	Diapositiva 5
	Diapositiva 6
	Diapositiva 7
	Diapositiva 8
	Diapositiva 9
	Diapositiva 10
	Diapositiva 11
	Diapositiva 12
	Diapositiva 13
	Diapositiva 14
	Diapositiva 15
	Diapositiva 16
	Diapositiva 17
	Diapositiva 18
	Diapositiva 19

Continuar navegando