ESPECIFICACIÓN Y MANEJO DE LOS REQUERIMIENTOS

Slides:



Advertisements
Presentaciones similares
Fundamentos de Ingeniería de Software Facultad de Ingenieria Universidad Distrital Francisco José de Caldas ESPECIFICACIÓN Y MANEJO DE LOS REQUERIMIENTOS.
Advertisements

ESPECIFICACIÓN Y MANEJO DE LOS REQUERIMIENTOS
Clase 09.  Garantizar la calidad de software  La prueba nunca termina, del IS translada se translada al usuario  Las casas de software invierte del.
National University College Online  Departamento de Enfermería  SEMI  Prof. Solangel Miranda Rosario  Unidad 4: Técnicas paral el Éxito Académico.
Metodología de Osterwalder
Ingeniería de Software Ingeniería de Requerimientos Una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo. 1 El Concepto.
Diseño personal del Software. Una medida significativa en la mejora de calidad del software fue tomada con la esencia del proceso personal del software.
INNOVACIÓN Y MODELOS DE NEGOCIO Para el desarrollo de aplicaciones ciudadanas.
Lcdo. Eddy Cortez Sistemas II. Ingeniería de Requisitos.
ALCIBIADES VALLEJO BERRIO 2.1 INTRODUCCION 2- Requerimientos  Una de las fases más importantes en el proceso de construcción de software es la de adquisición,
Calidad de Software.   ¿Qué es?  ¿Quién lo hace?  ¿Por qué es importante?  ¿Cuáles son los pasos?  ¿Cuál es el producto final?  ¿Cómo me aseguro.
TEMA: PSP (Personal Software Process) ANALISIS DE SISTEMAS I ING. EDGAR RAUL MOLINA INTEGRAMTES: HANNSEL E. CORDON AC JESSICA IDALMY KRESS FREDERIC HESTIB.
TUTORIA 1 Lógica para la Computación TUTORIA 1 Facultad de Ciencias Naturales y Matemáticas.
Análisis y Especificación de Requisitos
Análisis de Proyecto de Software.
Técnica de relevamiento de datos
A quién va dirigido este curso:
Paul Leger Casos de Usos Paul Leger
Ingeniería de requisitos y
Flujo de trabajo: Requerimientos
IEEE-std Práctica Recomendada para la Especificación de Requerimientos de Software Fuente: IEEE Recommendad Practice for Software Requirements.
Mejores Prácticas en Proyectos de Desarrollo de Software
Proceso para el desarrollo de software
SWEBOK.
La planeación y la organización de los procesos técnicos.
Técnica de relevamiento de datos
2.Metodología de Solución de Problemas
Proyecto de Software. t07
CONOCIMIENTOS LIBRES …
Fundamentos de programación
EJERCICIOS DE DIAGRAMA DE FLUJO
Los sistemas de información
Proyecto de Software. Clase 06
Proceso de Desarrollo de SW
El proceso de Investigación y búsqueda de Información.
Elaboración del formulario
ANÁLISIS DE RIESGOS DE SISTEMAS DE INFORMACIÓN
Procesos de la Ingeniería de Requerimientos
BREVE INTRODUCCIÓN.... El estándar fue generado por un equipo de trabajo del IEEE, su finalidad es la integración de los requerimientos del sistema.
Especificación de Requisitos
METODOLOGÍA DE SISTEMAS
Ingeniería de Sistemas Requerimientos
TECNOLOGIA & PROCESO TECNOLOGICO
UNIVERSIDAD NACIONAL DE LOJA Área de la Educación, el Arte y la Comunicación Informática Educativa IV INGENIERIA DE SOFTWARE Taller de Análisis y Diseño.
Universidad manuela beltran - virtual
CURSO: Administración del Proceso Productivo
Especificación de requerimientos por: Sonia Cristina Gamboa Sarmiento
Proceso Unificado de Desarrollo de Software
«CUADROS SINOPTICOS DE LAS FASES DEL MODELO DEL CICLO DE VIDA.»
Análisis comparativo entre CMMI e ISO
Ingeniería de Requerimientos
Proceso de Desarrollo de SW
Procesos de certificación de calidad
Danny Frank Otero Arrascue Ingeniería de Requisitos / Requerimientos Advisor: MEJIA CABRERA HEBER IVAN.
1 Adquisición de los requerimientos 2 Análisis de los requerimientos
Modelo de la cascada (cont.)
Elaboración de los documentos
Tema 2 Sistemas de información y la organización
PROYECTO INFORMÁTICO ¿QUÉ ES UN PROYECTO INFORMÁTICO?
Requisitos Ing. Maribel Valenzuela Beltrán 1.
C.R.M. Comercial.
ARQUIMIDES CABALLERO CABALLEO 21 de agosto de 2006
INGENIERIA DE REQUISITOS
INGENIERÍA DE SOFTWARE II GRUPO: Capt. Rudel HuancasCapt. Rudel Huancas Pablo GuanoluisaPablo Guanoluisa Mishell ParedesMishell Paredes FIABILIDAD.
IEEE-STD PRÁCTICA RECOMENDADA PARA LA ESPECIFICACIÓN DE REQUERIMIENTOS DE SOFTWARE.
GESTIÓN DE PROYECTOS La gestión de proyectos está conformada por todas aquellas acciones que debes realizar para cumplir con una objetivo definido dentro.
PRUEBAS DE CAJA NEGRA. -Internationa Software Testing Qualification Board (ISTQB) Internationa Software Testing Qualification Board (ISTQB) Técnica de.
Desarrollo de Proyecto de Campo Tema 5
HOJA DE VERIFICACIÓN DE CALIDAD. Una hoja de verificación es una herramienta expresada en un formato que se utiliza para recolectar de manera estructurada.
Gestión de Proyectos Informáticos (GPI) ISW
Transcripción de la presentación:

ESPECIFICACIÓN Y MANEJO DE LOS REQUERIMIENTOS Fundamentos de Ingeniería de Software ESPECIFICACIÓN Y MANEJO DE LOS REQUERIMIENTOS Asignatura: Fundamentos de Ingeniería del Software Curso Actualización : 2016 Profesor: Ernesto Gómez Vargas Facultad de Ingenieria Universidad Distrital Francisco José de Caldas

Qué son Requerimientos? (1) Una condición o necesidad de un usuario para resolver un problema o alcanzar unobjetivo. (2) Una condición o capacidad que debe estar presente en un sistema o componentes de sistema para satisfacer un contrato, estándar, especificación u otro documento formal.

Qué son Requerimientos? Los requerimientos puedes dividirse en requerimientos funcionales y requerimientos no funcionales. Los requerimientos funcionales definen las funciones que el sistema será capaz de realizar. Describen las transformaciones que el sistema realiza sobre las entradas para producir salidas. Los requerimientos no funcionales tienen que ver con características que de una u otra forma puedan limitar el sistema, como por ejemplo, el rendimiento (en tiempo y espacio), interfaces de usuario, fiabilidad (robustez del sistema, disponibilidad de equipo), mantenimiento, seguridad, portabilidad, estándares, etc.

Características de los requerimientos Necesario: Un requerimiento es necesario si su omisión provoca una deficiencia en el sistema a construir. Conciso: Un requerimiento es conciso si es fácil de leer y entender. Su redacción debe ser simple y clara para aquellos que vayan a consultarlo en un futuro. Completo: Un requerimiento está completo si no necesita ampliar detalles en su redacción es decir, si se proporciona la información suficiente para su comprensión. Consistente: Un requerimiento es consistente si no es contradictorio con otro requerimiento. No ambiguo: Un requerimiento no es ambiguo cuando tiene una sola interpretación.

Dificultades para definir los requerimientos Los requerimientos no son obvios y vienen de muchas fuentes. Son difíciles de expresar en palabras (el lenguaje es ambiguo). Existen muchos tipos de requerimientos y diferentes niveles de detalle. La cantidad de requerimientos en un proyecto puede ser difícil de manejar. Nunca son iguales. Algunos son más difíciles, más riesgosos, más importantes o más estables que otros. Los requerimientos están relacionados unos con otros, y a su vez se relacionan con otras partes del proceso. Cada requerimiento tiene propiedades únicas y abarcan áreas funcionales específicas. Un requerimiento puede cambiar a lo largo del ciclo de desarrollo. Son difíciles de cuantificar, ya que cada conjunto de requerimientos es particular para cada proyecto.

Requerimientos Construir software de alta calidad, en tiempo y presupuesto estimados. Planear el proyecto y los recursos que se usarán en él. Especificar el tipo de verificaciones que se habrán de realizar al sistema Planear la estrategia de prueba a la que habrá de ser sometido el sistema Son el fundamento del ciclo de vida del proyecto.

Características de un requerimiento Los requerimientos deben ser: Especificados por escrito. Como todo contrato o acuerdo entre dos partes Posibles de probar o verificar. Si un requerimiento no se puede comprobar, entonces ¿cómo sabemos si cumplimos con él o no? Deben tener como fundamento las necesidades de los usuarios actuales o potenciales del sistema. Descritos como una característica del sistema a entregar. Esto es: Que es lo que el sistema debe de hacer (y no como debe de hacerlo) Lo más claro y conciso posible. Para evitar malas interpretaciones.

