SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
REQUISITOS / REQUERIMIENTOS
         ¿Cómo se Documentan?




        Universidad de los Andes
              Demián Gutierrez
               Febrero 2013
                                   1
Requisitos / Requerimientos




      ¿qué necesito saber
     de un “futuro” sistema?


                               2
¿Qué necesito saber / definir sobre un
sistema?

     Los objetivos de negocios que se desean satisfacer con el
       sistema (esto viene del modelo de negocio del cliente)

                      La visión general del sistema
                            ¿Usted qué cree?

                         El propósito del sistema
                         ¿Para qué lo necesito?

                      Los objetivos del proyecto
                 (y como mido si se cumplieron o no)

                              Los involucrados


        Fundamentado en base a la plantilla Volere, edición 14, Enero 2009   3
¿Qué necesito saber / definir sobre un
sistema?


       Restricciones impuestas (por el cliente o el entorno)


                         Otros hechos relevantes


                         El alcance del proyecto


                         El alcance del producto

                   Los requisitos (evidente)
       Y los hay de muchos tipos (ver la plantilla Volere)

        Fundamentado en base a la plantilla Volere, edición 14, Enero 2009   4
¿Qué necesito saber / definir sobre un
sistema?


                                Otros aspectos


                         Soluciones ya existentes

    Riesgos (Ojo, algunos tratan la “gestión de riesgos como algo
                  completamente aparte y distinto)

                  Costos estimados (Valoración inicial)


                       Ideas de posibles soluciones


         Fundamentado en base a la plantilla Volere, edición 14, Enero 2009   5
Requisitos / Requerimientos




     ¿cómo se documentan
        los requisitos?


                              6
¿Cómo se definen los requerimientos?
Descripciones en Lenguaje Natural

   Usted tiene que desarrollar un sistema de software para la “Policía del Estado Mérida”.
   Entre los requerimientos, hay un proceso que consiste en la gestión de las armas y
   municiones de la armería de la policía. El proceso contempla la entrega de armas a los
   agentes policiales, la devolución de las armas al parque, las pruebas y validaciones de ley
   que se realizan a las armas después de la entrega y finalmente, cualquier proceso de
   investigación posterior en caso de que el armamento haya sido disparado.
   Después de conversar con el comisario sobre el funcionamiento del proceso en discusión, se
   puede resumir la conversación de la siguiente forma:
   Es necesario un proceso que sirva para gestionar la entrega de armamento del parque de
   armas a los “Agentes Policiales”. En general, los Agentes se presentan al “Encargado del
   Parque de Armas” y solicitan cierto armamento. El Encargado del Parque busca el
   armamento solicitado en el inventario y si éste se encuentra disponible se lo entrega al
   Agente. Si el armamento no se encuentra disponible el proceso termina. La entrega ocurre
   sólo luego de que el Agente llene y firme una “Planilla de Retiro de Armamento”. La
   planilla tiene información sobre la fecha en que se entrega el arma al Agente, el serial del
   arma y la cantidad y tipo de munición entregada. Luego de llenar la planilla, el Encargado
   entrega el arma y las municiones al Agente, quien debe revisarlas y poner en la planilla
   cualquier observación o desacuerdo que corresponda al estado de las mismas en caso de ser
   necesario.
                                                                                                  7
¿Cómo se definen los requerimientos?
Listas de “Features” (Características)




                                         8
¿Cómo se definen los requerimientos?
Listas de “Features” (Características)




                                         9
¿Cómo se definen los requerimientos?
Listas de “Features” (Características)




                                         10
¿Cómo se definen los requerimientos?
Listas de “Features” (Características)




                       Discusión

   ¿qué ventajas / desventajas tendrán las listas
   de “features” sobre las descripciones textuales
               en “lenguaje natural”?

     ¿será suficiente una lista de “features” para
               especificar un sistema?


                                                     11
¿Cómo se definen los requerimientos?
Plantillas para Definir Requerimientos




                                                                    12
            Tomado de la plantilla Volere, edición 14, Enero 2009
¿Cómo se definen los requerimientos?
Plantillas para Definir Requerimientos
    # de               045      Tipo de            Funcional     Caso de               054
    Requisito:                  Requisito:                       Uso / Evento
                                                                 Relacionado:
    Descripción:        Los usuarios deben poder intercambiar mensajes y comunicarse por
                        medio del foro, toda la comunicación debe estar moderada para
                        evitar conductas inapropiadas por parte de los usuarios, mensajes
                        basura y publicidad no deseada.
    Justificación:      Esta es la razón de ser del sistema, el objetivo principal de un foro
                        WEB es permitir intercambiar mensajes entre usuarios.
    Origen              Pedro Moreno
    (Interesado):
    Criterio de         El usuario debe poder publicar un mensaje.
    Aceptación /        El mensaje no debe aparecer hasta que un moderador lo acepte.
    Validación:         Si un moderador acepta el mensaje entonces éste aparece publicado.
                        Si un moderador rechaza el mensaje entonces éste no es publicado.
    Nivel de            5                       Nivel de                 5
    satisfacción del                            insatisfacción del
    Interesado:                                 Interesado:
    Prioridad:          5                       Requisitos en            055, 034, 040
                                                Conflicto:
    Material de
    Soporte:
    Última              Modificado 15/08/2009 – Gloria Linares
    Modificación:       Creado 12/02/2009 – Luis Gutierrez
                                                                                                13
                         Ejemplo de un requisito del foro WEB
¿Cómo se definen los requerimientos?
Plantillas para Definir Requerimientos
                         Planilla VOLERE para Documentación de Requisitos
     Identificador del Requisito: 45           Tipo de Requisito: Funcional       Caso de Uso/Evento: 4.2.1

     Descripción:
     Calcular el promedio diario, mensual y anual de precipitación en cada una de las estaciones climatológicas
     del país


     Justificación del requisito
      Es necesario para elaborar los reportes diarios, mensuales y anuales de precipitación.

     Fuente (que interesado lo propone):                      Unidad en la que se origina:
     Juan Peña                                                División de Climatología

     Criterios de validación:
     Los valores obtenidos se compararán con los obtenidos en años pasados para determinar si hay
     inconsistencias.

     Grado de satisfacción del interesado: 3                  Grado de insatisfacción del interesado: 5

     Dependencias (qué requisitos depende de este):35, 48     Conflictos (qué requisitos son incompatibles o
                                                              inconsistentes con este):
     Documentos de soporte: Manual de Precipitación           Histórico de cambios: 20-Mayo-2006


     Proyecto: Sistema de Información Climatológica           Analista: Julia Monsalve

       Tomado del Taller de Ingeniería de Requisitos V 4.06, Ceisoft, Marzo 2006                                  14
              Ejemplo con algunas modificaciones de la plantilla Volere
