IR09 Administrando requisitos

download IR09  Administrando requisitos

of 28

Transcript of IR09 Administrando requisitos

  • 8/20/2019 IR09 Administrando requisitos

    1/66

    Ingeniería de requerimientos

    Ingeniería de Sistemas e Informática

  • 8/20/2019 IR09 Administrando requisitos

    2/66

    Propósito de la sesión

    • Describe el proceso de la

    administración derequerimientos.

    Contenido de la sesión

    • Administración derequerimientos.

    Propósito y contenido de la sesión

  • 8/20/2019 IR09 Administrando requisitos

    3/66

    Recapitulando …

  • 8/20/2019 IR09 Administrando requisitos

    4/66

    INTRODUCCIÓN A LA GERENCIA DE LOSREQUERIMIENTOS

    Ingeniería de requerimientos

  • 8/20/2019 IR09 Administrando requisitos

    5/66

    Según Dorfman y Thayer (1990)

    la ingeniería de Requerimientos:

    Es una capacidad delsoftware, que necesita elusuario para solucionar un

    problema y alcanzar unobjetivo

    Es una capacidad del

    software, que debe poseer unsistema para satisfacer un

    contrato o especificaciones uotra documentación

    impuesta.

    ¿Que es un requisito?

  • 8/20/2019 IR09 Administrando requisitos

    6/66

    ¿Qué es la gerencia de los requerimientos?

    Definiremos a gerencia de los

    Requerimientos como:• Una propuesta sistemática de como obtener,

    organizar, documentar los requerimientos delsistema.

    • Un proceso que establece y mantiene un acuerdoentre el cliente y el equipo del proyecto con respectoa los requerimientos y cambios de los mismos.

  • 8/20/2019 IR09 Administrando requisitos

    7/66

    Aplicación de las técnicas de administración de

    Requerimientos

    Tipos de Software deaplicación

    Sistemas de Información(esta categoría es la base

    para la industria de latecnología de información)

    Software comercial (comoprocesadores de texto)

    Software para dispositivoscomplejos como(aeroplanos, celulares)

  • 8/20/2019 IR09 Administrando requisitos

    8/66

    El dominio del problema

    Involucrarse en el Problema (hacer que elproblema sea nuestro), entender su contexto,

    idioma, cultura, necesidades, etc.

    Dentro del dominio del problema, utilizamos unsistema de habilidades, como mapa para

    entender el problema a solucionar.

    Mientras definimos el dominio del problema,necesitamos obtener una comprensión del

    problema y de las necesidades.

  • 8/20/2019 IR09 Administrando requisitos

    9/66

    Moviéndose hacia el dominio de la solución• En este espacio de la solución, nos centramos en definir una

    solución al problema del usuario; éste es el reino de

    computadoras, de la programación, de sistemas operativos, deredes y de nodos de procesamiento.

    • Como requisito fundamental es comprender en el Dominio delProblema, sin la comprensión adecuada de esté, la soluciónpodría empeorar el problema.

  • 8/20/2019 IR09 Administrando requisitos

    10/66

    Los Requerimientos del software• Una vez que hayamos establecido los requerimientos

    conforme a lo establecido por el usuario, podemos empezar aestablecer los requerimientos mas específicos

    • Si se desarrolla un sistema conforme a los requerimientosestablecidos, el producto final tendrá todas las capacidadessolicitadas por los usuarios.

  • 8/20/2019 IR09 Administrando requisitos

    11/66

    Dominio y solución del problema

  • 8/20/2019 IR09 Administrando requisitos

    12/66

    EL EQUIPO DE DESARROLLO DE SOFTWARE

    Habilidades

    12

  • 8/20/2019 IR09 Administrando requisitos

    13/66

    Gerencia de los requerimientos• La gerencia de los Requerimientos “usa” a cada miembro del

    equipo de diversas maneras.

    La gerencia eficaz de los requerimientos se logra con unequipo eficaz

    • Seis habilidades son necesarias en el equipo

  • 8/20/2019 IR09 Administrando requisitos

    14/66

    Habilidades indispensables del equipo para la gerencia

    eficaz de los requerimientos (1)

    Habilidad 1

    • Analizar elproblema

    • Técnicas que elequipo utilizaparacomprender

    adecuadamenteel problema.

    Habilidad 2

    • Entender lasnecesidades delusuario

    • Técnicas que elequipo utilizapara extraer los

    requerimientosde los usuariosdel sistema ystakeholders.

    Habilidad 3

    • Definiendo elSistema

    • Definición inicialdel sistema queorientará esasnecesidades

    (estructura,visión).

  • 8/20/2019 IR09 Administrando requisitos

    15/66

    Habilidades indispensables del equipo para la gerencia

    eficaz de los requerimientos (29

    Habilidad 4

    • Administrar el

    alcance• Definir las

    características aimplementar en elprimer lanzamiento(línea base y línea

    de fondo)

    Habilidad 5

    • Refinar la definición

    de Sistema• Organizar la

    información de losrequerimientos

    • Elaborar ladefinición del

    sistema oredefinirla a unnivel convenientede diseño eimplementación

    Habilidad 6

    • Construir el sistema

    correcto• Aseguramiento,

    verificación,validación yadministración decambios

    (trazabilidad)• Asegurar un

    resultado decalidad

  • 8/20/2019 IR09 Administrando requisitos

    16/66

    Habilidades indispensables del equipo para la gerencia

    eficaz de los requerimientos

    Habilidad 4

    • Administrar el

    alcance• Definir las

    características aimplementar en elprimer lanzamiento(línea base y línea

    de fondo)

    Habilidad 5

    • Refinar la definición

    de Sistema• Organizar la

    información de losrequerimientos

    • Elaborar ladefinición del

    sistema oredefinirla a unnivel convenientede diseño eimplementación

    Habilidad 6

    • Construir el sistema

    correcto• Aseguramiento,

    verificación,validación yadministración decambios

    (trazabilidad)• Asegurar un

    resultado decalidad

  • 8/20/2019 IR09 Administrando requisitos

    17/66

    Diversas habilidades de los miembros del

    equipoLos miembros del equipo tienendiversas habilidades:

    • - Programación de Software.

    • - Pruebas de Software.

    • - Manejo de requerimientos con eficacia.

    Los aspectos más importantesson el balance y la cobertura para

    lograr un excelente equipo.

  • 8/20/2019 IR09 Administrando requisitos

    18/66

    LOS CINCO PASOS EN EL ANÁLISIS DELPROBLEMA

    Analizando el problema

  • 8/20/2019 IR09 Administrando requisitos

    19/66

    Los cinco pasos en el análisis del problema

    5. Identificar las restricciones a ser impuestas en la solución

    4. Definir los límites del sistema

    3. Identificar los stakeholders y los usuarios

    2. Entender las causas raíz

    1. Conseguir un acuerdo sobre la definición del problema

  • 8/20/2019 IR09 Administrando requisitos

    20/66

    Formato para la declaración del problema

  • 8/20/2019 IR09 Administrando requisitos

    21/66

    1. Conseguir un acuerdo sobre la definición del

    problema

    • Dedicar tiempo en conseguir acuerdo sobre el problema es unpequeño paso significativo.

    Por ejemplo: – Un cliente, fabricantes de equipos industriales, estaba

    comprometido con la actualización de sus TICs, la cual estarelacionada con su facturación y la generación de informes

    financieros entre la compañía y sus distribuidores. – El tema para el nuevo software fue “mejorar la

    comunicación con los distribuidores”.

  • 8/20/2019 IR09 Administrando requisitos

    22/66

    Ejemplo: Conseguir un acuerdo sobre la definición del

    problema

    • Durante la discusión de la definición del problema: – La visión de la gerencia fue substancialmente diferente:

    • La meta primaria del nuevo sistema es proporcionar transferencia de fondos

    electrónicos que mejoraría el flujo de efectivo de la compañía.• Después de un arduo debate, los problemas se priorizaron:

    1. Transferir fondos electrónicos,

    2. Correo electrónico, y

    3. Otras características de comunicación con los distribuidores

    • Se reoriento sustancial los objetivos• La nueva definición del problema fue la transferencia de

    fondos electrónicos, como el problema a ser resuelto

  • 8/20/2019 IR09 Administrando requisitos

    23/66

    2. Entender las causas raíz

    Una compañía se enfoco en los costos de los desechos.

    • El diagrama de la espina de pescado nos ayuda a identificar losproblemas detrás del problema (Gestión de la calidad total, Total QualityManagement, TQM).

    La compañía identificó muchas fuentes que causan

    “desechos”.

    Cada fuente se listo como uno de las “espinas" en el

    diagrama.

  • 8/20/2019 IR09 Administrando requisitos

    24/66

    Diagrama de la espina

  • 8/20/2019 IR09 Administrando requisitos

    25/66

    Diagrama de la espina

  • 8/20/2019 IR09 Administrando requisitos

    26/66

    Diagrama de Pareto de las causas raíz

  • 8/20/2019 IR09 Administrando requisitos

    27/66

    Dirigiendo la Causa de la Raíz

    Con los resultados obtenidos, el equipo

    descubrió una sola causa de la raíz

    80:20, separa los “pocos vitales” de

    los “muchos triviales”

    En un problema con muchas causas,podemos decir que el 20% de las

    causas resuelven el 80% delproblema y el 80% de las causas solo

    resuelven el 20% del problema.

  • 8/20/2019 IR09 Administrando requisitos

    28/66

    Declaración del problema con respecto a la

    orden de las ventas

  • 8/20/2019 IR09 Administrando requisitos

    29/66

    3. Identificar a los stakeholders y los usuarios

    Implica entrevistar a laspersonas que toman las

    decisiones, los usuariospotenciales y otros interesados.

    Stakeholders

    • Alguien quien podría afectar laimplementación del nuevo sistema oaplicación

  • 8/20/2019 IR09 Administrando requisitos

    30/66

    Usuarios y stakeholders del nuevo sistema

  • 8/20/2019 IR09 Administrando requisitos

    31/66

    4. Definir el límite del sistema

    El límite del sistema define la frontera entre la solucióny el mundo real que rodea la solución

    La información, en forma de entradas y salidas, que sonllevados de un lado a otro del sistema, para que losusuarios que están fuera del sistema lo puedan usar

    Todas las interacciones con el sistema ocurren víainterfaces entre el sistema y el mundo externo

  • 8/20/2019 IR09 Administrando requisitos

    32/66

    La Relación Entrada / Sistema / Salida

    • Así, dividimos el mundo en dos clases

    1. Nuestro sistema

    2. Cosas que interactúan con nuestro sistema

  • 8/20/2019 IR09 Administrando requisitos

    33/66

    Límite del Sistema

  • 8/20/2019 IR09 Administrando requisitos

    34/66

    5. Identificar las restricciones a ser impuestas en

    la solución

    Restringen nuestra habilidad para

    entregar una solución como nosotros loprevemos

    Cada restricción debe ser consideradocuidadosamente como parte del procesode la planificación

  • 8/20/2019 IR09 Administrando requisitos

    35/66

    Restricciones potenciales del sistema

    Fuente Restricciones potenciales

    Económico   • ¿Qué restricciones financieros opresupuestarios son aplicables?

    • ¿Hay costos de ventas o cualquier

    consideraciones de precio de los

    productos?• ¿Hay algún problema de la autorización?

    Técnico   • ¿Tenemos restricciones tecnologías?

    • ¿Tenemos limitaciones para trabajar dentro

    de plataformas existentes o tecnologías?

    • ¿Nos prohíben cualquier nueva tecnología?

    • ¿Estamos limitados para usar paquetes del

    software?

  • 8/20/2019 IR09 Administrando requisitos

    36/66

    CARACTERÍSTICAS DEL SISTEMA

    Features

    36

  • 8/20/2019 IR09 Administrando requisitos

    37/66

    Síndrome del usuario y desarrollador

  • 8/20/2019 IR09 Administrando requisitos

    38/66

    Características del sistema

    • Las características del sistema son expresiones de conducta dealto nivel del sistema deseado

    • Las características del sistema deben limitarse de 25 a 99,

    siendo de preferencia no mayor a 50• Los atributos del sistema proporcionan información adicional

    sobre sus características del sistema

  • 8/20/2019 IR09 Administrando requisitos

    39/66

    Características

    • Los stakeholders no manifiestan su necesidad real. – Si no aumento la productividad del departamento, no conseguiré mi

    paga extraordinaria a fin de año –

    Debo reducir el tiempo de las transacciones de las ventas en mas del50% – El vehículo tendrá un sistema de mando de computarizado en cada

    rueda – Necesito mejorar el control de producción

  • 8/20/2019 IR09 Administrando requisitos

    40/66

    Ejemplo de características

  • 8/20/2019 IR09 Administrando requisitos

    41/66

  • 8/20/2019 IR09 Administrando requisitos

    42/66

    Atributos de las características del producto

    • Para administrar las características introducimos la noción deatributos de las características, o datos que proporcionaninformación adicional.

    • Los atributos relacionan las características a otros tipos deinformación del proyecto. – Podemos usar los atributos para rastrear (identificador

    único, estados, datos históricos, etc.), para priorizar ymanejar las características propuestas para la aplicación.

    • Por ejemplo –

    La prioridad del atributo podría usarse para capturar los resultados dela votación acumulativa en una sesión del brainstorming; – El número de versión de atributo podría usarse para una versión inicial

    de un software específico en la que estamos pensando implementaruna característica específica.

  • 8/20/2019 IR09 Administrando requisitos

    43/66

  • 8/20/2019 IR09 Administrando requisitos

    44/66

    EL ALCANCE DEL PROYECTO

    Scope

  • 8/20/2019 IR09 Administrando requisitos

    45/66

    Componentes del alcance del proyecto

    • La funcionalidad que se debe entregar para resolver lasnecesidades del usuario

    Los recursos disponibles para el proyecto• El tiempo disponible

    Time line

    Deadline

    Scope

         R    e    s    o    u    r    c    e    s

         R    e    s    o    u    r    c    e    s

  • 8/20/2019 IR09 Administrando requisitos

    46/66

    Requerimientos iníciales

    • El propósito de la administración del alcance del proyecto estáen establecer un alto nivel de requerimientos para el proyecto.

    • El punto de inicio es el listado detallado de características o

    exigencias.• Este punto de partida debe ser reconocido tanto por el cliente

    como por el equipo desarrollador.

  • 8/20/2019 IR09 Administrando requisitos

    47/66

    • Debe ser al menos"aceptable" para el cliente.

    • Tener una probabilidadrazonable de éxito (en laopinión del equipo).

    Punto de partida

    Característica 1

    Característica 2

    .

    .

    .

    Etc.

  • 8/20/2019 IR09 Administrando requisitos

    48/66

    Listado de características

    • El listado de características representa la herramientaprimordial del proyecto que se usa antes de que se realiceninversiones significativas en el refinado de requerimientos,diseño, pruebas u otras actividades del proyecto.

  • 8/20/2019 IR09 Administrando requisitos

    49/66

    Ejemplo: Proyecto de Software

    Características

    Característica 1: Soporte crítico de una base de datos relacional externa

    Característica 4: Portabilidad a una nueva versión del Sistema Operativo

    Característica 6: Importar data externaCaracterística 3: Capacidad de hacer una copia del proyecto

    Característica 2: Seguridad Multiusuario

    Característica 5: Asistente para un nuevo proyecto

    Característica 7: Implementar herramientas de ayudaCaracterística 8: Integrar con el subsistema de administración de versiones

  • 8/20/2019 IR09 Administrando requisitos

    50/66

    Escenario de prioridades

    • Durante la priorización, es importante que los clientes yusuarios, administradores del producto (software) - no elequipo desarrollador- liste las prioridades.

    • Esta priorización inicial debería ser hecha sin demasiadainfluencia de la comunidad técnica; de otra manera, elnivel de dificultad en la realización de las característicasinfluirá en las prioridades del cliente y el resultado delproceso será influenciado, así no se podrá encontrar las

    verdaderas necesidades del cliente.• Habrá oportunidad adecuada para la asistencia técnica en

    las fases posteriores del proceso de priorización.

  • 8/20/2019 IR09 Administrando requisitos

    51/66

    Priorizando característicasCaracterísticas Prioridad

    Característica 1: Soporte crítico de una base de datosrelacional externa

    Crítico

    Característica 4: Portabilidad a una nueva versión del SistemaOperativo

    Crítico

    Característica 6: Importar data externa Crítico

    Característica 3: Capacidad de hacer una copia del proyecto Importante

    Característica 2: Seguridad Multiusuario ImportanteCaracterística 5: Asistente para un nuevo proyecto Importante

    Característica 7: Implementar herramientas de ayuda Útil

    Característica 8: Integrar con el subsistema de administraciónde versiones

    Útil

  • 8/20/2019 IR09 Administrando requisitos

    52/66

    Determinación del esfuerzo• El siguiente paso está en establecer el nivel de esfuerzo

    implicado por cada característica propuesta.

    La priorización es sólo una parte del alcance. Después de todo,si nosotros podríamos hacer todo el trabajo, la priorizaciónsería innecesaria.

  • 8/20/2019 IR09 Administrando requisitos

    53/66

    Esfuerzo para cada característica

    Característica Prioridad Esfuerzo

    C1: Soporte de una base de datos relacional externa Crítica Medio

    C4: Portabilidad a una nueva versión del sistemaoperativo

    Crítica Alto

    C6: Importar data externa Crítica Bajo

    C3: Capacidad para realizar una copia del proyecto Importante Alto

    C2: Seguridad multiusuario. Importante Bajo

    C5: Asistente de un nuevo proyecto Importante Bajo

    C7: Implementar herramientas de ayuda Útil Bajo

    C8: Integración con el subsistema de administración deversiones

    Útil Alto

  • 8/20/2019 IR09 Administrando requisitos

    54/66

    Agregando el elemento “riesgo”

    • Otro aspecto de administrar el alcance del proyecto,es estimar el “riesgo” asociado con cada requisito. –

    Consideraremos el riesgo como la probabilidad en que laimplementación de un característica o requisito causará un impactoadverso en el cronograma y el presupuesto.

    • Una característica con alto riesgo tiene el potencial

    de afectar negativamente al proyecto, aun si todas lasotras características pueden ser completadas dentrodel tiempo permitido.

  • 8/20/2019 IR09 Administrando requisitos

    55/66

    Escala del riesgo

    • El equipo de desarrollo establece el riesgo, usando la escala: – Bajo

     – Medio

     – Alto• La misma escala usada en la valoración de esfuerzo.

  • 8/20/2019 IR09 Administrando requisitos

    56/66

    Lista de características con el riesgo agregadoRequisito Prioridad Esfuerzo Riesgo

    Feature 1 Base de datos relacional externa Crítica Medio Bajo

    Feature 4 Portabilidad a nueva versión de sistemaoperativo

    Crítica Alto Medio

    Feature 6 Importar datos externos Crítica Bajo Alto

    Feature 3 Capacidad de hacer copia del proyecto Importante Alto Medio

    Feature 2 Seguridad multiusuario Importante Bajo Alto

    Feature 5 Asistente de nuevo proyecto Importante Bajo Bajo

    Feature 7 Tool Tips ( consejos) Útil Bajo Alto

    Feature 8 Subsistema de administración de versiones Útil Alto Bajo

  • 8/20/2019 IR09 Administrando requisitos

    57/66

    Estrategias para reducir el riesgo

    • Las estrategias para reducir el riesgo se diferenciandependiendo de cada proyecto.

     – Para propósitos de gestión del alcance del proyecto, esadecuado establecer el riesgo asociado con cada rasgo orequisito, para tomar las mejores decisiones al inicio delproyecto.

     – Por ejemplo, si un requisito tiene una:• Prioridad “crítica” y un riesgo“alto”

    • Una estrategia de atenuación o reducción es obligatoria.Requisito Prioridad Esfuerzo Riesgo

    Feature 6 Importar datos externos Crítica Bajo Alto

  • 8/20/2019 IR09 Administrando requisitos

    58/66

    Estrategias para reducir el riesgo

    • Si un requisito tiene una:

     – Prioridad “importante” y un riesgo“bajo”

     – El requisito puede ser pospuesto o desarrollarlo “si hay tiempo

    disponible”

     – En este caso no hay problema, siempre que no se haya hecho algúncompromiso de incluirlo antes del lanzamiento del sistema

    Requisito Prioridad Esfuerzo Riesgo

    Feature 5 Asistente de nuevo proyecto Importante Bajo Bajo

  • 8/20/2019 IR09 Administrando requisitos

    59/66

    Reduciendo el alcance del proyecto• Hemos priorizado requisitos asociados con el esfuerzo y el

    riesgo.

     – Existe a menudo poca correlación entre la prioridad, el esfuerzo y elriesgo, esto puede ayudar al equipo en la priorización de losrequisitos. Por ejemplo,

     – Puede ser candidato para su inmediata implementación.

    Requisito Prioridad Esfuerzo Riesgo

    Feature 1 Base de datos relacional externa Crítica Medio Bajo

  • 8/20/2019 IR09 Administrando requisitos

    60/66

    Directivas para fijar las prioridades de desarrollo de

    requisitos críticos

    Características (requisitos) Considere

    Prioridad: Crítico Esfuerzo: Alto Riesgo: Alto ¡Alarma! Establecer estrategia inmediata de reducción de riesgo;asignar recursos inmediatamente; enfocarse en la viabilidad conla arquitectura.

    Prioridad: Crítica Esfuerzo: Alto Riesgo: Bajo Un rasgo probablemente limitado con recursos restringidos.Asignar recursos inmediatamente.

    Prioridad: Crítica Esfuerzo: Bajo Riesgo: Bajo Recurso como con un hecho de seguridad. Diferir hasta después.

  • 8/20/2019 IR09 Administrando requisitos

    61/66

    Línea base y línea de fondo

    • Es suficiente en muchos proyectos del mundo real a sacar la“baseline” en los requisitos críticos, quizá incluyendo uno odos características que tengan la prioridad de “importante”

    • Las características debajo de la línea de fondo soncaracterísticas futuras y se consideran en posterioreslanzamientos

    • Algunas características no son independientes, convendrá

    incluir un requisito debajo de la línea base junto con los queestán por encima de la línea base.

    Lista de la que se fijó las prioridades de la característica

  • 8/20/2019 IR09 Administrando requisitos

    62/66

    Características (Requisito) Prioridad Esfuerzo Riesgo

    Feature 1 Base de datos relacional externa Crítica Medio Bajo

    Feature 4 Portabilidad a nueva versión de sistema operativo Crítica Alto Medio

    Feature 6 Importar datos externos Crítica Bajo Alto

    Feature 3 Capacidad de hacer una copia del proyecto Importante Alto Medio

    Línea base (las características por encima de esta línea son características comprometidas)

    Feature 2 Seguridad multiusuario Importante Bajo Alto

    Feature 5 Asistente de nuevo proyecto Importante Bajo Bajo

    Feature 7 Tool Tips ( consejos) Útil Bajo Alto

    Feature 8 Subsistema de administración de versiones Útil Alto Bajo

  • 8/20/2019 IR09 Administrando requisitos

    63/66

    Preguntas

  • 8/20/2019 IR09 Administrando requisitos

    64/66

    ¿Qué hemos aprendido?

  • 8/20/2019 IR09 Administrando requisitos

    65/66

    Reflexionemos

  • 8/20/2019 IR09 Administrando requisitos

    66/66