COMO REALIZAR EL ANÁLISIS DE REQUERIMIENTOS Los requerimientos de un sistema de software, cuando se ven en su conjunto son extensos y detallados, y además contienen múltiples relaciones entre si. Obtenemos la posibilidad de especificar sistemas complejos al documentar especificaciones simples y concisas para el sistema. Esto se logra mediante la clasificación, estructuración y organización de todo lo que el sistema debe de hacer.

ANÁLISIS DE REQUERIMIENTOS (1) 1) Obtener información por diferentes medios de lo que los usuarios desean y dejar escritas esas necesidades 2) Clasificar esas necesidades para poder estructurar los requerimientos o necesidades del sistema.

ANÁLISIS DE REQUERIMIENTOS (2) 3) Identificar los niveles de jerarquía del sistema y empezar a alojar los requerimientos en el nivel que les corresponda. 4) Especificar los requerimientos de acuerdo al nivel de audiencia que se requiera 5) Especificar completamente cada necesidad, sin ahorrar tiempo y espacio en su descripción.

ANÁLISIS DE REQUERIMIENTOS (3) 6) Entender correctamente las necesidades y cuando afecten dos o mas usuarios, para llegar a acuerdos entre las partes. 7) Manejar las expectativas y estar dispuesto a realizar cambios.

ANÁLISIS DE REQUERIMIENTOS (4) 8) Involucrar a todos los que tengan inherencia en el proyecto (Jefes, subalternos, usuarios en general) 9) Se debe mantener una perfecta comunicación entre todos quienes participan en el proceso de levantamiento de los requerimientos

COMO OBTENER INFORMACIÓN (1) Los requerimientos son el punto de acuerdo entre el usuario y el proyecto de desarrollo de software, este entendimiento es necesario para poder construir software que satisfaga las necesidades de los usuarios.

COMO OBTENER INFORMACIÓN (2) Si los requerimientos se enfocan a describir las necesidades del usuario, entonces es lógico que para recabarlos haya que obtener la información de primera mano. Esto es, mediante entrevistas con el usuario o recabando documentación que describa la manera que el usuario desea que funcione el sistema de software.

COMO OBTENER INFORMACIÓN (3) Formato 01 RELACION BASICA DE REQUERIMIENTOS Responsable de la dependencia Información recopilada por Nombre de la dependencia NUMERO FECHA DESCRIPCION FUNCIONARIO 01 02 03 04

COMO OBTENER INFORMACIÓN (4) Las necesidades y/o requerimientos del usuario evolucionan con el tiempo y cada cambio involucra un costo. Por eso es necesario tener archivada una copia de la documentación original del usuario, así como cada revisión o cambio que se haga a esta documentación. Para poder establecer o estimar el costo de un proyecto es necesario contar con los requerimientos iniciales en su mejor nivel de detalle

COMO OBTENER INFORMACIÓN (5) Como cada necesidad del sistema de información es tratada de diferente forma, es necesario clasificar estas necesidades para saber cuales de ellas serán satisfechas por el software que se quiere desarrollar y cuales por algún otro producto del sistema.

TOPICOS BÁSICOS PARA REALIZAR EL LEVANTAMIENTO DE REQUERIMIENTOS (1) 1) Un problema puede surgir de la diferencia entre las cosas como se realizaron y como se desean. Por eso es necesario tener en cuenta que en el proceso de levantamiento o búsqueda de requerimientos se pueden presentar problemas que es necesario solucionar.

TOPICOS BÁSICOS PARA REALIZAR EL LEVANTAMIENTO DE REQUERIMIENTOS (2) 2) Para solucionar el problema se deben tener en cuenta: a.  Generar acuerdo entre las partes involucradas b.  Construir un vocabulario común c.  Identificar los involucrados d.  Definir los límites del sistema e.  Identificar restricciones F. Dejar todo claro y definido en un documento.

TOPICOS BÁSICOS PARA REALIZAR EL LEVANTAMIENTO DE REQUERIMIENTOS (3) Manejar diferentes técnicas de levantamiento a.  Entrevistas b.     Encuestas c.      Talleres de requerimientos d.     Lluvia de ideas Prototipos f.. Escenerario

