La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ingeniería de Software

Presentaciones similares


Presentación del tema: "Ingeniería de Software"— Transcripción de la presentación:

1 Ingeniería de Software
Requerimientos

2 Contenido Conceptos básicos Definiciones
Guía práctica para la especificación de requerimientos Proceso y etapas en la especificación de requisitos Productos del proceso

3 Conceptos básicos La ingeniería de Requisitos es una manera sistemática de identificar, organizar, comunicar, y administrar los requisitos y el cambio de ellos Es una tarea grupal, más que individual Es un proceso iterativo de estudio de necesidades, análisis funcional, síntesis, optimización, definición, diseño, prueba y evaluación El éxito o fracaso de un proyecto depende en gran medida de la calidad de los requisitos formulados y el grado al cual el cliente ha comprendido estos.

4 Conceptos básicos Cuál es la problemática de los requisitos en el proceso de desarrollo ? Usuarios no saben lo que quieren Usuarios cambian de parecer El mercado es cambiante desarrolladores creen saber mejor que el usuario lo que el usuario necesita estimaciones basadas en requisitos incompletos con contratos poco claros

5 Conceptos básicos Cuál es el papel de los requisitos en el proceso de desarrollo ? Requisitos ocupan entre un 10% y un 15% de los recursos del proyecto El énfasis actual está en dedicar más recursos a definir el problema La primera tarea es la de estimar plazos, esfuerzo y costo. Sin una buena especificación no se puede estimar “La parte más difícil en la construcción de un sistema de software es decidir qué construir...Ninguna otra parte del trabajo deja como inválido al sistema resultante si no está hecho correctamente, ninguna otra parte es tan difícil de corregir después...” Fred Brooks

6 Definiciones Qué es un requisito ?
1) Una condición o capacidad necesitada por un usuario para resolver un problema o lograr un objetivo 2) Condición o capacidad que debe ser alcanzada, o poseída por un sistema o componente del sistema para satisfacer un contrato, estándar, especificación, u otro documento formalmente impuesto 3) Una representación documentada de una condición o capacidad como en 1) o 2)

7 Definiciones Qué es un requisito de Sistema ?
Son las características funcionales, no funcionales y de interfaz que debe poseer un sistema para satisfacer las necesidades de los usuarios Son enunciados desde la perspectiva del usuario final Deben ser lo más libre de detalles de implementación posible Qué es un requisito de Software ? Son aquellas funciones, capacidades o interfaces que en el diseño del sistema fueron asignados a ser implementados mediante software

8 Definiciones Funcionales del producto No funcionales del producto
Actividades del proceso Hay varios tipos de requisitos: Características de Requisitos: Precisión, es decir, no es ambiguo Enunciado gramaticalmente correcto Consistente técnicamente Consistente en su terminología (siempre se debe usar el mismo término para referirnos a lo mismo) Comprobable Ausencia de términos indefinidos Contiene referencias explícitas Completo (incluso indicar lo obvio) Trazable

9 Funcionales / No funcionales
Los Requisitos funcionales describen servicios o funciones Los Requisitos No-funcionales son un límite en el sistema o en el proceso de desarrollo.

10 Definición y Especificación
Definición de Requerimientos Una declaración en un Lenguaje Natural incluye los diagramas de los servicios del sistema y sus límites operacionales. Escrito para clientes. Especificació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 Software Descripción detallada de software, la cual, puede servir como una base para diseño o implementación. Escrito para desarrolladodres.

11 Definición y Especificaciones
Definición de Requerimientos 1. El Software proporciona significado de representación y acceso a archivos externos creados por otras herramientas. Especificación de Requerimientos 1.1 El usuario debe proporcionar facilidades para definir el tipo de archivos externos. 1.2 Cada tipo de archivo externo puede tener una herramienta asociada. La cual, será aplicada para el archivo. 1.3 Cada tipo de archivo externo será representado como un icono específico mostrado al usuario. 1.4 Las facilidades proporcionadas para la representación del icono en un tipo de archivo externo será definido por el usuario. 1.5 Cuando un usuario selecciona una representación de icono de un archivo externo, el efecto de la selección es aplicar las herramientas asociadas con el tipo de archivo ex- terno al archivo representado por la selección del icono.

12 ¿Quiénes leen (o deberían leer) los requerimientos?
Gerencia de Cliente Usuarios Finales del Sistema Ingenieros de Clientes Arquitectos del Sistema Definición de Requerimientos Usuarios Finales del Sistema Ingenieros de Cliente Arquitectos del Sistema Desarrolladores de Software Requerimientos Especificación de Especificación de Software Ingenieros de Clientes Arquitectos del Sistema Desarrolladores de Software

13 El Proceso de la Ingeniería de Requerimientos
Estudio de Factibilidad Análisis de Requerimientos Definición de Requerimientos Reporte de Factibilidad Especificación de Requerimientos Modelos del Sistema Definición de Requerimientos Documento de Requerimientos Especificación de Requerimientos

14 El Proceso de la Ingeniería de Requerimientos
Estudio de Factibilidad Encuentran los usuarios actuales que sus necesidades son satisfechas dada la tecnología y el presupuesto disponible? Análisis de Requerimientos Encontrar que el sistema requiere del mantenimiento de intereses. Definición de Requerimientos Definir los requerimientos en una forma comprensible para el cliente. Especificación de Requerimientos Define los requerimientos en detalle.

