los requisitos de sistemas y servicios

50
Los requisitos en la ingeniería de sistemas y servicios Su captura, especificación y gestión José Luis Fernández Sánchez Profesor titular ETSI Industriales- Universidad Politécnica de Madrid [email protected] Málaga,26 de Noviembre de 2014

Upload: others

Post on 06-Apr-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Los requisitos de sistemas y servicios

Los requisitos en la ingeniería de sistemas y servicios

Su captura, especificación y gestiónJosé Luis Fernández Sánchez

Profesor titular ETSI Industriales- Universidad Politécnica de [email protected]

Málaga,26 de Noviembre de 2014

Page 2: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 2

Page 3: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 3

Contenido de la presentación

� La importancia de los requisitos� Problemas habituales� Definiciones y tipos de requisitos� Ingeniería de sistemas� Ingeniería de servicios� Ingeniería de requisitos� El documento de especificación de requisitos software según el

IEEE� La gestión de los requisitos� El esfuerzo de la obtención y especificación de requisitos� El futuro de los requisitos

Page 4: Los requisitos de sistemas y servicios

La importancia de los requisitos

Los requisitos son un factor clave en el éxito o fracaso de los

proyectos

Page 5: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 5

Los requisitos y los proyectos

� Estudios de la industria de las tecnologías de la información en Estados Unidos muestran que los sistemas entregados cumplen sólo del 42% al 67% de los requisitos.

Page 6: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 6

El Informe Standish (I)

� Razones para el fracaso de los proyectos1. Requisitos incompletos2. Falta de participación del usuario3. Falta de recursos4. Expectativas no realistas5. Falta de apoyo de la dirección6. Cambios en los requisitos7. Falta de planificación8. El proyecto se convierte en innecesario

Page 7: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 7

El informe Standish (II)

� Los 10 factores de éxito en los proyectos:1. Grado de participación del usuario2. Apoyo de la dirección3. Jefe de proyecto con experiencia4. Objetivos de negocio claros5. Minimizar el alcance6. Proceso ágil de ingeniería de requisitos7. Infraestructura estándar8. Metodología rigurosa9. Estimaciones fiables10. Personal competente

Page 8: Los requisitos de sistemas y servicios

Problemas habituales

Lo que uno se encuentra en los ámbitos académicos e industria

Page 9: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 9

Requisitos tipo novela

“La aplicación se ejecutará a la máxima capacidad de proceso en todo momento, exceptuando las situaciones de emergencia donde será capaz de ejecutarse al 125% siempre que la situación no exceda una duración de 15 minutos, en cuyo caso se ejecutará al 105%, pero en el caso que sólo se pueda realizar el 95% entonces se activará una excepción de capacidad reducida y se mantendrá la capacidad dentro de un 10% de los valores establecidos por un mínimo intervalo de 30 minutos.”

Page 10: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 10

Requisitos orientados a la solución

� “Los peatones indicarán su presencia pulsando un botón en un poste próximo (distancia a determinar) al cruce”(orientado a la solución)

� “El sistema permitirá a los peatones mostrar su intención de cruzar la calle”(orientado a la función)

Page 11: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 11

Requisitos no estructurados

Page 12: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 12

Abuso de la ambigüedad

Ejemplos de requisitos ambiguos según K. Wiegers:

� El sistema funcionará siempre de modo “aceptable”.� El sistema será “eficiente”.� En situación “normal” el sistema funcionará según…� El sistema será “robusto”.� El sistema se implementará según el “estado del arte”.� El sistema será “fácil de usar”.� El sistema responderá al evento X “suficientemente”

rápido.� El sistema “no debería” …

Page 13: Los requisitos de sistemas y servicios

Definiciones y tipos de requisitos

¿Qué es un requisito?¿Son todos los requisitos iguales?

Page 14: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 14

Necesidades, expectativas y requisitos

� Las necesidades expresan de forma no precisa lo que quiere el cliente (también puede ser llamado “requisito en bruto”)

� Las expectativas representan necesidades no explícitas del cliente

� Un requisito es una propiedad que debe ser mostrada por un sistema desarrollado o modificado para resolver un problema en particular

Page 15: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 15

Concepto de Requisito según IEEE Std. 1233

