Requerimientos de Software -...

12
1 www.salesianorg.edu.ar/rqs UNPA UARG 2008 Ingeniería de Requerimientos Requerimientos de Software Requerimientos de Software www.salesianorg.edu.ar/rqs Contenido Introducción 1 Definiciones 2 Niveles y Clasificación 3 ERS 4 www.salesianorg.edu.ar/rqs Sistemas Conjunto de componentes interrelacionados. Subsistemas. Desarrollo en paralelo. Debe hacerse revisión del trabajo Requiere de una Ingeniería de Software

Transcript of Requerimientos de Software -...

Page 1: Requerimientos de Software - sistemas.uarg.unpa.edu.arsistemas.uarg.unpa.edu.ar/asignaturas/rqs/apuntes/2010/reqsoftware.pdf · Ejemplo: Ejemplo: RU: El sistema controlará los datos

1

www.salesianorg.edu.ar/rqs

UNPA UARG 2008

Ingeniería de Requerimientos

Requerimientos de SoftwareRequerimientos de Software

www.salesianorg.edu.ar/rqs

Contenido

Introducción1

Definiciones2

Niveles y Clasificación3

ERS4

www.salesianorg.edu.ar/rqs

Sistemas

�Conjunto de componentes interrelacionados.� Subsistemas.

� Desarrollo en paralelo.

� Debe hacerse revisión del trabajo

� Requiere de una Ingeniería de Software

Page 2: Requerimientos de Software - sistemas.uarg.unpa.edu.arsistemas.uarg.unpa.edu.ar/asignaturas/rqs/apuntes/2010/reqsoftware.pdf · Ejemplo: Ejemplo: RU: El sistema controlará los datos

2

www.salesianorg.edu.ar/rqs

Evolución de los sistemas

�Los sistemas tienen una larga vida, deben mantenerse.

1

Elaboración.Construcción.Puesta en Funcionamiento.

2

Generación de Información.Mantenimiento.Modificaciones:

Errores en los requerimientos.Nuevos requerimientos.Cambios en el hardware.Reorganización.

3

Muerte.Retirada del producto.Datos.Capacitación.Reutilización.

www.salesianorg.edu.ar/rqs

Procesos Organizacionales

�Procesos:

Adquisición del Sistema

Proceso de Desarrollo

Proceso Operativo

www.salesianorg.edu.ar/rqs

Adquisición

�¿Compramos o desarrollamos?

desarrollamos- Elegir Proveedor.-Negociar Contrato-Establecer contrato de desarrollo.

Compramos- Adaptar Requerimientos-Elegir Sistema-Emitir Peticiones de oferta-Elegir Proveedor

?

Page 3: Requerimientos de Software - sistemas.uarg.unpa.edu.arsistemas.uarg.unpa.edu.ar/asignaturas/rqs/apuntes/2010/reqsoftware.pdf · Ejemplo: Ejemplo: RU: El sistema controlará los datos

3

www.salesianorg.edu.ar/rqs

Ingeniería de Requerimientos

�Trata de establecer lo que el sistema debe hacer, sus propiedades emergentes y sus restricciones en su funcionamiento y el proceso de desarrollo.

www.salesianorg.edu.ar/rqs

Ingeniería de Requerimientos

COMUNICACIÓN

Proceso de comunicaciónTécnico e intelectual

Influyen:-Preferencias-Prejuicios-Aversiones- Cuestiones políticas y organizacionales

Clientes y usuarios Desarrolladores

Principal Problema:Ingeniería de requerimientos

www.salesianorg.edu.ar/rqs

Ingeniería de Requerimientos

Es un PROCESOEs un PROCESO

DescubrirDescubrir AnalizarAnalizar DocumentarDocumentar VerificarVerificar

Page 4: Requerimientos de Software - sistemas.uarg.unpa.edu.arsistemas.uarg.unpa.edu.ar/asignaturas/rqs/apuntes/2010/reqsoftware.pdf · Ejemplo: Ejemplo: RU: El sistema controlará los datos

4

www.salesianorg.edu.ar/rqs

Requerimientos

� Para un sistema: es la descripción de los servicios proporcionados y sus restricciones operativas.

� Para el cliente: refleja una necesidad de un sistema que les ayude a resolver algún problema.

www.salesianorg.edu.ar/rqs

Niveles de descripción

�Desde una simple declaración hasta una declaración detallada.

� Dos niveles de abstracción

www.salesianorg.edu.ar/rqs

Niveles de descripción

Declaraciones enLenguaje Natural y

Diagramas

Estabecen con detalle las funciones y

restricciones operativas.Contrato.

Requerimientos de usuario

