SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Lenguajes de Descripción de Arquitecturas
Lenguajes de Descripción de Arquitecturas Lenguajes de Descripción de Arquitecturas
Lenguajes de Descripción de Arquitecturas
Shelisse De la Cruz
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistema
Universidad Tecnológica
 
Ieee 830 srs
Ieee 830 srsIeee 830 srs
Ieee 830 srs
LauC2457
 
Analisis estructurado y_dfd_-_presentacion_de_clase
Analisis estructurado y_dfd_-_presentacion_de_claseAnalisis estructurado y_dfd_-_presentacion_de_clase
Analisis estructurado y_dfd_-_presentacion_de_clase
elvis1151
 
Diagrama de componentes
Diagrama de componentesDiagrama de componentes
Diagrama de componentes
uitron
 

Tendances (20)

Analisis y especificacion de requerimientos
Analisis y especificacion de requerimientosAnalisis y especificacion de requerimientos
Analisis y especificacion de requerimientos
 
Filosofos cenando++
Filosofos cenando++Filosofos cenando++
Filosofos cenando++
 
Trabajo Casos de Uso
Trabajo Casos de Uso Trabajo Casos de Uso
Trabajo Casos de Uso
 
Lenguajes de Descripción de Arquitecturas
Lenguajes de Descripción de Arquitecturas Lenguajes de Descripción de Arquitecturas
Lenguajes de Descripción de Arquitecturas
 
PLAN SQA
PLAN SQAPLAN SQA
PLAN SQA
 
diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistema
 
cmmi-dev
cmmi-devcmmi-dev
cmmi-dev
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionalesRequisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
 
Ingenieria de requisitos
Ingenieria de requisitosIngenieria de requisitos
Ingenieria de requisitos
 
Ieee 830 srs
Ieee 830 srsIeee 830 srs
Ieee 830 srs
 
MeRinde
MeRindeMeRinde
MeRinde
 
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWAREDEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
 
Analisis estructurado y_dfd_-_presentacion_de_clase
Analisis estructurado y_dfd_-_presentacion_de_claseAnalisis estructurado y_dfd_-_presentacion_de_clase
Analisis estructurado y_dfd_-_presentacion_de_clase
 
Clase 14a uml_estados
Clase 14a uml_estadosClase 14a uml_estados
Clase 14a uml_estados
 
CLASE 9.pptx
CLASE 9.pptxCLASE 9.pptx
CLASE 9.pptx
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
Resumen swebok original
Resumen swebok originalResumen swebok original
Resumen swebok original
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
 
Diagrama de componentes
Diagrama de componentesDiagrama de componentes
Diagrama de componentes
 
Curso de visual fox pro - Desprotejido para Imprimirlo
Curso de visual fox pro - Desprotejido para ImprimirloCurso de visual fox pro - Desprotejido para Imprimirlo
Curso de visual fox pro - Desprotejido para Imprimirlo
 

En vedette

3. dercas -_el_documento_de_requerimientos
3. dercas -_el_documento_de_requerimientos3. dercas -_el_documento_de_requerimientos
3. dercas -_el_documento_de_requerimientos
Estefanny Martinez Soto
 
Qué es un documento de requerimientos
Qué es un documento de requerimientosQué es un documento de requerimientos
Qué es un documento de requerimientos
Carlos 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ón
Yare LoZada
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
Sergio Sanchez
 
Ingenieria de requerimientos 1
Ingenieria de requerimientos 1Ingenieria de requerimientos 1
Ingenieria de requerimientos 1
jmpov441
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones
Juan Restrepo
 
MODULO 6= NEGOCIACIÒN
MODULO 6= NEGOCIACIÒNMODULO 6= NEGOCIACIÒN
MODULO 6= NEGOCIACIÒN
Alejandro Leon
 
Clase 05b pruebas introduccion
Clase 05b pruebas introduccionClase 05b pruebas introduccion
Clase 05b pruebas introduccion
Demián Gutierrez
 
Clase 05d cobertura de codigo
Clase 05d cobertura de codigoClase 05d cobertura de codigo
Clase 05d cobertura de codigo
Demián Gutierrez
 
Clase 05a calidad verificacion validacion
Clase 05a calidad verificacion validacionClase 05a calidad verificacion validacion
Clase 05a calidad verificacion validacion
Demián Gutierrez
 
Clase 09a frameworks_ejemplo
Clase 09a frameworks_ejemploClase 09a frameworks_ejemplo
Clase 09a frameworks_ejemplo
Demián Gutierrez
 

En vedette (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
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
 
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
 

Similaire à Clase 04b requerimientos documentacion

Unidad13analisisderequerimientos 13026971308524-phpapp01
Unidad13analisisderequerimientos 13026971308524-phpapp01Unidad13analisisderequerimientos 13026971308524-phpapp01
Unidad13analisisderequerimientos 13026971308524-phpapp01
duberlisg
 
Analisis y Diseño de Sistemas
Analisis y Diseño de SistemasAnalisis y Diseño de Sistemas
Analisis y Diseño de Sistemas
cardan2007i
 

Similaire à 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
 

Plus de Demián Gutierrez

Clase 12b uml_clases_ejemplos
Clase 12b uml_clases_ejemplosClase 12b uml_clases_ejemplos
Clase 12b uml_clases_ejemplos
Demián Gutierrez
 
Clase 08c ejemplo_maquina_virtual
Clase 08c ejemplo_maquina_virtualClase 08c ejemplo_maquina_virtual
Clase 08c ejemplo_maquina_virtual
Demián Gutierrez
 
Clase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cledaClase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cleda
Demián Gutierrez
 
Clase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicosClase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicos
Demián Gutierrez
 
Clase 07b patrones_diseno_ejemplo
Clase 07b patrones_diseno_ejemploClase 07b patrones_diseno_ejemplo
Clase 07b patrones_diseno_ejemplo
Demián Gutierrez
 
Clase 06 diseno_arquitectura
Clase 06 diseno_arquitecturaClase 06 diseno_arquitectura
Clase 06 diseno_arquitectura
Demián Gutierrez
 
Clase 05c niveles de pruebas
Clase 05c niveles de pruebasClase 05c niveles de pruebas
Clase 05c niveles de pruebas
Demián Gutierrez
 
Clase 04a requerimientos introduccion
Clase 04a requerimientos introduccionClase 04a requerimientos introduccion
Clase 04a requerimientos introduccion
Demián Gutierrez
 

Plus de Demián Gutierrez (18)

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 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 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 09a frameworks
Clase 09a frameworksClase 09a frameworks
Clase 09a frameworks
 
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
 

Dernier

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Dernier (10)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 

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