� Un requisito bien formulado establece una funcionalidad o capacidad del sistema que puede ser validada, y que debe ser poseída por el sistema para resolver un problema o realizar un objetivo de negocio.

� Un requisito esta cualificado por “condiciones” medibles

� Un requisito puede estar limitado por restricciones de tipo técnico, económico, de proyecto o legales

Page 16: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 16

Ejemplo de Requisito

� Transportar personas de Madrid a Málaga a una velocidad máxima de 300 km/h por un precio por persona menor de 75 Euros� capacidad: transportar personas de Madrid a

Málaga� condición: velocidad máxima de 300 km/h� restricción: precio por persona menor de 75 Euros

Page 17: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 17

Tipos de requisitos

� Funcionales: Según Thayer , los requisitos funcionales describen una función que un sistema, aplicación software o componente debe ser capaz de realizar. Básicamente describen aspectos de conducta mediante transformaciones de entradas en salidas

� No funcionales o de atributos de calidad: Según Thayer, los requisitos no funcionales no describen qué tiene que hacer el sistema, aplicación software o componente sino cómo tiene que hacerlo.

� Restricciones: Son requisitos de tipo legal, técnico, económico u otro que limitan el espacio de posibles soluciones.

� Reglas de negocio: Son requisitos relacionados con la organización o su forma de hacer el negocio. Pueden ser hechos, algoritmos de cómputo, reglas de inferencia u otras.

4

Page 18: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 18

Otras clasificaciones de los requisitos

� Por su nivel en el sistema:� Requisitos de alto nivel� Requisitos de bajo nivel� Requisitos derivados

� Por su orientación� Requisitos de producto� Requisitos de proyecto

Page 19: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 19

Ejemplos de requisitos

� Req. Usuario : “El usuario podrá hervir un recipiente con 10 litros de agua en 4 minutos sobre la superficie de la cocina”

� Req. de alto nivel: “La cocina dispondrá de un quemador de gas de 10 cm. de diámetro”.

� Req. de bajo nivel: “El quemador tendráun suministro de gas a una presión no menor de 25 psi”

Page 20: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 20

Requisitos derivados

� Los requisitos de bajo nivel se van obteniendo a partir de los requisitos de alto nivel

� En muchos casos aparecen “requisitos derivados”� Un requisito derivado es aquel que no es trazable

directamente a un requisito de nivel más alto. Un requisito derivado puede depender de una solución de diseño.

� Un ejemplo de requisito derivado sería la necesidad de implementar en el software un manejador de interrupciones para el procesador escogido

Page 21: Los requisitos de sistemas y servicios

La ingeniería de sistemas

la Ingeniería de Sistemas es la disciplina que considera todos los aspectos de la resolución de un problema de ingeniería, desde su definición hasta el desarrollo de la

solución. Además, se tienen en cuenta los aspectos externos y los aspectos empresariales que pueden

afectar el resultado.

Page 22: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 22

Descomposición de un Sistema-Jerarquía

(IEEE Std 1220)

Page 23: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 23

El proceso de la ingeniería de sistemas

Systems Engineering Fundamentals. DoD 2001

Análisis deRequisitos

Análisis Funcional

Diseño

Evaluación

BucleDiseño

BucleRequisitos

Verificación

Entrada

Salida

Page 24: Los requisitos de sistemas y servicios

2426 Noviembre 2014 © José Luis Fernández Sánchez 24

Descomposición de los requisitos en desarrollos de Motorola

Page 25: Los requisitos de sistemas y servicios

La ingeniería de servicios

Adaptando la metodología de ITU a la notación UML

Page 26: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 2626

Metodología según ITU (International Telecommunications Union)

adaptada a UML

Etapa 1:Definición y Descripción

del Servicio

Etapa 2:Arquitectura del Servicio

Etapa 3:Especificación

de los Componentes yArquitectura Física

Page 27: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 2727

Definición y descripción del servicio

� Se contempla al servicio o sistema como una única entidad que da funciones a los usuarios

� La técnica de los casos de uso es utilizada para describir la operación del servicio desde la perspectiva de los usuarios

� Se identifican los requisitos no funcionales

Page 28: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 2828

Arquitectura del servicio

� Se describe la arquitectura lógica del servicio, identificando sus componentes principales y realizando la asignación de funcionalidades a dichos componentes

