Your SlideShare is downloading. ×
0
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Clase 04b requerimientos documentacion
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Clase 04b requerimientos documentacion

1,775

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,775
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
117
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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 unsistema? 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 unsistema? 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 unsistema? 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 RequerimientosEjemplo 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 hacerGestió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 hacerGestió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

×