You are on page 1of 17

I.U.

P Santiago Mario

INGENIERA DE REQUISITOS & INGENIERA DE REQUERIMIENTOS

julio de 2012

INTRODUCCIN

En la actualidad existen muchos procesos para desarrollar software, tanto La ingeniera de requisitos como la de requerimientos son tcnicas que permite a un desarrollador conocer la correcta cantidad de requerimientos necesarios para realizar un software, pudindose aplicase en otras lneas de desarrollo como aplicaciones web, de escritorio, otros.

INGENIERA DE REQUISITOS & INGENIERA DE REQUERIMIENTOS DEFINICIN DE INGENIERA DE REQUISITOS Segn Jurado Jos Luis (s/f): La Ingeniera de Requisitos IR trata de los principios, mtodos, tcnicas y herramientas que permiten descubrir, documentar y mantener los requisitos para sistemas basados en computadora, de forma sistemtica y repetible. Para kybele.urjc.es: es el proceso para descubrir, analizar, documentar y verificar los servicios que debe proporcionar el sistema y sus restricciones. Define un proceso, y facilita la comprensin de lo que quiere el cliente. Analizando sus necesidades Confirmando su viabilidad Negociando la solucin Especificando la solucin sin ambigedad Validando y Gestionando requisitos para que el sistema pueda ser operativo. Su objetivo es crear y mantener un documento de requisitos del sistema. Por tanto, se entiende como ingeniera de requisitos al conjunto de tcnicas que periten identificar los requisitos y servicios que deben poseer un sistema para su desarrollo, junto con sus limitantes, en un documento escrito (informe). DEFINICIN DE INGENIERA DE REQUERIMIENTOS Segn Arias Michael (2006). El proceso de recopilar, analizar y verificar las necesidades del cliente o usuario para un sistema es llamado ingeniera de requerimientos. La meta de la ingeniera de requerimientos (IR) es entregar una especificacin de requisitos de software correcta y completa. La ingeniera de

requerimientos apunta a mejorar la forma en que se entiende y definen los sistemas de software complejos Para Pressman, 2006, la Ingeniera de Requerimientos ayuda a los ingenieros de software a entender mejor el problema en cuya solucin trabajarn. Incluye el conjunto de tareas que conducen a comprender cul ser el impacto del software sobre el negocio, qu es lo que el cliente quiere y cmo interactuarn los usuarios finales con el software. En sntesis, el proceso de ingeniera de requerimientos se utiliza para definir todas las actividades involucradas en el descubrimiento, documentacin y mantenimiento de los requerimientos para un producto de software determinado, donde es muy importante tomar en cuenta que el aporte de la ingeniera de requisitos. Viene a ayudar a determinar la viabilidad de llevar a cabo un software (si es factible llevarlo a cabo o no), pasando posteriormente por un subproceso de obtencin y anlisis de requerimientos, su especificacin formal, para finalizar con un proceso de validacin donde se verifica que los requerimientos realmente definen el sistema que quiere el cliente. Se puede entender entonces por ingeniera de requerimientos al proceso de recoleccin, anlisis y verificacin de las necesidades de un usuario para un sistema, buscando obtener los requerimientos adecuados, cual es el impacto de los mismos en el sistema y la viabilidad sobre si el proyecto debe ejecutar o no. De tal manera que ejecutado el software, el mismo sea lo mas parecido a lo que pide el cliente.

FASES REQUISITOS

DE

IMPLEMENTACIN

DE

LA

INGENIERA

DE

Segn kybele.urjc.es: El proceso de desarrollo (ingeniera) de requisitos comprende (en general) 4 etapas:

1. Identificacin O Captura De Requisitos En esta etapa los ingenieros de software trabajan con los clientes y los usuarios finales del sistema. Determina: El dominio de la aplicacin Qu servicios debe proporcionar el sistema Rendimiento requerido del sistema Restricciones de hardware, entre otros. 2. Anlisis (Y Negociacin) De Requisitos Una vez recopilados los requisitos: Se agrupan por categoras y se organizan Se estudia cada requisito en relacin con el resto Se examina la consistencia, completitud y ambigedad de los requisitos