15 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 como lo hará.

16 Requerimientos del Documento de Requerimientos
Especificación de la conducta externa del sistema. Especificar los límites de la implementación. Fácil de cambiar. Sirve como una herramienta de referencia para mantenimiento. Recuerda el ciclo de vida del sistema, esto es, predice cambios. Proporciona respuestas características a un evento no esperado.

17 Requerimientos del Documento de Requerimientos
Definición de Requerimientos No-funcionales. Definir las limitantes del sistema y el proceso de desarrollo. Evolución del Sistema. Definir las suposiciones fundamentales en las cuales el sistema se basa y se anticipan los cambios. Especificación de Requerimientos. Especificación detallada de los requerimientos funcionales del sistema. Apéndices. Indice.

18 Validación de los Requerimientos
Demostración de que los requerimientos que definen el sistema son lo que el cliente realmente quiere. Los costos de errores en los requerimientos son altos, por lo cual, la validación es muy importante. Fijar un error de requerimiento después del desarrollo puede resultar en un costo 100 veces mayor que fijar un error en la implementación. El Prototipado es una técnica importante de la validación de requerimientos.

19 Chequeo de requerimientos
Validación. Provee al sistema las funciones que mejor soporten las necesidades del cliente? Consistencia. Existe cualquier conflicto en los requerimientos? Completo. Están incluidas todas las funciones requeridas por el cliente? Realismo. Pueden los requerimientos ser implementados con la tecnología y el presupuesto disponible?

20 Revisión de Requerimientos
Una revisión regular puede ayudar mientras la definición de requerimientos está siendo hecha. Tanto el cliente como el staff de contratistas deben estar involucrados en la revisión. La revisión debe ser formal (con los documentos completos) o informal. Una buena comunicación entre desarrolladores, clientes y usuarios puede resolver problemas en las primeras etapas.

21 Chequeo de la revisión Verificabilidad. Es el Requerimiento realmente probable? Entendibilidad. Es el Requerimiento comprendido propiamente? Probabilidad. Es el origen de los requerimientos claramente establecido? Adaptabilidad. Puede el requerimiento ser cambiado sin causar un gran impacto en otros requerimientos?

22 Evolución de los Requerimientos
Los requerimientos siempre involucran como comprender mejor el desarrollo de las necesidades de los usuarios y como los objetivos de la organización pueden cambiar. Es esencial planear posibles cambios en los requerimientos cuando el sistema sea desarrollado y utilizado. Comprensión Inicial del Problema Comprensión de los Cambios del Problema Requerimientos Iniciales Cambios en los

23 Guía práctica La organización debe ser jerárquica y comprensible por el usuario Debe ser organizados lógicamente (por función o categoría/objeto/subsistema) Cada requisito debe tener una identificación única Se debe usar una numeración multinivel (X.Y.Z.W) que permita el desarrollo de un árbol con ramificaciones Se debe incluir comentarios explicativos del raciocinio detrás del requisito para que se sepa el “porqué” Se debe distinguir entre requisitos mandatorios y no mandatorios. También se habla de “negociables” y “No Negociables”

24 Proceso y etapas Etapa de recolección de información
Se identifican los usuarios afectados Se identifica el contexto operativo del problema Se identifican sistemas similares Se hace un análisis de contexto Etapa de compilación y clasificación de requisitos Se obtiene la lista de funciones Se clasifican las funciones y se agrupan Etapa de racionalización y evaluación Se realiza una abstracción del sistema para responder a la pregunta: ¿Por qué se necesita esto? Se capta el raciocinio detrás de los requisitos

25 Proceso y etapas Etapa de priorización
Se determina la prioridad relativa de los requisitos entre ellos Etapa de integración y validación Se intenta definir asuntos pendientes Se valida que los requisitos formulados estén en concordancia con los objetivos

26 Productos del proceso El producto principal que resulta de un proceso de definición de requisitos es un documento donde aparecen los requisitos funcionales, no funcionales y las limitaciones sobre la implementación y diseño El objetivo de este producto es proveer un mecanismo para lograr un acuerdo entre las partes, proveer una base para el diseño del sistema, proveer un punto de partida para definir los requisitos del software, proveer una base para la estimación de esfuerzo y costos del proyecto y, proveer un punto de referencia para la validación del sistema

27 Resumen Es muy difícil formular una especificación de requerimientos completa y consistente. Una definición de requerimientos, una especificación de requerimientos y una especificación de Software son una manera de especificar el Software para diferentes tipos de personas (lectores de requerimientos). El Documento de Requerimientos es una descripción para clientes y desarrolladores.

28 Resumen Los errores en los requerimientos son usualmente muy caros de corregir una vez desarrollado el sistema. La revisión debe involucrar al cliente y al staff de contratistas para validar los requerimientos del sistema. El establecer requerimientos está relacionado con las actividades del cliente para el Software. Los requerimientos volátiles dependen del contexto en que se use el sistema.


Descargar ppt "Ingeniería de Software"

Presentaciones similares


Anuncios Google