� Se complementa con los modelos de comportamiento (diagramas de secuencia, actividad, colaboración o de estado) que sean necesarios para explicar el comportamiento normal y las situaciones de error

Page 29: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 2929

Especificaciones de componentes y arquitectura física

� Se especifica en detalle cada uno de los componentes de la arquitectura del servicio

� Se identifican los diferentes nodos donde se ejecuta el servicio y la solución (protocolos) elegida para la comunicación internodos

Page 30: Los requisitos de sistemas y servicios

La ingeniería de requisitos

Cómo capturarlos, organizarlos y especificarlos

Page 31: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 31

Proceso de la especificación de los requisitos

Cliente

Entorno

Comunidad Técnica

Captura de requisitos

Presentar la especificación de requisitos

Coleccion de requisitos

Requisitos bien formulados

Construir los requisitos bien

formulados

Organizar los requisitos

Feedback te

cnico

Restricción

Necesidad

Requisito

Feedback

Cliente

Page 32: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 32

Actividades de la ingeniería de requisitos

� La ingeniería de requisitos conlleva las siguientes actividades:� Captura de requisitos� Análisis de requisitos� Especificación de requisitos � Validación de requisitos

Page 33: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 33

Captura de requisitos

� Posibles fuentes de requisitos:� Objetivos del negocio� Dominio de conocimiento� Partes interesadas en el proyecto del

sistema� Entorno operacional del sistema� La Empresa o entorno organizativo

Page 34: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 34

Captura de requisitos

Técnicas de captura de requisitos:� Entrevistas� Escenarios� Prototipos� Reuniones dirigidas� Observación

Page 35: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 35

Análisis de requisitos

� Esta actividad conlleva:� Detectar y resolver conflictos entre los requisitos� Identificar las fronteras del sistema y como éste

interacciona con su entorno (contexto)� Desarrollar modelos que ayuden a la comprensión

del problema� Modelo de contexto� Modelos conceptuales� Flujos de datos y control� Modelos de estados� Trazas de eventos� Interacciones con los usuarios del sistema� otros

Page 36: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 36

Especificación de requisitos

� Organizar los requisitos� Representar los requisitos de diversas

formas según la audiencia� Elaboración del documento de

especificación de requisitos

Page 37: Los requisitos de sistemas y servicios

El documento de especificación de requisitos

Cómo organizar los requisitos en los sistemas intensivos en software según

el estándar del IEEE 830

Page 38: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 38

El documento de especificación de requisitos software

� La especificación de requisitos software es un documento que describe los requisitos de un producto, programa o conjunto de programas software que realiza ciertas funcionalidades en un entorno específico.

� Los temas básicos que se deben tratar en el documento son:

a) Funcionalidad.¿Qué hace el software?b) Interfaces externas. ¿Cómo interactúa con personas, hardware u

otras aplicaciones?c) Prestaciones.¿Cual es la eficiencia, disponibilidad, tiempo de

respuesta, tiempo de recuperación de las funciones del software?

d) No funcionales. ¿Que portabilidad, integridad, mantenibilidad, seguridad y otros atributos o factores de calidad tiene?

e) Restricciones. Estándares, lenguaje de implementación, políticas, limites de recursos, entorno operacional, etc.

Page 39: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 39

El documento de especificación de requisitos software

Contenido del documento según el IEEE 830:1. Introducción

1. Propósito2. Alcance3. Definiciones, abreviaturas y siglas4. Referencias5. Visión general

2. Descripción general1. Perspectiva del producto2. Funciones del producto3. Características de los usuarios4. Restricciones5. Premisas y dependencias

3. Requisitos ApéndicesÍndice

Page 40: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 40

Requisitos

Existen varios enfoques para organizar los requisitos :� Por modos de funcionamiento� Por tipos de usuarios� Por objetos� Por aspectos diferenciales� Por estímulos� Por jerarquía funcional� Por enfoques múltiples

Page 41: Los requisitos de sistemas y servicios

La gestión de los requisitos

Page 42: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 42

La gestión de los requisitos

La gestión de requisitos es una actividad a realizar durante todo el ciclo de desarrollo. Sus objetivos fundamentales son dos:

1. Los requisitos están controlados y sirven de referencia para las actividades de ingeniería del software y dirección de proyecto

