La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ingeniería de Requerimientos. Introducción. Alvaro Ortas.1 Ingeniería de Requerimientos Universidad ORT - Uruguay Alvaro Ortas.

Presentaciones similares


Presentación del tema: "Ingeniería de Requerimientos. Introducción. Alvaro Ortas.1 Ingeniería de Requerimientos Universidad ORT - Uruguay Alvaro Ortas."— Transcripción de la presentación:

1 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.1 Ingeniería de Requerimientos Universidad ORT - Uruguay Alvaro Ortas

2 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.2 Objetivos del Curso Determinar la importancia de la Ingeniería de Requerimientos en el proceso de desarrollo de software. Conocer la teoría que fundamenta la Ingeniería de Requerimientos. Dominar los fundamentos de distintas técnicas y prácticas de la Ingeniería de Requerimientos. Enmarcar la Ingeniería de Requerimientos en el contexto de un proceso administrado. Desarrollar la capacidad de selección y adaptación de dichas técnicas y prácticas según las restricciones de un proyecto dado.

3 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.3 Temario General Introducción a la Ingeniería de Requerimientos. El proceso de la ingeniería de requerimientos. La extracción de requerimientos. El análisis y negociación de requerimientos. Técnicas de especificación de requerimientos. Prototipación. Validación de requerimientos. La administración de requerimientos.

4 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.4 Referencias Bibliográficas Software Requirements: Objects, Functions and States, Alan Davis. Requirements Engineering - Process and Techniques, Gerald Kotonya and Ian Sommerville. The Object Advantage: Business Process Reengineering with Object Technology, Ivar Jacobson. Software Requirements Engineering, Richard Thayer and Merlin Dorfman. Requirements Engineering: A Good Practice Guide, Ian Sommerville and Pete Sawyer.

5 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.5 Evaluación 1) Se conformarán N grupos de trabajo para el obligatorio. 2) Cada grupo confeccionará un DCO, un ESRE, y realizará la evaluación de los DCO y los ESRE de los restantes grupos. 3) De los N DCOs confeccionados se seleccionará uno que será base para la confección de los N ESREs. 4) La selección de este DCO resultará de la evaluación realizada por los otros N grupos y la evaluación del docente. 5) La elaboracion de los ESREs se realizará en función del DCO seleccionado. 6) El grupo cuyo DCO resulte seleccionado automáticamente obtendrá tres puntos adicionales al trabajo global. 7) El grupo cuyo ESRE resulte mejor evaluado (por los restantes grupos y el docente) automáticamente obtendrá tres puntos adicionales al trabajo global. 8) La sumatoria de los puntos adicionales y la de los puntos del trabajo global nunca superarán los 100 puntos. 9) Luego de la entrega final del obligatorio se realizará una defensa. 10) Distribución de puntos: DCO - 25, ESRE, Story y Visión Arquitectónica - 30, Metodología de Trabajo - 17, evaluación de DCO - 5, evaluación de ESRE - 7, adicionales por DCO - 3, adicionales por ESRE - 3, defensa En cualesquiera de los ítems mencionados se debe alcanzar un mínimo del 50% y la sumatoria de cada uno de los ítems debe ser mayor o igual que el 50% del puntaje total. 11) Entregas: Entrega de letra del obligatorio.07 al 12/02/2007. DCO.26/02/2007. Evaluación del DCO.05/03/2007. (ENTREGA OFICIAL 1). ESRE y metodología de trabajo.29/03/2007. (ENTRGA OFICIAL 2) Evaluación del ESRE.12/04/2007. (ENTREGA OFICIAL 3) Defensa.A determinar.

6 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.6 Ingeniería de Requerimientos Introducción

7 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.7 Temario Ingeniería de software en su contexto. Funciones de la ingeniería de software. Procesos y ciclos de vida. Definición e identificación de requerimientos. Tipificación de requerimientos. Productos de ingeniería de requerimientos. La ingeniería de requerimientos como proceso.

8 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.8 Temario Ingeniería de software en su contexto. Funciones de la ingeniería de software. Procesos y ciclos de vida. Definición e identificación de requerimientos. Tipificación de requerimientos. Productos de ingeniería de requerimientos. La ingeniería de requerimientos como proceso.

