capÍtulo 6: introducción a los requerimientos

41
CAPÍTULO 6: Introducción a los requerimientos. Ing. Alejandra Colina V. Julio, 2019

Upload: others

Post on 18-Jul-2022

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CAPÍTULO 6: Introducción a los requerimientos

CAPÍTULO 6:Introducción a los requerimientos.

Ing. Alejandra Colina V.

Julio, 2019

Page 2: CAPÍTULO 6: Introducción a los requerimientos

• Conocer los paradigmas (los métodos y los modelos) existentes

para el análisis de los requerimientos.

Objetivo del capítulo

Page 3: CAPÍTULO 6: Introducción a los requerimientos

Contenido

Requerimientos

Del modelo de proceso al

requerimientoIngeniería de

requerimientos

Proceso de requerimientos

y agente del proceso

Captura de requerimientoRequerimientos: funcionales,

no funcionales

Page 4: CAPÍTULO 6: Introducción a los requerimientos
Page 5: CAPÍTULO 6: Introducción a los requerimientos

¿QUÉ ES UN REQUERIMIENTO?

Page 6: CAPÍTULO 6: Introducción a los requerimientos

Condición o capacidad requerida por el usuario para resolver un problema o alcanzar un objetivo (IEEE, 1998).

Rama de la ingeniería del software que trata con el establecimiento de los objetivos, funciones y restricciones de los sistemas software (Zave, 1997).

Page 7: CAPÍTULO 6: Introducción a los requerimientos

Característica del sistema o una descripción de algo queel sistema es capaz de hacer con el objeto de satisfacerel propósito del sistema, lo que ha sido apropiadamentedocumentado y validado por el solicitante.

Los requerimientos tratan exclusivamente sobre losfenómenos del dominio de aplicación y no sobre lamaquina que los implementa.

Page 8: CAPÍTULO 6: Introducción a los requerimientos

Representan:

Factores de calidad del sistema que permitirán evaluar su utilidad a un cliente o usuario.

Los datos de entrada al proceso de desarrollo de software y representan lo que se requiere implementar.

Una descripción de cómo el sistema deberá comportarse.

Un problema por resolver.

Page 9: CAPÍTULO 6: Introducción a los requerimientos

• No se deben incluir aspectos de diseño, que especifiquen como debenimplementarse tales requerimientos, ni detalles de planeación delproyecto o de las pruebas.

• Todo software tiene requerimientos que lo definen y quizás la partemás difícil, es la decisión de qué es lo que se debe construir.

¡CUIDADO!

Se debe separar lo que se requiere de cómo se requiere que el sistema sea diseñado.

Page 10: CAPÍTULO 6: Introducción a los requerimientos

Características de los requerimientos

Precisos

•Deben extraer con precision lo que se desea del sistema

Completos

•Deben incluir todas las descripciones y componentes requeridos

Consistente

•No debe haber conflictos o contradicciones en las descripciones de los requerimientos

Page 11: CAPÍTULO 6: Introducción a los requerimientos

▪Los Requerimientos pueden ser Funcionales o No-Funcionales‒Los Requerimientos funcionales describen servicios o

funciones‒Los Requerimientos No-funcionales son un límite en el

sistema o en el proceso de desarrollo.

▪Requerimientos de Dominio‒Requerimientos que se obtienen de el dominio de la

aplicación del sistema y que reflejan suscaracterísticas.

Page 12: CAPÍTULO 6: Introducción a los requerimientos

Interfase Hombre-Maquina

Pantalla ° Teclado

Sistemas de Control y

Conteo de BilletesSistema de

Comunicaciones

Lector de

Tarjeta de Crédito

Sistema de

Control del

Cajero Automático

•Cliente

•Representante

del Banco

•Personal de

Mantenimiento

Base de Datos

Del Banco

Sistema de

Comunicaciones

del Banco

Análisis

de Riesgos

¿Cuáles funcionalidades pueden identificar de este SISTEMA?

Page 13: CAPÍTULO 6: Introducción a los requerimientos

INGENIERÍA DE REQUERIMIENTOS

Page 14: CAPÍTULO 6: Introducción a los requerimientos

El proceso de establecer los servicios que el cliente requiere de un sistema y los limites bajo los cuales opera y se desarrolla.

Las malas o ineficientes prácticas llevan invariablemente al fracaso del desarrollo del software, y pueden ser más costosas.

Es necesaria una disciplina en el desarrollo de software a fin de evitar que el desarrollo de software falle o que sufra de costos excesivos.

Page 15: CAPÍTULO 6: Introducción a los requerimientos

El proceso de recopilar, analizar y verificar las necesidades

del cliente para un sistema de software.

Propósito

Entregar una especificación de requerimientos

de software correcta y completa.

Mejorar la forma en que comprendemos y

definimos sistemas de software complejos.

Se define como:

Page 16: CAPÍTULO 6: Introducción a los requerimientos