Se clasifican en base a las necesidades de los clientes / usuarios (negociacin): Los clientes, usuarios y resto de los implicados debern clasificar sus

requisitos y discutir posibles conflictos Priorizar requisitos Compromiso final sobre el conjunto de requisitos a implementar 3. Especificacin O Documentacin De Requisitos Es un documento que define, de forma completa, precisa y verificable, los requisitos, el comportamiento u otras caractersticas de un sistema o componente de un sistema.

Debe incluir informacin veraz Comunicar dicha informacin de forma eficaz Describir correctamente todos los requisitos del software

No describir ningn detalle del diseo del software, de su verificacin o de la direccin del proyecto que influyen en los requisitos. 4. Validacin de requisitos En esta etapa se intenta encontrar problemas con los requisitos. Se realizan

verificaciones sobre la especificacin de requisitos: Verificaciones de validez. Verificaciones de consistencia. Verificaciones de completitud. Verificaciones de realismo (presupuesto, tiempos). Verificabilidad. Ejemplos: el sistema no se ajusta a estndares; se detectan nuevas inconsistencias o ambigedades; entre otros. En resumen las fases de implementacin de la ingeniera de requerimientos se divide en 4 partes: en la identificacin de requisitos; se visualiza el campo de accin de la aplicacin, que servicios proporcionara el sistema y sus licitantes de hardware. En la fase de anlisis de requisitos, se estudian cada uno de los requisitos de software, y la relacin entre ellos, basndose en las necesidades del cliente. Para la fase siguiente, especificacin o documentacin de requisitos, se levanta de forma escrita un informe con las caractersticas del sistema y sus

componentes. En la fase final, de validacin de requisitos se hacen inspecciona la red, y al plan de accin del software TCNICAS PRINCIPALES APLICADAS EN LA INGENIERA DE REQUISITOS Hay distintas tcnicas para verificar los requisitos, que pueden utilizarse conjunta o individualmente: Revisin de requisitos. Anlisis sistemtico de los requisitos por parte de un equipo de revisores. Prototipado. Creacin de un modelo ejecutable del sistema. Generacin de casos de prueba. Si no es posible disear un caso de prueba para uno requisito, probablemente el requisito sea problemtico. Anlisis automtico de la consistencia. Supuesto que se haya utilizado una herramienta formal de especificacin de requisitos. ACTIVIDADES DE LA INGENIERA DE REQUERIMIENTOS Para Arias Michael (2006): se dice que dentro de la IR existen cuatro actividades bsicas. Estas actividades ayudan a reconocer la importancia que tiene para el desarrollo de un proyecto de software, realizar una especificacin y administracin adecuada de los requerimientos de los clientes o usuarios. Las cuatro actividades son: extraccin, anlisis, especificacin y validacin Extraccin: Esta fase representa el comienzo de cada ciclo. Extraccin es el nombre comnmente dado a las actividades involucradas en el descubrimiento de los requerimientos del sistema. Aqu, los analistas de requerimientos deben trabajar junto al cliente para descubrir el problema que el sistema debe resolver, los diferentes servicios que el sistema debe prestar, las restricciones que se pueden presentar, entre otros. Es importante, que la extraccin sea efectiva, ya que la aceptacin del sistema depender de cuan bien ste satisfaga las necesidades del cliente.