9 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.9 Sistema Definición. –Conjunto de elementos relacionados de manera que les permita alcanzar un objetivo común. [Thayer]. Tipos de sistemas. –Naturales. –Artificiales (hechos por el hombre).

10 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.10 Sistema Artificial Definición. –Sistema hecho por el hombre basado en recursos humanos y tecnológicos (hardware, software, infraestructura, procedimientos, etc.) cuyos componentes cooperan para alcanzar un objetivo común. [Thayer]. Ejemplos: –Empresa. –Edificio. –Avión. –Automóvil. –Computadora.

11 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.11 Sistema de Software Definición. –Sistema artificial que consiste de un conjunto de programas y documentos que en conjunción cumplen con un conjunto de requerimientos del usuario. [Thayer].

12 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.12 Contexto de Sistemas Sistemas Sistemas Naturales Sistemas Artificiales Sistemas de Software

13 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.13 Ingeniería de Sistemas Según Thayer. Es la aplicación de esfuerzos de distintas disciplinas científicas y de ingeniería con el fin de: 1) Transformar una necesidad operativa en en la descripción de un sistema y sus parámetros de desempeño, valiéndose de un proceso de definición, análisis, síntesis, diseño, prueba y evaluación. 2) Integrar elementos técnicos relacionados y asegurar la compatibilidad de toda la funcionalidad de manera de optimizar la definición y el diseño del sistema. 3) Integrar confibilidad, mantenibilidad, seguridad, sobrevivencia, factores humanos, y otras consideraciones de modo de conjugar objetivos de costo, tiempo y desempeño técnico.

14 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.14 Procesos de la Ing. de Sistemas Proceso Técnico. –Conjunto de actividades orientadas a la construcción del sistema, básicamente: diseño y fabricación. –Se denominan también actividades directas. Proceso Administrativo. –Conjunto de actividades orientadas a asegurar que el sistema se construya en tiempo y forma: definición del sistema, control del proceso, cronograma, control de costos, control de calidad, etc. –Se denominan también actividades indirectas.

15 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.15 Ing. de Sistemas de Software Definición de Thayer. El proceso técnico es el esfuerzo necesario para: –Transformar una necesidad operativa en una descripción de sistema de software. –Para confeccionar la documentación de los requerimientos y la especificación de diseño. –Realizar el diseño del sistema de software. –Ejecutar los procedimientos de verificación, prueba y aceptación del producto final. –Para confeccionar la documentación necesaria para operar y mantener el sistema de software. El proceso administrativo es ídem al de la Ing. de Sistemas.

16 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.16 Ingeniería de Software Adaptación de definición de Thayer. –Es la aplicación sistemática de métodos, herramientas y técnicas para transformar requerimientos establecidos en una eficaz y eficiente sistema de software. –Utilizando un proceso de diseño, codificación, prueba y documentación bajo estrictas restricciones de tiempo, presupuesto y calidad.

17 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.17 Relacionamiento entre las Ing. Análisis del Sistema Diseño del Sistema Anal. de Req. de Soft. Diseño Arq. del Soft. Diseño Det. del Soft. Prueba Subsistema Codif. y Prueba Unit. Prueba de Int. del Soft. Prueba del Sistema de Soft. Prueba de Int. del Sistema Prueba del Sistema Ingeniería de Sistemas Ing. de Sistemas de Soft. Ingeniería de Software

18 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.18 Temario Ingeniería de software en su contexto. Funciones de la ingeniería de software. Procesos y ciclos de vida. Definición e identificación de requerimientos. Tipificación de requerimientos. Productos de ingeniería de requerimientos. La ingeniería de requerimientos como proceso.

19 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.19 Funciones de las IS y ISS Definición del problema (análisis de requerimientos). –Relevamiento con los usuarios para determinar necesidades y restricciones. Análisis de la solución (diseño). –Determinar las posibles formas de resolver el problema. –Estudiar las posibles soluciones. –Seleccionar la solución óptima. Planificación del proceso. –Determinar costos, cronograma, y métodos para controlar el proyecto. Control del proceso. –Realizar revisiones del proceso y sus productos intermedios y tomar acciones correctivas. Evaluación del producto. –Verificación, validación y prueba de los productos intermedios y del producto final.

