Clase 04b requerimientos documentacion
-
Upload
demian-gutierrez -
Category
Technology
-
view
1.786 -
download
5
Transcript of Clase 04b requerimientos documentacion
![Page 1: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/1.jpg)
1
Universidad de los AndesDemián Gutierrez
Febrero 2013
REQUISITOS / REQUERIMIENTOS¿Cómo se Documentan?
![Page 2: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/2.jpg)
2
Requisitos / Requerimientos
¿qué necesito saberde un “futuro” sistema?
![Page 3: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/3.jpg)
3
¿Qué necesito saber / definir sobre un sistema?
Los involucrados
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)
Fundamentado en base a la plantilla Volere, edición 14, Enero 2009
![Page 4: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/4.jpg)
4
¿Qué necesito saber / definir sobre un sistema?
Otros hechos relevantes
El alcance del proyecto
El alcance del producto
Los requisitos (evidente)Y los hay de muchos tipos (ver la plantilla Volere)
Restricciones impuestas (por el cliente o el entorno)
Fundamentado en base a la plantilla Volere, edición 14, Enero 2009
![Page 5: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/5.jpg)
5
¿Qué necesito saber / definir sobre un sistema?
Ideas de posibles soluciones
Riesgos (Ojo, algunos tratan la “gestión de riesgos como algo completamente aparte y distinto)
Soluciones ya existentes
Costos estimados (Valoración inicial)
Otros aspectos
Fundamentado en base a la plantilla Volere, edición 14, Enero 2009
![Page 6: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/6.jpg)
6
Requisitos / Requerimientos
¿cómo se documentanlos requisitos?
![Page 7: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/7.jpg)
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 ymuniciones de la armería de la policía. El proceso contempla la entrega de armas a losagentes policiales, la devolución de las armas al parque, las pruebas y validaciones de leyque se realizan a las armas después de la entrega y finalmente, cualquier proceso deinvestigació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, sepuede resumir la conversación de la siguiente forma:
Es necesario un proceso que sirva para gestionar la entrega de armamento del parque dearmas a los “Agentes Policiales”. En general, los Agentes se presentan al “Encargado delParque de Armas” y solicitan cierto armamento. El Encargado del Parque busca elarmamento solicitado en el inventario y si éste se encuentra disponible se lo entrega alAgente. Si el armamento no se encuentra disponible el proceso termina. La entrega ocurresólo luego de que el Agente llene y firme una “Planilla de Retiro de Armamento”. Laplanilla tiene información sobre la fecha en que se entrega el arma al Agente, el serial delarma y la cantidad y tipo de munición entregada. Luego de llenar la planilla, el Encargadoentrega el arma y las municiones al Agente, quien debe revisarlas y poner en la planillacualquier observación o desacuerdo que corresponda al estado de las mismas en caso de sernecesario.
![Page 8: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/8.jpg)
8
¿Cómo se definen los requerimientos?Listas de “Features” (Características)
![Page 9: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/9.jpg)
9
¿Cómo se definen los requerimientos?Listas de “Features” (Características)
![Page 10: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/10.jpg)
10
¿Cómo se definen los requerimientos?Listas de “Features” (Características)
![Page 11: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/11.jpg)
11
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?
¿Cómo se definen los requerimientos?Listas de “Features” (Características)
![Page 12: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/12.jpg)
12
¿Cómo se definen los requerimientos?Plantillas para Definir Requerimientos
Tomado de la plantilla Volere, edición 14, Enero 2009
![Page 13: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/13.jpg)
13
# deRequisito:
045 Tipo deRequisito:
Funcional Caso deUso / EventoRelacionado:
054
Descripción: Los usuarios deben poder intercambiar mensajes y comunicarse pormedio del foro, toda la comunicación debe estar moderada paraevitar conductas inapropiadas por parte de los usuarios, mensajesbasura y publicidad no deseada.
Justificación: Esta es la razón de ser del sistema, el objetivo principal de un foroWEB es permitir intercambiar mensajes entre usuarios.
Origen(Interesado):
Pedro Moreno
Criterio deAceptación /Validación:
El usuario debe poder publicar un mensaje.El mensaje no debe aparecer hasta que un moderador lo acepte.Si un moderador acepta el mensaje entonces éste aparece publicado.Si un moderador rechaza el mensaje entonces éste no es publicado.
Nivel desatisfacción delInteresado:
5 Nivel deinsatisfacción delInteresado:
5
Prioridad: 5 Requisitos enConflicto:
055, 034, 040
Material deSoporte:
ÚltimaModificación:
Modificado 15/08/2009 – Gloria LinaresCreado 12/02/2009 – Luis Gutierrez
Ejemplo de un requisito del foro WEB
¿Cómo se definen los requerimientos?Plantillas para Definir Requerimientos
![Page 14: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/14.jpg)
14
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): Juan Peña
Unidad en la que se origina: 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 2006Ejemplo con algunas modificaciones de la plantilla Volere
¿Cómo se definen los requerimientos?Plantillas para Definir Requerimientos
![Page 15: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/15.jpg)
15
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)
¿Cómo se definen los requerimientos?Plantillas para Definir Requerimientos
![Page 16: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/16.jpg)
16
¿Cómo se definen los requerimientos?Plantillas para Definir Requerimientos
Cuadro Resumen de Requerimientos(índice, importante)
![Page 17: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/17.jpg)
17
Plantillas Volere*http://www.volere.co.uk/
*Gracias a James Robertson de Atlantic System Guild por facilitame una copia gratuita de las plantillas para uso académico
MeRinde**http://merinde.rinde.gob.ve/
**MeRinde es más que un grupo de plantillas de apoyo, es una metodología de desarrollo de software basada en el Proceso Unificado (UP)
IEEE Std 830-1993http://standards.ieee.org/reading/ieee/std_public/description/se/830-1993_desc.html
¿Otras? Sin duda alguna...
¿Cómo se definen los requerimientos?Plantillas para Definir Requerimientos
![Page 18: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/18.jpg)
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
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
¿quién?¿qué?
¿por qué?
![Page 19: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/19.jpg)
Historias de Usuarios(Modelos ágiles – XP, SCRUM)
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
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
![Page 20: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/20.jpg)
20
Caso de Uso
Actor
Generalización / Especialización
de Actores
Límites delSistema
Colaboración entre casos
de uso
AsociaciónCaso de
Uso / Actor
¿Cómo se definen los requerimientos?Lenguajes / Notaciones Gráficas
![Page 21: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/21.jpg)
21
Lenguajes / Notaciones Gráficas...... y su respectiva descripción textual
Nombre: Crear mensaje foro
Autor:
Fecha: 21/04/09
Descripción:
Permite crear un nuevo mensaje (hilo) en el foro de discusión.
Actores:
Usuario / Moderador
El usuario debe de estar autenticado en el sistema.
Flujo Normal:
Flujo Alternativo:
El mensaje ha sido almacenado en el sistema y fue publicado.
Pedro Pérez
Precondiciones:
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.
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:
![Page 22: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/22.jpg)
22
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 evidentesde formato y campos)
¿Cómo se definen los requerimientos?Listas de “Features” (Características)
![Page 23: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/23.jpg)
23
¿Cómo se definen los requerimientos?Lenguajes Formales
Ejemplo de “Notación Z”
No cuenten conmigo... (opinión personal)
![Page 24: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/24.jpg)
24
¿Cómo se definen los requerimientos?Requisitos Definidos por Pruebas (TDD)
@Testpublic 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));}
@Testpublic void celula_central_muere_de_asinamiento_con_4_vecinos() { curr = aMap(). // with("O..").// with(".OO").// with("OO.").build(); Conway c = new Conway(stringToMap(curr)); assertTrue(c.liveToDie(2, 2));}
@Testpublic void celula_central_no_muere_con_2_vecinos() { curr = aMap(). // with("...").// with(".OO").// with("..O").build(); Conway c = new Conway(stringToMap(curr)); assertFalse(c.liveToDie(2, 2));}
Estas pruebas validan un comportamiento,
pero en cierto sentido, también especifican un comportamiento, sobre
todo si se escriben antes de escribir el
código que implementa la funcionalidad
validada
![Page 25: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/25.jpg)
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")); }
![Page 26: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/26.jpg)
26
Gestión de Requerimientos
¿cómo se pone orden en los
requerimientos?¿gestión de
requerimientos?
![Page 27: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/27.jpg)
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?
![Page 28: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/28.jpg)
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
![Page 29: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/29.jpg)
29
Gestión de Requerimientos
Interesados
Objetivos del Negocio
(O1, O2, O3...)
R1
R2
R3
Requisitos Casos de Uso
CU1
CU2
CU3
CU4
CU5
Diseño,Componentes
Implementación,Pruebas
X1
X2
X3
X4
X5
X6
X7
...
¿Seráimportante
también tenertrazas
con losdesarrolladores?
¿Por qué?
![Page 30: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/30.jpg)
30
Gestión de RequerimientosEjemplo de una matriz de rastreo
R1 R2 R3 R4 R5 ...R1 XR2 X XR3 X XR4 X XR5 X X
...
X X X
Rn
RnU1 U2 U3 U4 U5 ... Un
R1 XR2 X X XR3 X X R4 X X R5 X X X
...
X X XRn
Requerimientoscon
Requerimientos(Dependencias /
Conflictos)
Requerimientoscon
Interesados
![Page 31: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/31.jpg)
31
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é?
Gestión de Requerimientos
![Page 32: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/32.jpg)
32
Herramientas para hacerGestión de Requerimientos*
CaliberRM (Borland) (Propietario)http://www.borland.com/us/products/caliber/index.html
DOORS (IBM / Rational) (Propietario)http://www-01.ibm.com/software/awdtools/doors/productline/
IRQA (Visure) (Propietario)http://www.visuresolutions.com/
*Requirements Management
![Page 33: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/33.jpg)
33
Herramientas para hacerGestión de Requerimientos*
RMTOO (Flonatel GmbH & Co. KG.) (Libre)http://www.flonatel.de/projekte/rmtoo/
*Requirements Management
¡Si alguien consigue otra buena herramienta en software libre me avisa!
aNimble (Libre)http://sourceforge.net/projects/nimble
![Page 34: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/34.jpg)
34
Calidad de los Requisitos
¿cómo sé que tengo requisitos de calidad?
![Page 35: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/35.jpg)
35
¿Cómo sé que tengo requisitos de calidad?
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)
Los requisitos se expresan de una manera sencilla, clara y sin ambigüedades
![Page 36: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/36.jpg)
36
¿Cómo sé que tengo requisitos de calidad?
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!)
Deben ser consistentes entre sí(No debe haber conflictos o
incompatibilidad entre requisitos)
![Page 37: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/37.jpg)
37
¿Cómo sé que tengo requisitos de calidad?
Se les debe poder puede hacer un seguimiento(Deben estar organizados)
Deben ser verificables(medibles y sin ambigüedad, ¿se implementó o no?)
Deben estar redactados en un lenguaje correcto, simple, sencillo y contundente
(no está escribiendo una novela o un poema)
Deben describir algo que cliente o usuario necesita( resuelven los problemas del cliente¿que sentido tiene si no lo hace? )
![Page 38: Clase 04b requerimientos documentacion](https://reader033.fdocuments.net/reader033/viewer/2022052311/558ffe381a28aba90d8b4777/html5/thumbnails/38.jpg)
38
Gracias
¡Gracias!