ingeniería de software – ingeniería de sistemas1 requerimiento

35
Ingeniería de Software – Ingeniería de Sistemas 1 ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS REQUERIMIENTO Sesión 4 :

Upload: prudencio-pedro

Post on 22-Jan-2016

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

Ingeniería de Software – Ingeniería de Sistemas1

ESCUELA PROFESIONAL DE

INGENIERIA DE SISTEMAS

REQUERIMIENTOSesión 4 :

Page 2: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

2 Ingeniería de Software – Ingeniería de Sistemas

Contenido1. Ingeniería de Requerimiento2. Pirámide de Requisitos3. Tipo de Requisitos4. Características de un requisitos5. Plan de gestión de Requisitos

Page 3: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

Ingeniería de Software – Ingeniería de Sistemas3

Introducción ...

Page 4: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

4 Ingeniería de Software – Ingeniería de Sistemas

REQUERIMIENTOLa Ingeniería de requisitos o Ingeniería de requerimientos1 comprende todas las tareas relacionadas con la determinación de las necesidades o de las condiciones a satisfacer para un software nuevo o modificado, tomando en cuenta los diversos requisitos de los inversores.Muchas veces se habla de requerimientos en vez de requisitos; esto se debe a una mala traducción del inglés.La palabra requirement debe ser traducida como requisito, mientras que requerimiento se traduce al inglés como request.

Los buenos requisitos deben ser medibles, comprobables, sin ambigüedades o contradicciones, etc.

Page 5: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

5 Ingeniería de Software – Ingeniería de Sistemas5

•Rama de la Ingeniería del Software que trata con el establecimiento de los objetivos, funciones y restricciones de los sistemas software. Asimismo, se ocupa de la relación entre estos factores con el objeto de establecer especificaciones precisas.

• Ingeniería de Requisitos es la disciplina para desarrollar una especificación completa, consistente y no ambigua, la cual servirá como base para acuerdos comunes entre todas las partes involucradas y en donde se describen las funciones que realizará el sistema.

Definición IR

Page 6: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

6 Ingeniería de Software – Ingeniería de Sistemas6

•Trabajo sistemático de desarrollo de requisitos, a través de un proceso iterativo y cooperativo de análisis del problema, documentando los resultados en una variedad de formatos y probando la exactitud del conocimiento adquirido.

•Es el proceso mediante el cual se intercambian diferentes puntos de vista para recopilar y modelar lo que el sistema va a realizar. Este proceso utiliza una combinación de métodos, herramientas y actores, cuyo producto es un modelo del cual se genera un documento de requisitos.

Page 7: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

7 Ingeniería de Software – Ingeniería de Sistemas7

La Ingeniería de Requerimiento es un campo muy activo dentro de la Informática, y en particular dentro de la Ingeniería del Software, y se dirige a unas actividades esenciales en el trabajo diario de las organizaciones de desarrollo de software.

Se ha demostrado mediante varios estudios experimentales que la Ingeniería de requisitos es crítica respecto del éxito o fracaso de numerosos proyectos informáticos y su mala gestión tiene una gran incidencia en relación con el desbordamiento de costes o el incumplimiento de plazos de finalización.

Ingeniería de Requerimiento

Page 8: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

8 Ingeniería de Software – Ingeniería de Sistemas8

Las causas del surgimiento de la IR fueron los resultados de las investigaciones realizadas por diversas entidades a raíz de la "Crisis del Software".• GAO (Goverment Account Office).• ESPITI (European Software Process

Improvement Training Initiative)• The Standish Group• The CHAOS Report.

Antecedentes

Page 9: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

9 Ingeniería de Software – Ingeniería de Sistemas9

Fuente: Informe de GAO - 1979.

Page 10: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

10 Ingeniería de Software – Ingeniería de Sistemas10

Fuente: Informe CHAOS por The Standish Group [TSG 1994].

Page 11: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

11 Ingeniería de Software – Ingeniería de Sistemas11

Veamos la situación de los proyectos, según The Standish Group publicados en The CHAOS Report - 1994

Evolución de los resultados del análisis CHAOS Report

0%

50%

100%

Successful Challenged Failed