20 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.20 Distribución de Funciones Ing. de Sist. de Soft. (Técnica) Definición del Problema. Análisis de la Solución. Evaluación del Producto. Ingeniería de Software Diseño del software. Codificación. Prueba Unitaria. Integración del Subsist. de Soft. Ing. de Sist. de Soft. (Adm.) Planificación del Proceso. Control del Proceso. Organización. Reclutamiento de personal.

21 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.21 Temario Ingeniería de software en su contexto. Funciones de la ingeniería de software. Procesos y ciclos de vida. Definición e identificación de requerimientos. Tipificación de requerimientos. Productos de ingeniería de requerimientos. La ingeniería de requerimientos como proceso.

22 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.22 Procesos Definición: conjunto secuencial de tareas y actividades con el propósito de transformar insumos en resultados con valor agregado. Ejemplos: facturar, cobrar, curar, hacer un sistema, transportar, asignar recursos, etc.

23 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.23 Tareas vs. Actividades Tarea. –Subdivisión de un proceso. –Unidad de trabajo a realizar por un agente humano. –Se le asocian agentes y recursos. –Se puede planificar, ejecutar y controlar. Actividad. –Subdivisión de una tarea. –Se ejecuta automáticamente por algún agente no humano (herramienta). –Se le asocian agentes y recursos. –No es necesario que sea gerenciada.

24 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.24 Perspectivas de un Proceso Objetivos. –Definir QUE hacer, QUIEN debe hacerlo, CUANDO y COMO hacerlo para alcanzar una meta.[JACOBSON]. Perspectivas. –Funcional. –De los resultados. –Organizacional. –Metodológica. –Del comportamiento. Prescribe tareas y actividades a realizar. Describe productos y servicios y sus interrelaciones. Indica y especifica roles (accionistas). Describe métodos y herramientas de las tareas.

25 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.25 Proceso de Software Proceso de Ingeniería SCMSQAGerencia Clientes y Usuarios NecesidadesSistema Clientes y Usuarios IRCONS. Procesos Orientados al Producto Procesos Orientados a la Gestión Ing. de Procesos

26 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.26 Ing. de Requerimientos Extraer necesidades de clientes y usuarios. Analizar el problema. Especificar requerimientos. Validar y verificar requerimientos. Administrar los requerimientos.

27 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.27 Construcción Análisis del sistema de software. Diseño arquitectónico. Diseño detallado. Codificación y prueba unitaria. Integración y prueba de integración. Integración final y prueba del sistema.

28 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.28 Gerencia del Proyecto Establecimiento del proceso y ciclo de vida. Establecimiento del cronograma. Establecimiento de costos. Análisis de riesgos. Organización. Reclutamiento del personal. Control del proceso.

29 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.29 Aseguramiento de la Calidad También denominada QA (Quality Assurance). Aseguramiento de la calidad del producto final a través de validación y verificación: –De los productos intermedios. –Del producto final. –De la ejecución de las tareas.

30 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.30 Control de Configuración También denominado CM (Configuration Management). Actividades destinadas a identificar, organizar y controlar las modificaciones al software y documentos generados y mantenidos por el equipo de desarrollo. Tareas: –Definir un plan de CM. –Definir estructura de almacenamiento del Repositorio –Definir e identificar los productos que se deben controlar. –Actividades de control y administración (Charge-in, Charge-Out, etc). –Medir el número cambios a cada producto. –Medir el esfuerzo de CM.

31 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.31 Ingeniería de Procesos Tareas destinadas a definir: –Procesos. –Ciclos de vida. –Productos intermedios a generar. –Métodos y técnicas. –Herramientas. –Estándares. –Métricas.

32 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.32 Perspectivas de un Proceso Objetivos. –Definir QUE hacer, QUIEN debe hacerlo, CUANDO y COMO hacerlo para alcanzar una meta.[JACOBSON]. Perspectivas. –Funcional. –De los resultados. –Organizacional. –Metodológica. –Del comportamiento. Prescribe tareas y actividades a realizar. Describe productos y servicios y sus interrelaciones. Indica y especifica roles (accionistas). Describe métodos y herramientas de las tareas.