¿Cómo se definen los requerimientos?
Plantillas para Definir Requerimientos




      Recuerde siempre, que los requerimientos se
    pueden “priorizar”, es decir, algunos requerimientos
   siempre serán mas importantes para el cliente o más
            críticos para el negocio que otros

     En función de estas prioridades se puede decidir
   cuales requerimientos entregar, cuales no y así jugar
   con los costos y los tiempos de desarrollo (afectando
   lo menos posible la satisfacción del cliente / usuario)


                                                             15
¿Cómo se definen los requerimientos?
Plantillas para Definir Requerimientos




      Cuadro Resumen de Requerimientos
              (índice, importante)       16
¿Cómo se definen los requerimientos?
Plantillas para Definir Requerimientos

                               Plantillas Volere*
                                  http://www.volere.co.uk/



                                     MeRinde**
                                http://merinde.rinde.gob.ve/



                              IEEE Std 830-1993
      http://standards.ieee.org/reading/ieee/std_public/description/se/830-1993_desc.html




                        ¿Otras? Sin duda alguna...

     *Gracias a James Robertson de Atlantic System Guild por facilitame una copia
                    gratuita de las plantillas para uso académico
    **MeRinde es más que un grupo de plantillas de apoyo, es una metodología de             17
            desarrollo de software basada en el Proceso Unificado (UP)
Historias de Usuarios
(Modelos ágiles – XP, SCRUM)

   Una historia de usuario es una narración que describe una
   funcionalidad del sistema que tiene valor para un usuario
        Se recogen en unas sencillas tarjetas de forma
         esquemática y en un lenguaje claro y preciso


                Aprobación de nuevos usuarios


   ¿quién?    Yo como administrador del foro 
            quisiera poder aceptar o rechazar los 
            nuevos usuarios registrados para así     ¿qué?
             poder evitar que el foro se llene de 
¿por    qué?             spammers
Historias de Usuarios
(Modelos ágiles – XP, SCRUM)
               Aprobación de nuevos usuarios

                 Yo como administrador del foro 
               quisiera poder aceptar o rechazar los 
               nuevos usuarios registrados para así 
                poder evitar que el foro se llene de 
                            spammers

    Las historias de usuario sirven de “recordatorio” de la
      funcionalidad que es necesario implementar en el
                            sistema
   Antes de implementar una funcionalidad en particular se
       produce una discusión con el usuario, se refina y
       extiende la información de la historia de usuario
¿Cómo se definen los requerimientos?
Lenguajes / Notaciones Gráficas


                                 Límites del
                                  Sistema


                                                   Generalización /
                          Caso de Uso              Especialización
                                                     de Actores

 Asociación
  Caso de
 Uso / Actor




                  Colaboración             Actor
                   entre casos                                        20
                     de uso
Lenguajes / Notaciones Gráficas...
... y su respectiva descripción textual
     Nombre:     Crear mensaje foro
     Autor:      Pedro Pérez
     Fecha:      21/04/09
     Descripción:
     Permite crear un nuevo mensaje (hilo) en el foro de discusión.
     Actores:
     Usuario / Moderador
     Precondiciones:
     El usuario debe de estar autenticado en el sistema.
     Flujo Normal:
     1.- El actor pulsa sobre el botón para crear un nuevo mensaje.
     2.- El sistema muestra una caja de texto para introducir el título del mensaje y una zona de
     mayor tamaño para introducir el cuerpo del mensaje.
     3.- El actor introduce el título del mensaje y el cuerpo del mismo.
     4.- El sistema comprueba la validez de los datos y los almacena.
     5.- El moderador recibe una notificación de que hay un nuevo mensaje.
     6.- El moderador acepta y el sistema publica el mensaje si éste fue aceptado por el moderador.
     Flujo Alternativo:
     4.A.- El sistema comprueba la validez de los datos, si los datos no son correctos, se avisa al
     actor de ello permitiéndole que los corrija.

     6.B.- El moderador rechaza el mensaje, de modo que no es publicado sino devuelto al usuario.
     Poscondiciones:
     El mensaje ha sido almacenado en el sistema y fue publicado.                                     21
¿Cómo se definen los requerimientos?
Listas de “Features” (Características)



                       Discusión

   ¿Cual es la diferencia entre la plantilla anterior
    (Caso de Uso), una Historia de Usuario y la
     ficha Volere para definir requerimientos?
         (Ademas de las diferencias evidentes
               de formato y campos)



                                                        22
¿Cómo se definen los requerimientos?
Lenguajes Formales

                   Ejemplo de “Notación Z”




               No cuenten conmigo... (opinión personal)   23
¿Cómo se definen los requerimientos?
Requisitos Definidos por Pruebas (TDD)
  @Test
  public void celula_central_muere_de_soledad_con_0_vecinos() {
    curr = aMap(). //
        with("...").//
        with(".O.").//
        with("...").build();
    Conway c = new Conway(stringToMap(curr));
    assertTrue(c.liveToDie(2, 2));
  }
  @Test
  public void celula_central_muere_de_asinamiento_con_4_vecinos() {
    curr = aMap(). //
        with("O..").//
        with(".OO").//                                          Estas pruebas validan
        with("OO.").build();
                                                                 un comportamiento,
    Conway c = new Conway(stringToMap(curr));
    assertTrue(c.liveToDie(2, 2));                              pero en cierto sentido,
  }                                                            también especifican un
  @Test
                                                                comportamiento, sobre
  public void celula_central_no_muere_con_2_vecinos() {           todo si se escriben
    curr = aMap(). //                                             antes de escribir el
        with("...").//                                          código que implementa
        with(".OO").//                                              la funcionalidad
        with("..O").build();
    Conway c = new Conway(stringToMap(curr));                           validada
    assertFalse(c.liveToDie(2, 2));
  }                                                                                       24