Failed 31% 40% 28% 23% 15% 18% 19% 24%

Challenged 53% 33% 46% 49% 51% 53% 46% 44%

Successful 16% 27% 26% 28% 34% 29% 35% 32%

1994 1996 1998 2000 2002 2004 2006 2009

Impacto de IR en proyectos

Page 12: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

12 Ingeniería de Software – Ingeniería de Sistemas12

Estudio de viabilidad

Obtención y análisis de requisitos

Informe de viabilidad

Especificación de requisitos

Validación de requisitos

Modelos del sistema

Requisitos del sistema

Documento de requisitos

Procesos de IR

Page 13: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

13 Ingeniería de Software – Ingeniería de Sistemas13

Plantilla de Requisitos

Page 14: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

14 Ingeniería de Software – Ingeniería de Sistemas14

La gestión de requisitos es el conjunto de actividades que ayudan al equipo a identificar, controlar y seguir los requisitos y sus cambios en cualquier momento.Básicamente, consiste en:•Planificar la gestión de requisitos

La identificación de requisitosUn proceso de gestión del cambioPolíticas de rastreo o trazabilidad

•Gestionar sus cambios.

Plan de Gestión de Requisitos

Page 15: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

15 Ingeniería de Software – Ingeniería de Sistemas

PIRAMIDE DE REQUISITOS

Según el origen y características, los requisitos pueden dividirse en diferentes tipos., que pueden representarse en forma de pirámide, en cuyo nivel superior se sitúan las necesidades de los interesados.En los niveles más bajos son características, casos de uso y requisitos complementarios tal como se muestra en la figura:

Page 16: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

16 Ingeniería de Software – Ingeniería de Sistemas

PIRAMIDE DE REQUISITOS

Page 17: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

17 Ingeniería de Software – Ingeniería de Sistemas

PIRAMIDE DE REQUISITOSNecesidad:Un interesado demanda un requerimiento.Característica:Un servicio proporcionado por el sistema, por lo general formulado por un analista de negocios.Caso de uso:Una descripción del comportamiento del sistema descrito como una secuencias de acciones.

Page 18: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

18 Ingeniería de Software – Ingeniería de Sistemas

PIRAMIDE DE REQUISITOSCaso de pruebaUna especificación de las entradas necesarias para una prueba, las condiciones de ejecución y resultados esperados. Tiene el papel de comprobar si los casos de uso derivados de los casos de prueba y los requisitos complementarios se aplican correctamente.EscenarioUna secuencia específica de acciones o una ruta de acceso específica a través de un caso de uso. Ayudan a derivar en casos de uso a partir de los casos de prueba y facilitan el diseño e implementación a través de los casos de uso.

Page 19: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

19 Ingeniería de Software – Ingeniería de Sistemas

TIPOS DE REQUISITOS

Page 20: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

20 Ingeniería de Software – Ingeniería de Sistemas

Características de un buen requisitoLos requisitos bien formulados deben satisfacer varias características. Si no lo hacen, deben ser reformulados hasta hacerlo.

Necesario: Lo que pida un requisito debe ser necesario para el producto.No ambiguo:El texto debe ser claro, preciso y tener una única interpretación posible.

Page 21: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

21 Ingeniería de Software – Ingeniería de Sistemas

Características de un buen requisito

Conciso:Debe redactarse en un lenguaje comprensible por los inversores en lugar de uno de tipo técnico y especializado, aunque aun así debe referenciar los aspectos importantes.Consistente:Ningún requisito debe entrar en conflicto con otro requisito diferente, ni con parte de otro. Asimismo, el lenguaje empleado entre los distintos requisitos debe ser consistente también.

Page 22: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

22 Ingeniería de Software – Ingeniería de Sistemas

Características de un buen requisitoCompleto:Los requisitos deben contener en sí mismos toda la información necesaria, y no remitir a otras fuentes externas que los expliquen con más detalle.Alcanzable:Un requisito debe ser un objetivo realista, posible de ser alcanzado con el dinero, el tiempo y los recursos disponibles.

Page 23: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

23 Ingeniería de Software – Ingeniería de Sistemas