Anlisis: Esta fase se enfoca en descubrir los problemas con los requerimientos del sistema identificados hasta el momento. Se hace un anlisis luego de haber producido un bosquejo inicial del documento de requerimientos; y en esta etapa se leen los requerimientos, se conceptan, se investigan, se intercambian ideas con el resto del equipo, se resaltan los problemas, se buscan alternativas y soluciones, y luego se van fijando reuniones con el cliente para discutir los requerimientos. Especificacin: En esta fase se documentan los requerimientos acordados con el cliente, en un nivel apropiado de detalle. En la prctica, esta etapa se va realizando conjuntamente con el anlisis, se puede decir que la especificacin es el "pasar en limpio" el anlisis realizado previamente aplicando tcnicas o estndares de documentacin, como la notacin UML (Lenguaje de Modelado Unificado), que es un estndar para el modelado orientado a objetos, por lo que los casos de uso y la obtencin de requerimientos basada en casos de uso se utiliza cada vez ms para la obtencin de requerimientos. Validacin: La validacin es la etapa final de la IR. Su objetivo es, ratificar los requerimientos, es decir, verificar todos los requerimientos que aparecen en el documento especificado para asegurarse que representan una descripcin, por lo menos, aceptable del sistema que se debe implementar. Esto implica verificar que los requerimientos sean consistentes y que estn completos. El proceso de ingeniera de requerimientos es un conjunto estructurado de actividades, mediante las cuales se obtiene, se valida y se logra dar un mantenimiento adecuado al documento de especificacin de requerimientos, que es el documento final, de carcter formal, que se obtiene de este proceso. No existe un proceso nico que sea vlido de aplicar en todas las organizaciones. Cada organizacin debe desarrollar su propio proceso de acuerdo al tipo de producto que se est desarrollando, a la cultura organizacional, y al nivel de experiencia y habilidad de las personas involucradas en la ingeniera de requerimientos. Hay muchas maneras de organizar el proceso de ingeniera de

requerimientos y en otras ocasiones se tiene la oportunidad de recurrir a consultores, ya que ellos tienen una perspectiva ms objetiva que las personas involucradas en el proceso. En palabras as sencilla, se puede decir que para cumplir con el proceso de la ingeniera de requerimientos se tienen que completar cuatro actividades: La primera actividad, se llama extraccin y comprende todas las actividades que perite descubrir los requerimientos del sistema. La siguiente actividad trata del anlisis de todos los requerimientos con que debe trabajar el sistema, sus objetivos, sus servicios a prestar, otros. En la especificacin, se escribe de manera detallada los requerimientos tratados con el cliente. Y por ultimo en la actividad de validacin es donde se revisa todos los requerimientos acordados para el sistema y se comprueba si concuerda con la descripcin del cliente, permitiendo que el mismo pueda ser implementado. ESPECIFICACIN DE LOS REQUERIMIENTOS DE SOFTWARE DE LA INGENIERA DE REQUISITOS Una especificacin de requisitos del software es una descripcin completa del comportamiento del sistema a desarrollar. Incluye un conjunto de casos de uso que describen todas las interacciones que se prevn que los usuarios tendrn con el software. Tambin contiene requisitos no funcionales (o suplementarios). Los requisitos no funcionales son los requisitos que imponen restricciones al diseo o funcionamiento del sistema (tal como requisitos de funcionamiento, estndares de calidad, o requisitos del diseo). Las estrategias recomendadas para la especificacin de los requisitos del software estn descritas por IEEE 830-1998. Este estndar describe las estructuras posibles, contenido deseable, y calidades de una especificacin de requisitos del software.

Los requisitos se dividen en tres: Funcionales: son los que el usuario necesita que efecte el software. Ej.: el sistema debe emitir un comprobante al asentar la entrega de mercadera. No funcionales: son los "recursos" para que trabaje el sistema de informacin (redes, tecnologa). Ej.: el soporte de almacenamiento a usar debe ser MySQL. Empresariales u Organizacionales: son el marco contextual en el cual se implantar el sistema para conseguir un objetivo macro. Ej.: abaratar costos de expedicin. FASES DE LA INGENIERA DE REQUISITOS (IR) Segn slideshare.net (2007) las fases de la IR son: Inicio. Se inicia muchas veces por: Identifica nueva necesidad de negocios, se descubre un nuevo mercado, y se descubre un nuevo servicio. Obtencin. La obtencin de informacin no es tan fcil como parece. Los ingenieros deben realizar en forma organizada la actividad de recopilacin de requisitos.

