1. INGENIERIA DE RESQUISITOS
E
INGENIERIA DE REQUERIMIENTOS
Realizado por:
Joanna Martínez
CI: 8436777
Porlamar, Noviembre 2014
REPÚBLICA BOLIVARIANA DE VENEZUELA
INSTITUTO UNIVERSITARIO POLITÉCNICO
“SANTIAGO MARIÑO”
EXTENSIÓN PORLAMAR
ESCUELA DE SISTEMAS
2. INTRODUCCION 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.
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.
El reemplazo de plataformas y tecnologías obsoletas, la compra de sistemas completamente nuevos, las modificaciones de todos o de casi todos los programas que forman un sistema, entre otras razones, llevan a desarrollar proyectos en calendarios sumamente ajustados y en algunos casos irreales; esto ocasiona que se omitan muchos pasos importantes en el ciclo de vida de desarrollo, entre estos, la definición de los requerimientos.
3. 1) INGENIERIA DE REQUISITOS La Ingeniería de Requisitos (IR) comprende las técnicas y procedimientos ingenieriles para el desarrollo del software y no se plantea sólo una actividad de programación, el análisis y la definición de los requisitos debe dar lugar a la especificación software, en la que se concretan las necesidades que se desean cubrir y se fijan las restricciones con las que debe trabajar el software, el modelado de los sistemas tiene como objetivo entender mejor el comportamiento requerido y facilitar la comprensión de los problemas planteados. Se trata de establecer modelos conceptuales que reflejen la organización de la información y las diversas transformaciones que se deben llevar a cabo con dicha información. La IR tiene como reto la generación de soluciones innovadoras que impliquen el uso de nuevas tecnologías fomentando la interdependencia, actividades que promuevan y sean orientadas hacia la reingeniería, el desarrollo y evolución de productos personalizados con el fin de poder satisfacer cualquier necesidad donde el usuario sea el ente activo generador de conocimiento.
2) DEFINICION DE REQUERIMIENTOS Los requerimientos son las necesidades documentales y aquellas descripciones que hace el usuario de los deseos o necesidades que tiene frente a un producto, a los ingenieros o desarrolladores del software, estos requerimientos originan unos requisitos que se deben cumplir para poder llegar a cumplir los requerimientos. Todo aquello que quiere el cliente, es decir, todo aquello que necesite lo entenderíamos por requerimientos, y si hablamos de lo que se necesita para cumplir las peticiones del usuario nos referiríamos a los requisitos.
4. 3) CARACTERISTICAS 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. Un requerimiento debe cumplir ciertos criterios y características: Único: El requerimiento debe poder ser interpretado inequívocamente de una sola manera. Verificable: Su implementación debe poder ser comprobada. El test debe dar como resultado correcto o incorrecto. Claro: Los requerimientos no deben contener terminología innecesaria. Deben ser establecidos de forma clara y simple. Viable (realista y posible): El requerimiento debe ser factible según las restricciones actuales de tiempo, dinero y recursos disponibles. Necesario: Un requerimiento no es necesario si ninguno de los interesados necesita el requerimiento o bien si la retirada de dicho requerimiento no tiene ningún efecto.
4) INGENIERIA DE REQUERIMIENTOS
Ingeniería de Requisitos ayuda a los ingenieros de software a entender mejor el problema en cuya solución trabajarán. Incluye el conjunto de tareas que conducen a comprender cuál será el impacto del software sobre el negocio, qué es lo que el clientequiere y cómo interactuarán los usuarios finales con el software. [Pressman]
Normalmente, un tema de la Ingeniería de Software tiene diferentes significados. De las muchas definiciones que existen para requerimiento, a continuación se presentan las definiciones:
Una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo.
5. 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.
Una representación documentada de una condición o capacidad.
5) TECNICAS PRINCIPALES APLICADAS EN LA INGENIERIA DE REQUISITOS
La ingeniería de requisitos puede ser un proceso largo y arduo para el que se requiere de habilidades psicológicas. Los nuevos sistemas cambian el entorno y las relaciones entre la gente, así que es importante identificar a todos los actores involucrados, considerar sus necesidades y asegurar que entienden las implicaciones de los nuevos sistemas. Los analistas pueden emplear varias técnicas para obtener los requisitos del cliente.
Históricamente, esto ha incluido técnicas tales como las entrevistas, o talleres con grupos para crear listas de requisitos. Técnicas más modernas incluyen los prototipos, y utilizan casos de uso. Cuando sea necesario, el analista empleará una combinación de estos métodos para establecer los requisitos exactos de las personas implicadas, para producir un sistema que resuelva las necesidades del negocio.
Entrevistas
Las entrevistas son un método común. Por lo general no se entrevista a toda la gente que se relacionará con el sistema, sino a una selección de personas que represente a todos los sectores críticos de la organización, con el énfasis puesto en los sectores más afectados o que harán un uso más frecuente del nuevo sistema.
Talleres
Los requisitos tienen a menudo implicaciones cruzadas desconocidas para las personas implicadas individuales y que a menudo no se descubren en las entrevistas o quedan incompletamente definidas durante la misma. Estas implicaciones cruzadas pueden descubrirse realizando en un ambiente controlado, talleres facilitados
6. por un analista del negocio, en donde las personas implicadas participan en discusiones para descubrir requisitos, analizan sus detalles y las implicaciones cruzadas. A menudo es útil la selección de un secretario dedicado a la documentación de la discusión, liberando al analista del negocio para centrarse en el proceso de la definición de los requisitos y para dirigir la discusión.
Existen dos técnicas de este tipo que son las más utilizadas: Brainstorming (Lluvia de ideas) y JAD (Joint Application Development, Diseño de Aplicación Conjunta). La diferencia que existe entre ambas técnicas es que durante la tormenta de ideas se tiene como objetivo generar una gran cantidad de ideas, es desestructurada y la información que se obtiene puede ser visual, textual ó coloquial; mientras que en el JAD el taller es ordenado, la información que se obtiene es visual y su objetivo es generar requisitos y la interfaz del sistema.
En el Joint application development se trabaja directamente sobre los documentos a generar, las temáticas que se tratan durante las reuniones siguen un esquema y se busca que la misma sea ordenada y racional.
6) FASES DE LA INGENIERIA DE REQUERIMIENTOS Desde un punto de vista conceptual, las actividades son de cinco clases. Obtener requisitos: a través de entrevistas o comunicación con clientes o futuros usuarios, para saber cuáles son sus expectativas. Analizar requisitos: detectar y corregir las carencias o falencias comunicativas, transformando los requisitos obtenidos de entrevistas y requisitos, en condiciones apropiadas para ser tratados en el diseño. Documentar requisitos: igual que todas las etapas, los requisitos deben estar debidamente documentados.
7. Verificar los requisitos: consiste en comprobar la implementación de los requerimientos. Validar los requisitos: comprobar que los requisitos implementados sean funcionales para lo que inicialmente se construyó el producto.
7) REQUERIMIENTOS DE SOFTWARE DE LA INGENIERIA DE REQUERIMIENTOS
Rol de Requerimientos
• Si un producto no es lo que el cliente o los usuarios quieren, entonces la calidad de la construcción es irrelevante.
• El rol clave de los requerimientos es mostrar a los desarrolladores y usuarios que se necesita de un sistema.
• El primer y básico rol de los requerimientos es por lo tanto la comunicación. Cómo identificamos los Requerimientos ? Los Requerimientos toman vida desde que realizamos nuestro primer encuentro de interlocución con usuarios o clientes.
• Este puede desarrollarse utilizando cualquiera de una variedad de técnicas como entrevistas para intercambiar opiniones, cuestionarios, etc.
• Cuando los requerimientos se logran redactar a un significativo nivel de detalle, tendremos listo el documento denominado “Especificación de Requerimientos”.
Se puede organizar por :
• Modo (entrenamiento, demo, normal, emergencia)
• Clase de usuario (administrador, usuario, cliente)
• Objetos (paciente, enfermera, sensor, médico, medicinas)
• Función (llamada local, conferencia, etc)
• Estímulo (pérdida de altura, frenos bloqueados, etc)
• Respuesta (generación de cheques de pago, generación de listados, etc)
• Jerarquía funcional (funciones con las mismas entradas, mismas salidas, o acceso a los mismos datos) Requerimientos específicos.
8. 8) ACTIVIDADES DE LA INGENIERÍA DE REQUERIMIENTOS.
Extracción: 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, etc.
Análisis: Sobre la base de la extracción realizada previamente, comienza esta fase en la cual se enfoca en descubrir problemas con los requerimientos del sistema identificados hasta el momento. Especificación: En esta fase se documentan los requerimientos acordados con el cliente, en un nivel apropiado de detalle.
Validación: La validación 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 descripción, por lo menos, aceptable del sistema que se debe implementar.
9) 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.
9. Son difíciles de cuantificar, ya que cada conjunto de requerimientos es particular para cada proyecto.
10) TECNICAS Y HERRAMIENTAS UTILIZADAS EN LA INGENIERIA DE REQUERIMIENTOS
RequisitePro RequisitePro(R) es la herramienta que ofrece Rational Software para tener un mayor control sobre los requerimientos planteados por el usuario y todos aquellos requerimientos técnicos o nuevos requerimientos de usuario que surjan durante el ciclo de vida del proyecto.
DOORS DOORS(R) es la herramienta de administración de requisitos creada por Quality Systems and Software. Esta herramienta permite capturar, relacionar, analizar y administrar un rango de información para asegurar el cumplimiento del proyecto en materia de requerimientos.
DOORS ayuda al usuario a procesar las solicitudes de cambios de requerimientos en línea. Permite realizar cualquier modificación vía remota cuando la base de datos está off-line, incorporando sus actualizaciones a la base de datos maestra. Esto hace más fácil la comunicación del equipo con otras organizaciones, subcontratistas y proveedores.
Técnicas principales aplicadas en la Ingeniería de Requisitos.
Técnicas de obtención de los requisitos
Técnicas formales
Técnicas formales frente a intuitivas
CARE: revisión de herramientas de ayuda en I.R.
10. CONCLUSIONES
Cada actividad y técnica de la IR utilizada individualmente, dará diferentes soluciones para diferentes proyectos, incluyendo aquellos casos en los que el dominio y el área del problema son el mismo. Por esta razón, considero que no existe un modelo de proceso ideal para la IR; encontrar el método o la técnica perfecta es una ilusión, pues cada método y técnica ofrece diferentes soluciones ante un problema.
Debemos recordar que la Ingeniería de Requerimientos es una actividad que involucra a clientes, usuarios, equipo de desarrollo, administradores de proyectos, etc.; por lo tanto, el proceso de IR no depende solamente de la forma en cómo se percibe el problema, sino también, del nivel de experiencia que tengan los involucrados.
11. REFERENCIAS BIBLIOGRAFICAS Y ELECTRONICAS
Senn, James A. "Análisis y Diseño de Sistemas de Información". Segunda Edición. McGraw Hill. 1992.
www.monografias.com www.ecured.cu/index.php/Ingeniería_de_requisitos ingernieriaderequisitos.edublogs.org/.../tecnicas-y-he..