Características de un buen requisitoVerificable:Se debe poder verificar con absoluta certeza, si el requisito fue satisfecho o no. Esta verificación puede lograrse mediante inspección, análisis, demostración o testeo.

Estas características suelen ser subjetivas, es decir, no pueden ser calculadas de forma automática por ningún sistema. Por ello, se tiende a utilizar métricas o indicadores que sí que pueden ser calculados de forma automática y que, de algún modo, pueden contribuir a ponderar las anteriores características.

Page 24: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

24 Ingeniería de Software – Ingeniería de Sistemas

Plan de Gestión de Requisitos

El plan de gestión de requisitos es la de establecer y mantener un acuerdo entre el cliente y el proyecto; lo anterior enfocado sobre los requisitos; lo cual representa el alcance del producto que será dirigido por el proyecto. Los requisitos serán la base para estimar, planear, ejecutar y controlar las actividades durante toda la duración del proyecto.

Page 25: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

25 Ingeniería de Software – Ingeniería de Sistemas

Este plan se ocupa de cómo el Proyecto administrará el desarrollo y los cambios en los requisitos para asegurar que las necesidades iniciales del cliente y los objetivos del proyecto están asignados dentro de los requisitos funcionales y no funcionales necesarios para desarrollar una solución.

Plan de Gestión de Requisitos

Page 26: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

26 Ingeniería de Software – Ingeniería de Sistemas

Plan de Gestión de Requisitos

Page 27: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

27 Ingeniería de Software – Ingeniería de Sistemas27

•La trazabilidad es una técnica que proporciona una relación entre los diferentes niveles de requisitos en el sistema. Esta técnica ayuda a determinar el origen de cualquier requisito.

Trazabilidad entre requisitos

Page 28: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

28 Ingeniería de Software – Ingeniería de Sistemas28

Page 29: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

29 Ingeniería de Software – Ingeniería de Sistemas29

•Las necesidades se asignan a características. En general, es una relación de muchos a muchos. Un caso común también es que una necesidad rastrea a una característica.

•En el siguiente las características mapean a los casos de uso en una relación de muchos a muchos.

•Las características también trazan a los requisitos suplementarios en una relación de muchos a muchos.

•Cada caso de uso traza a uno o más escenarios.

•Los escenarios también tienen una relación de uno a muchos con los casos de prueba.

Page 30: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

30 Ingeniería de Software – Ingeniería de Sistemas30

Diagrama de Trazabilidad

Page 31: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

31 Ingeniería de Software – Ingeniería de Sistemas

Elemento de trazabilidad

(Tipo de requisito)

Tipo de Documento Descripción

Necesidad de Stakeholder(STRQ)

Solicitudes de Stakeholder Necesidades claves de stakeholders, los cuales describen requisitos de alto nivel .

Característica(FEAT)

Visión Son condiciones y capacidades del sistema.

Caso de Uso(UC)

Especificación de Caso de Uso

Requisitos funcionales capturados en casos de uso.

Requisitos Suplementarios(SUPL)

Especificación Suplementaria Requisitos no funcionales que no son capturados en el modelo de casos de uso.

Descripción de elementos de Trazabilidad

Page 32: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

32 Ingeniería de Software – Ingeniería de Sistemas32

Conclusiones

La trazabilidad es una propiedad de los requisitos aplicable al resto del desarrollo que permite conocer las dependencias entre los distintos artefactos que se van generando.

Page 33: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

33 Ingeniería de Software – Ingeniería de Sistemas33

La IR nace como respuesta a la Crisis del Software.El proceso de IR incluye un estudio de viabilidad, así como la obtención, análisis, especificación, validación y gestión de requisitos.La gestión de requisitos es el proceso de gestionar y controlar estos cambios.El proceso de gestión de requisitos incluye la gestión de la planificación, en la cual se diseñan las políticas y procedimientos para la gestión de requisitos; y del cambio, en la que se analiza los cambios propuestos en los requisitos y se evalúa su impacto.

Conclusiones

Page 34: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

Ingeniería de Software – Ingeniería de Sistemas34

Preguntas ...

Page 35: Ingeniería de Software – Ingeniería de Sistemas1 REQUERIMIENTO

Ingeniería de Software – Ingeniería de Sistemas35

Gracias ...