33 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.33 Perspectiva del Comportamiento Representa los aspectos dinámicos del proceso. –Secuenciamiento. –Paralelismo –Sincronización. –Iteraciones. –Retroalimentación. –Condiciones de inicio y terminación. –Transiciones de estado. En resumen: es el ciclo de vida que toma el proceso.

34 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.34 Ciclo de Vida: especificación algorítmica de la ejecución de tareas y actividades de un proceso. Requerimientos Análisis Diseño Implementación Prueba... Req. Análisis Diseño Imp. Prueba Req. Análisis Diseño Imp. Prueba Req. Análisis Diseño Imp. Prueba Req. Análisis Diseño Imp. Prueba Análisis Diseño Imp. Prueba Análisis Diseño Imp. Prueba... CascadaEvolutivoIncremental

35 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.35 Cascada Características. –Se construyen todos los entregables por fase. –No se transita a otra fase hasta no estar concluida la anterior. –La arquitectura es estable. –Se realiza una sola entrega al finalizar el proyecto. Ventajas. –Ordena el proceso de desarrollo. –Asegura mojones de revisión. –Permite planificar el control y seguimiento. –Permite generar documentación para el mantenimiento.

36 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.36 Incremental Características. –Se especifican todos los requerimientos. –Se construye en base a incrementos. –La arquitectura permanece estable (en líneas generales). –Se entrega en base a un incremento (incremental de entrega simple). –Se entrega en base a N incrementos (incremental de varias entregas). Ventajas. –Las mismas de la cascada y: –Minimiza riesgos tecnológicos. –Ayuda en la optimización de recursos. –El cliente puede ir viendo el producto en avance.

37 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.37 Evolutivo Características. –Se especifica parte de los requerimientos. –Se construye en base a incrementos (evoluciones). –Se entrega en base a incrementos (siempre en varias entregas). –La arquitectura puede sufrir grandes cambios. –Se repite el proceso desde el inicio. Ventajas. –Las mismas de la cascada y: –Minimiza riesgos tecnológicos. –Ayuda en la optimización de recursos. –Permite ir conociendo los requerimientos en avance. –El cliente puede ir viendo el producto en avance.

38 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.38 Modelos de Ciclo de Vida Abstracción que da origen a distintos ciclos de vida. Ejemplos. –Cascada. –Espiral. –En V. –De USDP (Unified Software Development Process de Rational).

39 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.39 Modelo de CV en Cascada Da origen a ciclos de vida en cascada solamente. Requerimientos Análisis Diseño Implementación Prueba

40 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.40 Modelo de Ciclo de Vida en Espiral Da origen a los siguientes ciclos de vida: –Cascada. Si solo se ejecuta la primera vuelta. –Incremental. N vueltas. Solo en la primera se hace requerimientos. –Evolutivo. N vueltas. Todas iguales. Evaluación Identificación Construcción Diseño Punto de Decisión Requerimientos Diseño Imp. Prim. Bloque Evaluación Requerimientos Diseño Imp. Segundo Bloque Evaluación Requerimientos Diseño Imp. Tercer Bloque Evaluación

41 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.41 Modelo de Ciclo de Vida en V Da origen a los siguientes ciclos de vida: –Cascada. Si solo se ejecuta la primera V. –Incremental. N Vs consecutivas. Solo en la primera se hace requerimientos. –Evolutivo. N Vs consecutivas. Todas iguales. Imp. Prueba de Unidad Diseño Análisis Requerimientos Prueba de Integración I Prueba de Integración II Prueba del Sistema Descomposición y Definición Integración y V&V

42 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.42 Modelo de Ciclo de Vida de USDP Entregas Da origen a los siguientes ciclos de vida: Cascada. –Una sola iteración. Incremental. –N iteraciones. –Solo en la primera se hace requerimientos. Evolutivo. –N iteraciones. –Todas iguales.

43 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.43 Del Proceso al Proyecto P. Funcional (Tareas) P. Comportamiento (Modelo de CV) Ciclo de Vida Otras Perspectivas (Res., Org., Met.) Proyecto Molde Instancia

