Unidad ll Equipo #2 Juan Carlos Martínez Ramos

Slides:



Advertisements
Presentaciones similares
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
Advertisements

Ingeniería del Software UMG Ingeniería en Sistemas
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
ANÁLISIS DE REQUERIMIENTOS
Ingeniería de Software
METRICAS DE PROCESO Y PROYECTO
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
NORMA ISO -9001: 2000 ISO
Guia Diseño Robert Echeverria
INGENIERIA DE REQUERIMIENTOS
Procesos de la Ingeniería
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
REQUISITOS DE SOFTWARE
Representación de Requerimientos
Capítulo 3 Etapas de un Proyecto de simulación
IS ILic. Patricia Pesado.1 INGENIERIA DE REQUERIMIENTOS.
Ingeniería de Sistemas Requerimientos
Sesión 312 Técnicas de Auditoría Aplicadas a la Ingeniería de Software
Fundamentos de Ingeniería de Software Facultad de Ingenieria Universidad Distrital Francisco José de Caldas ESPECIFICACIÓN Y MANEJO DE LOS REQUERIMIENTOS.
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
REQUERIMIENTOS DE SOFTWARE
Unidad VI Documentación
Análisis de Requerimientos
El Concepto de Requerimiento
Ingeniería de Requerimiento
Armillas Mendieta Brenda Angélica De León Campos Arturo Delgado Sosa Luis Alberto Rodríguez Ortega Sandra Vergara Carranza Carlos.
Análisis y Diseño de Sistemas
Unidad ll Equipo 2 Juan Carlos Martínez Ramos Erik Iván Mancilla Romero Cristian Suarez Luis Ángel Santiago Alex Joshua Serrano.
Tema 1: Introducción a la Ingeniería de Software
INSTITUTO TECNOLOGICO DE MINATITLAN ASIGNATURA: FUNDAMENTOS DE PROGRAMACION DOCENTE: JOSE ANGEL TOLEDO ALVAREZ ALUMNA: ALEJANDRA OSORIO ARVISU SEMESTRE:
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.
Unidad ll Equipo 2 Juan Carlos Martínez Ramos
Ing. Noretsys Rodríguez. Definición de Conceptos  Falla: Ocurre cuando un programa no se comporta de manera adecuada. Es una propiedad estadística de.
Ingeniería del software
INGENIERIA DE SOFTWARE
Ciclo de vida de un sistema
FACTIBILIDAD DE LOS SISTEMAS DE INFORMACIÓN
1.4 CLASIFICACION DE LA TECNOLOGIA EN EL DESARROLLO DEL SOFTWARE
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
Proceso de desarrollo de software Pablo Gervás F. Informática, UCM, noviembre 2007.
Conceptos sobre GESTIÓN DE PROYECTOS
Ingeniería de Requerimientos
Introducción al proceso de verificación y validación.
INGENIERÍA DE REQUISITOS Unidad 2 Integrantes equipo Morales Balderas josefina Reyes Larios María Fernanda Heredia palma Andrea Valencia Carrión Alina.
ANÁLISIS ESTRUCTURADO
Alumno: Gerardo Mario Valdés Ortega Matricula: Asignatura: Análisis y diseño de Sistemas Computacionales Cuatrimestre: Tercero Carrera: Licenciatura.
problemas de la calidad del software
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.
Por: Jaime Enrique Melendez Monreal Código: INGENIERÍA DE SOFTWARE.
 La Gestión de proyectos también conocida como Gerencia, Dirección o Administración de proyectos es la disciplina de planear, organizar, asegurar y coordinar.
Modelos del Proceso Omar de Jesús Rosales Hernández.
Un requerimiento es una condición o capacidad a la que el sistema (siendo construido) debe conformar [ Rational ]. Un requerimiento de software puede.
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
LILIANA JIMENEZ GARCIA FERANANDO CANO GOMEZ. El proceso de recopilar, analizar y verificar las necesidades del cliente para un sistema es llamado Ingeniería.
República Bolivariana de Venezuela Universidad Nacional Experimental Politécnica de la Fuerza Armada (UNEFA) Carrera: Ingeniería de Sistemas Cátedra: Análisis.
Las fases del ciclo de la vida de desarrollo de sistemas
ESPECIFICACIÓN Y MANEJO DE LOS REQUERIMIENTOS
Identificación de entradas, salidas y herramientas de procesos de gestión del PMI Jairo A. Orozco L.
Taller de investigación 1
ANALISIS DE SISTEMAS PROFESOR HECTOR ARCIA.
Modelo de procesos de software
Planificación de Sistemas de Información
Procesos de Planeación
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.
Gestión del Alcance del Proyecto
Transcripción de la presentación:

Unidad ll Equipo #2 Juan Carlos Martínez Ramos Erik Iván Mancilla Romero Cristian Suarez Luis Ángel Santiago Alex Joshua Serrano

Introducción En la actualidad, son muchos los procesos de desarrollo de software que existen. Con el pasar de los años, la Ingeniería de Software ha introducido y popularizado una serie de estándares para medir y certificar la calidad, tanto del sistema a desarrollar, como del proceso de desarrollo en sí. Se han publicado muchos libros y artículos relacionados con este tema, con el modelado de procesos del negocio y la reingeniería. Un número creciente de herramientas automatizadas han surgido para ayudar a definir y aplicar un proceso de desarrollo de software efectivo. Hoy en día la economía global depende más de sistemas automatizados que en épocas pasadas; esto ha llevado a los equipos de desarrollo a enfrentarse con una nueva década de procesos y estándares de calidad. Sin embargo, ¿cómo explicamos la alta incidencia de fallos en los proyectos de software? ¿Por qué existen tantos proyectos de software víctimas de retrasos, presupuestos sobregirados y con problemas de calidad? ¿Cómo podemos tener una producción o una economía de calidad, cuando nuestras actividades diarias dependen de la calidad del sistema?

Introducción Tal vez suene ilógico pero, a pesar de los avances que ha dado la tecnología, aún existen procesos de producción informales, parciales y en algunos casos no confiables. La Ingeniería de Requerimientos cumple un papel primordial en el proceso de producción de software, ya que enfoca un área fundamental: la definición de lo que se desea producir. Su principal tarea consiste en la generación de especificaciones correctas que describan con claridad, sin ambigüedades, en forma consistente y compacta, el comportamiento del sistema; de esta manera, se pretende minimizar los problemas relacionados al desarrollo de sistemas. La razón principal para escoger este tema se fundamentó en la gran cantidad de proyectos de software que no llegan a cumplir sus objetivos. En nuestro país somos partícipes de este problema a diario, en donde se ha vuelto común la compra de sistemas extranjeros, para luego "personalizarlos" supuestamente a la medida de las empresas.

