Fundamentos de Ingeniería de Software Facultad de Ingenieria Universidad Distrital Francisco José...

Post on 23-Jan-2016

219 views 1 download

Transcript of Fundamentos de Ingeniería de Software Facultad de Ingenieria Universidad Distrital Francisco José...

Fundamentos de Ingeniería de Software

Facultad de IngenieriaUniversidad Distrital Francisco José de Caldas

ESPECIFICACIÓN Y MANEJO DE LOS REQUERIMIENTOS

Asignatura: Fundamentos de Ingeniería del SoftwareCurso Actualización : 2006Profesor: Ernesto Gómez Vargas

Introducción

• Este documento es solo una guía elemental para el proceso de búsqueda de requerimientos por parte del grupo encargado.

Requerimientos

• Construir software de alta calidad, en tiempo y presupuesto estimados.

• Planear el proyecto y los recursos que se usarán en él.

• Especificar el tipo de verificaciones que se habrán de realizar al sistema

• Planear la estrategia de prueba a la que habrá de ser sometido el sistema

• Son el fundamento del ciclo de vida del proyecto.

Características de un requerimiento

Los requerimientos deben ser:

Especificados por escrito. Como todo contrato o acuerdo entre dos partesPosibles de probar o verificar. Si un requerimiento no se puede comprobar, entonces ¿cómo sabemos si cumplimos con él o no?Deben tener como fundamento las necesidades de los usuarios actuales o potenciales del sistema.Descritos como una característica del sistema a entregar. Esto es: Que es lo que el sistema debe de hacer (y no como debe de hacerlo)Lo más claro y conciso posible. Para evitar malas interpretaciones.

COMO REALIZAR EL ANÁLISIS DE REQUERIMIENTOS

• Los requerimientos de un sistema de software, cuando se ven en su conjunto son extensos y detallados, y además contienen múltiples relaciones entre si.

• Obtenemos la posibilidad de especificar sistemas complejos al documentar especificaciones simples y concisas para el sistema. Esto se logra mediante la clasificación, estructuración y organización de todo lo que el sistema debe de hacer.

ANÁLISIS DE REQUERIMIENTOS (1)

•1) Obtener información por diferentes medios de lo que los usuarios desean y dejar escritas esas necesidades

•2) Clasificar esas necesidades para poder estructurar los requerimientos o necesidades del sistema.

• 3) Identificar los niveles de jerarquía del sistema y empezar a alojar los requerimientos en el nivel que les corresponda.

• 4) Especificar los requerimientos de acuerdo al nivel de audiencia que se requiera

• 5) Especificar completamente cada necesidad, sin ahorrar tiempo y espacio en su descripción.

ANÁLISIS DE REQUERIMIENTOS (2)

• 6) Entender correctamente las necesidades y cuando afecten dos o mas usuarios, para llegar a acuerdos entre las partes.

• 7) Manejar las expectativas y estar dispuesto a realizar cambios.

ANÁLISIS DE REQUERIMIENTOS (3)

• 8) Involucrar a todos los que tengan inherencia en el proyecto (Jefes, subalternos, usuarios en general)

• 9) Se debe mantener una perfecta comunicación entre todos quienes participan en el proceso de levantamiento de los requerimientos

ANÁLISIS DE REQUERIMIENTOS (4)

COMO OBTENER INFORMACIÓN (1)

• Los requerimientos son el punto de acuerdo entre el usuario y el proyecto de desarrollo de software, este entendimiento es necesario para poder construir software que satisfaga las necesidades de los usuarios.

• Si los requerimientos se enfocan a describir las necesidades del usuario, entonces es lógico que para recabarlos haya que obtener la información de primera mano. Esto es, mediante entrevistas con el usuario o recabando documentación que describa la manera que el usuario desea que funcione el sistema de software.

COMO OBTENER INFORMACIÓN (2)

RELACION BASICA DE REQUERIMIENTOS

Responsable de la dependencia

Información recopilada por

Nombre de la dependencia

NUMERO FECHA DESCRIPCION FUNCIONARIO

01

02

03

04

COMO OBTENER INFORMACIÓN (3)

Formato 01