¿Cómo se definen los requerimientos?
Requisitos Definidos por Pruebas (TDD)

 @Test
 public void canCreateAndAccept() {
   loginAndOpenList();

     list.clickAddDta();
     edit.waitUntilShows();

     edit.fillVal(_PropMCrudB.NAME, "hello");
     edit.fillVal(_PropMCrudB.DESC, "world");

     edit.accept();
     list.waitUntilShows();

     list.navigation().clickNxt();
     list.navigation().waitUntilPageIs("2/4");
     list.navigation().clickNxt();
     list.navigation().waitUntilPageIs("3/4");
     list.navigation().clickNxt();
     list.navigation().waitUntilPageIs("4/4");

     assertThat(list.table().dataAt(2, 1), is("crudB name 10"));
     assertThat(list.table().dataAt(2, 2), is("hello"));
     assertThat(list.table().dataAt(2, 3), is((String) null));

     list.table().clickSelect(2);
     edit.waitUntilShows();

     assertThat(edit.readVal(_PropMCrudB.NAME), is("hello"));
     assertThat(edit.readVal(_PropMCrudB.DESC), is("world"));
 }

                                                                   25
Gestión de Requerimientos



  ¿cómo se pone orden
        en los
    requerimientos?
      ¿gestión de
    requerimientos?
                            26
Gestión de Requerimientos


           ¿qué usuario definió qué
               requerimiento?
    ¿qué requerimientos satisfacen qué
          objetivos de negocio?
   ¿qué requerimiento afecta a qué otro
             requerimiento?
        ¿dónde están diseñados e
    implementados los requerimientos?
                                          27
Gestión de Requerimientos




     ¿qué sucede si un usuario quiere
        cambiar un requerimiento?
 ¿cómo se manejan los cambios, cuál es
  el proceso para manejar los cambios?
                    ...etcétera

                                         28
Gestión de Requerimientos

                Objetivos
               del Negocio
                (O1, O2,
                  O3...)                          X1
                                CU1
                                                  X2

                   R1           CU2
                                                  X3


                   R2           CU3               X4            ...

                                                  X5                ¿Será
                   R3           CU4
                                                                 importante
                                                               también tener
                                                  X6
                                                                    trazas
                                CU5                                con los
                                                  X7          desarrolladores?
                                                                 ¿Por qué?
                                                Diseño,
                                             Componentes
 Interesados    Requisitos   Casos de Uso                                   29
                                            Implementación,
                                                Pruebas
Gestión de Requerimientos
Ejemplo de una matriz de rastreo

    R1 R2 R3 R4 R5      ...   Rn
 R1       X
 R2 X X
 R3             X             X                     Requerimientos
 R4    X        X                                        con
 R5    X        X
                                                    Requerimientos
                                                    (Dependencias /
 ...                                                  Conflictos)

 Rn      X   X   X
                                         U1 U2 U3 U4 U5       ...     Un
                                   R1          X
                                   R2    X X X
                                   R3          X     X
       Requerimientos              R4    X           X
                                   R5    X        X                   X
            con
        Interesados
                                   ...


                                   Rn       X   X    X                     30
Gestión de Requerimientos



         Requerimientos con Casos de Uso

    Requerimientos con Objetivos de Negocio

       Casos de uso con “artefactos” u otros
           componentes en diseño ...
           (Gestión de Configuración)

    Cualquier otra cosa en la que sea necesario
           tener trazas o poder rastrear
    ¿qué va con qué? ¿qué me influencia a qué?
                                                  31
Herramientas para hacer
Gestión de Requerimientos*



         DOORS (IBM / Rational) (Propietario)
         http://www-01.ibm.com/software/awdtools/doors/productline/



          CaliberRM (Borland) (Propietario)
            http://www.borland.com/us/products/caliber/index.html



                IRQA (Visure) (Propietario)
                       http://www.visuresolutions.com/




                        *Requirements Management                      32
Herramientas para hacer
Gestión de Requerimientos*


      RMTOO (Flonatel GmbH & Co. KG.) (Libre)
                http://www.flonatel.de/projekte/rmtoo/



                      aNimble (Libre)
                http://sourceforge.net/projects/nimble



    ¡Si alguien consigue otra buena herramienta en
                 software libre me avisa!




                    *Requirements Management             33
Calidad de los Requisitos




   ¿cómo sé que tengo
  requisitos de calidad?

                            34
¿Cómo sé que tengo requisitos de calidad?


    Los requisitos se expresan de una manera sencilla,
                 clara y sin ambigüedades

      Se expresan de manera cuantitativa (Los NF)
    (No diga que algo debe ser rápido; mejor diga qué
                   tan rápido debe ser)

   Cada requisito debe identificarse de manera única
    e inequívoca (Uso de un sistema de numeración)

      Deben ser correctos y validados por el cliente
                    (muy importante)
                                                         35
¿Cómo sé que tengo requisitos de calidad?



            Deben ser consistentes entre sí
               (No debe haber conflictos o
            incompatibilidad entre requisitos)

     Deben ser completos (deben describir todos los
     estados, entidades, entradas y salidas posibles)
             ¿cómo sé que son completos?

            Deben ser realistas o alcanzables
    (Soñar no cuesta nada... ¡pero hacer realidad los
         sueños puede llegar a salir muy caro!)

                                                        36
¿Cómo sé que tengo requisitos de calidad?

    Deben describir algo que cliente o usuario necesita
          ( resuelven los problemas del cliente
            ¿que sentido tiene si no lo hace? )

                   Deben ser verificables
    (medibles y sin ambigüedad, ¿se implementó o no?)

      Se les debe poder puede hacer un seguimiento
                (Deben estar organizados)

     Deben estar redactados en un lenguaje correcto,
              simple, sencillo y contundente
      (no está escribiendo una novela o un poema)

                                                          37
Gracias




   ¡Gracias!


               38

Mais conteúdo relacionado

Mais procurados

Diagramas estados
Diagramas estadosDiagramas estados
Diagramas estadosloco8888
 
Tema 3- T2: La ERS - Especificación de requisitos de software
Tema 3- T2: La ERS  - Especificación de requisitos de softwareTema 3- T2: La ERS  - Especificación de requisitos de software
Tema 3- T2: La ERS - Especificación de requisitos de softwareMagemyl Egana
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractoserwin_alexander
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estadosstill01
 
Tm03 modelo de casos de uso
Tm03 modelo de casos de usoTm03 modelo de casos de uso
Tm03 modelo de casos de usoJulio Pari
 
Análisisde requerimientos
Análisisde requerimientosAnálisisde requerimientos
Análisisde requerimientosmayrapeg
 