El éxito de un sistema de software se mide de acuerdo al grado con que este y su proyecto de desarrollo cumplen con el objetivo para el cual fueron requeridos.

El problema del desarrollo de los sistemas de software es que los requerimientos son inherentemente dinámicos.

• Se debe a cambios por: mejoras, errores descubiertos, adopción de nuevas tecnologías, mejoras en la comprensión del sistema, entre otros.

Page 17: CAPÍTULO 6: Introducción a los requerimientos

El proceso de Ingeniería de Requerimientos debe ser:

PRECISO

• Debe incluir todos los requerimientos del cliente y del ambiente donde este estará operando.

FLEXIBLE

• Los requerimientos están sujetos a constantes cambios.

Page 18: CAPÍTULO 6: Introducción a los requerimientos

Pasos principalesEntender el problema: definición

Describir el problema:

especificación

Verificar la naturaleza del

problema: validación

Ponerse de acuerdo en

los limites del problema:

negociación

Este es un proceso iterativo

Page 19: CAPÍTULO 6: Introducción a los requerimientos

Documento de Requerimientos

• Es la declaración oficial de lo que es requerido para que el

sistema sea desarrollado.

• Incluye la definición y especificación de requerimientos.

• No es un documento de diseño. Tanto como sea posible, es un

conjunto de lo que es el sistema y no de como lo hará.

Page 20: CAPÍTULO 6: Introducción a los requerimientos

Estructura del Documento de Requerimientos

• Describe la necesidad de crear el sistema y cuales son sus objetivosde negocio.

Introducción.

• Define los términos técnicos usados.

Glosario.

• Define los modelos mediante los cuales se muestran los componentes del sistema y las relaciones entre ellos.

Modelos del Sistema.

• Define los servicios que serán proporcionados.

Definición de Requerimientos Funcionales.

Page 21: CAPÍTULO 6: Introducción a los requerimientos

Estructura del Documento de Requerimientos

• Definir las restricciones del sistema y el proceso de desarrollo.

Definición de Requerimientos No-funcionales.

• Definir las suposiciones fundamentales en las cuales el sistema se basa y los cambios que preveen.

Evolución del Sistema.

• Especificación detallada de los requerimientos funcionales del sistema.

Especificación de Requerimientos.

• Descripción de la plataforma de Hardware del Sistema.

• Requerimientos de la base de Datos

Apéndices.

Indice.

Page 22: CAPÍTULO 6: Introducción a los requerimientos

Requerimientos Definición/Especificación

• Una declaración en un Lenguaje Natural incluye los diagramas de los servicios del sistema y sus límites operacionales. Escrito para clientes.

Definición de Requerimientos

• Un documento estructurado con descripción o detalle de los servicios del sistema. Escrito como un contrato entre el cliente y el contratista.

Especificación de Requerimientos

• Descripción detallada de software, la cual, puede servir como una base para diseño o implementación. Escrito para desarrolladores.

Especificación de Software

Page 23: CAPÍTULO 6: Introducción a los requerimientos

REQUERIMIENTOS: FUNCIONALES,

NO FUNCIONALES

Page 24: CAPÍTULO 6: Introducción a los requerimientos

REQUERIMIENTOS FUNCIONALES

Page 25: CAPÍTULO 6: Introducción a los requerimientos

Describen una interacción entre el sistema y su ambiente (comportamiento del sistema ante determinado estímulo).

Declarar los servicios que debe proporcionar el sistema (entradas y cómo se debe comportar en situaciones particulares).

Pueden declarar explícitamente lo que el sistema no debe hacer.

Los requerimientos funcionales de un sistema describen lo que el sistema

debe hacer.

Page 26: CAPÍTULO 6: Introducción a los requerimientos

REQUERIMIENTOS NO FUNCIONALES

Page 27: CAPÍTULO 6: Introducción a los requerimientos

Son requerimientos que no se relacionan directamente con los servicios específicos que el sistema entrega a sus usuarios.

Pueden relacionarse con propiedades emergentes del sistema, como fiabilidad, tiempo de respuesta y uso de almacenamiento.

Page 28: CAPÍTULO 6: Introducción a los requerimientos

Describen una restricción sobre el sistema que limitanuestras elecciones en la construcción de una solución alproblema.

Los requerimientos no funcionales, como el rendimiento, laseguridad o la disponibilidad, especifican o restringen por logeneral características del sistema como un todo.

Los requerimientos no funcionales ponen límites y restricciones al sistema.

Page 29: CAPÍTULO 6: Introducción a los requerimientos

Los requerimientos no funcionales afectan más la Arquitectura Global de un

sistema que los componentes individuales.

Un requerimiento no funcional individual podría Generar Algunos Requerimientos

funcionales relacionados que definan nuevos servicios del sistema que se requieran.

La implementación de dichos requerimientos puede propagarse a

lo largo del sistema.

Page 30: CAPÍTULO 6: Introducción a los requerimientos

Tipos de requerimientos no funcionales

Page 31: CAPÍTULO 6: Introducción a los requerimientos