Elaboracin. Objetivo. Desarrollar modelo tcnico refinado de las funciones, caractersticas, y restricciones del software. Se conduce mediante la creacin y refinamientos de escenarios. El resultado final es un modelo de anlisis que define: el dominio de la informacin, funciones, y comportamiento del problema. Negociacin. Clientes, usuarios y otros interesados deben ordenar sus requisitos y luego discutir los conflictos relacionados con la prioridad. Hacer estimaciones preliminares del esfuerzo requerido para su desarrollo. Y mediante un enfoque iterativo los requisitos se elimina, combinan o modifican. Especificacin. Puede ser:

Se recomienda que:

La especificacin es el trabajo que genera la IR. Validacin. Examina las especificaciones para asegurar que los requisitos de software se han establecido de manera precisa.

Gestin. Es el conjunto de actividades que ayuda al equipo del proyecto a identificar, controlar, rastrear los requisitos como tambin los cambios de estos en el desarrollo del proyecto.

CARACTERSTICAS DE LOS REQUERIMIENTOS Segn Arias Michael (2006): Es importante no perder de vista que un requerimiento debe ser: Especificado por escrito: Como todo contrato o acuerdo entre dos partes. Posible de probar o verificar. Si un requerimiento no se puede comprobar, entonces cmo se sabe si se cumpli con l o no? Conciso: Un requerimiento es conciso si es fcil de leer y entender. Su redaccin 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 redaccin, es decir, si se proporciona la informacin suficiente para su comprensin.

Consistente: Un requerimiento es consistente si no es contradictorio con otro requerimiento.

No ambiguo: Un requerimiento no es ambiguo cuando tiene una sola interpretacin. El lenguaje usado en su definicin, no debe causar confusiones al lector.

DIFICULTADES PARA PODER DEFINIR LOS REQUERIMIENTOS Para Arias Michael (2006), durante la etapa de especificacin de requerimientos se pueden presentar muchos inconvenientes los cuales son importantes de identificar y prevenir, a continuacin se presenta un listado con los problemas ms comunes en este proceso: Los requerimientos no son obvios y vienen de muchas fuentes. Son difciles de expresar en palabras (el lenguaje es ambiguo). La cantidad de requerimientos en un proyecto puede ser difcil de manejar. Un requerimiento puede cambiar a lo largo del ciclo de desarrollo. El usuario no puede explicar lo que hace. Tiende a recordar lo excepcional y olvidar lo rutinario. Hablan de lo que no funciona. Los usuarios tienen distinto vocabulario que los desarrolladores. Usan el mismo trmino con distinto significado.

Tcnicas Y Herramientas Utilizadas En Las Actividades De La Ingeniera De Requerimientos. Para Herrera, 2003: existen varias tcnicas para la IR propuestas para ingeniera de requerimientos, estas tcnicas pueden ser aplicables a las distintas fases del proceso de la IR, tomando en cuenta las caractersticas propias del proyecto en particular que se este desarrollndose para aprovechar al mximo su utilidad. Entrevistas y Cuestionarios: se emplean para reunir informacin proveniente de personas o de grupos. Durante la entrevista, el analista conversa con el encuestado. El cuestionario consiste en una serie de preguntas relacionadas con varios aspectos de un sistema. Por lo normal, los encuestados son usuarios de los sistemas existentes o usuarios en potencia del sistema propuesto. En algunos casos, son gerentes o empleados que proporcionan datos para el sistema propuesto o que sern afectados por l. El xito de esta tcnica, depende de la habilidad del entrevistador y de su preparacin para la misma. Sistemas Existentes: esta tcnica consiste en analizar distintos sistemas ya desarrollados que estn relacionados con el sistema a ser construido. Por un lado, se analiza las interfaces de usuario, observando el tipo de informacin que se maneja y cmo es manejada, y el otro lado tambin se analiza las distintas salidas que los sistemas producen (listados, consultas, otros), porque siempre pueden surgir nuevas ideas sobre la base de esas. Lluvia de ideas (Brainstorm) Este es un modelo que se usa para generar ideas. La intencin en su aplicacin es la de generar la mxima cantidad posible de requerimientos para el sistema. No hay que detenerse en pensar si la idea es o no del todo utilizable. La intencin de este ejercicio es generar, en una primera instancia, muchas ideas. Luego, se irn eliminando en base a distintos criterios como, por ejemplo, "caro", "impracticable", "imposibles", otros.

