Ing. Requerimientos

15
Diseño de Sistemas Thaylor Mosquera Castro

description

Características de los requerimientos y tareas de la ingeniería de requerimientos

Transcript of Ing. Requerimientos

Page 1: Ing. Requerimientos

Diseño de SistemasThaylor Mosquera Castro

Page 2: Ing. Requerimientos

INGENIERÍA DE REQUERIMIENTOS• Entender los requerimientos de una solución basada en software es una

de las tareas mas difíciles para un(a) Ing. de software.

• Como otras actividades de Ing. de Software, ésta debe adaptarse a las necesidades del proceso, proyecto, producto y gente que hace el software.

• La Ing. de Requerimientos provee de un mecanismo apropiado para entender que quiere el consumidor, analizar sus necesidades, valorar la factibilidad de construcción, negociar una solución razonable, especificar de manera no ambigua una solución, validar la especificación y administrar los requerimientos conforme se transforman.

Page 3: Ing. Requerimientos

Características de los RequerimientosLas características de un requerimiento son sus propiedades principales.

Un conjunto de requerimientos en estado de madurez, deben presentar una serie de características tanto individualmente como en grupo.

Necesario: un requerimiento es necesario si su omisión provoca una deficiencia en el sistema a construir , y además su capacidad.

Conciso: Un requerimiento es conciso si es fácil de leer y entender.

Completo: Un requerimiento esta completo si no necesita ampliar detalles en su redacción, se proporciona la información suficiente para su comprensión.

Consistente: un requerimiento es consistente si no es contradictorio con otro requerimiento.

No ambiguo: un requerimiento no es ambiguo cuando tiene una sola interpretación. Verificable: un requerimiento es verificable cuando puede ser cuantificado de manera que permita hacer uso de los siguientes métodos de verificación: inspección, análisis, demostración o pruebas.

Page 4: Ing. Requerimientos

Tareas de la Ing. de Requerimientos

• Iniciación (Inception)• Obtención (Elicitation)• Elaboración• Negociación• Especificación• Validación (Validation)• Administración

Algunas de estas funciones pueden ocurrir en paralelo y ajustarse a las necesidades del proyecto

Page 5: Ing. Requerimientos

INICIACIÓN¿Como se empieza un proyecto?

Algunas veces inicia por conversaciones informales, otras de manera mas formal; normalmente como resultado de una necesidad importante.

En esta parte, los ingenieros de software realizan preguntas “libres de contexto” (generales), para establecer un entendimiento básico del problema, determinar las personas que quieren una solución, la naturaleza de la solución, y la efectividad de las colaboraciones y comunicaciones preliminares que se generan entre el consumidor y el desarrollador

Page 6: Ing. Requerimientos

Obtención de Requerimientos

Se refiere a definir formalmente los requerimientos de la

solución. Es difícil porque como ya se ha visto:

– Hay problemas de definición de alcances– Hay problemas de entendimiento entre los involucrados– Hay problemas de volatilidad (los requerimientos cambian con el tiempo)

Page 7: Ing. Requerimientos

Elaboración

• Esta actividad expande y refina la información obtenida en la tarea

de iniciación

• Se enfoca en realizar modelos técnicos refinados de las funciones

del software, características y limitantes.

• Es básicamente una función de modelado. Se conduce a través de

la definición de escenarios del usuario que describen la interacción

del usuario final con el sistema

• Se define el dominio del problema desde varios puntos de vista:

información, funciones y comportamiento

Page 8: Ing. Requerimientos

Negociación• Los usuarios y consumidores normalmente piden mas de lo que se

puede hacer con los recursos con que se cuenta.

• Casi siempre diferentes involucrados piden cosas diferentes, por lo

que hay que conciliar intereses a través de negociaciones.

• Hay varias maneras para negociar, y depende de la cultura de la

organización y tamaño del proyecto

Page 9: Ing. Requerimientos

Especificación• Especificación significa diferentes cosas para diferentes personas en

el área de Ing. de software.

• Este es el producto de trabajo final de la ingeniería de requerimientos.

• Sirve como base para actividades subsecuentes.

• Describe la función y desempeño de un sistema y las restricción que

tiene.

• Hay muchas técnicas para escribir especificaciones: diagramas,

narraciones en prosa, modelos matemáticos, dibujos, etc.

Page 10: Ing. Requerimientos

Validación

• El producto generado por la ingeniería de requerimientos debe ser evaluado en términos de congruencia y calidad. Se debe asegurar que la especificación concuerda con las expectativas del usuario y que no es ambigua.

• Deben detectarse y corregirse errores, omisiones e inconsistencias con respecto a los estándares establecidos en el proyecto.

• El mecanismo común de validación es la revisión técnica formal.

Page 11: Ing. Requerimientos

Administración• Actividades que ayudan al equipo de trabajo a identificar, controlar y

seguir los requerimientos y cambios que ocurren en ellos a través de todo el proceso de desarrollo.

• La administración empieza con la identificación de cada requerimiento. Posteriormente se generan tablas que permitirán darles seguimiento. Algunas de éstas son:

– Tablas de características– Tablas de fuentes– Tablas de dependencias– Tablas de subsistemas– Tablas de interfaces

Page 12: Ing. Requerimientos

Pasos del proceso de Iniciación• Identificación de involucrados (Stakeholders).• Reconocimiento de diferentes puntos de vista.• Desarrollo de un ambiente colaborativo. Implica

identificar puntos en común, áreas de conflicto e inconsistencias.

• Aplicación de preguntas iniciales.

Page 13: Ing. Requerimientos

Algunas preguntas Iniciales típicasPrimeras

– ¿Quién está detrás de la requisición de este trabajo?– ¿Quién usará la solución ?– ¿ Cual es el beneficio económico de una solución exitosa?– ¿ Hay otras fuentes para obtener la solución buscada que se

necesitarán?

Siguientes:– ¿ Qué sería una “buena salida” para generar una solución

eficiente?– ¿ Que problemas aparecerán con esta solución?– ¿ Podría describirme el medio ambiente en que la solución

funcionará?– ¿ Qué aspectos de desempeño o limitaciones afectan la solución?

Page 14: Ing. Requerimientos

Algunas preguntas Iniciales típicasSiguientes:

– ¿ Es Usted la persona correcta a preguntarle? ¿Son sus respuestas “oficiales”?

– ¿ Considera mis preguntas relevantes al problema que Usted tiene?

– ¿ Le estoy preguntando demasiado?– ¿ Puede alguien mas darme información adicional ?

Page 15: Ing. Requerimientos

Fin