sesion 02 los_requerimientos

50
Ingeniería de Software Ingeniería de Requerimientos Una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo. 1 El Concepto de Requerimiento Estandares de Programacion Unida I, Prof. Contreras, UTEC 2015

Upload: luisantonio222

Post on 16-Apr-2017

224 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo.

1

El Concepto de Requerimiento

Estandares de Programacion Unida I, Prof. Contreras, UTEC 2015

Page 2: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Una condición o capacidad que debe estar presente en un sistema o componentes de sistema para satisfacer un contrato, estándar, especificación u otro documento formal

2

El Concepto de Requerimiento

Page 3: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Una declaración abstracta de alto nivel de un servicio que debe proveer el sistema o una restricción de éste.

3

El Concepto de Requerimiento

Page 4: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Una definición matemática detallada y formal de una función del sistema

4

El Concepto de Requerimiento

Page 5: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Es un aspecto del contenido o comportamiento del producto, requerido o deseado por el cliente

5

El Concepto de Requerimiento

Page 6: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

El Concepto de Requerimiento

Característica o restricción de un sistema

6

Page 7: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

No son obvios.

1

Inconvenientes para definir Requerimientos

Page 8: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Provienen de diversas y variadas fuentes.

2

Inconvenientes para definir Requerimientos

Page 9: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Existen muchos tipos de requerimientos y diferentes niveles de detalle

3

Inconvenientes para definir Requerimientos

Page 10: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

La cantidad de requerimientos puede hacer un proyecto inmanejable

4

Inconvenientes para definir Requerimientos

Page 11: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Nunca son iguales. Algunos son más difíciles, más riesgosos o más importantes que otros

5

Inconvenientes para definir Requerimientos

Page 12: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Los requerimientos están relacionados unos con otros, y a su vez están sujetos a un contexto

6

Inconvenientes para definir Requerimientos

Page 13: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Un requerimiento puede cambiar a lo largo del ciclo de desarrollo (son inestables)

7

Inconvenientes para definir Requerimientos

Page 14: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Inconvenientes para definir Requerimientos

Son difíciles de cuantificar, ya que cada conjunto de requerimientos es particular para cada proyecto.

8

Page 15: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Un requerimiento es necesario si su omisión provoca una deficiencia en el sistema a construir, y además su capacidad, características físicas o factor de calidad no pueden ser reemplazados por otras capacidades del producto o del proceso.

Características Deseables de un Requerimiento

1. Necesario

Page 16: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Un requerimiento es conciso si es fácil de leer y entender. Su redacción debe ser simple y clara para aquellos que vayan aconsultarlo en un futuro.

Características Deseables de un Requerimiento

2. Conciso

Page 17: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Un requerimiento es consistente si no es contradictorio con otro requerimiento.

Características Deseables de un Requerimiento

3. Consistente

Page 18: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Un requerimiento no es ambiguo cuando tiene una sola interpretación. El lenguaje, técnica o representación usado en su definición, no debe causar confusiones al lector.

Características Deseables de un Requerimiento

4. No Ambiguo

Page 19: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Un requerimiento es verificable cuando puede ser cuantificado de manera que permita hacer uso de métodos de verificación como inspección, análisis, demostración o pruebas.

Características Deseables de un Requerimiento

5. Verificable

Page 20: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Un requerimiento está completo si no necesita ampliar detalles en su redacción, es decir, si se proporciona la información suficiente para su comprensión.

Características Deseables de un Requerimiento

6. Completo

Page 21: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Un requerimiento es trazable cuando el desarrollo para lograr su satisfacción admite etapas que puedan ser verificadas.

Características Deseables de un Requerimiento

7. Trazable

Page 22: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Un requerimiento es representable si puede ser escrito en lenguaje natural o mediante algún otro medio que permita comunicar su sentido.

Características Deseables de un Requerimiento

8. Representable

Page 23: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Un requerimiento es legible cuando es fácil de comprender.

Características Deseables de un Requerimiento

9. Legible

Page 24: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Un requerimiento es realizable si con la tecnología disponible y en el marco de un proyecto se puede lograr su satisfacción.

Características Deseables de un Requerimiento

10. Realizable

Page 25: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Ingeniería de Requerimientos

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 dónde se describen las funciones que realizará el sistema

1

Page 26: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Ingeniería de Requerimientos

Proceso por el cual se transforman los requerimientos declarados por los clientes , ya sean hablados o escritos, a especificaciones precisas, no ambiguas, consistentes y completas del comportamiento del sistema, incluyendo funciones, interfaces, rendimiento y limitaciones

2

Page 27: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Ingeniería de Requerimientos

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 requerimientos

3

Page 28: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Ingeniería de Requerimientos

Ingeniería de Requerimientos es el proceso de descubrir, analizar, documentar y verificar los servicios y restricciones del sistema

4

Page 29: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Ingeniería de Requerimientos

Proceso para desarrollar una especificación del software. Implica desarrollar una especificación entendible por los usuarios del sistema y una más detallada para los desarrolladores del sistema