Las reglas bsicas a seguir son: Los participantes deben pertenecer a distintas disciplinas y, preferentemente, deben tener mucha experiencia. Esto trae aparejado la obtencin de una cantidad mayor de ideas creativas. Conviene suspender el juicio crtico y se debe permitir la evolucin de cada una de las ideas, porque sino se crea un ambiente hostil que no alienta la generacin de ideas. Por ms locas o salvajes que parezcan algunas ideas, no se las debe descartar, porque luego de maduradas probablemente se tornen en un requerimiento sumamente til. A veces ocurre que una idea resulta en otra idea, y otras veces podemos relacionar varias ideas para generar una nueva. Escribir las ideas sin censura. Prototipos Los prototipos son simulaciones del posible producto, que luego son utilizados por el usuario final, permitindonos conseguir una importante retroalimentacin en cuanto a si el sistema diseado con base a los requerimientos recolectados; permite al usuario realizar su trabajo de manera eficiente y efectiva. El desarrollo del prototipo comienza con la captura de requerimientos. Desarrolladores y clientes se renen y definen los objetivos globales del software, identifican todos los requerimientos que son conocidos, y sealan reas en las que ser necesaria la profundizacin en las definiciones. Luego, tiene lugar un diseo rpido. El diseo rpido se centra en una representacin de aquellos aspectos del software que sern visibles al usuario (por ejemplo, entradas y formatos de las salidas). Y en el diseo rpido se lleva a la construccin de un prototipo.

Casos de Uso Los casos de uso son una tcnica para especificar el comportamiento de un sistema. Permite describir la posible secuencia de interacciones entre el sistema y uno o ms actores, en respuesta a un estmulo inicial proveniente de un actor, es una descripcin de un conjunto de escenarios, cada uno de ellos comenzado con un evento inicial desde un actor hacia el sistema. La mayora de los requerimientos funcionales, sino todos, se pueden expresar con casos de uso. Por lo que los casos de uso pueden definirse como una tcnica que se basa en escenarios para la obtencin de requerimientos.

REFERENCIA BIBLIOGRFICA Arias Michael (2006). La Ingeniera De Requerimientos Y Su Importancia En El Desarrollo De Proyectos De Software [Archivo PDF.]. Disponible en: http://www.latindex.ucr.ac.cr/intersedes10/10-art_11.pdf. Consulta 22/06/12Jurado Jos Luis (s/f). Ingeniera de Requisitos [Archivo PDF.]. Disponible en: http://pis.unicauca.edu.co/moodle/file.php/291/ingenieria_de_requerimientos.pdf. Consulta 22/06/12 Anlisis e Ingeniera de Requisitos. Tema 2: Introduccin a la Ingeniera de Requisitos (2011) [Archivo PDF.]. Consulta 22/06/12 6. Ingeniera de requisitos [Archivo PDF.]. Disponible en: Disponible en: http://www.kybele.urjc.es.

http://www.sistemas.edu.bo/lsalgado/sis3390/Requisitos/6.%20Ingenieria%20de %20requisitos.pdf. Consulta 27/06/12 Ingeniera De Requisitos (2007) [Archivo PDF.]. Disponible en: http://www.slideshare.net/ssharLudena/ingeniera-de-requisitos. Consulta 04/07/12

You might also like