44 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.44 Ciclo de Vida de un Producto de Software Definición del Producto Desarrollo del Producto Operaciones y Mantenimiento Estudio de mercado. Relevamiento betusuarios.y clientes. Especificación. Validación. Análisis del sistema de software. Diseño arquitectónico. Diseño detallado. Codificación y prueba unitaria. Integración y prueba de integración. Betatest. Ventas. Distribución. Capacitación. Personalización. Migración. Puesta en funcionamiento. Seguimiento. Soporte. Relevamiento usuarios y clientes.. Especificación. Validación. Análisis del sistema de software. Diseño arquitectónico. Diseño detallado. Codificación y prueba unitaria. Integración y prueba de integración. Integración final y prueba del sistema. Capacitación. Puesta en funcionamiento. Seguimiento. Soporte. Empresa Orientada al Mercado Empresa o desarrollo Orientado al Cliente

45 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.45 Ciclo de Vida de un Sistema Requerimientos del Sistema Diseño del Sistema Requerimientos de HardRequerimientos de Software Diseño del HardDiseño del Software

46 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.46 Temario Ingeniería de software en su contexto. Funciones de la ingeniería de software. Procesos y ciclos de vida. Definición e identificación de requerimientos. Tipificación de requerimientos. Productos de ingeniería de requerimientos. La ingeniería de requerimientos como proceso.

47 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.47 ¿Qué es un requerimiento? Definición. –Condición o capacidad de un sistema requerida por el usuario para resolver un problema o alcanzar un objetivo. [IEEE]. Determina lo FUNCIONAL. –Desde el punto de vista del usuario, QUE hace el sistema; NUNCA COMO lo hace.

48 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.48 Ejemplos El sistema debe emitir un informe de estado de situación patrimonial... El sistema debe realizar la liquidación de haberes a destajistas, personal contratado, personal estable... El sistema debe permitir editar y manipular texto escrito en cualquier idioma.

49 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.49 Niveles de Abstracción NIVEL 1. –REQUERIMIENTOS (QUE): Satisfacción las necesidades del usuario. –ESPACIO DEL PRODUCTO (COMO): lista de todos los sistemas que satisfacen las necesidades del usuario. NIVEL 2. –REQUERIMIENTOS (QUE): definir el conj. de todos los sistemas que satisfacen las necesidades del usuario. –COMPORTAMIENTO DEL SISTEMA REAL (COMO): definir claramente el comportamiento del sistema (a construir o comprar). NIVEL 3. –REQUERIMIENTOS (QUE): definir claramente como el comportamiento del sistema (a construir o comprar). –FUNCIONAMIENTO INTERNO (COMO): definir la estructura arquitectónica del sistema.

50 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.50 Niveles de Abstracción NIVEL 4. –REQUERIMIENTOS (QUE): definir la estructura arquitectónica del sistema. –SUBDIVISION DE LA ARQ. (COMO): subdividir en módulos la arquitectura del sistema agregando detalles. NIVEL 5. –REQUERIMIENTOS (QUE): definir las especificaciones de los módulos (inputs y outputs). –ESPECIFICACION ALGORITMICA: especificar los algoritmos de cada módulo. NIVEL 6. –REQUERIMIENTOS (QUE): especificar los algoritmos de cada módulo. –CODIFICACION (QUE): escribir en algún lenguaje de programación los algoritmos.

51 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.51 Ejemplos El sistema debe emitir un informe de estado de situación patrimonial... El sistema debe realizar la liquidación de haberes a destajistas, personal contratado, personal estable... El sistema debe implementar un álgebra que posibilite cubrir toda la casuística de la liquidación de haberes sin reprogramación. El sistema debe capturar cualquier regla de liquidación de haberes sin necesidad de intervención del fabricante del producto. El sistema debe tener un archivo de movimientos...

52 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.52 Tres Modelos de un Sistema Según definición de Rumbaugh. –Modelo estático. –Modelo Funcional. –Modelo Dinámico.

53 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.53 Modelo Estático Describe la estructura de los objetos (entidades) en un sistema: –Identidad. –Relaciones. –Atributos. –Operaciones. Objeto: cualquier entidad del mundo real con límites bien definidos. [DAVIS] Determina COMO SE ESTRUCTURA el SISTEMA. Herramientas más conocidas: MER, MO.

54 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.54 Modelo Funcional Describe las transformaciones de inputs en outputs de un sistema: –Funciones. –Mapeos. –Restricciones. Determina QUE hace el SISTEMA. Herramientas más conocidas: casos de uso, especificaciones funcionales.

