INGENIERÍA DE REQUISITOS E INGENIERÍA DE REQUERIMIENTOS
REPÚBLICA BOLIVARIANA DE VENEZUELAINSTITUTO UNIVERSITARIO POLITÉCNICO
“SANTIAGO MARIÑO”EXTENSIÓN PORLAMAR
INTRODUCCIÓN
La especificación de requerimientos es quien definen los servicios que un sistema debe proveer y establece los limites y restricciones en las operaciones del mismo. En la actualidad, el conjunto de procesos y métodos que tienen por objetivo capturar y formalizar estos requerimientos se ha venido a denominar ingeniería de requerimientos.
INGENIERÍA DE REQUISITOS O INGENIERÍA DE
REQUERIMIENTOS
La ingeniería de requisitos tiene como propósito el establecimiento de un marco metodológico, técnico y tecnológico que sirva para formalizar y automatizar la fase de requisitos en el ciclo de vida del desarrollo de software.
Por lo que a través de la ingeniería de software y la aplicación de las herramientas que brinda se pueden determinar las necesidades o condiciones a satisfacer para un software nuevo o modificado.
Necesario
Conciso
Completo
Consistente
No ambiguo
Posible de
probar o verificar
Especificado por escrito
Características de los
requerimientos
Técnicas principales aplicadas en la Ingeniería de
RequisitosEntrevistas
y cuestionari
os
Del usuario
Del proceso
Del producto
Prototipos
Prototipo rápido
Prototipo evolutivo
Casos de uso
Sistemas existentes
Lluvia de ideas
TÉCNICAS PRINCIPALES APLICADAS EN LA INGENIERÍA DE REQUISITOS• Entrevistas y cuestionarios: Son aplicados para reunir
información proveniente de personas o grupos. En la entrevista el analista conversa con el encuestado y el cuestionario consiste en una serie de preguntas relacionadas con varios aspectos del sistema.
Algunas posibles preguntas son las siguientes:
• Del usuario: ¿Quién es el cliente?, ¿Quién es el usuario?, ¿Son sus necesidades diferentes?, ¿Cuáles son sus habilidades, capacidades, ambiente?
• Del proceso: ¿Cuál es la razón por la que se quiere resolver este problema?, ¿Cuál es el valor de una solución exitosa?, ¿Cómo usted resuelve el problema actualmente?, ¿Qué retrasos ocurren o pueden ocurrir?.
• Del producto: ¿Qué problemas podría causar este producto en el negocio?, ¿en que ambiente se usara el producto?, ¿Qué obstáculos afectan la eficiencia del sistema?
TÉCNICAS PRINCIPALES APLICADAS EN LA INGENIERÍA DE REQUISITOS• Prototipos: Ésta técnica comienza con la identificación de
todos los requerimientos y señalando las áreas que serán necesarias, luego de esto, se realiza un diseño rápido que consiste en un prototipo y contendrá la representación de entradas y formatos de las salidas, el prototipo es evaluado por el cliente y el usuario para determinar si cumple con los requisitos.
• Prototipo rápido: Es un mecanismo para lograr la validación pre-compromiso, permite validar requerimientos en una etapa previa al diseño especifico.
• Prototipo evolutivo: Este consiste en considerar la primera entrega como un prototipo inicial, el cual puede recibir modificaciones y mejoras, lo que da como resultado nuevas entregas, este proceso continúa hasta obtener el producto final
TÉCNICAS PRINCIPALES APLICADAS EN LA INGENIERÍA DE REQUISITOS• Casos de uso: Es una técnica para especificar el
comportamiento de un sistema, un caso de uso es una forma de expresar como alguien o algo externo a un ambiente lo usa.
• Sistemas existentes: Consiste en analizar los distintos sistemas ya desarrollados, que estén relacionados con el sistema a ser construido
• Lluvia de ideas: Básicamente consiste en una técnica de reuniones en grupos de los involucrados en un proyecto, cuyo objetivo es que los participantes muestren sus ideas de forma libre y desarrollen su creatividad. Luego de reunir todas las ideas posibles, se irán eliminando en base a distintos criterios. El grupo de personas que participa en estas reuniones no debe ser muy numeroso (máximo 10 personas).
REQUERIMIENTOS DE SOFTWARE DE LA INGENIERÍA
DE REQUERIMIENTOS
• Requerimientos funcionales: definen las funciones que el sistema será capaz de realizar, las transformaciones que realiza sobre las entradas para producir salidas y especifica los servicios que debe proporcionar la aplicación.
• Requerimientos no funcionales: son las características que pueden limitar el sistema, como por ejemplo, el rendimiento, interfaces de usuario, fiabilidad, mantenimiento, seguridad, portabilidad y estándares.
Análisis del
problema
Evaluación y
negociación
Especifica-ción
Validación
Extracción Actividades de la Ing. de requerimien
tos
ACTIVIDADES DE LA INGENIERÍA DE
REQUERIMIENTOS• Extracción: 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.
• Análisis del problema: El objetivo de esta actividad es entender la verdadera necesidad del negocio, se enfoca en descubrir problemas con los requerimientos del sistema identificados hasta el momento.
• Evaluación y negociación de los requerimientos: en esta etapa se limitan las expectativas del cliente apropiadamente, tomando como referencia los niveles de abstracción y descomposición de cada problema presentado.
ACTIVIDADES DE LA INGENIERÍA DE
REQUERIMIENTOS
• Especificación: en esta fase se documentan los requerimientos acordados con el cliente, en un nivel apropiado de detalle, en la practica esta etapa se va realizando conjuntamente con el análisis.
• Validación: Su objetivo es, comprobar los requerimientos que aparecen en el documento especificado para asegurarse de que sean aceptables para el sistema que se desea implementar.
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).
• La cantidad de requerimientos en un proyecto puede ser difícil 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.
CONCLUSIONES
• Se debe recordar que la ingeniería de requerimientos es una actividad que involucra a clientes, usuarios, equipo de desarrollo, administración de proyectos, entre otros, el proceso de ingeniería de requerimientos no depende solamente de la forma como se percibe el problema, sino también, del nivel de experiencia que tengan los involucrados.
• Es importante que el analista se tome el tiempo necesario para conocer a los clientes y usuarios, así como su ambiente de trabajo, ya que esto ayudara a establecer una buena relación de trabajo.