TOPICOS BÁSICOS PARA REALIZAR EL LEVANTAMIENTO DE REQUERIMIENTOS (4) 4) Mecanismos de fácil comunicación Durante el proceso se debe facilitar la comunicación entre todos los participantes, de tal forma que todos los usuarios puedan participar aportando sus puntos de vista y sus necesidades. 5) Se debe realizar una especificación formal de todos los acuerdos con las diferentes personas, para que quede constancia expresa de que se tuvieron en cuenta los puntos de vista de los diferentes usuarios.

TOPICOS BÁSICOS PARA REALIZAR EL LEVANTAMIENTO DE REQUERIMIENTOS (5) 6) Administrar los cambios. Se debe estar presto a realizar las modificaciones que se presenten durante el proceso de análisis de requerimientos. Después puede ocasionar costos o demoras en el proceso de desarrollo.

RESUMEN (1) Para avanzar en esta fase preliminar se deben realizar en resumen las siguientes actividades. Analizar la situación de cada una de las dependencias teniendo en cuenta la participación de todos y cada uno de los involucrados en los procesos. Generar acuerdo entre los involucrados si hay diferencias, de tal forma que se trabaje en el mismo sentido.

RESUMEN (2) Hacer el proceso de análisis de requerimientos, utilizando técnicas como las descritas, teniendo en cuenta especialmente quién usa o va a utilizar el sistema. Especificar completamente los requerimientos, en forma escrita y clara para cada una de las dependencias, sin omitir posibles o potenciales usuarios.

RESUMEN (3) Controlar el alcance, para que se pueda limitar el proyecto. Comunicar a todos los usuarios acerca de que se está adelantando el proceso de levantamiento de los requerimientos, mediante encuestas, etc. Según se mencionó anteriormente. Almacenar en archivos de bases de datos preferiblemente los requerimientos, de tal forma que se puedan procesar fácilmente.

RESUMEN (4) Los errores en el proceso de obtención de requerimientos son de los mas costosos por eso es importante tener cuidado en este proceso. Por último los requerimientos deben ser: No ambiguos, concretos, completos y consistentes.

ANALISIS DE REQUERIMIENTOS Formato 02 ANALISIS DE REQUERIMIENTOS Numero: 01 Nombre del requerimiento Escena 1: Papeles Escena 2: Utensilios Escena 3: Condiciones de entrada Escena 4: Condiciones de salida Escena 5:

Formato 03 LISTADO DE ACTORES NUMERO ACTOR (ROL) USUARIO COMENTARIO 01

Ingenieria de Requerimientos DEFINICION: El proceso de recopilar, analizar y verificar las necesidades del cliente para un sistema es llamado Ingeniería de Requerimientos. La meta de la ingeniería de requerimientos (IR) es entregar una especificación de requisitos de software correcta y completa. A continuación se darán algunas definiciones para ingeniería de requerimientos. "Ingeniería de Requerimientos es la disciplina para desarrollar una especificación completa, consistente y no ambigua, la cual servirá como base para acuerdos comunes entre todas las partes involucradas y en dónde se describen las funciones que realizará el sistema" Boehm 1979. "Ingeniería de Requerimientos es el proceso por el cual se transforman los requerimientos declarados por los clientes , ya sean hablados o escritos, a especificaciones precisas, no ambiguas, consistentes y completas del comportamiento del sistema, incluyendo funciones, interfaces, rendimiento y limitaciones".

Beneficios de la Ingeniería de Requerimientos: Permite gestionar las necesidades del proyecto en forma estructurada: Cada actividad de la IR consiste de una serie de pasos organizados y bien definidos. Mejora la capacidad de predecir cronogramas de proyectos, así como sus resultados: La IR proporciona un punto de partida para controles subsecuentes y actividades de mantenimiento, tales como estimación de costos, tiempo y recursos necesarios. Disminuye los costos y retrasos del proyecto: Muchos estudios han demostrado que reparar errores por un mal desarrollo no descubierto a tiempo, es sumamente caro; especialmente aquellas decisiones tomadas durante la RE. Mejora la calidad del software: La calidad en el software tiene que ver con cumplir un conjunto de requerimientos (funcionalidad, facilidad de uso, confiabilidad, desempeño, etc.). Mejora la comunicaion entre equipos: La especificación de requerimientos representa una forma de consenso entre clientes y desarrolladores. Si este consenso no ocurre, el proyecto no será exitoso. Evita rechazos de usuarios finales: La ingeniería de requerimientos obliga al cliente a considerar sus requerimientos cuidadosamente y revisarlos dentro del marco del problema, por lo que se le involucra durante todo el desarrollo del proyecto

MUCHAS GRACIAS