55 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.55 Modelo Dinámico Describe la secuencia de operaciones de un sistema y tiempo en que se desarrollan: –Eventos. –Estados. –Cambios de estado. Determina CUANDO lo hace el SISTEMA. Herramientas más conocidas: DTE.

56 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.56 Requerimientos a partir del ME El sistema deberá mostrar la posición del puntero en la región de pantalla en que se encuentre. El sistema deberá desplegar el tipo de productos que comercializa la empresa.

57 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.57 Requerimientos a partir del MF El sistema deberá mostrar la posición del puntero en la región de pantalla en que se encuentre. El sistema deberá desplegar el tipo de productos que comercializa la empresa.

58 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.58 Requerimientos a partir del MD Si el usuario mueve el mouse, el sistema desplazará el puntero hacia la región de pantalla. El sistema deberá calcular los intereses cada treinta días. El sistema bloqueará la cuenta cuando el cliente tengo saldo negativo.

59 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.59 ¿Qué es un requerimiento? Definición (PARTE II). –Condición o capacidad que debe poseer un sistema para satisfacer un contrato, estándar, especificación, u otro documento formalmente impuesto. [IEEE]. Determina lo NO FUNCIONAL.

60 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.60 Ejemplos El sistema debe correr sobre WINDOWS XP o más. El sistema debe estar desarrollado en JAVA. El sistema deberá ser desarrollado en 10 meses... Para cualquier consulta el tiempo de respuesta máxima será de 2 segundos.

61 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.61 ¿Qué es un requerimiento? Definición completa. [IEEE]. –(1) Condición o capacidad de un sistema requerida por el usuario para resolver un problema o alcanzar un objetivo. –(2) Condición o capacidad que debe poseer un sistema para satisfacer un contrato, estándar, especificación, u otro documento formalmente impuesto.

62 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.62 Temario Ingeniería de software en su contexto. Funciones de la ingeniería de software. Procesos y ciclos de vida. Definición e identificación de requerimientos. Tipificación de requerimientos. Productos de ingeniería de requerimientos. La ingeniería de requerimientos como proceso.

63 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.63 Tipificación de Requerimientos Funcionales. –Los que cumplen la primera parte de la definición de IEEE. –Funcionalidad del sistema desde el punto de vista del usuario. No funcionales. –Los que cumplen la segunda parte de la definición de IEEE: Estándares. Documentación. Eficiencia. Seguridad. Interfaz.

64 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.64 Otra Tipificación de Requerimientos De comportamiento. –Todos los que hacen al relacionamiento del sistema con el exterior: Funcionales. Eficiencia. Seguridad. Interfaz. Etc. No comportamentales. –Los que no están incluidos en los de comportamiento: Estándares. Documentación. Etc.

65 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.65 Ejemplos El sistema debe correr sobre WINDOWS XP o más. El sistema debe estar desarrollado en JAVA. El sistema deberá ser desarrollado en 10 meses... Para cualquier consulta el tiempo de respuesta máxima será de 2 segundos.

66 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.66 Temario Ingeniería de software en su contexto. Funciones de la ingeniería de software. Procesos y ciclos de vida. Definición e identificación de requerimientos. Tipificación de requerimientos. Productos de ingeniería de requerimientos. La ingeniería de requerimientos como proceso.

67 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.67 ¿Qué es un ESRE? ESRE (Documento de Especificación de Requerimientos) o SRS (Software Requirements Specification): –Es un documento que describe exactamente QUE es lo que se debe CONSTRUIR. –Captura los resultados del análisis del problema y las características de soluciones aceptables al problema. –Incluye solamente los requerimientos del producto.

68 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.68 Distintas visiones de un ESRE Un ente estatal que llama a licitación para la implantación de un sistema de pagos y cobros. Una empresa que desea disputar la licitación. Una empresa que desea construir un sistema para su propio uso. Una empresa orientada al mercado que desea comercializar un producto de soft.

69 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.69 El Ente Estatal... Tipo: genérico. Objetivo: poder comparar propuestas. Estilo de especificación de requerimientos: –El sistema deberá permitir operaciones de pago y cobro de facturas. –El sistema deberá poder funcionar on-line u off-line. –El sistema deberá poder consolidar su información en una BD única periódicamente. En estos casos el ESRE a veces se denomina Documento de Concepto de Operaciones (DCO).