Especificaciones de Requerimientos SRS
Especificaciones de Requerimientos SRSEspecificaciones de Requerimientos SRS
Especificaciones de Requerimientos SRSsullinsan
 
Arquitectura de Datos
Arquitectura de DatosArquitectura de Datos
Arquitectura de DatosJazmin Glez.
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupXochitl Saucedo Muñoz
 
Modelado basados en escenarios
Modelado basados en escenariosModelado basados en escenarios
Modelado basados en escenariosUCATEBA
 
Analisis y especificacion de requerimientos
Analisis y especificacion de requerimientosAnalisis y especificacion de requerimientos
Analisis y especificacion de requerimientosUPTP
 

Mais procurados (20)

Diagramas estados
Diagramas estadosDiagramas estados
Diagramas estados
 
Tema 3- T2: La ERS - Especificación de requisitos de software
Tema 3- T2: La ERS  - Especificación de requisitos de softwareTema 3- T2: La ERS  - Especificación de requisitos de software
Tema 3- T2: La ERS - Especificación de requisitos de software
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos
 
Diagrama de estado
Diagrama de estadoDiagrama de estado
Diagrama de estado
 
Base de datos
Base de datosBase de datos
Base de datos
 
Diseño orientado a objeto
Diseño orientado a objetoDiseño orientado a objeto
Diseño orientado a objeto
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
 
Estimación Software por Puntos de Función
Estimación Software por Puntos de FunciónEstimación Software por Puntos de Función
Estimación Software por Puntos de Función
 
El modelo de tareas
El modelo de tareasEl modelo de tareas
El modelo de tareas
 
Tm03 modelo de casos de uso
Tm03 modelo de casos de usoTm03 modelo de casos de uso
Tm03 modelo de casos de uso
 
Análisisde requerimientos
Análisisde requerimientosAnálisisde requerimientos
Análisisde requerimientos
 
Especificaciones de Requerimientos SRS
Especificaciones de Requerimientos SRSEspecificaciones de Requerimientos SRS
Especificaciones de Requerimientos SRS
 
Arquitectura de Datos
Arquitectura de DatosArquitectura de Datos
Arquitectura de Datos
 
Rational rose
Rational roseRational rose
Rational rose
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rup
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Rup disciplinas
Rup disciplinasRup disciplinas
Rup disciplinas
 
Modelado basados en escenarios
Modelado basados en escenariosModelado basados en escenarios
Modelado basados en escenarios
 
Analisis y especificacion de requerimientos
Analisis y especificacion de requerimientosAnalisis y especificacion de requerimientos
Analisis y especificacion de requerimientos
 

Destaque

3. dercas -_el_documento_de_requerimientos
3. dercas -_el_documento_de_requerimientos3. dercas -_el_documento_de_requerimientos
3. dercas -_el_documento_de_requerimientosEstefanny Martinez Soto
 
Qué es un documento de requerimientos
Qué es un documento de requerimientosQué es un documento de requerimientos
Qué es un documento de requerimientosCarlos Alonso
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónYare LoZada
 
Ingenieria de requerimientos 1
Ingenieria de requerimientos 1Ingenieria de requerimientos 1
Ingenieria de requerimientos 1jmpov441
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones Juan Restrepo
 
Ing de requisitos
Ing de requisitosIng de requisitos
Ing de requisitosYibderson
 
Requisitos Project Management - Gestion de proyectos
Requisitos Project Management - Gestion de proyectosRequisitos Project Management - Gestion de proyectos
Requisitos Project Management - Gestion de proyectosSlime Argentina
 
Ingenieria de requerimientos y de requisitos
Ingenieria de requerimientos y de requisitosIngenieria de requerimientos y de requisitos
Ingenieria de requerimientos y de requisitosLuis Cabello
 
MODULO 6= NEGOCIACIÒN
MODULO 6= NEGOCIACIÒNMODULO 6= NEGOCIACIÒN
MODULO 6= NEGOCIACIÒNAlejandro Leon
 
Clase 05b pruebas introduccion
Clase 05b pruebas introduccionClase 05b pruebas introduccion
Clase 05b pruebas introduccionDemián Gutierrez
 
Clase 05d cobertura de codigo
Clase 05d cobertura de codigoClase 05d cobertura de codigo
Clase 05d cobertura de codigoDemián Gutierrez
 
Clase 05a calidad verificacion validacion
Clase 05a calidad verificacion validacionClase 05a calidad verificacion validacion
Clase 05a calidad verificacion validacionDemián Gutierrez
 
Clase 09a frameworks_ejemplo
Clase 09a frameworks_ejemploClase 09a frameworks_ejemplo
Clase 09a frameworks_ejemploDemián Gutierrez
 

Destaque (20)

3. dercas -_el_documento_de_requerimientos
3. dercas -_el_documento_de_requerimientos3. dercas -_el_documento_de_requerimientos
3. dercas -_el_documento_de_requerimientos
 
Qué es un documento de requerimientos
Qué es un documento de requerimientosQué es un documento de requerimientos
Qué es un documento de requerimientos
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicación
 
Ingenieria de requerimientos 1
Ingenieria de requerimientos 1Ingenieria de requerimientos 1
Ingenieria de requerimientos 1
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones
 
Componentes mhcn
Componentes mhcnComponentes mhcn
Componentes mhcn
 
Guide to the software engineering body of knowledge
Guide to the software engineering body of knowledgeGuide to the software engineering body of knowledge
Guide to the software engineering body of knowledge
 
Ing de requisitos
Ing de requisitosIng de requisitos
Ing de requisitos
 
Requisitos Project Management - Gestion de proyectos
Requisitos Project Management - Gestion de proyectosRequisitos Project Management - Gestion de proyectos
Requisitos Project Management - Gestion de proyectos
 
Ingenieria de requerimientos y de requisitos
Ingenieria de requerimientos y de requisitosIngenieria de requerimientos y de requisitos
Ingenieria de requerimientos y de requisitos
 
MODULO 6= NEGOCIACIÒN
MODULO 6= NEGOCIACIÒNMODULO 6= NEGOCIACIÒN
MODULO 6= NEGOCIACIÒN
 
Clase 05b pruebas introduccion
Clase 05b pruebas introduccionClase 05b pruebas introduccion
Clase 05b pruebas introduccion
 
Clase 03 XP
Clase 03 XPClase 03 XP
Clase 03 XP
 
Clase 01 agilidad
Clase 01 agilidadClase 01 agilidad
Clase 01 agilidad
 