2. Los planes, productos y actividades del proyecto se mantienen consistentes con los requisitos

Page 43: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 43

Atributos de un requisito

� Identificación� Versión del requisito� Tipo de requisito � Prioridad para el cliente� Estado (propuesto, aprobado, rechazado …)� Madurez o estabilidad � Riesgo� Origen del requisito (documento, participante

del proyecto origen del requisito, por transformación de otro …)

Page 44: Los requisitos de sistemas y servicios

El esfuerzo de la captura y especificación de los requisitos

Según datos de la industria norteamericana

Page 45: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 45

El esfuerzo de la captura y especificación de los requisitos

21,99,0Proyectos con “outsourcing”

17,510,0Software militar

22,77,0Productos comerciales

13,29,0Software de sistema

4,443,7Informática de gestión

Duración de la captura y especificación

Porcentaje del esfuerzo total

Proyecto de 10000 puntos función

Page 46: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 46

Factores que influyen en el esfuerzo de la captura y especificación de los requisitos

(Según K. Wiegers) (I)

Diversos tipos de usuariosExperiencia en el dominio de aplicación

Proceso débil de toma de decisiones

El cliente responde rápido a las preguntas

Barreras por idiomas Reutilización

Participantes dispersos geográficamente

Participación del cliente

Falta de experiencia en el proyecto o dominio de aplicación

Experiencia de los analistas

Más esfuerzoMenos esfuerzo

Page 47: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 47

Factores que influyen en el esfuerzo de la captura y especificación de los requisitos

(Según K. Wiegers) (II)

No existe un proceso de ingeniería de requisitos

Interacciones complejas entre componentes software y

hardware

Dependencias externas e incertidumbre

Revisiones eficaces para eliminar ambigüedades y hallar omisiones

Trabajo concurrente entre desarrollo software y procesos de

negocio

Reemplazar una aplicación existente

Más esfuerzoMenos esfuerzo

Page 48: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 48

El futuro de los requisitos (I)

� Los requisitos son cada vez más importantes y más demandados en los proyectos

� Importancia de la mejores prácticas en su captura y especificación

� Los requisitos no son sólo texto sino videos, planos y modelos

� Se entiende que la ingeniería de requisitos es un trabajo complejo

� Los requisitos son un activo de la organización

Page 49: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 49

El futuro de los requisitos (II)

� Existe una evolución de la ingeniería de requisitos donde cobra mayor relevancia su justificación a efectos de gestión del portafolio

� Una aproximación orientada a la persona (casos de uso, relatos o”storyboards”) darálugar a requisitos de mayor valor.

� Uso de los medios sociales es decir foros, blogs y otros

Page 50: Los requisitos de sistemas y servicios

26 de Noviembre de 2014 ©José Luis Fernández Sánchez 50

Referencias� Dick, J., Ryan, M., Wheatcraft, L.,Zinni,R.,Baksa,K., Fernandez, J.L., Smith G.R. and C.

Unger. “Guide for Writing Requirements”. International Council on Systems Engineering (INCOSE). April 2012.

� Fernandez J. L.” "Los requisitos. Un factor crítico en el éxito de los proyectos. La importancia de los modelos“. PMI Madrid Julio 2014. Enlace video en Youtube: http://www.youtube.com/watch?v=wBQ8bZIQyf0

� Grant, T. “High-Value Requirements are Changing App Development and Delivery”. Forrester Research. December 2011.

� IEEE Computer Society, IEEE Std 830-1998, “Recommended Practice for Software Requirements Specifications”, New York 1998

� IEEE Computer Society, IEEE Std 1233, “Guide for Developing System Requirements Specifications”, New York 1998.

� ISO/IEC/IEEE 29148 Systems and software engineering —Life cycle processes —Requirements Engineering. December 2011.

� Thayer R. y Dorfman M. (eds.). “System and Software Requirements Engineering”. IEEE Computer Society Press, Los Alamitos (California). 1990.

� Weigert T. y Reed, R. “Specifying Telecommunications Systems with UML”. En UML for Real, L. Lavagno, G. Martin y B.Selic (eds). Kluwer Academic Publishers, Dordrecht, 2003.

� Wiegers, K. and Beatty, J “Software Requirements”. Microsoft Press, Aug 2013.