70 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.70 La Empresa Licitante... Tipo: más específico. Objetivo: explicar cual es su propuesta en forma detallada. Estilo de especificación de los requerimientos: –El sistema posibilitará definir cualquier tipo de transacciones: pago, cobro, débito, crédito, etc. –Las transacciones tendrán a atributos y c comportamiento de acuerdo a su tipo a saber:... –El sistema respetará la arquitectura X y el protocolo de comunicación y replicación Y.

71 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.71 Las Restantes Visiones La empresa que lo construye para su uso: –Tipo: sumamente específico. –Objetivo: describir claramente el sistema para que los desarrolladores lo construyan. La empresa orientada al mercado: –Tipo: sumamente específico. –Objetivos: Describir claramente el sistema para que los desarrolladores lo construyan. Ser base para la política y campaña de ventas. Marketing: mostrar que la empresa se puede diferenciar de otras en la forma de construir sus productos.

72 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.72 Restantes Productos de la IR Plan de agenda (PAGE). –Cronograma de entrevistas. –Lista de usuarios a relevar por cada entrevista. –Lista de necesidades a relevar en cada entrevista. Minuta de Reunión (MINREU). –Participantes. –Temas a tratar. –Resoluciones.

73 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.73 Restantes Productos de la IR Documento de Conceptos de Operaciones (DCO). –Descripción del sistema. –Necesidades que lo motivan. –Formas de operación. –Usuarios y sus características. –Características operativas y restricciones de uso. Cuestionario tipo (CUTI). –Area de la organización. –Cargo del usuario. –Descripción de tareas que desempeña. –Etc.

74 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.74 Temario Ingeniería de software en su contexto. Funciones de la ingeniería de software. Procesos y ciclos de vida. Definición e identificación de requerimientos. Tipificación de requerimientos. Productos de ingeniería de requerimientos. La ingeniería de requerimientos como proceso.

75 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.75 Tareas de la Ing. de Requerimientos Planificar el relevamiento (PAGE). Extraer necesidades de clientes y usuarios (ESRE o DCO). Analizar el problema (ESRE+ o DCO+). Especificar requerimientos (ESRE++). Validar y verificar requerimientos (ESRE++v). Administrar los requerimientos (versiones del ESRE).

76 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.76 Ing. de Requerimientos Conjunto de tareas en las cuales, utilizando técnicas y herramientas, se analiza un problema y se concluye con la especificación de una solución (a veces más de una). Especificación de la solución: –Conjunto de requerimientos del sistema que indican QUE hace el sistema y no COMO lo hace. Tareas: –Planificación del relevamiento. –Extracción y análisis de requerimientos (definición del problema). –Especificación de requerimientos (definición del producto). –Validación de requerimientos (asegurar completitud y correctitud). –Administración de requerimientos (control de cambios por corrección, adaptación y/o extensión).

77 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.77 Ing. de Requerimientos (Cont.) Técnicas: –de relevamiento (tormenta de ideas, grupos motivacionales, etc.). –de especificación (ESREs, casos de uso, DFDs, etc.). –de validación (QFD, etc.). –de administración (casos de cambio, etc.). Herramientas: –Procesadores de palabra. –CASEs. –Etc.

78 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.78 Perspectivas de un Proceso Objetivos. –Definir QUE hacer, QUIEN debe hacerlo, CUANDO y COMO hacerlo para alcanzar una meta.[JACOBSON]. Perspectivas. –Funcional. –De los resultados. –Organizacional. –Metodológica. –Del comportamiento. Prescribe tareas y actividades a realizar. Describe productos y servicios y sus interrelaciones. Indica y especifica roles (accionistas). Describe métodos y herramientas de las tareas.

79 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.79 Perspectiva de la Información Necesidades del Usuario Proceso de la IR Estándares de la Organización Información del Dominio Sist. de Inf. Existentes Regulaciones Requerimientos Aceptados Especificación de Reqs. del Sistema Modelos del Sistema

