GUÍA DE REQUERIMIENTOS
Introducción y conceptos básicos
La importancia de los Requerimienos
En la actualidad, ya sea para un software o un sistema web o aplicación movil tener todo a la medida es fundamental para tener éxito y evitar invertir en un producto poco funcional.
Todo esto puede ocurrir si no se considerar las ecesidades especiales, tecnologías, costes, tiempo y demás variables de un proyecto.
Todo esto lo realiza un análisis de requerimientos, una investigación o una idea de una necesidad tecnológica que pueda llegar a tener una emprea o negocio.
Detalles como su modo operacional, su interaz, sistemas operativos compatibles, restricciones, seguridad, numero de usuarios son necesarios y se deben tomar en cuenta para tener un sistema de calidez y una buena eficacia.
Se identifican areas de oportunidad investigando las mismas
Se modela en físico y de manera visual
Se especifica para crear un plan de acción
Es un análisis escrito en un documento donde se describe con lujo de detalle el plan del proyecto o el esquema a segui para el desarrollo
El cliente y el desarollador trabajn mano a mano en el proceso del desarrollo del proyecto y es fundamental la comunicación paa esto principalmente para tener claridad y así cumplir la entrega del proyecto con todos los debidos requerimientos.
Sin una buena comunicación será como construir una casa sin sus planos arquitectónicos.
¿Pero qué son?
Un requerimiento son las especificaciones de lo que debe de realizar el software, son descripciones del comportamiento, propiedad, restricciones que hay que desarrollar.
Son las descripciones de propiedades necesarias y efiientes de un producto para que se satisfaga las necesidades del consumidor (proceso de recopilar, analizar y verificar las necesidades del software).
Características
Son una combinación compleja de los requisitos de los diferentes stakeholders que pertenecen a diferentes niveles de una organización y entorno donde operará el software.
Verificables y claras así como cuantificables, en pocas palabras posibles
Consiste en:
Elicitación: Tomar los requerimientos de diversas fuentes individuales (ofrecer y proponer en base a las necesidades)
Análisis: Asegurar que las necesidades de todos los usuarios son consistentes y factibles (tiene que ser viable, considerar y ver estos requerimientos)
Específicación: Validar los requerimientos que se derivan de un reflejo exacto de las necesidades del usuario (el cliente es muy diferente al usuario y por lo tanto tienes diferentes necesidades)
¿Qué es un Stakeholder?
Es el público de interés de una empresa que permite su completo funcionamiento, personas u organizaciones que se relacinan con las actividades y desiciones de una empresa, gobierno, etc..
Toda la gente que influye en el software directamente
Abogados, contadores, recursos humanos
No olvidar y por si acaso
La IEE es el organismo que se encarga de estandarizar la calidad del software sin ilegalidades.
Dificultades de los Requerimientos
Necesidades y obstáculos
1) Es necesario reflejar las necesidades reales de los clientes
2) Son inconsstentes y/o incompletos los requerimientos
3) Realizar cambios sobre los requisitos ya definidos es muy costoso
4) Pueden existir malentendidos entre los stakeholders y los ingenieros de software
5) Impresición de los requisitos lo cual provoca que sen interpretados de diferentes formas de los stakeholders
6) Frecuentemente no está claro la frontera entre requisitos y diseño UI
Tareas específicas de la ingeniería de requerimientos
01: Concepción
Ver y saber sobre el proyecto, investigar y conocer lo más posible
02: Indagación
Conocer el alcance, tener el entendimiento o volatibilidad del proyecto y procurar conocer los recursos necesarios
03: Elaboración (escenario)
Plantear las peores situaciónes en el plan de desarrollo para siempre tener un plan B
04: Negociación
Ser el mediador del proceso del proyecto
05: Específicación
Establecer las necesidades y tener todo claro
06: Validación
Comprobar que todo se este siguiendo al pie de la letra y validar que el proceso este siendo el correcto
07: Administración
Probar el proyecto, testearlo y mejorarlo
Vida del sistema
A) Identificar los Stakeholders
B) Tener claro el entendimiento del cliente, usuario, necesidades del sistema
C) Identificar los requerimientos
D) Clarificar y restructurar los requerimientos
E) Definición de requerimietos para los stakeholders
F) Especificación de los requerimientos
G) Priorización de requerimientos
H) Colocación de requerimientos
I) Tracking de requerimientos
J) Administración de requerimientos
K) Testeo y verificación de requerimientos
Indagación de Requerimientos
Primeras preguntas
Cliente, participantes, metas y beneficios
¿Quién está detrás de la solicitud de este trabajo? ¿Quién usará la solución? ¿Cuál será el beneficio económico de una solución exitosa?
Percepción del cliente respecto a la solución
¿Cuál serría una "buena" salida generada por una solución exitosa? ¿Qué problemas resolvería esta solución? ¿Puede mostrar (o describir) el ambiente de negocios en el que se usaría la solución?
Meta preguntas
¿Mis preguntas son relevantes? ¿Es usted la persona indicada para resolver las preguntas de manera oficial? ¿Debería yo preguntar algo más?
Despliegue de Requerimientos
Requerimientos Normales
Objetivos y metas que se establecen para un producto o sistema durante las reuniones con el cliente
Requerimientos Esperados
Están implicitos en el producto o sistema y quizá sean tan importantes que el cliente no los mencione de forma explícita
Requerimientos Emocionantes
Estas carcaterísitas van más allá de las expectativas dekl cliente y son muy satisfactorias si están presentes
Tipos de Requerimientos
Funcionales
De usuario: Son declaraciones de los servicios que se espera que el sistema ofrezca y las restricciones por las cuales debe operar
Del sistema: Establece con detalle los servicios y restricciones del sistema
Es en pocas palabras el ¿Qué hace?
No funcionales
Es en pocas palabras el entorno de desarrollo
Requisitos de producto: Estos especifican el comportamiento del producto
Requisitos de organización: Se deriva de las políicas y procedimientos existentes en la organización del cliente y en la del desarrollo
Contexto de la empresa
Requisitos externos: Requerimientos de interoperabilidad que definen la manera en que el sistema interactúa co los otros sistemas de la organización
Unificar y trabajar en conjunto
Por ejemplo decir en que aplicación se va desarrollar