Clase 05d cobertura de codigo
Clase 05d cobertura de codigoClase 05d cobertura de codigo
Clase 05d cobertura de codigo
 
Clase 10 mvc
Clase 10 mvcClase 10 mvc
Clase 10 mvc
 
Clase 05a calidad verificacion validacion
Clase 05a calidad verificacion validacionClase 05a calidad verificacion validacion
Clase 05a calidad verificacion validacion
 
Clase 09a frameworks_ejemplo
Clase 09a frameworks_ejemploClase 09a frameworks_ejemplo
Clase 09a frameworks_ejemplo
 
Hg mini manual
Hg mini manualHg mini manual
Hg mini manual
 
Clase 09a frameworks
Clase 09a frameworksClase 09a frameworks
Clase 09a frameworks
 

Semelhante a Clase 04b requerimientos documentacion

Analisis derequerimientos
Analisis derequerimientosAnalisis derequerimientos
Analisis derequerimientosljds
 
Unidad 2 Ingeniería de requerimientos
Unidad 2 Ingeniería de requerimientosUnidad 2 Ingeniería de requerimientos
Unidad 2 Ingeniería de requerimientosmezcalote
 
Ingenieria de requerimientos
Ingenieria de requerimientosIngenieria de requerimientos
Ingenieria de requerimientosTensor
 
Análisis y diseño de sistemas sesion 09 - validacion de requisitos ii
Análisis y diseño de sistemas   sesion 09 - validacion de requisitos iiAnálisis y diseño de sistemas   sesion 09 - validacion de requisitos ii
Análisis y diseño de sistemas sesion 09 - validacion de requisitos iiGianfrancoEduardoBra
 
Desarrollo de prototipos
Desarrollo de prototiposDesarrollo de prototipos
Desarrollo de prototiposTensor
 
Presentación digital Eliezer Alas
Presentación digital Eliezer AlasPresentación digital Eliezer Alas
Presentación digital Eliezer AlasEliezer Alas
 
Unidad13analisisderequerimientos 13026971308524-phpapp01
Unidad13analisisderequerimientos 13026971308524-phpapp01Unidad13analisisderequerimientos 13026971308524-phpapp01
Unidad13analisisderequerimientos 13026971308524-phpapp01duberlisg
 
Especificacion De Requerimentos De Software
Especificacion De  Requerimentos De SoftwareEspecificacion De  Requerimentos De Software
Especificacion De Requerimentos De SoftwareJgperez
 
Taller en clases
Taller en clasesTaller en clases
Taller en clases3045433345
 
Analisis y Diseño de Sistemas
Analisis y Diseño de SistemasAnalisis y Diseño de Sistemas
Analisis y Diseño de Sistemascardan2007i
 
Requerimientosdfsdsvsvsvfsfvfvfsfvsfvsvfv
RequerimientosdfsdsvsvsvfsfvfvfsfvsfvsvfvRequerimientosdfsdsvsvsvfsfvfvfsfvsfvsvfv
RequerimientosdfsdsvsvsvfsfvfvfsfvsfvsvfvLuis Caballero
 
Trabajo de sistemas II
Trabajo de sistemas IITrabajo de sistemas II
Trabajo de sistemas IIAnthoni Cedeno
 
Requerimientos
RequerimientosRequerimientos
RequerimientosLismirabal
 

Semelhante a Clase 04b requerimientos documentacion (20)

Material de apoyo analis de requerimientos
Material de apoyo analis de requerimientosMaterial de apoyo analis de requerimientos
Material de apoyo analis de requerimientos
 
Analisis derequerimientos
Analisis derequerimientosAnalisis derequerimientos
Analisis derequerimientos
 
Unidad 2 Ingeniería de requerimientos
Unidad 2 Ingeniería de requerimientosUnidad 2 Ingeniería de requerimientos
Unidad 2 Ingeniería de requerimientos
 
Ingenieria de requerimientos
Ingenieria de requerimientosIngenieria de requerimientos
Ingenieria de requerimientos
 
Análisis y diseño de sistemas sesion 09 - validacion de requisitos ii
Análisis y diseño de sistemas   sesion 09 - validacion de requisitos iiAnálisis y diseño de sistemas   sesion 09 - validacion de requisitos ii
Análisis y diseño de sistemas sesion 09 - validacion de requisitos ii
 
Desarrollo de prototipos
Desarrollo de prototiposDesarrollo de prototipos
Desarrollo de prototipos
 
Presentación digital Eliezer Alas
Presentación digital Eliezer AlasPresentación digital Eliezer Alas
Presentación digital Eliezer Alas
 
Requerimiento
RequerimientoRequerimiento
Requerimiento
 
Unidad13analisisderequerimientos 13026971308524-phpapp01
Unidad13analisisderequerimientos 13026971308524-phpapp01Unidad13analisisderequerimientos 13026971308524-phpapp01
Unidad13analisisderequerimientos 13026971308524-phpapp01
 
Ingenieria requisitos
Ingenieria requisitosIngenieria requisitos
Ingenieria requisitos
 
Taller en clases (1)
Taller en clases (1)Taller en clases (1)
Taller en clases (1)
 
Especificacion De Requerimentos De Software
Especificacion De  Requerimentos De SoftwareEspecificacion De  Requerimentos De Software
Especificacion De Requerimentos De Software
 
User stories
User storiesUser stories
User stories
 
Taller en clases
Taller en clasesTaller en clases
Taller en clases
 
Analisis y Diseño de Sistemas
Analisis y Diseño de SistemasAnalisis y Diseño de Sistemas
Analisis y Diseño de Sistemas
 
Requerimientosdfsdsvsvsvfsfvfvfsfvsfvsvfv
RequerimientosdfsdsvsvsvfsfvfvfsfvsfvsvfvRequerimientosdfsdsvsvsvfsfvfvfsfvsfvsvfv
Requerimientosdfsdsvsvsvfsfvfvfsfvsfvsvfv
 
Tema 1 Ingeniería de Requisitos
Tema 1 Ingeniería de RequisitosTema 1 Ingeniería de Requisitos
Tema 1 Ingeniería de Requisitos
 
Trabajo de sistemas II
Trabajo de sistemas IITrabajo de sistemas II
Trabajo de sistemas II
 
Requerimientos
RequerimientosRequerimientos
Requerimientos
 
Analisis de requerimientos
Analisis de requerimientosAnalisis de requerimientos
Analisis de requerimientos
 