Requerimientos del producto

• Especifican o restringen el comportamiento del software.

• Ejemplo: rendimiento, cuánta memoria, fiabilidad, seguridad y de usabilidad.

Requerimientos de la organización

• Son requerimientos de sistemas amplios, derivados de políticas y procedimientos en la organización del cliente y del desarrollador.

• Los ejemplos incluyen cómo se usará el sistema, requerimientos del proceso de desarrollo y requerimientos ambientales que definen el entorno de operación del sistema.

Requerimientos externos

• Comprende todos los requerimientos derivados de factores externos al sistema y su proceso de desarrollo. Incluyen requerimientos regulatorios, requerimientos legislativos, y requerimientos éticos.

Page 32: CAPÍTULO 6: Introducción a los requerimientos

¿CÓMO SE CAPTURAN LOS

REQUERIMIENTOS?

Page 33: CAPÍTULO 6: Introducción a los requerimientos

1

2

3

4

5

Page 34: CAPÍTULO 6: Introducción a los requerimientos

Comprender el problema que se va a resolver

• Estudiar el dominio o entorno en el que el sistema va a operar.

Buscar y recolectar información

• Del sistema a desarrollar, manuales de operación y mantenimiento, manuales organizacionales y políticas de operación.

Definir los límites y restricciones del sistema

• Determinar con precisión que es lo que el sistema va a hacer y también especificar lo que no va a hacer.

Identificar a los usuarios interesados en el sistema

• Ellos conocen el medio ambiente en que operará el sistema y pueden ayudar describiendo sus necesidades.

Recolectar y clasificar requerimientos

• Los desarrolladores pueden iniciar definiendo un bosquejo general del sistema.

Page 35: CAPÍTULO 6: Introducción a los requerimientos

¿CÓMO SE COMPRENDE EL

PROBLEMA?

Page 36: CAPÍTULO 6: Introducción a los requerimientos

¿Qué se quiere hacer?

¿Qué problema se quiere resolver?

¿Para qué se quiere hacer el sistema?

Es necesario dar respuesta a lo siguiente:

Page 37: CAPÍTULO 6: Introducción a los requerimientos

El cliente no siempre define claramente el problema.

El analista de requerimientos y los desarrolladores no comprenden la naturaleza del problema.

El analista y los desarrolladores entienden el problema pero no saben como llevarlo a cabo.

El problema es muy amplio, vago, poco factible, o muy volátil.

Posibles Problemas:

Page 38: CAPÍTULO 6: Introducción a los requerimientos

Las siguientes actividades ayudan a comprender lasnecesidades del cliente y los usuarios:

Identificar las tareas o funciones que describen las necesidades del cliente (identificar los casos de uso).

Identificar los eventos del sistema y sus respuestas.

Observar a los usuarios en sus labores.

Observar reportes de problemas de los usuarios del sistema actual.

Page 39: CAPÍTULO 6: Introducción a los requerimientos

Taller N° 8

En pareja se desea que realice una investigación relacionada la

introducción a los requerimientos. El docente asignará a cada grupo

el tema a desarrollar para lo cual se debe investigar lo siguiente:

1. Mencione y describa tres artefactos (herramientas gráficas) demodelado para el desarrollo de software orientada a objetos.

2. Mencione y describa tres artefactos (herramientas gráficas) demodelado para el desarrollo estructurado de software.

Page 40: CAPÍTULO 6: Introducción a los requerimientos

Taller N° 8

En pareja se desea que realice una investigación relacionada la introducción a los

requerimientos. El docente asignará a cada grupo el tema a desarrollar para lo cual se

debe investigar lo siguiente:

3. Descubra las ambigüedades u omisiones en el siguiente enunciado derequerimientos de un sistema de emisión de boletos:

“Un sistema automatizado de emisión de boletos vende boletos de ferrocarril. Losusuarios seleccionan su destino e ingresan un número de tarjeta de crédito y uno deidentificación personal. El boleto de ferrocarril se emite y se carga en su cuenta detarjeta de crédito. Cuando el usuario oprime el botón start, se activa una pantalla demenú con los posibles destinos, junto con un mensaje que pide al usuario seleccionarun destino. Una vez seleccionado el destino, se solicita a los usuarios ingresar sutarjeta de crédito. Se comprueba su validez y luego se pide al usuario ingresar unidentificador personal. Cuando se valida la transacción crediticia, se emite el boleto”.

Page 41: CAPÍTULO 6: Introducción a los requerimientos

Taller N° 8

4. Describa utilizando las descripciones en lenguaje natural losrequerimientos de usuario aceptable para las siguientes funciones:

• Un sistema dispensador de gasolina no asistido que incluya un lectorde tarjeta de crédito. El cliente pasa la tarjeta en el lector, luegoespecifica la cantidad de combustible requerido. Se suministra elcombustible y se deduce de la cuenta del cliente.

• La función de dispensar efectivo en un cajero automático.

• La función de revisión y corrección ortográfica en un procesador detextos.