• Las necesidades y/o requerimientos del usuario evolucionan con el tiempo y cada cambio involucra un costo. Por eso es necesario tener archivada una copia de la documentación original del usuario, así como cada revisión o cambio que se haga a esta documentación. Para poder establecer o estimar el costo de un proyecto es necesario contar con los requerimientos iniciales en su mejor nivel de detalle

COMO OBTENER INFORMACIÓN (4)

Como cada necesidad del sistema de información es tratada de diferente forma, es necesario clasificar estas necesidades para saber cuales de ellas serán satisfechas por el software que se quiere desarrollar y cuales por algún otro producto del sistema.

COMO OBTENER INFORMACIÓN (5)

TOPICOS BÁSICOS PARA REALIZAR EL LEVANTAMIENTO DE REQUERIMIENTOS (1)

1) Un problema puede surgir de la diferencia entre las cosas como se realizaron y como se desean. Por eso es necesario tener en cuenta que en el proceso de levantamiento o búsqueda de requerimientos se pueden presentar problemas que es necesario solucionar.

2) Para solucionar el problema se deben tener en cuenta:

a.  Generar acuerdo entre las partes involucradas

b.  Construir un vocabulario comúnc.  Identificar los involucradosd.  Definir los límites del sistemae.  Identificar restriccionesF. Dejar todo claro y definido en un

documento.

TOPICOS BÁSICOS PARA REALIZAR EL LEVANTAMIENTO DE REQUERIMIENTOS (2)

3) Manejar diferentes técnicas de levantamiento

a.  Entrevistasb.     Encuestasc.      Talleres de requerimientosd.     Lluvia de ideas• Prototipos f.. Escenerario

TOPICOS BÁSICOS PARA REALIZAR EL LEVANTAMIENTO DE REQUERIMIENTOS (3)

4) Mecanismos de fácil comunicación Durante el proceso se debe facilitar la

comunicación entre todos los participantes, de tal forma que todos los usuarios puedan participar aportando sus puntos de vista y sus necesidades.

5) Se debe realizar una especificación formal de todos los acuerdos con las diferentes personas, para que quede constancia expresa de que se tuvieron en cuenta los puntos de vista de los diferentes usuarios.

TOPICOS BÁSICOS PARA REALIZAR EL LEVANTAMIENTO DE REQUERIMIENTOS (4)

6) Administrar los cambios. Se debe estar presto a realizar las modificaciones que se presenten durante el proceso de análisis de requerimientos. Después puede ocasionar costos o demoras en el proceso de desarrollo.

TOPICOS BÁSICOS PARA REALIZAR EL LEVANTAMIENTO DE REQUERIMIENTOS (5)

RESUMEN (1)

Para avanzar en esta fase preliminar se deben realizar en resumen las siguientes actividades.

• Analizar la situación de cada una de las dependencias teniendo en cuenta la participación de todos y cada uno de los involucrados en los procesos.

• Generar acuerdo entre los involucrados si hay diferencias, de tal forma que se trabaje en el mismo sentido.

RESUMEN (2)

• Hacer el proceso de análisis de requerimientos, utilizando técnicas como las descritas, teniendo en cuenta especialmente quién usa o va a utilizar el sistema.

• Especificar completamente los requerimientos, en forma escrita y clara para cada una de las dependencias, sin omitir posibles o potenciales usuarios.

• Controlar el alcance, para que se pueda limitar el proyecto.

• Comunicar a todos los usuarios acerca de que se está adelantando el proceso de levantamiento de los requerimientos, mediante encuestas, etc. Según se mencionó anteriormente.

• Almacenar en archivos de bases de datos preferiblemente los requerimientos, de tal forma que se puedan procesar fácilmente.

RESUMEN (3)

• Los errores en el proceso de obtención de requerimientos son de los mas costosos por eso es importante tener cuidado en este proceso.

• Por último los requerimientos deben ser: No ambiguos, concretos, completos y consistentes.

RESUMEN (4)

Formato 02ANALISIS DE REQUERIMIENTOS

Numero: 01Nombre del requerimiento

Escena 1:

Papeles Escena 2:

Utensilios Escena 3:

Condiciones de entrada Escena 4:

Condiciones de salida Escena 5:

Formato 03LISTADO DE ACTORES

NUMERO ACTOR (ROL)

USUARIO COMENTARIO

01

•MUCHAS GRACIAS