Mais de Demián Gutierrez

Mais de Demián Gutierrez (19)

Clase 04 diseno_ui
Clase 04 diseno_uiClase 04 diseno_ui
Clase 04 diseno_ui
 
Estructuras de Datos Espaciales (Topico Especial)
Estructuras de Datos Espaciales (Topico Especial)Estructuras de Datos Espaciales (Topico Especial)
Estructuras de Datos Espaciales (Topico Especial)
 
Clase 14b uml_actividades
Clase 14b uml_actividadesClase 14b uml_actividades
Clase 14b uml_actividades
 
Clase 14a uml_estados
Clase 14a uml_estadosClase 14a uml_estados
Clase 14a uml_estados
 
Clase 13 uml_paquetes
Clase 13 uml_paquetesClase 13 uml_paquetes
Clase 13 uml_paquetes
 
Clase 12b uml_clases_ejemplos
Clase 12b uml_clases_ejemplosClase 12b uml_clases_ejemplos
Clase 12b uml_clases_ejemplos
 
Clase 12a uml_clases
Clase 12a uml_clasesClase 12a uml_clases
Clase 12a uml_clases
 
Clase 11 uml_casos_de_uso
Clase 11 uml_casos_de_usoClase 11 uml_casos_de_uso
Clase 11 uml_casos_de_uso
 
Clase 09c seleccion
Clase 09c seleccionClase 09c seleccion
Clase 09c seleccion
 
Clase 08c ejemplo_maquina_virtual
Clase 08c ejemplo_maquina_virtualClase 08c ejemplo_maquina_virtual
Clase 08c ejemplo_maquina_virtual
 
Clase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cledaClase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cleda
 
Clase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicosClase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicos
 
Clase 07b patrones_diseno_ejemplo
Clase 07b patrones_diseno_ejemploClase 07b patrones_diseno_ejemplo
Clase 07b patrones_diseno_ejemplo
 
Clase 07a patrones_diseno
Clase 07a patrones_disenoClase 07a patrones_diseno
Clase 07a patrones_diseno
 
Clase 06 diseno_arquitectura
Clase 06 diseno_arquitecturaClase 06 diseno_arquitectura
Clase 06 diseno_arquitectura
 
Clase 05c niveles de pruebas
Clase 05c niveles de pruebasClase 05c niveles de pruebas
Clase 05c niveles de pruebas
 
Clase 04a requerimientos introduccion
Clase 04a requerimientos introduccionClase 04a requerimientos introduccion
Clase 04a requerimientos introduccion
 
Clase 02 Scrum
Clase 02 ScrumClase 02 Scrum
Clase 02 Scrum
 
Clase 01 presentacion
Clase 01 presentacionClase 01 presentacion
Clase 01 presentacion
 

