Ingeniería de Software

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

SISTEMAS DE INFORMACIÓN I
Gestión de requerimientos
Fundamentos de Diseño de Software INFT.1
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
Pruebas de Diseño Diplomado en Calidad en el Software NOTAS
Pruebas de Requerimientos
Ingeniería del Software UMG Ingeniería en Sistemas
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
ANÁLISIS DE REQUERIMIENTOS
COMPONENTES ESTRATÉGICOS
Guia Diseño Robert Echeverria
INGENIERIA DE REQUERIMIENTOS
La actividad de validación tiene como entrada el documento de requisitos, los estándares relacionados y el conocimiento de la organización, y como.
IEEE-std Práctica Recomendada para la Especificación de Requerimientos de Software Fuente: IEEE Recommendad Practice for Software Requirements.
Administración de Procesos de Pruebas
INSTITUTO TECNOLÓGICO SUPERIO DE LIBRES
REQUISITOS DE SOFTWARE
Ingeniería de Requerimientos
SISTEMAS DE INFORMACION
Ciclo de formulación del proyecto.
Representación de Requerimientos
Electivo Integración Normas de Calidad, Seguridad, Medio Ambiente y Riesgos en la Gestión de la Empresa. Profesor : Fernando Vargas Gálvez Ingeniero Civil.
Ingeniería de Sistemas Requerimientos
DISEÑO DE SOFTWARE 1ª. Parte
Ciclo de Vida del Software Paradigmas de Desarrollo
Fundamentos de Ingeniería de Software Facultad de Ingenieria Universidad Distrital Francisco José de Caldas ESPECIFICACIÓN Y MANEJO DE LOS REQUERIMIENTOS.
Ingeniería de Requisitos
5.3 APROXIMACIONES AL DISEÑO
REQUERIMIENTOS DE SOFTWARE
Unidad VI Documentación
Contexto Proyecto consolidado dentro de la línea de investigación de Sistemas de Información en el Dpto. de Ingeniería en Sistemas de Información de la.
Más de los SIG.
Administración Proyectos Jorge Baracaldo Robin Ochoa.
Modelos de desarrollo de Software
Introducción a la investigación de mercados Naresh malhotra
Análisis y Diseño de Sistemas
Análisis de Requerimientos
Análisis y Diseño de Sistemas
Notas de Clase Modelado de Procesos de Negocio
¿Por qué Casos de Uso?.
¿Puede usted decir cuál es su estrategia?
Ingeniería de Software
Importancia en la efectividad del:
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
REQUISITOS.
Ciclo de vida de un sistema
Ingeniería de Requisitos
FACTIBILIDAD DE LOS SISTEMAS DE INFORMACIÓN
Métricas de la Calidad de la Especificación.
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
Ingeniería de Requerimientos
Introducción al proceso de verificación y validación.
Actividades en el Proceso de desarrollo de Software
Estructurar tus ideas para hacerlas realidad
G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE Daniel Eduardo Almeciga Angie Katterine Cruz O. Diego Fernando.
Un requerimiento es una condición o capacidad a la que el sistema (siendo construido) debe conformar [ Rational ]. Un requerimiento de software puede.
De Informaciòn Gerencial Lcda. Oly Mata.
Análisis de Requerimientos
Organización y Métodos. ©Ian Sommerville 1995 Ingeniería de Software, 5a. edición Capitulo 4 Diapositiva * Ingeniería de Requerimientos ● Estableciendo.
Proceso de desarrollo de Software
República Bolivariana de Venezuela Universidad Nacional Experimental Politécnica de la Fuerza Armada (UNEFA) Carrera: Ingeniería de Sistemas Cátedra: Análisis.
INGENIERIA DE REQUERIMIENTOS. Equipo Meza Mora Emanuel Jonatan Vargas Montoya Geovanni Piña Carrera Miguel.
Las fases del ciclo de la vida de desarrollo de sistemas
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
Requerimientos del software
Verificación y Validación del Software
VERIFICACIÓN Y VALIDACIÓN DE SISTEMAS 3.10 Fase de manejo de requerimientos 4.1 Modelado de pruebas en UML Ponente: ing. Alejandro tapia vazquez.
Entregables del Proyecto
Transcripción de la presentación:

Ingeniería de Software Requerimientos

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

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.

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

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

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)

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

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

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.

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.

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.

¿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

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

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.

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á.

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.

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.

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.

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?

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.

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?

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

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”

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

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

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

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.

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.