Toma de requerimientos
Semana 01 ; Lectura 01
1 Requisitos
declaraciones que especifican lo que el sistema debe hacer o cumplir para satisfacer las necesidades y expectativas de los usuarios.
2 Ingeniería de Requerimientos
- Define y determina las necesidades de los stakeholders, para satisfacer un sistema de software nuevo o la modificación de éste.
3 Ingeniería del Software
- La aplicación de un enfoque sistematico, disciplinado y cuantificable para el desarrollo, operación y mantenimiento de software.
3.1 Disciplinas
4 Tipos de Requerimientos
4.1 Requerimiento de los Stakeholders
Lo que las personas o grupos que están involucrados en el proyecto necesitan o esperan del sistema.
Ejemplos
- Usuarios finales quieren poder encontrar fácilmente los productos que buscan.
- Clientes quieren poder pagar sus compras de forma segura y conveniente.
- Proveedores quieren poder enviar productos a los clientes de forma rápida y eficiente.
4.2 Requerimientos de Solución
- Cómo el sistema debe funcionar para cumplir con los requerimientos del negocioa y de los interesados.
- Caracteristicas y comportamientos del sistema.
- Componentes técnicos que se utilizarán para complementarlo.
Ejemplos
- El sistema debe utilizar una base de datos para almacenar la información de los productos y los clientes.
- El sistema debe utilizar un servicio de pago para procesar los pagos de los clientes.
- El sistema debe estar disponible las 24 horas del día, los 7 días de la semana.
4.3 Requerimientos de Transición
- Cómo el sistema se implementará y se pondrá en marcha.
- Pasos necesarios para mover desde la fase de desarrollo a la fase en producción.
Ejemplos
- El sistema debe probarse exhaustivamente antes de su implementación.
- El sistema debe documentarse para que los usuarios finales y los administradores puedan utilizarlo.
- El sistema debe integrarse con los sistemas existentes.
4.4 Requerimientos Funcionales
- Describen lo que el sistema debe hacer en términos de tareas o servicios de usuario.
- Especifican qué acciones debe realizar el sistema y qué resultados debe proporcionar.
Ejemplo:
- Si el diseño de la arquitectura de la solución requiere que el sistema utilice una base de datos, el requerimiento funcional correspondiente deberá especificar qué datos se almacenarán en la base de datos y cómo se accederá a ellos.
4.5 Requerimientos No Funcionales
- Describen las cualidadesl del sistema, como su rendimiento, seguridad, usabilidad y escalabilidad.
- No definen lo que el sistema debe hacer, sino cómo debe hacerlo.
Ejemplo
- El sistema debe ser seguro y proteger los datos de los usuarios.
5 Documento de Requerimientos
- No existe un formato estándar.
- Sin embargo, hay algunos elementos presentes:
- Introducción
- Descripción requerimientos funcionales
- Descripción requerimientos no funcionales
- Apéndices
6 Actividad Práctica
¿Cuál es el impacto del éxito de un proyecto de desarrollo de software en la calidad de los requisitos establecidos para el sistema?
- Incrementa la complejidad del sistema.
- Minimiza la importancia de los requisitos.
- No tiene impacto en los requisitos.
- Depende del tamaño del proyecto.
Según la definición de IEEE, ¿Cómo se traduce la ingeniería de software?
- Aplicación desordenada de enfoques.
- Enfoque sistemático y disciplinado.
- Proceso creativo sin restricciones.
- Desarrollo caótico de software.
En la estrategia iterativa e incremental, ¿Cómo se aplican las disciplinas de ingeniería de software?
- Se completan de manera secuencial.
- Se aplican repetida e incrementalmente.
- Se ignoran en cada iteración.
- No hay una estrategia iterative e incremental.
Según el estándar ISO/IEC/IEEE 24765-2017, ¿Cuáles son las tres categorías en las que se dividen los requerimientos?
- Estructurales, comportamentales, y técnicos.
- Funcionales, no funcionales, y de diseños.
- Negocio, interesados, solución y transición.
- Primarios, secundarios y operativos.
¿Por qué son importantes los requerimientos no funcionales en el desarrollo de software?
- Definen las tareas o servicios de usuario.
- Cuantifican o miden la calidad del sistema.
- Se centran en funciones específicas del software.
- Documentan la arquitectura del sistema.