80 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.80 Entradas de la IR Necesidades del usuario. –Descripción de lo que el usuario necesita para apoyar sus tareas. Estándares de la organización. –Para el desarrollo de los sistemas, para la administración de la organización, etc. Información del dominio. –Información general del dominio en el cual el sistema se desempeñara. Sistemas de información existentes. –Información de los sistemas que interactuarán con el que se va a especificar o sobre el sistema a ser reemplazado. Regulaciones. –Gubernamentales, de la industria en que se desempeña la empresa, etc.

81 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.81 Salidas de la IR Requerimientos aceptados. –Descripción de los requerimientos del sistema que son entendibles por los usuarios y los cuales fueron acordados y aceptados por ellos. Especificación de requerimientos del sistema. –Especificación más detallada de los requerimientos del sistema, la cual está más orientada a los técnicos. Modelos del sistema. –Distintos modelos del sistema que lo describen desde distintas perspectivas (funcional, estructural, comportamiento).

82 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.82 Perspectiva Funcional Planificar el relevamiento. Extracción de requerimientos. Análisis de requerimientos. Especificar requerimientos. Validar y verificar requerimientos.

83 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.83 Perspectiva Funcional Estándares de la Organización Información del Dominio Sist. de Inf. Existentes Regulaciones Requerimientos Aceptados Especificación de Reqs. del Sistema Modelos del Sistema Extracción AnálisisEspecificaciónValidaciónPlanificación Necesidades del Usuario

84 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.84 Extracción de Requerimientos Tarea orientada al descubrimiento de los requerimientos a partir, fundamentalmente, de las necesidades de los usuarios e información del dominio. Es el relevamiento o trabajo de campo directa con los usuarios.

85 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.85 Análisis de Requerimientos Los requerimientos relevados en la tarea anterior se analizan en detalle con el fin de: –Eliminar conflictos entre requerimientos. –Eliminar solapamientos de requerimientos. –Eliminar requerimientos superfluos. –Negociar requerimientos con los usuarios y lograr su aceptación. Responde a: ¿hemos relevando los requerimientos correctos?

86 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.86 Especificación de Requerimientos Los requerimientos aceptados en la tarea anterior son especificados a nivel de detalle adecuado para: –Legibilidad de los usuarios. –Legibilidad de los técnicos. Se especifican en el ESRE y/o el DCO.

87 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.87 V&V de Requerimientos Tarea de control de los requerimientos que busca asegurar: –Completitud. –Correctitud. Se validan y verifican los requerimientos del sistema y no los requerimientos de los usuarios. Responde a: ¿hemos relevando los requerimientos correctamente?

88 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.88 Perspectiva del Comportamiento Planificación/ Extracción Análisis ValidaciónEspecificación ESRE y Reporte de Validación ESRE preliminar Reqs. Aceptados Especificación Informal Punto de Decisión

89 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.89 Perspectiva Organizacional Agentes o actores. –Personas involucradas en el proceso de IR. Analistas de Requerimientos. Gerente del Proyecto. Diseñadores. Usuarios (beta y finales). Clientes. Expertos del dominio. Auditores. Usuarios umbral (se benefician de los resultados del sistema).

90 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.90 La Importancia de los Requerimientos [Estudio de Boehm]. El 45% de los defectos detectados son por mala o poca especificación de requerimientos. Estos defectos fueron detectados en la etapas más tardías del desarrollo. Cuanto antes se encuentre un defecto más barato será corregirlo.

91 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.91 Costos de Reparación

92 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.92

93 Ingeniería de Requerimientos. Introducción. Alvaro Ortas.93 Bibliografía Capítulo 2, Software Requirements Engineering, Richard Thayer and Merlin Dorfman. Capítulo 1, Software Requirements: Objects, Functions and States, Alan Davis. Capítulo 1, Object Oriented Modeling and Design, James Rumbaugh. Capítulos 2 y 4, Software Engineering, 5ta. Edición, Ian Sommerville. Capítulo 2, Requirements Engineering - Process and Techniques, Kontoya and Sommerville. A Rational Development Process, Philippe Kruchten,


Descargar ppt "Ingeniería de Requerimientos. Introducción. Alvaro Ortas.1 Ingeniería de Requerimientos Universidad ORT - Uruguay Alvaro Ortas."

Presentaciones similares


Anuncios Google