2.1 La ingeniería de requerimientos y sus principales tareas. ¿Qué son Requerimientos? Normalmente, un tema de la Ingeniería de Software tiene diferentes significados. De las muchas definiciones que existen para requerimiento, ha continuación se presenta la definición que aparece en el glosario de la IEEE . (1) Una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo. (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. (3) Una representación documentada de una condición o capacidad como en (1) o (2). 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 Las características de un requerimiento son sus propiedades principales. Un conjunto de requerimientos en estado de madurez, deben presentar una serie de características tanto individualmente como en grupo. A continuación se presentan las más importantes. Necesario: Un requerimiento es necesario si su omisión provoca una deficiencia en el sistema a construir, y además su capacidad, características físicas o factor de calidad no pueden ser reemplazados por otras capacidades del producto o del proceso. 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. El lenguaje usado en su definición, no debe causar confusiones al lector. Verificable: Un requerimiento es verificable cuando puede ser cuantificado de manera que permita hacer uso de los siguientes métodos de verificación: inspección, análisis, demostración o pruebas.

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.

Ingeniería de Requerimientos vs. Administración de Requerimientos 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". STARTS Guide 1987. "Es el proceso mediante el cual se intercambian diferentes puntos de vista para recopilar y modelar lo que el sistema va a realizar. Este proceso utiliza una combinación de métodos, herramientas y actores, cuyo producto es un modelo del cual se genera un documento de requerimientos" Leite 1987. "Ingeniería de requerimientos es un enfoque sistémico para recolectar, organizar y documentar los requerimientos del sistema; es también el proceso que establece y mantiene acuerdos sobre los cambios de requerimientos, entre los clientes y el equipo del proyecto" Rational Software

Importancia de la Ingeniería de Requerimientos Los principales beneficios que se obtienen de la Ingeniería de Requerimientos son: 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 comunicación 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.

Actividades de la Ingeniería de Requerimientos (ejemplos) En el proceso de IR son esenciales diversas actividades. En este documento serán presentadas secuencialmente, sin embargo, en un proceso de ingeniería de requerimientos efectivo, estas actividades son aplicadas de manera continua y en orden variado. Dependiendo del tamaño del proyecto y del modelo de proceso de software utilizado para el ciclo de desarrollo, las actividades de la IR varían tanto en número como en nombres. La tabla #1 muestra algunos ejemplos de las actividades identificadas para cada proceso. A pesar de las diferentes interpretaciones que cada desarrollador tenga sobre el conjunto de actividades mostradas en la tabla anterior, podemos identificar y extraer cinco actividades principales que son: Análisis del Problema Evaluación y Negociación Especificación Validación Evolución

Tabla ejemplos Tabla 1. Actividades de la IR para diferentes modelos de procesos de Ingeniería de Software MODELO Oliver and Steiner 1996 EIA / IS-632 IEEE Std 1220- 1994 CMM nivel Repetitivo (2) RUP   Actividades Evaluar la información disponible Análisis de requerimientos Análisis de Requerimientos Identificación de requerimientos Análisis del Problema Definir métricas efectivas Análisis funcional Estudio de los requerimientos Identificación de restricciones del sistema a desarrollar Comprender las necesidades de los involucrados Crear un modelo del comportamiento del sistema Síntesis Validación de requerimientos Análisis de los requerimientos Definir el sistema Crear un modelo de los objetos Análisis y control del sistema Representación de los requerimientos Analizar el alcance del proyecto Ejecutar el análisis Evaluación y estudio de funciones Comunicación de los requerimientos Modificar la definición del sistema Crear un plan secuencial deconstrucción y pruebas Verificación de funciones Administrar los cambios de requerimientos Estudio y evaluación del diseño Verificación física Control

Conclusión Es de mucha importancia tomarse el tiempo necesario para conocer a los clientes y usuarios, así como su ambiente de trabajo. Esto ayuda a establecer una buena relación de trabajo y comunicación entre el equipo de desarrollo y los clientes. Es realmente necesario que los clientes y usuarios participen en la definición de sus requerimientos, y con estos tareas, funciones o actividades que acabamos de ver, son necesario porque ponen una serie de estándares para medir y certificar la calidad tanto del sistema que está a desarrollar, como también del proceso de desarrollo que con lleva ya que esto son los que deciden el destino del proyecto y se decide del gusto o inconformidad y además del financiamiento que dará de fruto el proyecto .

Preguntas no concretas Caso de Uso/Escenarios Tecnicas Entrevistas cerradas Preguntas Orden y forma Previstas No modificable Preguntas no concretas Caso de Uso/Escenarios Interacciones Sistema/usuario Observación y análisis social Determinar contexto Usuarios Solución de problemas Lluvia de ideas Solución de problemáticas Prototipos Definición de requerimientos Evaluación de alternativas Dos tipos No funcional Dificultad y aclaración Funcionales Prueba de sistema Modelos Modelos conceptual Mundo real Comportamiento y proceder

Referencias http://yaqui.mxl.uabc.mx/~molguin/as/IngReq.htm http://es.scribd.com/doc/270431/Ingenieria-requerimientos http://www.monografias.com/trabajos6/resof/resof.shtml http://redalyc.uaemex.mx/pdf/666/66661111.pdf http://ldc.usb.ve/~abianc/materias/ci4712/apuntes3.pdf http://es.scribd.com/doc/19083744/INGENIERIA-DE-REQUERIMIENTOS http://www.monografias.com/trabajos5/inso/inso2.shtml http://www.arcos.inf.uc3m.es/~ii_si/IngReqCIII.pdf http://www.rodolfoquispe.org/blog/que-es-la-ingenieria-de-requisitos.php