Requerimientos de sistema

ClientesUsuarios

Analistas de sistemas

DesarrolladoresUsuarios

Analistas de sistemas

Arquitectos de sistemas

Ambas descripciones son necesarias

Page 5: Requerimientos de Software - sistemas.uarg.unpa.edu.arsistemas.uarg.unpa.edu.ar/asignaturas/rqs/apuntes/2010/reqsoftware.pdf · Ejemplo: Ejemplo: RU: El sistema controlará los datos

5

www.salesianorg.edu.ar/rqs

Ejemplo:

�Ejemplo:� RU: El sistema controlará los datos

ingresados por los telefonistas.

� RS: El sistema deberá controlar:• El nro de cliente ingresado corresponde a

un cliente de la empresa y que todos los datos solicitados en el formulario del cliente sean ingresados correctamente.

www.salesianorg.edu.ar/rqs

Clasificación de los requerimientos

�Los clasificamos en:� Funcionales

� No Funcionales

� De dominio

www.salesianorg.edu.ar/rqs

Requerimientos Funcionales

�Son declaraciones de los servicios que proveerá el sistema, de la manera en que este reaccionará a entradas particulares y de cómo se comportará en situaciones particulares.� El usuario deberá tener la posibilidad de

buscar un producto en la base de datos o seleccionar un subconjunto de productos.

Page 6: Requerimientos de Software - sistemas.uarg.unpa.edu.arsistemas.uarg.unpa.edu.ar/asignaturas/rqs/apuntes/2010/reqsoftware.pdf · Ejemplo: Ejemplo: RU: El sistema controlará los datos

6

www.salesianorg.edu.ar/rqs

Requerimientos Funcionales

�Son dependientes del software a desarrollar.

�Son más específicos que los requerimientos de usuario.

�Deben ser:� Completos.

� Consistentes.

www.salesianorg.edu.ar/rqs

Requerimientos No Funcionales

�Son restricciones de los servicios o funciones ofrecidas por el sistema.� El sistema utilizará el protocolo IP para

comunicarse entre las sucursales.

� El sistema utilizará el lenguaje de consulta SQL de Oracle.

� El sistema responderá las consultas de usuarios en no más de 5 segundos.

www.salesianorg.edu.ar/rqs

Requerimientos No Funcionales

� Requerimientos del producto:

Estos especifican el comportamiento del producto.(Eficiencia, portabilidad, usabilidad).

� Requerimientos Organizacionales:

Derivan de las políticas y procedimientos existentes en la organización del cliente y en la del desarrollador. (estándares de calidad, lenguaje de programación, documentación).

� Requerimientos externos:

Cubre los requerimientos que se derivan de los factores externos al sistema y de su proceso de desarrollo. (legales, éticos).

Page 7: Requerimientos de Software - sistemas.uarg.unpa.edu.arsistemas.uarg.unpa.edu.ar/asignaturas/rqs/apuntes/2010/reqsoftware.pdf · Ejemplo: Ejemplo: RU: El sistema controlará los datos

7

www.salesianorg.edu.ar/rqs

Requerimientos No Funcionales

�Son difíciles de verificar.�Se deben expresar de maneracuantitativa, utilizando métricas quese puedan probar de maneraobjetiva.

�No existen métricas para todos losrequerimientos No-Funcionales.� Ej: Mantenimiento.

www.salesianorg.edu.ar/rqs

Requerimientos de dominio

�Requerimientos que provienendel dominio de aplicación delsistema y reflejan lascaracterísticas de ese dominio.� Facturación con discriminación de

I.V.A. según sea la condición tributaria del cliente y de los productos.

www.salesianorg.edu.ar/rqs

Requerimientos

�La clasificación no es una tarea simple.

Page 8: Requerimientos de Software - sistemas.uarg.unpa.edu.arsistemas.uarg.unpa.edu.ar/asignaturas/rqs/apuntes/2010/reqsoftware.pdf · Ejemplo: Ejemplo: RU: El sistema controlará los datos

8

www.salesianorg.edu.ar/rqs

Ejemplos:

� Con esta nueva plataforma estimamos llegar a 50.000 nuevos socios registrados.

� Los clientes de la empresa exigen que se cumplan las normas I500.

� El cliente requiere una ayuda en linea.� Para la especificación de los requerimientos deberá utilizarse el estandar IEEE 830.

� El sistema debe emitir el comprobante “Mercadería Entregada” cuando se despacha la mercadería.

� A cada cliente se le asignará un único número de cliente.

www.salesianorg.edu.ar/rqs

Ejemplos:

�El acceso será controlado con un nombre de usuario y una contraseña. El nombre de usuario será único para cada empleado y la contraseña es de 8 caracteres, el administrador activará la cuenta, luego que el usuario se registre. El administrador también le asignará los permisos de accesos establecidos por la gerencia.

www.salesianorg.edu.ar/rqs

Problemas de los requerimientos

�No son siempre obvios.�Tienen muchas fuentes.�No siempre es facil de expresarlos con palabras.

�Distintos niveles de detalle.�La cantidad de req. puede ser inmanegable.

�Están relacionados.�Hay muchos interesados.�Sensibles al tiempo.

Page 9: Requerimientos de Software - sistemas.uarg.unpa.edu.arsistemas.uarg.unpa.edu.ar/asignaturas/rqs/apuntes/2010/reqsoftware.pdf · Ejemplo: Ejemplo: RU: El sistema controlará los datos

9

Requerimientos de usuario

�Desciben los requerimientos funcionales y no funcionales de tal forma que sean comprensibles por los usuarios del sistema que no posean un conocimiento técnico detallado.

�Expresan el comportamiento externo�Utilización de un lenguaje natural.

www.salesianorg.edu.ar/rqs

Requerimientos de usuario

�Inconvenientes de expresar en lenguaje natural:� Falta de claridad.

� Confusión de requerimientos: No se

distinguen claramente los tipos de requerimientos.

� Conjunción de requerimientos: Requerimientos diferentes se pueden expresar en forma conjunta en un único

requerimiento.

www.salesianorg.edu.ar/rqs

Requerimientos de usuario

�Recomendaciones� Inventar un formato estandar y asegurar que

todos los requerimientos se ajusten al formato.

� Utilizar el lenguaje en forma consistente: distinguir entre los requerimientos que son deseados (futuro condicional) y los

obligatorios (futuro simple).

� Evitar lenguaje técnico.

� Resaltar textos. (negrita, cursiva, color).

www.salesianorg.edu.ar/rqs

Page 10: Requerimientos de Software - sistemas.uarg.unpa.edu.arsistemas.uarg.unpa.edu.ar/asignaturas/rqs/apuntes/2010/reqsoftware.pdf · Ejemplo: Ejemplo: RU: El sistema controlará los datos

10

Requerimientos del sistema

�Versiones extendidas de los RU. Agregan detalle y explican como el sistema debe proporcionar los requerimientos de usuario.

�Los Ing de Soft. Los utilizan como punto de partida para el diseño.

�Solo deben describir el comportamiento externo del sistema y sus restricciones operativas.

�No hará Diseño ni Implementación.

www.salesianorg.edu.ar/rqs

Requerimientos del sistema

�Se pueden expresar en lenguaje natural:� La comprensión del requerimiento dependerá

que los lectores y redactores manejen el mismo lenguaje.

� Es demasiado flexible. Puede decir lo mismo de manera diferente.

� Es complejo relacionar los requerimientos. Un cambio implicará la lectura y análisis de todos los requerimientos.

www.salesianorg.edu.ar/rqs

Requerimientos del sistema

�Herramientas:� Lenguaje natural estructurado

� Lenguaje de descripción de diseño (pseudocódigo).

� Notaciones graficas.

� Especificaciones matemáticas.

www.salesianorg.edu.ar/rqs

Page 11: Requerimientos de Software - sistemas.uarg.unpa.edu.arsistemas.uarg.unpa.edu.ar/asignaturas/rqs/apuntes/2010/reqsoftware.pdf · Ejemplo: Ejemplo: RU: El sistema controlará los datos

11

El documento final

www.salesianorg.edu.ar/rqs

La Especificación de Requerimientos de Software (SRS) es la declaración oficial

de qué deben implementar los desarrolladores.Estructurado.

Diferentes lectores.Estandarizado: IEEE 830-1998

RU RSERSSRS

IEEE

�Introducción:

� Propósito del documento

� Alcance del producto

� Definiciones

� Referencias

�Descripción General

� Perspectivas del producto

� Funciones del producto

� Características del usuario

� Restricciones

www.salesianorg.edu.ar/rqs

IEEE

�Requerimientos específicos

� Funcionales

� No funcionales

� De dominio

www.salesianorg.edu.ar/rqs

Es la parte más importante.No define una estructura.

Es muy general, debe adaptarse.Existen otros estándares.

Page 12: Requerimientos de Software - sistemas.uarg.unpa.edu.arsistemas.uarg.unpa.edu.ar/asignaturas/rqs/apuntes/2010/reqsoftware.pdf · Ejemplo: Ejemplo: RU: El sistema controlará los datos

12

www.salesianorg.edu.ar/rqs

UNPA UARG 2008