5

Page 30: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Ingeniería de Requerimientos

Enfoque sistémico para recolectar, organizar y documentar los requerimientos del sistema; es también el proceso que establece y mantiene acuerdos sobre los cambios de requerimientos, entre los clientes y el equipo del proyecto

6

Page 31: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Ingeniería de Requerimientos

Proceso sistemático utilizado para derivar una definición del sistema de software a ser desarrollado

7

Page 32: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Ingeniería de Requerimientos

Proceso de descubrimiento, refinamiento, modelado y especificación

8

Page 33: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Ingeniería de Requerimientos

Proceso de descubrimiento, refinamiento, modelado y especificación

8

Page 34: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Pasos :• Preparación• Realización• Documentación

Técnicas Clásicas para obtener requerimientos

1. Entrevista

Page 35: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

¿Quién es el usuario?¿Quién es el cliente?¿Porqué se desea resolver el problema?¿Cuál es el valor de la solución exitosa?¿Cómo se resuelve hoy?

Técnicas Clásicas para obtener requerimientos

1. Entrevista

Page 36: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

• Preguntas precisas• Requiere dominio del problema• Se recomienda organizar reuniones

donde se resuelvan en grupo

Técnicas Clásicas para obtener requerimientos

2. Cuestionarios o Cheklists

Page 37: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

• Permite al equipo trabajar con un lenguaje común.

• Más crítico en equipos disciplinarios donde mismas palabras representan conceptos diferentes.

Técnicas Clásicas para obtener requerimientos

3. Glosarios

Page 38: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

• Se escriben en lenguaje natural pero en un formato estricto y debidamente estructurado.

Técnicas Clásicas para obtener requerimientos

4. Plantillas y Patrones

Page 39: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

• Recomendado cuando solo existe el problema pero no una solución.

• Reunión dondo todos opinan ideas sin restricciones en ambiente distendido. Luego se seleccionan y evaluan las factibles.

• Generación de efecto sinérgico.

Técnicas Clásicas para obtener requerimientos

5. Lluvia de Ideas

Page 40: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Un analista se sumerge por sí solo en el entorno laboral donde el sistema se utilizará. El trabajo diario se observa y se hacen notas de las tareas reales en las que los participantes están involucrados.

Técnicas Clásicas para obtener requerimientos

6. Etnografía

Page 41: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

• Narración del problema y la solución requerida.

Representación de requerimientos

1. Lenguaje Natural

Page 42: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

• Son grafos en los que los vértices representan conceptos y las aristas representan posibles relaciones entre dichos conceptos. Estos grafos de relaciones se desarrollan con el usuario y sirven para aclarar los conceptos relacionados con el sistema a desarrollar

Representación de requerimientos

2. Mapas Conceptuales

Page 43: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

Representación de requerimientos

2. Mapas Conceptuales

Auto

PatenteTiene única

Municipalidad

Se obtiene en

Registro de PartesTiene

Infracción

Puede tener

Está registrada

Page 44: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

• Consiste en representar sobre papel en forma muy esquemática las diferentes interfaces al usuario (sketches). Estos sketches pueden ser agrupados y unidos por enlaces dando idea de la estructura de navegación (storyboard)

Representación de requerimientos

3. Sketches y Storyboards

Page 45: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

• La notación Z está basada en la teoría de conjuntos y la lógica matemática; incluye operadores estándar de conjuntos, comprensión de conjuntos, productos cartesianos y conjuntos potencia. La lógica matemática es el cálculo de predicados de primer orden

Representación de requerimientos

4. Lenguaje Z

Page 46: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

• Guiones y Diálogos.• Tablas y Glosarios.• Modelo de Datos Entidad -

Relación.• Análisis de Puntos de Función.

Representación de requerimientos

5. Ancora

Page 47: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos5. Ancora

Page 48: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos5. Ancora

Guión: Plan de NegociosPista : Gestión de Preincubación.

Escena 1:P ingresa a través de FPN los datos correspondientes.Escena 2:AD y T controlan que los datos ingresados estén completos y sean los correctos.Escena 3:Si los datos ingresados son incorrectos, se ingresan observaciones al FPN, por el AD y el T.Escena 4:P actualiza los datos que AD y T estiman que son incorrectos.Escena 5:Si los datos son correctos AD o T aprueban el FPN.

Papeles:P = PreincubadoT = TutorAD = Administrador 

Utensilios:FPN = Formulario Plan de Negocios 

Condiciones de Entrada:Ingreso Datos al FPN. 

Condiciones de Salida:P y AD controla ingreso de información del FPN.

Page 49: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

• Software no funcional que muestra las interacciones del producto de software a construir.

Representación de requerimientos

6. Prototipos

Page 50: Sesion 02 los_requerimientos

Ingeniería de Software Ingeniería de Requerimientos

• Lenguaje Unificado de Modelado

Representación de requerimientos

6. UML