Último

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Último (16)

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Clase 04b requerimientos documentacion

  • 1. REQUISITOS / REQUERIMIENTOS ¿Cómo se Documentan? Universidad de los Andes Demián Gutierrez Febrero 2013 1
  • 2. Requisitos / Requerimientos ¿qué necesito saber de un “futuro” sistema? 2
  • 3. ¿Qué necesito saber / definir sobre un sistema? Los objetivos de negocios que se desean satisfacer con el sistema (esto viene del modelo de negocio del cliente) La visión general del sistema ¿Usted qué cree? El propósito del sistema ¿Para qué lo necesito? Los objetivos del proyecto (y como mido si se cumplieron o no) Los involucrados Fundamentado en base a la plantilla Volere, edición 14, Enero 2009 3
  • 4. ¿Qué necesito saber / definir sobre un sistema? Restricciones impuestas (por el cliente o el entorno) Otros hechos relevantes El alcance del proyecto El alcance del producto Los requisitos (evidente) Y los hay de muchos tipos (ver la plantilla Volere) Fundamentado en base a la plantilla Volere, edición 14, Enero 2009 4
  • 5. ¿Qué necesito saber / definir sobre un sistema? Otros aspectos Soluciones ya existentes Riesgos (Ojo, algunos tratan la “gestión de riesgos como algo completamente aparte y distinto) Costos estimados (Valoración inicial) Ideas de posibles soluciones Fundamentado en base a la plantilla Volere, edición 14, Enero 2009 5
  • 6. Requisitos / Requerimientos ¿cómo se documentan los requisitos? 6
  • 7. ¿Cómo se definen los requerimientos? Descripciones en Lenguaje Natural Usted tiene que desarrollar un sistema de software para la “Policía del Estado Mérida”. Entre los requerimientos, hay un proceso que consiste en la gestión de las armas y municiones de la armería de la policía. El proceso contempla la entrega de armas a los agentes policiales, la devolución de las armas al parque, las pruebas y validaciones de ley que se realizan a las armas después de la entrega y finalmente, cualquier proceso de investigación posterior en caso de que el armamento haya sido disparado. Después de conversar con el comisario sobre el funcionamiento del proceso en discusión, se puede resumir la conversación de la siguiente forma: Es necesario un proceso que sirva para gestionar la entrega de armamento del parque de armas a los “Agentes Policiales”. En general, los Agentes se presentan al “Encargado del Parque de Armas” y solicitan cierto armamento. El Encargado del Parque busca el armamento solicitado en el inventario y si éste se encuentra disponible se lo entrega al Agente. Si el armamento no se encuentra disponible el proceso termina. La entrega ocurre sólo luego de que el Agente llene y firme una “Planilla de Retiro de Armamento”. La planilla tiene información sobre la fecha en que se entrega el arma al Agente, el serial del arma y la cantidad y tipo de munición entregada. Luego de llenar la planilla, el Encargado entrega el arma y las municiones al Agente, quien debe revisarlas y poner en la planilla cualquier observación o desacuerdo que corresponda al estado de las mismas en caso de ser necesario. 7
  • 8. ¿Cómo se definen los requerimientos? Listas de “Features” (Características) 8
  • 9. ¿Cómo se definen los requerimientos? Listas de “Features” (Características) 9
  • 10. ¿Cómo se definen los requerimientos? Listas de “Features” (Características) 10
  • 11. ¿Cómo se definen los requerimientos? Listas de “Features” (Características) Discusión ¿qué ventajas / desventajas tendrán las listas de “features” sobre las descripciones textuales en “lenguaje natural”? ¿será suficiente una lista de “features” para especificar un sistema? 11
  • 12. ¿Cómo se definen los requerimientos? Plantillas para Definir Requerimientos 12 Tomado de la plantilla Volere, edición 14, Enero 2009
  • 13. ¿Cómo se definen los requerimientos? Plantillas para Definir Requerimientos # de 045 Tipo de Funcional Caso de 054 Requisito: Requisito: Uso / Evento Relacionado: Descripción: Los usuarios deben poder intercambiar mensajes y comunicarse por medio del foro, toda la comunicación debe estar moderada para evitar conductas inapropiadas por parte de los usuarios, mensajes basura y publicidad no deseada. Justificación: Esta es la razón de ser del sistema, el objetivo principal de un foro WEB es permitir intercambiar mensajes entre usuarios. Origen Pedro Moreno (Interesado): Criterio de El usuario debe poder publicar un mensaje. Aceptación / El mensaje no debe aparecer hasta que un moderador lo acepte. Validación: Si un moderador acepta el mensaje entonces éste aparece publicado. Si un moderador rechaza el mensaje entonces éste no es publicado. Nivel de 5 Nivel de 5 satisfacción del insatisfacción del Interesado: Interesado: Prioridad: 5 Requisitos en 055, 034, 040 Conflicto: Material de Soporte: Última Modificado 15/08/2009 – Gloria Linares Modificación: Creado 12/02/2009 – Luis Gutierrez 13 Ejemplo de un requisito del foro WEB
  • 14. ¿Cómo se definen los requerimientos? Plantillas para Definir Requerimientos Planilla VOLERE para Documentación de Requisitos Identificador del Requisito: 45 Tipo de Requisito: Funcional Caso de Uso/Evento: 4.2.1 Descripción: Calcular el promedio diario, mensual y anual de precipitación en cada una de las estaciones climatológicas del país Justificación del requisito Es necesario para elaborar los reportes diarios, mensuales y anuales de precipitación. Fuente (que interesado lo propone): Unidad en la que se origina: Juan Peña División de Climatología Criterios de validación: Los valores obtenidos se compararán con los obtenidos en años pasados para determinar si hay inconsistencias. Grado de satisfacción del interesado: 3 Grado de insatisfacción del interesado: 5 Dependencias (qué requisitos depende de este):35, 48 Conflictos (qué requisitos son incompatibles o inconsistentes con este): Documentos de soporte: Manual de Precipitación Histórico de cambios: 20-Mayo-2006 Proyecto: Sistema de Información Climatológica Analista: Julia Monsalve Tomado del Taller de Ingeniería de Requisitos V 4.06, Ceisoft, Marzo 2006 14 Ejemplo con algunas modificaciones de la plantilla Volere
  • 15. ¿Cómo se definen los requerimientos? Plantillas para Definir Requerimientos Recuerde siempre, que los requerimientos se pueden “priorizar”, es decir, algunos requerimientos siempre serán mas importantes para el cliente o más críticos para el negocio que otros En función de estas prioridades se puede decidir cuales requerimientos entregar, cuales no y así jugar con los costos y los tiempos de desarrollo (afectando lo menos posible la satisfacción del cliente / usuario) 15
  • 16. ¿Cómo se definen los requerimientos? Plantillas para Definir Requerimientos Cuadro Resumen de Requerimientos (índice, importante) 16
  • 17. ¿Cómo se definen los requerimientos? Plantillas para Definir Requerimientos Plantillas Volere* http://www.volere.co.uk/ MeRinde** http://merinde.rinde.gob.ve/ IEEE Std 830-1993 http://standards.ieee.org/reading/ieee/std_public/description/se/830-1993_desc.html ¿Otras? Sin duda alguna... *Gracias a James Robertson de Atlantic System Guild por facilitame una copia gratuita de las plantillas para uso académico **MeRinde es más que un grupo de plantillas de apoyo, es una metodología de 17 desarrollo de software basada en el Proceso Unificado (UP)
  • 18. Historias de Usuarios (Modelos ágiles – XP, SCRUM) Una historia de usuario es una narración que describe una funcionalidad del sistema que tiene valor para un usuario Se recogen en unas sencillas tarjetas de forma esquemática y en un lenguaje claro y preciso Aprobación de nuevos usuarios ¿quién? Yo como administrador del foro  quisiera poder aceptar o rechazar los  nuevos usuarios registrados para así  ¿qué? poder evitar que el foro se llene de  ¿por qué? spammers
  • 19. Historias de Usuarios (Modelos ágiles – XP, SCRUM) Aprobación de nuevos usuarios Yo como administrador del foro  quisiera poder aceptar o rechazar los  nuevos usuarios registrados para así  poder evitar que el foro se llene de  spammers Las historias de usuario sirven de “recordatorio” de la funcionalidad que es necesario implementar en el sistema Antes de implementar una funcionalidad en particular se produce una discusión con el usuario, se refina y extiende la información de la historia de usuario
  • 20. ¿Cómo se definen los requerimientos? Lenguajes / Notaciones Gráficas Límites del Sistema Generalización / Caso de Uso Especialización de Actores Asociación Caso de Uso / Actor Colaboración Actor entre casos 20 de uso
  • 21. Lenguajes / Notaciones Gráficas... ... y su respectiva descripción textual Nombre: Crear mensaje foro Autor: Pedro Pérez Fecha: 21/04/09 Descripción: Permite crear un nuevo mensaje (hilo) en el foro de discusión. Actores: Usuario / Moderador Precondiciones: El usuario debe de estar autenticado en el sistema. Flujo Normal: 1.- El actor pulsa sobre el botón para crear un nuevo mensaje. 2.- El sistema muestra una caja de texto para introducir el título del mensaje y una zona de mayor tamaño para introducir el cuerpo del mensaje. 3.- El actor introduce el título del mensaje y el cuerpo del mismo. 4.- El sistema comprueba la validez de los datos y los almacena. 5.- El moderador recibe una notificación de que hay un nuevo mensaje. 6.- El moderador acepta y el sistema publica el mensaje si éste fue aceptado por el moderador. Flujo Alternativo: 4.A.- El sistema comprueba la validez de los datos, si los datos no son correctos, se avisa al actor de ello permitiéndole que los corrija. 6.B.- El moderador rechaza el mensaje, de modo que no es publicado sino devuelto al usuario. Poscondiciones: El mensaje ha sido almacenado en el sistema y fue publicado. 21
  • 22. ¿Cómo se definen los requerimientos? Listas de “Features” (Características) Discusión ¿Cual es la diferencia entre la plantilla anterior (Caso de Uso), una Historia de Usuario y la ficha Volere para definir requerimientos? (Ademas de las diferencias evidentes de formato y campos) 22
  • 23. ¿Cómo se definen los requerimientos? Lenguajes Formales Ejemplo de “Notación Z” No cuenten conmigo... (opinión personal) 23
  • 24. ¿Cómo se definen los requerimientos? Requisitos Definidos por Pruebas (TDD) @Test public void celula_central_muere_de_soledad_con_0_vecinos() { curr = aMap(). // with("...").// with(".O.").// with("...").build(); Conway c = new Conway(stringToMap(curr)); assertTrue(c.liveToDie(2, 2)); } @Test public void celula_central_muere_de_asinamiento_con_4_vecinos() { curr = aMap(). // with("O..").// with(".OO").// Estas pruebas validan with("OO.").build(); un comportamiento, Conway c = new Conway(stringToMap(curr)); assertTrue(c.liveToDie(2, 2)); pero en cierto sentido, } también especifican un @Test comportamiento, sobre public void celula_central_no_muere_con_2_vecinos() { todo si se escriben curr = aMap(). // antes de escribir el with("...").// código que implementa with(".OO").// la funcionalidad with("..O").build(); Conway c = new Conway(stringToMap(curr)); validada assertFalse(c.liveToDie(2, 2)); } 24
  • 25. ¿Cómo se definen los requerimientos? Requisitos Definidos por Pruebas (TDD) @Test public void canCreateAndAccept() { loginAndOpenList(); list.clickAddDta(); edit.waitUntilShows(); edit.fillVal(_PropMCrudB.NAME, "hello"); edit.fillVal(_PropMCrudB.DESC, "world"); edit.accept(); list.waitUntilShows(); list.navigation().clickNxt(); list.navigation().waitUntilPageIs("2/4"); list.navigation().clickNxt(); list.navigation().waitUntilPageIs("3/4"); list.navigation().clickNxt(); list.navigation().waitUntilPageIs("4/4"); assertThat(list.table().dataAt(2, 1), is("crudB name 10")); assertThat(list.table().dataAt(2, 2), is("hello")); assertThat(list.table().dataAt(2, 3), is((String) null)); list.table().clickSelect(2); edit.waitUntilShows(); assertThat(edit.readVal(_PropMCrudB.NAME), is("hello")); assertThat(edit.readVal(_PropMCrudB.DESC), is("world")); } 25
  • 26. Gestión de Requerimientos ¿cómo se pone orden en los requerimientos? ¿gestión de requerimientos? 26
  • 27. Gestión de Requerimientos ¿qué usuario definió qué requerimiento? ¿qué requerimientos satisfacen qué objetivos de negocio? ¿qué requerimiento afecta a qué otro requerimiento? ¿dónde están diseñados e implementados los requerimientos? 27
  • 28. Gestión de Requerimientos ¿qué sucede si un usuario quiere cambiar un requerimiento? ¿cómo se manejan los cambios, cuál es el proceso para manejar los cambios? ...etcétera 28
  • 29. Gestión de Requerimientos Objetivos del Negocio (O1, O2, O3...) X1 CU1 X2 R1 CU2 X3 R2 CU3 X4 ... X5 ¿Será R3 CU4 importante también tener X6 trazas CU5 con los X7 desarrolladores? ¿Por qué? Diseño, Componentes Interesados Requisitos Casos de Uso 29 Implementación, Pruebas
  • 30. Gestión de Requerimientos Ejemplo de una matriz de rastreo R1 R2 R3 R4 R5 ... Rn R1 X R2 X X R3 X X Requerimientos R4 X X con R5 X X Requerimientos (Dependencias / ... Conflictos) Rn X X X U1 U2 U3 U4 U5 ... Un R1 X R2 X X X R3 X X Requerimientos R4 X X R5 X X X con Interesados ... Rn X X X 30
  • 31. Gestión de Requerimientos Requerimientos con Casos de Uso Requerimientos con Objetivos de Negocio Casos de uso con “artefactos” u otros componentes en diseño ... (Gestión de Configuración) Cualquier otra cosa en la que sea necesario tener trazas o poder rastrear ¿qué va con qué? ¿qué me influencia a qué? 31
  • 32. Herramientas para hacer Gestión de Requerimientos* DOORS (IBM / Rational) (Propietario) http://www-01.ibm.com/software/awdtools/doors/productline/ CaliberRM (Borland) (Propietario) http://www.borland.com/us/products/caliber/index.html IRQA (Visure) (Propietario) http://www.visuresolutions.com/ *Requirements Management 32
  • 33. Herramientas para hacer Gestión de Requerimientos* RMTOO (Flonatel GmbH & Co. KG.) (Libre) http://www.flonatel.de/projekte/rmtoo/ aNimble (Libre) http://sourceforge.net/projects/nimble ¡Si alguien consigue otra buena herramienta en software libre me avisa! *Requirements Management 33
  • 34. Calidad de los Requisitos ¿cómo sé que tengo requisitos de calidad? 34
  • 35. ¿Cómo sé que tengo requisitos de calidad? Los requisitos se expresan de una manera sencilla, clara y sin ambigüedades Se expresan de manera cuantitativa (Los NF) (No diga que algo debe ser rápido; mejor diga qué tan rápido debe ser) Cada requisito debe identificarse de manera única e inequívoca (Uso de un sistema de numeración) Deben ser correctos y validados por el cliente (muy importante) 35
  • 36. ¿Cómo sé que tengo requisitos de calidad? Deben ser consistentes entre sí (No debe haber conflictos o incompatibilidad entre requisitos) Deben ser completos (deben describir todos los estados, entidades, entradas y salidas posibles) ¿cómo sé que son completos? Deben ser realistas o alcanzables (Soñar no cuesta nada... ¡pero hacer realidad los sueños puede llegar a salir muy caro!) 36
  • 37. ¿Cómo sé que tengo requisitos de calidad? Deben describir algo que cliente o usuario necesita ( resuelven los problemas del cliente ¿que sentido tiene si no lo hace? ) Deben ser verificables (medibles y sin ambigüedad, ¿se implementó o no?) Se les debe poder puede hacer un seguimiento (Deben estar organizados) Deben estar redactados en un lenguaje correcto, simple, sencillo y contundente (no está escribiendo una novela o un poema) 37
  • 38. Gracias ¡Gracias! 38