Your SlideShare is downloading. ×
Ingeniería de requisitos(ir)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Ingeniería de requisitos(ir)

2,478
views

Published on

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,478
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
79
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. INSTITUTO TECNOLÓGICO DE TUXTEPEC Ingeniería en Sistemas Computacionales “Fundamentos de Ingeniería de Software” Unidad 2: INGENIERÍA DE REQUISITOS Actividad:“Investigación sobre técnicas que se implementan en las tareas de la Ingeniería de Requisitos (IR)” 5º Semestre Grupo “A”Turno: Matutino Presentado por: María del Rosario Antonio Gómez Antonio Vicente Mendoza Keren Aradi Martínez Herrera Cristian Joaquín Conti Sánchez. Cleotilde Jorge Rafael Profesor (a): María de los Ángeles Martínez Morales 19 de Septiembre de 2012
  • 2. INTRODUCCIÓNEn la actualidad en la Industria de Software existe una tendencia al crecimiento del volumen ycomplejidad de los productos, y se exige mayor calidad y productividad en menos tiempo. Elproceso de desarrollo de software se encarga de traducir las necesidades del usuario enrequerimientos de software. Estos requerimientos transformados en diseño y el diseñoimplementado en código, el código es probado, documentado y certificado para su uso operativo.La ingeniería de requisitos es una disciplina de la Ingeniería de software. Esta disciplina consideradiferentes líneas de trabajo, pero una de las más importantes es la gestión de requisitos, la cual seencarga de proveer la dirección y alcance del proyecto. Los requisitos deben ser la base decualquier desarrollo de software. La obtención de una especificación de requisitos de alta calidad esfundamental para asegurar que el software corresponde con las necesidades del cliente. En elanálisis de requisitos se investiga la parte del mundo real que se va a modelar para tener encuenta todas las necesidades de los usuarios finales y así dejarlas documentadas de la forma máscompleta posible.
  • 3. INGENIERÍA DE REQUISITOS (IR)La disciplina de la Ingeniería de Software que trata con actividades e intenta comprender lasnecesidades exactas de los usuarios del sistema software, para traducir tales necesidades eninstrucciones precisas y no ambiguas las cuales podrían ser posteriormente utilizadas en eldesarrollo del sistema. (Loucopoulos,1995).Ingeniería de Requerimientos es el proceso en el cual se transforman los requerimientos declaradospor los clientes, ya sean hablados o escritos, a especificaciones precisas, no ambiguas, consistentesy completas del comportamiento del sistema, incluyendo funciones, interfaces, rendimiento ylimitaciones. Es el proceso mediante el cual se intercambian diferentes puntos de vista pararecopilar y modelar lo que el sistema va a realizar. (Richard, 1997).Características:La Ingeniería de Requisitos en una disciplina de la Ingeniería de Software, en ésta, se identifica elpropósito del sistema, dirección y alcance. Abarca un conjunto de actividades y transformacionesque pretenden comprender las necesidades de un sistema software y convertir la declaración deestas necesidades en una descripción completa, precisa y documentada siguiendo un determinadoestándar.La Ingeniería de Requerimientos cumple un papel primordial en el proceso de producción desoftware, ya que enfoca un área fundamental: la definición de lo que se desea producir. Suprincipal 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 estamanera, se pretende minimizar los problemas relacionados al desarrollo de sistemas. El proceso deIngeniería de Requisitos tiene como objetivos, descubrir, modelar, validar y mantener undocumento de requisitos, utilizando una combinación de métodos, herramientas y actores.
  • 4. ANÁLISIS COMPARATIVO DE LAS TÉCNICAS DE INGENIERÍA DE REQUERIMIENTOS En la Ingeniería de Requisitos se describen técnicas que permiten la captura de requisitos de software, la recopilación de la información y en qué casos es adecuada usar cada cual. Técnica Características Ventajas Desventajas Entrevistas  Forma de conversación  Mediante ellas se  La información Y  Mayor fuente de obtiene una gran obtenida al principioCuestionarios información del cantidad de puede ser redundante analista. información correcta a o incompleta.  Basadas en través del usuario.  Si el volumen de un cuestionario rígido  Pueden ser usadas para información manejado o una guía que las obtener un pantallazo es alto, requiere orienta hacia puntos del dominio del mucha organización bien definidos. problema. de parte del analista,  Permiten obtener  Son flexibles. así como la habilidad información de un gran  Permiten combinarse para tratar y número de personas en con otras técnicas. comprender el corto tiempo. comportamiento de todos los involucrados.Lluvia de Ideas  Los diferentes puntos  Es necesaria una de vista y las buena compenetración confusiones en cuanto del grupo participante. a terminología, son aclarados por expertos.  Ayuda a desarrollar ideas unificadas basadas en la experiencia de un experto. Prototipos  El uso de prototipos  Ayudan a validar y  El cliente puede llegar para recoger requisitos desarrollar nuevos a pensar que el o comprobar si se han requerimientos. prototipo es una entendido  Permite comprender versión del software perfectamente es una aquellos que será desarrollado. práctica cada vez más requerimientos que no  A menudo, el extendida, están muy claros y que desarrollador hace especialmente en son de alta volatilidad. compromisos de sistemas que suponen implementación con el un elevado grado de objetivo de acelerar la interactividad. En este puesta en caso los prototipos a funcionamiento del evaluar no serán más prototipo que maquetas no operativas o
  • 5. especificaciones formales que un grupo de expertos deberán evaluar. Análisis  Permite determinar el  Debe construirse un Jerárquico grado de importancia estándar claro de cada requerimiento. de evaluación, que  Ayuda a incluya la identificar conflictos en participación del los requerimientos. cliente.  Muestra el orden en que deben ser implementados los requerimientos.Casos de Uso  Representan los  En sistemas grandes, requerimientos desde toma mucho tiempo el punto de vista del definir todos los casos usuario. de uso.  Permiten representar  El análisis de calidad más de un rol para depende de la calidad cada afectado. con que se haya hecho  Identifica la descripción inicial. requerimientos estancados, dentro de un conjunto de requerimientos. 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.  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.
  • 6.  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.).  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 REQUERIMIENTOSEstudio de viabilidad: El estudio de viabilidad permite decidir si el sistema propuesto es conveniente. Es unestudio rápido y orientado a conocer. Además tiene en cuenta si el sistema contribuye a los objetivos de laorganización, si el sistema se puede realizar con la tecnología actual y con el tiempo y el coste previsto, y siel sistema puede integrarse con otros existentes.Elicitación de requisitos: Elicitación (o extracción o determinación) de requisitos, es el proceso mediante elcual los usuarios descubren, revelan, articulan y comprenden los requisitos que desean. En esta etapa, setrata de descubrir los requisitos y personal técnico trabaja con los clientes y usuarios para descubrirel dominio de la aplicación, los servicios que se deben proporcionar y las restricciones. Puede implicar ausuarios finales, encargados, ingenieros implicados en el mantenimiento, expertos del dominio, etc. Son losllamados participantes (stakeholders).Análisis de requisitos: El proceso de razonamiento sobre los requisitos obtenidos en la etapa anterior,detectando y resolviendo posibles inconsistencias o conflictos, coordinando los requisitos relacionados entresí, etc.Especificación de Requisitos (ERS): La especificación de requisitos de software es la actividad en la cual segenera el documento, con el mismo nombre, que contiene una descripción completa de las necesidades yfuncionalidades del sistema que será desarrollado; describe el alcance del sistema y la forma en como harásus funciones, definiendo los requerimientos funcionales y los no funcionales. En la SRS se definen todos losrequerimientos de hardware y software, diagramas, modelos de sistemas y cualquier otra información quesirva de soporte y guía para fases posteriores.Validación de requisitos: El proceso de confirmación, por parte de los usuarios, de que los requisitosespecificados son válidos, consistentes, y completos. La validación es la actividad de la IR que permitedemostrar que los requerimientos definidos en el sistema son los que realmente quiere el cliente; ademásrevisa que no se haya omitido ninguno, que no sean ambiguos, inconsistentes o redundantes.No debe confundirse la actividad de evaluación de requerimientos con la validación de requerimientos. Laevaluación verifica las propiedades de cada requerimiento, mientras que la validación revisa el cumplimientode las características de la especificación de requisitos. Durante la actividad de validación pueden hacersepreguntas en base a cada una de las características que se desean revisar. La validación de requerimientoses importante pues de ella depende que no existan elevados costos de mantenimiento para el softwaredesarrollado.Gestión de Requisitos: Es el proceso de manejar los requisitos que cambian durante el desarrollo delsistema.
  • 7. CONCLUSIÓNComo se pudo observar la importancia que tiene el conocimiento de la Ingeniería deRequerimiento y con ella la Gestión de Requisitos. Sin dejar de mencionar que el resultadosatisfactorio depende de una intensa comunicación entre clientes y analistas de requerimientos. LaIngeniería se encarga de establecer y mantener un acuerdo en que el sistema debe hacer, ademásproporciona al equipo de desarrollo un entendimiento de los requisitos, hasta definir los límites delsistema.La Ingeniería de requisitos no es la solución definitiva a los inconvenientes y/o problemaspresentados en la crisis del software, pero ayuda en gran medida al descubrimiento y solución deerrores en etapas tempranas del desarrollo de proyectos de software, reduciendo costos y tiempoen el ciclo de vida.
  • 8. BIBLIOGRAFÍA(Booch, 2002) Grady Booch. Growing the UML. Software and System Modeling, (2002).(Charette, 1989) Charette, R. N.: Software Engineering Risk Analysis and Management, McGraw–Hill/Intertext, 1989.(Finkelstein, 2000) Anthony Finkelstein & Wolfgang Emmerich (University College London, Dept.Computer Science.)Paper "The Future of Requirement Management Tools" (Ramesh, 2001) B. Ramesh and M. Jarke. Toward Reference Models for RequirementsTraceability.IEEE Transactions on Software Engineering, Vol. 27, No. 1, pp.58-93, January 2001.(Richard , 1997) IEEE Software Requirement Engineering, Second Edition. Thayer y MerlinDorfman, IEEE Computing Society, New York, NY. 1997.(Sommerville, 1997) Requerimentes Engineering: A Good Practice Guide. Johm Wiley and Sons,1997.