SlideShare a Scribd company logo
1 of 23
Download to read offline
I.S. Hugo Fernando Polania Dussan
SENA | GARZON - HUILA
ESPECIFICAR LOS REQUISITOS
NECESARIOS PARA DESARROLLAR
EL SISTEMA DE INFORMACION DE
ACUERDO CON LAS NECESIDADES
DEL CLIENTE
ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION
FICHA: 866036
Tabla de contenido
Contenido
¿Qué es un requerimiento?....................................................................................................................3
Tipos de Requerimientos........................................................................................................................3
Características de un Requerimiento......................................................................................................3
Dificultades para definir los requerimientos ..........................................................................................4
Ingeniería de requerimientos .................................................................................................................4
Importancia de la ingeniería de requerimientos ....................................................................................4
Actividades de la ingeniería de requerimientos .....................................................................................5
Extracción (Análisis del problema)......................................................................................................5
Análisis (Evaluación y negociación de los requerimientos) ................................................................5
Especificación......................................................................................................................................5
Validación............................................................................................................................................6
Evolución de los requerimientos ........................................................................................................6
Técnicas y herramientas utilizadas en la ingeniería de requerimientos.................................................7
Técnicas utilizadas en las actividades de IR........................................................................................7
Entrevistas y Cuestionarios.................................................................................................................7
Sistemas existentes.............................................................................................................................7
Lluvia de ideas (Brainstorm) ...............................................................................................................7
Prototipos ...........................................................................................................................................7
Casos de Uso.......................................................................................................................................8
Herramientas automatizadas para la Administración de Requerimientos.............................................8
RequisitePro........................................................................................................................................8
Descripción de las técnicas más utilizadas en la ingeniería de requerimientos.....................................9
Entrevistas y Cuestionarios.................................................................................................................9
Preparación de la Entrevista...............................................................................................................9
Conducción de la Entrevista..............................................................................................................10
Secuela de la Entrevista. ...................................................................................................................10
Recolectar datos mediante la Entrevista..........................................................................................10
Determinación del tipo de Entrevista...............................................................................................10
Ejemplos de las preguntas abiertas y cerradas en la entrevista estructurada.....................................11
Selección de Entrevistados. ..................................................................................................................11
Realización de Entrevista..................................................................................................................11
Lluvia de Ideas (Brainstorm). ............................................................................................................12
Principios de la lluvia de ideas. .........................................................................................................12
Encuestas. .............................................................................................................................................13
Observación. .........................................................................................................................................13
Tipos de Observación........................................................................................................................14
Preparación para la observación ......................................................................................................14
Conducción de la observación ..........................................................................................................14
Secuela de la observación.................................................................................................................14
Prototipos. ............................................................................................................................................14
Sesiones JAD (Desarrollo participativo de aplicaciones) ......................................................................15
Las Sesiones JAD de Adiestramiento ................................................................................................15
Las Sesiones JAD de Trabajo .............................................................................................................15
Participantes de las Sesiones JAD.....................................................................................................16
El Moderador ....................................................................................................................................16
Analista de Sistemas .........................................................................................................................16
Usuarios ............................................................................................................................................16
Profesionales o Expertos...................................................................................................................16
El Ciclo de JAD...................................................................................................................................16
Planificación de las Sesiones.............................................................................................................17
Elaboración del Calendario de Reuniones ........................................................................................17
Adiestramiento de Participantes ......................................................................................................18
Sesiones de Trabajo JAD ...................................................................................................................18
Beneficios de la Técnica JAD.............................................................................................................18
Requerimientos para el Uso de la Técnica JAD.................................................................................19
Proceso de Análisis Jerárquico (AHP)....................................................................................................19
Ventajas y desventajas de cada una de las técnicas utilizadas en las etapas de la Ingeniería de
Requerimientos.....................................................................................................................................19
Resumen ...............................................................................................................................................21
Bibliografía y enlaces recomendados ...................................................................................................22
¿Qué es un requerimiento?
Un requerimiento puede definirse como un atributo necesario dentro de un sistema, que puede
representar una capacidad, una característica o un factor de calidad del sistema de tal manera
que le sea útil a los clientes o a los usuarios finales. A nivel general los requerimientos pueden
clasificarse como requerimientos indicados o reales. Los requerimientos indicados son los
entregados por el usuario al comienzo del proyecto, en tanto que los requerimientos reales son
aquellos que reflejan la satisfacción de las necesidades del usuario en un sistema en particular.
El proceso para convertir los requerimientos indicados en requerimientos reales consisten en un
proceso de filtrado según el significado y otros aspectos según se considere.
A continuación se presenta la definición existente en el glosario de la IEEE de lo que es un
“Requerimiento”:
 “Una condición o necesidad de un usuario para resolver un problema o alcanzar un
objetivo”. ( Std 610.12-1900, IEEE : 62)
 “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”. (Std
610.12-1900, IEEE: 62)
También, Ian Sommerville presenta una definición acerca de lo que es un “Requerimiento”:
 “Un requerimiento es simplemente una declaración abstracta de alto nivel de un servicio
que debe proporcionar el sistema o una restricción de éste”. (Sommerville, 2005: 108)
Analizando las definiciones anteriores, un requerimiento es una descripción de una condición o
capacidad que debe cumplir un sistema, ya sea derivada de una necesidad de usuario
identificada, o bien, estipulada en un contrato, estándar, especificación u otro documento
formalmente impuesto al inicio del proceso.
Tipos de Requerimientos
Los requerimientos de software pueden dividirse en 2 categorías: requerimientos funcionales y
requerimientos no funcionales. Los requerimientos funcionales son los que definen las funciones
que el sistema será capaz de realizar, describen las transformaciones que el sistema realiza sobre
las entradas para producir salidas. Es importante que se describa el ¿Qué? y no el ¿Cómo? se
deben hacer esas transformaciones. Estos requerimientos al tiempo que avanza el proyecto de
software se convierten en los algoritmos, la lógica y gran parte del código del sistema. Por otra
parte 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, auditabilidad y otros.
Características de un Requerimiento
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
¿cómo se sabe si se cumplió con él o no?
 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
Dificultades para definir los requerimientos
Durante la etapa de especificación de requerimientos se pueden presentar muchos
inconvenientes los cuales son importantes de identificar y prevenir, a continuación se presenta un
listado con los problemas más comunes en este proceso:
 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
 Usan el mismo término con distinto significado
Ingeniería de requerimientos
El proceso de recopilar, analizar y verificar las necesidades del cliente o usuario 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. Algunos otros
conceptos de ingeniería de requerimientos son:
“Ingeniería de Requerimientos 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 cliente
quiere y cómo interactuarán los usuarios finales con el software”. (Pressman, 2006: 155)
“La ingeniería de requerimientos es el proceso de desarrollar una especificación de
software. Las especificaciones pretender comunicar las necesidades del sistema del
cliente a los desarrolladores del sistema”. (Sommerville, 2005: 82)
En síntesis, el proceso de ingeniería de requerimientos se utiliza para definir todas las actividades
involucradas en el descubrimiento, documentación y mantenimiento de los requerimientos para
un producto de software determinado, donde es muy importante tomar en cuenta que el aporte
de la IR vendrá a ayudar a determinar la viabilidad de llevar a cabo el software (si es factible
llevarlo a cabo o no), pasando posteriormente por un subproceso de obtención y análisis de
requerimientos, su especificación formal, para finalizar con el subproceso de validación donde se
verifica que los requerimientos realmente definen el sistema que quiere el cliente.
Importancia de la ingeniería de requerimientos
Según la autora Lizka Johany Herrera en su documento de la ingeniería de requerimientos, los
principales beneficios que se obtienen de la Ingeniería de Requerimientos son (Herrera, 2003: 6):
 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: es sabido que reparar errores por un
mal desarrollo no descubierto a tiempo, es sumamente caro; especialmente aquellas
decisiones tomadas durante la IR, ya que es una de las etapas de mayor importancia en
el ciclo de desarrollo de software y de las primeras en llevarse a cabo.
 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, y
otros)
 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
Dentro del mismo documento mencionado anteriormente (Herrera, 2003: 6), se dice que dentro
de la IR existen cuatro actividades básicas que se tienen que llevar a cabo para completar el
proceso. Estas actividades ayudan a reconocer la importancia que tiene para el desarrollo de un
proyecto de software realizar una especificación y administración adecuada de los requerimientos
de los clientes o usuarios. Las cinco actividades son: extracción, análisis, especificación,
validación y evolución, y serán explicadas a continuación cada una de ellas.
Extracción (Análisis del problema)
Esta fase representa el comienzo de cada ciclo. Extracción es el nombre comúnmente 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 y otros. Es importante, que la extracción sea efectiva, ya que la
aceptación del sistema dependerá de cuán bien éste satisfaga las necesidades del cliente.
Análisis (Evaluación y negociación de los requerimientos)
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.
Usualmente se hace un análisis luego de haber producido un bosquejo inicial del documento de
requerimientos; en esta etapa se leen los requerimientos, se conceptúan, 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
Especificación
En esta fase se documentan los requerimientos acordados con el cliente, en un nivel apropiado
de detalle. En la práctica, esta etapa se va realizando conjuntamente con el análisis, se puede
decir que la especificación es el "pasar en limpio" el análisis realizado previamente aplicando
técnicas y/o estándares de documentación, como la notación UML (Lenguaje de Modelado
Unificado), que es un estándar para el modelado orientado a objetos, por lo que los casos de uso
y la obtención de requerimientos basada en casos de uso se utiliza cada vez más para la
obtención de requerimientos
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. Esto
implica verificar que los requerimientos sean consistentes y que estén completos. Se puede
apreciar que el proceso de ingeniería 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 especificación de requerimientos, que es el documento final, de carácter formal,
que se obtiene de este proceso. Es necesario recalcar que no existe un proceso único que sea
válido de aplicar en todas las organizaciones. Cada organización 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 ingeniería de
requerimientos. Hay muchas maneras de organizar el proceso de ingeniería de requerimientos y
en otras ocasiones se tiene la oportunidad de recurrir a consultores, ya que ellos tienen una
perspectiva más objetiva que las personas involucradas en el proceso.
Evolución de los requerimientos
Los requerimientos son una manera de comprender mejor el desarrollo de las necesidades de los
usuarios y cómo los objetivos de la organización pueden cambiar, por lo tanto, es esencial planear
posibles cambios a los requerimientos cuando el sistema sea desarrollado y utilizado. La actividad
de evolución es un proceso externo que ocurre a lo largo del ciclo de vida del proyecto.
Los requerimientos cambian por diferentes razones. Las más frecuentes son:
 Porque al analizar el problema, no se hacen las preguntas correctas a las personas
correctas.
 Porque cambió el problema que se estaba resolviendo.
 Porque los usuarios cambiaron su forma de pensar o sus percepciones.
 Porque cambió el ambiente de negocios.
 Porque cambió el mercado en el cual se desenvuelve el negocio.
Cambios a los requisitos involucra modificar el tiempo en el que se va a implementar una
característica en particular, modificación que a la vez puede tener impacto en otros
requerimientos. Por esto, la administración de cambios involucra actividades como establecer
políticas, guardar históricos de cada requerimiento, identificar dependencias entre ellos y
mantener un control de versiones.
Tener versiones de los requerimientos es tan importante como tener versiones del código, ya que
evita tener requerimientos emparchados (Se le llama requerimiento emparchado a aquél que
ha sufrido cambios excesivos en la semántica) en un proyecto Entre algunos de los beneficios
que proporciona el control de versiones están:
 Prevenir cambios no autorizados.
 Guardar revisiones de los documentos de requerimientos.
 Recuperar versiones previas de los documentos.
 Administrar una estrategia de “releases”.
 Prevenir la modificación simultánea a los requisitos.
En vista que las peticiones de cambios provienen de muchas fuentes, las mismas deben ser
enrutadas en un solo proceso. Esto se hace con la finalidad de evitar problemas y conseguir
estabilidad en los requerimientos.
Técnicas y herramientas utilizadas en la ingeniería de
requerimientos
Técnicas utilizadas en las actividades de IR
Existen varias técnicas para la IR propuestas para ingeniería de requerimientos (Herrera, 2003:
12), y de las cuales solo se abarcarán cinco de ellas. Es importante resaltar que estas técnicas
pueden ser aplicables a las distintas fases del proceso de la IR, haciendo la salvedad de que hay
que tomar en cuenta las características propias del proyecto en particular que se esté
desarrollándose para aprovechar al máximo su utilidad.
Entrevistas y Cuestionarios
Las entrevistas y cuestionarios se emplean para reunir información 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 común, los encuestados son usuarios de los sistemas existentes o usuarios en potencia de
sistema propuesto. En algunos casos, son gerentes o empleados que proporcionan datos para el
sistema propuesto o que serán afectados por él. El éxito de esta técnica, depende de la habilidad
del entrevistador y de su preparación para la misma.
Sistemas existentes
Esta técnica consiste en analizar distintos sistemas ya desarrollados que estén relacionados con
el sistema a ser construido. Por un lado, podemos analizar las interfaces de usuario, observando
el tipo de información que se maneja y cómo es manejada, por otro lado también es útil analizar
las distintas salidas que los sistemas producen (listados, consultas, y otros.), porque siempre
pueden surgir nuevas ideas sobre la base de estas.
Lluvia de ideas (Brainstorm)
Este es un modelo que se usa para generar ideas. La intención en su aplicación es la de generar
la máxima cantidad posible de requerimientos para el sistema. No hay que detenerse en pensar
si la idea es o no del todo utilizable. La intención de este ejercicio es generar, en una primera
instancia, muchas ideas. Luego, se irán eliminando en base a distintos criterios como, por ejemplo,
"caro", "impracticable", "imposible", y otros. Las reglas básicas a seguir son:
 Los participantes deben pertenecer a distintas disciplinas y, preferentemente, deben tener
mucha experiencia. Esto trae aparejado la obtención de una cantidad mayor de ideas
creativas.
 Conviene suspender el juicio crítico y se debe permitir la evolución de cada una de las
ideas, porque sino se crea un ambiente hostil que no alienta la generación de ideas.
 Por más 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
Durante la actividad de extracción de requerimientos, puede ocurrir que algunos requerimientos
no estén demasiado claros o que no se esté muy seguro de haber entendido correctamente los
requerimientos obtenidos hasta el momento, todo lo cual puede llevar a un desarrollo no eficaz
del sistema final. Entonces, para validar los requerimientos hallados, se construyen prototipos.
Los prototipos son simulaciones del posible producto, que luego son utilizados por el usuario final,
permitiéndonos conseguir una importante retroalimentación en cuanto a si el sistema diseñado
con base a los requerimientos recolectados le 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 reúnen y definen los objetivos globales del software, identifican
todos los requerimientos que son conocidos, y señalan áreas en las que será necesaria la
profundización en las definiciones. Luego de esto, tiene lugar un “diseño rápido”. El diseño rápido
se centra en una representación de aquellos aspectos del software que serán visibles al usuario
(por ejemplo, entradas y formatos de las salidas). El diseño rápido lleva a la construcción de un
prototipo.
Casos de Uso
Los casos de uso son una técnica para especificar el comportamiento de un sistema. El sitio en
Internet wikipedia.org, define a un caso de uso como:
“Un caso de uso es una secuencia de transacciones que son desarrolladas por un sistema en
respuesta a un evento que inicia un actor sobre el propio sistema. Los diagramas de casos de uso
sirven para especificar la funcionalidad y el comportamiento de un sistema mediante su
interacción con los usuarios y/o otros sistemas” (http://es.wikipedia.org/wiki/Caso_de_uso).
Los casos de uso permiten entonces describir la posible secuencia de interacciones entre el
sistema y uno o más actores, en respuesta a un estímulo inicial proveniente de un actor, es una
descripción de un conjunto de escenarios, cada uno de ellos comenzado con un evento inicial
desde un actor hacia el sistema. La mayoría de los requerimientos funcionales, sino todos, se
pueden expresar con casos de uso. Según el autor Sommerville, los casos de uso son una técnica
que se basa en escenarios para la obtención de requerimientos. Actualmente, se han convertido
en una característica fundamental de la notación UML (Lenguaje de modelado unificado), que se
utiliza para describir modelos de sistemas orientados a objetos.
Herramientas automatizadas para la Administración de
Requerimientos
En el desarrollo de software se cuenta con una ventaja proporcionada por las herramientas CASE.
Las herramientas CASE (Ingeniería del Software Asistida por Computadora) se le conoce a todo
aquel software que es usado para ayudar a las actividades del proceso de desarrollo del software,
en donde se ubica la ingeniería de requerimientos, que se ha venido tratando en este artículo.
Estas herramientas se concentran en capturar requerimientos, administrarlos y producir una
especificación de requisitos. Existen muchas y muy variadas herramientas CASE que pueden ser
utilizadas por los desarrolladores de software en sus proyectos, y de la forma más conveniente
para ellos. Si es importante hacer ver que estas herramientas fungen como un medio facilitador
para agilizar y mejorar los procesos involucrados en todo el ciclo de vida presentado por la IR, y
que en conjunto ayudan a la construcción final de un producto de software terminado. Estas
herramientas permiten entre otras cosas tener un mayor control en proyectos complejos, reducir
costos y retrasos en los proyectos, ayudan a determinar la complejidad y los esfuerzos necesarios.
En este apartado se presentan características generales de una de las herramientas más
utilizadas para este propósito: RequisitePro, y recomendada sitio en Internet Rational.com.
RequisitePro
RequisitePro 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. En RequisitePro los
requerimientos se encuentran documentados bajo un esquema organizado de documentos; estos
esquemas cumplen completamente con los estándares requeridos por algunas de las
instituciones a nivel mundial más reconocidas en el desarrollo de software, tales como: IEEE
(Instituto de Ingenieros Eléctricos y Electrónicos), ISO, CMM (Modelo de Capacidad de Madurez)
y por el RUP (Proceso Unificado Racional) Esta herramienta se integra con aplicaciones para la
administración de cambios, herramientas de modelado de sistemas y con herramientas de
pruebas. Esta integración asegura que los diseñadores conocen los requerimientos del usuario,
del sistema y del software en el momento de su desarrollo. El desarrollo de software es una tarea
de equipo, de tal forma, es crítico que todos los miembros del equipo posean un entendimiento
compartido de la visión de sus proyectos, metas, especificaciones y requerimientos; pero, ¿cómo
puede conseguirse cuando los equipos se encuentran geográficamente distribuidos y
funcionalmente aislados, no pudiendo comunicarse entre si en tiempo y forma? La solución a esta
necesidad es IBM Rational RequisitePro. IBM Rational RequisitePro es una solución fácil de usar,
es una herramienta de administración de requerimientos que le permite al equipo crear y compartir
sus requerimientos utilizando métodos familiares basados en documentos potenciados por la
aplicación de las capacidades de una base de datos, tales como la trazabilidad y análisis de
impacto. El resultado es una mejor comunicación y administración de requerimientos con una
mayor probabilidad de completar los proyectos en tiempo, dentro del presupuesto y superando
las expectativas. Los proyectos exitosos comienzan con una buena administración de
requerimientos, cuanto más efectiva sea su ejecución, mayor será el resultado en calidad y
satisfacción del cliente. Según la promoción hecha en Internet mediante la página Web para esta
herramienta, algunas de sus ventajas son:
 Un producto potente y fácil de utilizar para la gestión de requisitos y casos de uso que
propicia una mejor comunicación, mejoras en el trabajo en equipo y reduce el riesgo de los
proyectos.
 Combina la interfaz conocida y fácil de utilizar de los documentos de Microsoft Word con
potentes funciones de base de datos para conseguir la máxima eficacia en análisis y
consulta de requisitos.
 Proporciona a los equipos la posibilidad de comprender el impacto de los cambios.
 Garantiza que todos los componentes del equipo estarán informados de los requisitos más
actuales para asegurar la coherencia.
 Proporciona acceso basado en Web para los equipos distribuidos.
La ventaja de utilizar herramientas como la de RequisitePro, es que el desarrollo de software se
ve beneficiado de muchas maneras, y en el caso de la ingeniería de requerimientos, le ayuda
notablemente, ya que como se ha venido hablando en el desarrollo de este artículo, la IR
constituye una de las etapas más importantes a tomar en cuenta en el ciclo de desarrollo de
software, ya que en ella se definen los requerimientos con los que debe de contar el software; e
incluso, podría llegar a determinar la viabilidad de implementar ese software no es del todo
posible, y poder cancelar a tiempo un desarrollo no productivo
Descripción de las técnicas más utilizadas en la ingeniería de
requerimientos.
En esta sección se van a describir en detalle algunas de las técnicas más usadas en la IR. Cada
técnica puede aplicarse en una o más actividades de esta ingeniería; en la práctica, la técnica
más apropiada para cada actividad dependerá del proyecto que esté desarrollándose.
Entrevistas y Cuestionarios.
Dentro de una organización, la entrevista es la técnica más significativa y productiva de que
dispone el analista para recolectar datos. En otras palabras, la entrevista es un intercambio de
información que se efectúa cara a cara. Es un canal de comunicación entre el analista y la
organización; sirve para obtener información acerca de las necesidades y la manera de
satisfacerlas, así como consejo y comprensión por parte del usuario para toda idea o método
nuevos. Por otra parte, la entrevista ofrece al analista una excelente oportunidad para establecer
una corriente de simpatía con el personal usuario, lo cual es fundamental en transcurso del
estudio.
Preparación de la Entrevista.
Determinar la posición en la organización del futuro entrevistado, responsabilidades, actividades,
y otros (Investigación). Preparar las preguntas que van a plantearse, y los documentos necesarios
(Organización). Fijar un límite de tiempo y preparar la agenda para la entrevista. (Psicología).
Elegir un lugar donde se puede conducir la entrevista con la mayor comodidad (Psicología). Hacer
la cita con la debida anticipación (Planeación).
Conducción de la Entrevista.
Explicar con toda amplitud el propósito y alcance del estudio (Honestidad). Explicar la función
propietaria como analista y la función que se espera conferir al entrevistado. (Imparcialidad).
Hacer preguntas específicas para obtener respuestas cuantitativas (Hechos). Evitar las preguntas
que exijan opiniones interesadas, subjetividad y actitudes similares (Habilidad). Evitar el
cuchicheo y las frases carentes de sentido (Claridad). Ser cortés, absteniéndose de emitir juicios
de valores. (Objetividad). Conservar el control de la entrevista, evitando divagaciones y los
comentarios al margen de la cuestión (Habilidad). Escuchar atentamente lo que se dice,
guardándose de anticiparse a las respuestas (Comunicación).
Secuela de la Entrevista.
Escribir los resultados (Documentación). Entregar una copia al entrevistado, solicitando su
conformación, correcciones o adiciones. (Profesionalismo). Archivar los resultados de la
entrevista para referencia y análisis posteriores (Documentación).
Recolectar datos mediante la Entrevista.
La entrevista es una forma de conversación, no de interrogación, al analizar las características de
los sistemas con personal seleccionado cuidadosamente por sus conocimientos sobre el sistema,
los analistas pueden conocer datos que no están disponibles en ningún otra forma.
En las investigaciones de sistema, las formas cualitativas y cuantitativas de la información son
importantes. La información cualitativa está relacionada con opinión, política y descripciones
narrativas de actividades o problemas, mientras que las descripciones cuantitativas tratan con
números frecuencia, o cantidades. A menudo las entrevistas pueden ser la mejor fuente de
información cualitativa, los otros métodos tiende a ser más útiles en la recolección de datos
cuantitativos.
Son valiosas las opiniones, comentarios, ideas o sugerencia en relación a cómo se podría hacer
el trabajo; la entrevista a veces es la mejor forma para conocer las actividades de las empresas.
La entrevista puede descubrir rápidamente malos entendidos, falsa expectativa o incluso
resistencia potencial para las aplicaciones de desarrollo; más aún, a menudo es más fácil
calendarizar una entrevista con los gerentes de alto nivel, que pedirle que llenen un cuestionario.
Determinación del tipo de Entrevista.
La estructura de la entrevista varía. Si el objetivo de la entrevista radica en adquirir información
general, es conveniente elaborar una serie de preguntas sin estructura, con una sesión de
preguntas y respuestas libres.
El formato de respuestas para las preguntas pueden ser abierto o cerrado; las preguntas abiertas
permiten a los entrevistados dar cualquier respuesta que parezca apropiada. Pueden contestar
por completo con sus propias palabras. Los analistas también deben dividir el tiempo entre
desarrollar preguntas para entrevistas y analizar respuestas. Con frecuencia, se utilizan
preguntas abiertas para descubrir sentimientos, opiniones y experiencias generales, o para
explorar un proceso o problema. Este tipo de preguntas son siempre apropiadas, además que
ayudan a entender la perspectiva del afectado y no están influenciadas por el conocimiento de la
solución.
Las preguntas pueden ser enfocadas a un elemento del sistema, tales como usuarios, procesos, y
otros. El siguiente ejemplo muestra algunos tipos de preguntas abiertas.
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
qué ambiente se usará el producto?
¿Cuáles son sus expectativas para los conceptos fácil de usar, confiable,
rendimiento?
¿Qué obstáculos afectan la eficiencia del sistema?
El éxito de esta técnica combinada, depende de la habilidad del entrevistador y de su preparación
para la misma. Los analistas necesitan ser sensibles las dificultades que algunos entrevistados
crean durante la entrevista y saber cómo tratar con problemas potenciales. Asimismo, necesitan
considerar no sólo la información que adquieren a través del cuestionario y la entrevista, sino
también, su significancia.
Ejemplos de las preguntas abiertas y cerradas en la entrevista
estructurada.
FORMA DE PREGUNTA ABIERTA FORMA DE PREGUNTA CERRADA
Ejemplo: obtener la información sobre las
características de diseño críticas para los
empleados.
"Algunos empleados han sugerido que la
mejor forma para hacer eficiente el
procesamiento de pedidos es instalar un
sistema de computadora que maneje todos
los cálculos..."
Bajo estas circunstancias ¿apoyaría usted el
desarrollo de un sistema de este tipo?
Ejemplo: obtener la información sobre las
características de diseño críticas para los
empleados.
“La experiencia le ha proporcionado una amplia
visión en cuanto a la forma en la que la Empresa
maneja los pedidos..."
Me gustaría que usted contestara algunas
preguntas específicas en relación en lo anterior:
- ¿Qué etapas trabajan bien? ¿Cuáles no? -¿En
dónde se presenta la mayor parte del problema?
- ¿Cuándo ocurre un atraso, cómo se maneja?
Selección de Entrevistados.
Realizar entrevistas toma tiempo; por lo tanto no es posible utilizar este método para recopilar
toda la información que se necesite en la investigación. La entrevista se aplica en los niveles
gerenciales y de empleados que puedan proporcionar la mayor parte de la información útil para
el estudio los analistas.
Realización de Entrevista.
La habilidad del entrevistador es vital para el éxito en la búsqueda de hecho por medio de la
entrevista. Las buenas entrevistas dependen del conocimiento del analista tanto de la preparación
del objetivo de una entrevista específica como de las preguntas por realizar a una persona
determinada. El tacto, la imparcialidad e incluso la vestimenta apropiada ayudan a asegurar una
entrevista exitosa. La falta de estos factores puede reducir cualquier oportunidad de éxito. A
través de la entrevista, los analistas deben aplicarse a sí mismos las siguientes preguntas:
¿Qué es lo que me está diciendo la persona?
¿Por qué me lo está diciendo a mí?
¿Qué está olvidando?
¿Qué espera esta persona que haga yo?
Lluvia de Ideas (Brainstorm).
Este método comenzó en el ámbito de las empresas, aplicándose a temas tan variados como la
productividad, la necesidad de encontrar nuevas ideas y soluciones para los productos del
mercado, encontrar nuevos métodos que desarrollen el pensamiento creativo a todos los niveles,
etc. Pero pronto se extendió a otros ámbitos, incluyendo el mundo de desarrollo de sistemas;
básicamente se busca que los involucrados en un proyecto desarrollen su creatividad. A esta
técnica se le conoce también como torbellino de ideas, tormenta de ideas, desencadenamiento
de ideas, movilización verbal, bombardeo de ideas, sacudidas de cerebros, promoción de ideas,
tormenta cerebral, avalancha de ideas, tempestad en el cerebro y tempestad de ideas, entre otras.
Principios de la lluvia de ideas.
Aplazar el juicio y no realizar críticas, hasta que no agoten las ideas, ya que actuaría como un
inhibidor. Se ha de crear una atmósfera de trabajo en la que nadie se sienta amenazado. Cuantas
más ideas se sugieren, mejores resultados se conseguirán: "la cantidad produce la calidad". Las
mejores ideas aparecen tarde en el periodo de producción de ideas, será más fácil que
encontremos las soluciones y tendremos más variedad sobre la que elegir. La producción de
ideas en grupos puede ser más efectiva que la individual. Tampoco debemos olvidar que durante
las sesiones, las ideas de una persona, serán asociadas de manera distinta por cada miembro, y
hará que aparezcan otras por contacto.
El equipo en una lluvia de ideas debe estar formado por:
• El Director: es la figura principal y el encargado de dirigir la sesión. Debe ser un experto en
pensamiento creador. Su función es formular claramente el problema y que todos se
familiaricen con él. Cuando lo haga, debe estimular ideas y hacer que se rompa el hielo en el
grupo. Es el encargado de que se cumplan las normas, no permitiendo las críticas. Debe
permanecer callado e intervenir cuando se corte la afluencia de ideas, por lo que le será útil
llevar ya un listado de ideas. Debe hacer que todos participen y den ideas. Además, es la
persona que concede la palabra y da por finalizada la sesión. Posteriormente, clasificará las
ideas de la lista que le proporciona el secretario.
• El secretario: registra por escrito las ideas según van surgiendo. Las enumera, las reproduce
fielmente, las redacta y se asegura que todos están de acuerdo con lo escrito. Por último
realizará una lista de ideas.
• Los participantes: pueden ser habituales o invitados; cualquier involucrado en el proyecto
entra en esta categoría. Su función es producir ideas. Conviene que entre ellos no haya
diferencias jerárquicas.
Las personas que componen el grupo deben estar motivadas para solucionar el problema, y con
un ambiente que propicie la participación de todos. Todos pueden sentirse confiados y con la
sensación de que pueden hablar sin que se produzcan críticas. Todas las ideas en principio deben
tener el mismo valor, pues cualquiera de ellas puede ser la clave para la solución. Es necesario
prestar mucha atención a las frases que pueden coartar la producción de ideas. Además durante
la celebración no deben asistir espectadores. Debemos evitar todos los bloqueos que paralizan
la ideación: como son nuestros hábitos o ideas preconcebidas, el desánimo o falta de confianza
en si mismo, el temor y la timidez.
Las fases de aplicación en el Brainstorm son:
• Descubrir hechos. Al menos con un día de antelación, el director comunica por escrito a los
miembros del grupo sobre los temas a tratar. El director explica los principios de la Tormenta
de ideas e insiste en la importancia de tenerlos en cuenta. La sesión comienza con una
ambientación de unos 10 minutos, tratando un tema sencillo y no comprometido. Es una fase
especialmente importante para los miembros sin experiencia. Se determina el problema,
delimitándolo, precisándolo y clarificándolo. A continuación se plantea el problema,
recogiendo las experiencias que se poseen o consultando documentación. Cuando es
complejo, conviene dividirlo en partes. Aquí es importante la utilización del análisis,
desmenuzando el problema en pequeñas partes para conectar lo nuevo y lo desconocido.
• Producir ideas (es la fase de tormenta de ideas propiamente dicha). Se van aplicando
alternativas. Se busca producir una gran cantidad de ideas, aplicando los principios que
hemos visto. Además, es útil cuando se ha trabajado mucho, alejarse del problema, pues
es un buen momento para que se produzcan asociaciones. Muchas de las nuevas ideas serán
ideas antiguas, mejoradas o combinadas con varias ya conocidas. Al final de la reunión, el
director da las gracias a los asistentes y les ruega que no abandonen el problema, ya que al
día siguiente se le pedirá una lista de ideas que les puedan haber surgido. Se incorporan las
ideas surgidas después de la reunión.
• Descubrir soluciones. Se elabora una lista definitiva de ideas, para seleccionar las más
interesantes. La selección se realiza desechando las ideas que no tienen valor y se estudia
si son válidas las que se consideran interesantes. Lo mejor es establecer una lista de criterios
de conveniencia para cada idea. Se seleccionan las ideas más útiles y si es necesario se
ponderarán. Pueden realizarlo los mismos miembros del grupo o crear otros para esta tarea;
la clasificación debe hacerse por categorías (tarea que corresponde al director). Se presentan
las ideas de forma atractiva, haciendo uso de soportes visuales.
Encuestas.
Hoy en día la palabra "encuesta" se usa más frecuentemente para describir un método de obtener
información de una muestra de individuos. Esta "muestra" es usualmente sólo una fracción de la
población bajo estudio. Aún así, todas las encuestas tienen algunas características en común.
A diferencia de un censo, donde se estudia a todos los miembros de la población, las encuestas
recogen información de una porción de la población de interés. En una encuesta de buena fe, la
muestra no es seleccionada caprichosamente o sólo de personas que se ofrecen como
voluntarios para participar. La muestra es seleccionada científicamente de manera que cada
persona en la población tenga una oportunidad medible de ser seleccionada. De esta manera los
resultados pueden ser proyectados con seguridad de la muestra a la población mayor. La
información es recogida usando procedimientos estandarizados de manera que a cada individuo
se le hacen las mismas preguntas más o menos de la misma manera. La intención de la encuesta
no es describir los individuos particulares quienes, por azar, son parte de la muestra sino obtener
un perfil compuesto de la población.
El estándar de la industria para todas las organizaciones respetables que hacen encuestas es
que los participantes individuales nunca puedan ser identificados al reportar los hallazgos. Todos
los resultados de la encuesta deben presentarse en resúmenes completamente anónimos, tal
como tablas y gráficas estadísticas.
Tamaño de la muestra. Muchas veces depende de los recursos profesionales y fiscales
disponibles. Los analistas frecuentemente encuentran que una muestra de tamaño moderado es
suficiente estadística y operacionalmente. Las encuestas pueden ser clasificadas por su método
de recolección de datos. Las encuestas por correo, telefónicas y entrevistas en persona son las
más comunes. En los métodos más nuevos de recoger datos, la información se introduce
directamente a la computadora ya sea por un entrevistador adiestrado o aún por la misma persona
entrevistada. Las entrevistas en persona en el hogar u oficina de un participante son mucho más
caras que las encuestas telefónicas o por correo. Estas pueden ser necesarias especialmente
cuando se debe recoger información compleja.
Preocupaciones potenciales. La calidad de una encuesta es determinada en gran medida por
su propósito y por la forma en que es conducida. Las encuestas deben llevarse a cabo únicamente
para obtener información estadística sobre algún tema. No deben ser diseñadas para producir
resultados predeterminados o como un artificio para mercadeo o para actividades similares.
Cualquier persona a quien se le solicite que responda a una encuesta de opinión o que se
preocupe por los resultados debe primero decidir si las preguntas que se hacen son justas.
Observación.
Otra técnica útil para el analista en su progreso de investigación, consiste en observar a las
personas cuando efectúan su trabajo. Como técnica de investigación, la observación tiene amplia
aceptación científica. Los sociólogos, sicólogos e ingenieros industriales utilizan extensamente
ésta técnica con el fin de estudiar a las personas en sus actividades de grupo y como miembros
de la organización. El propósito de la organización es múltiple: permite al analista determinar que
se está haciendo, como se está haciendo, quien lo hace, cuando se lleva a cabo, cuanto tiempo
toma, dónde se hace y por que se hace. Observar las operaciones le proporciona el analista
hechos que no podría obtener de otra forma.
Tipos de Observación.
El analista de sistemas puede observar de tres maneras básicas.
• Primero, puede observar a una persona o actitud sin que el observado se dé cuenta y su
interacción por aparte del propio analista. Quizá esta alternativa tenga poca importancia para el
análisis de sistemas, puesto que resulta casi imposible reunir las condiciones necesarias.
• Segundo, el analista puede observar una operación sin intervenir para nada, pero estando la
persona observada enteramente consciente de la observación.
• Por último, puede observar y a la vez estar en contacto con las personas observadas. La
interacción puede consistir simplemente en preguntar respecto a una tarea específica, pedir una
explicación, etc.
Preparación para la observación
 Determinar y definir aquella que va a observarse.
 Estimar el tiempo necesario de observación.
 Obtener la autorización de la gerencia para llevar a cabo la observación.
 Explicar a las personas que van a ser observadas lo que se va a hacer y las razones para
ello.
Conducción de la observación
 Familiarizarse con los componentes físicos del área inmediata de observación.
 Mientras se observa, medir el tiempo en forma periódica.
 Anotar lo que se observa lo más específicamente posible, evitando las generalidades y las
descripciones vagas.
 Si se está en contacto con las personas observadas, es necesario abstenerse de hacer
comentarios cualitativos o que impliquen un juicio de valores.
 Observar las reglas de cortesía y seguridad.
Secuela de la observación
 Documentar y organizar formalmente las notas, impresionistas, etc.
 Revisar los resultados y conclusiones junto con la persona observada, el supervisar
inmediato y posiblemente otro de sistemas.
Prototipos.
Los prototipos permiten al desarrollador crear un modelo del software que debe ser construido. Al
igual que todos los enfoques al proceso de desarrollo del software, el prototipado comienza con
la captura de requerimientos. Desarrolladores y clientes se reúnen y definen los objetivos globales
del software, identifican todos los requerimientos que son conocidos, y señalan áreas en las que
será necesaria la profundización en las definiciones. Luego de esto, tiene lugar un "diseño rápido".
El diseño rápido se centra en una representación de aquellos aspectos del software que serán
visibles al usuario (por ejemplo, entradas y formatos de las salidas). El diseño rápido lleva a la
construcción de un prototipo. El prototipo es evaluado por el cliente y el usuario y utilizado para
refinar los requerimientos del software a ser desarrollado. Un proceso de iteración tiene lugar a
medida que el prototipo es "puesto a punto" para satisfacer las necesidades del cliente y
permitiendo al mismo tiempo una mejor comprensión del problema por parte del desarrollador.
Existen principalmente dos clases de prototipos:
Prototipo rápido: El prototipado rápido es un mecanismo para lograr la validación precompromiso.
Se utiliza para validar requerimientos en una etapa previa al diseño específico. En este sentido, el
prototipo puede ser visto como una aceptación tácita de que los requerimientos no son totalmente
conocidos o entendidos antes del diseño y la implementación. El prototipo rápido puede ser usado
como un medio para explorar nuevos requerimientos y así ayudar a "controlar" su constante
evolución.
Prototipo evolutivo: Desde una perspectiva diferente, todo el ciclo de vida de un producto puede
ser visto como una serie incremental de detallados prototipos acumulativos. Tradicionalmente, el
ciclo de vida está dividido en dos fases distintas: desarrollo y mantenimiento. La experiencia ha
demostrado que esta distinción es arbitraria y va en contra de la realidad ya que la mayor parte
del costo del software ocurre después de que el producto se ha entregado. El punto de vista
evolutivo del ciclo de vida del software considera a la primera entrega como un prototipo inicial en
el campo. Modificaciones y mejoras subsecuentes resultan en nuevas entregas de prototipos más
maduros. Este proceso continúa hasta que se haya desarrollado el producto final. La adopción de
esta óptica elimina la distinción arbitraria entre desarrollo y mantenimiento, resultando en un
importante cambio de mentalidad que afecta las estrategias para la estimación de costos,
enfoques de desarrollo y adquisición de productos.
Sesiones JAD (Desarrollo participativo de aplicaciones)
La técnica Joint Application Development (JAD) o desarrollo participativo de aplicaciones tiene
como objetivo central facilitar la cooperación entre usuarios y analistas durante el desarrollo de
sistemas. Al trabajar aplicando los procedimientos de JAD, los analistas de sistemas y los
representantes funcionales realizan reuniones de trabajo con los usuarios directos para discutir
las características de los sistemas objeto de estudio y, sobre la marcha de las mismas
discusiones, se van trazando los modelos que permitirán definir los requerimientos funcionales de
esos sistemas.
Las sesiones de JAD son de dos tipos: de adiestramiento y de trabajo. A su vez, las sesiones de
trabajo se cumplen, normalmente, en tres etapas: revisión, formalización y validación
Las Sesiones JAD de Adiestramiento
Las sesiones JAD de adiestramiento tienen como objetivo fundamental orientar a los usuarios que
participarán en los ejercicios JAD en el uso de las herramientas y técnicas de modelaje de
procesos y datos y demostrar cómo el uso de esas herramientas y técnicas facilitarán la
comunicación precisa de sus requerimientos. Así pues, la sesión JAD de adiestramiento se hace
con el fin de que los usuarios puedan participar productivamente en la elaboración y revisión de
los modelos que se desarrollarán en las subsiguientes sesiones
Las Sesiones JAD de Trabajo
Durante las sesiones JAD de trabajo se cumplen tareas de análisis y diseño de aplicaciones, con
participación activa de usuarios y analistas de sistemas. En cada sesión de trabajo, a medida que
van discutiéndose diferentes aspectos del sistema objeto de estudio, se van elaborando modelos
de procesos y datos en borrador, haciendo uso de un pizarrón o de rotafolios, con el fin de que
los participantes puedan confirmar, al equipo de desarrollo, si los modelos representan
razonablemente bien los puntos por ellos expuestos.
Dentro de una sesión de trabajo JAD, después de concluida la reunión con los usuarios, los
modelos borrador se "ponen en limpio"; normalmente, el vehículo más adecuado para ello es una
herramienta CASE, ya que ésta permitirá ir haciendo el trabajo de integración de los modelos y,
además, permitirá detectar las posibles discrepancias o inconsistencias que puedan existir entre
uno o más grupos de usuarios
Una sesión de trabajo JAD concluye con la revisión de los modelos puestos en limpio o
procesados por el CASE, con el fin de permitir que el usuario confirme la validez de éstos o
rectifique aquellos puntos que no se ajustan a la realidad.
Participantes de las Sesiones JAD
En términos generales, los participantes de una sesión JAD son los siguientes:
 El moderador
 Analista de sistemas
 Representantes funcionales
 Usuarios directos
 Profesionales o expertos
El Moderador
Antes de las sesiones JAD, el moderador o coordinador se encarga de hacer los recordatorios
necesarios, con la debida anticipación, para asegurar que todos los invitados asistan
puntualmente a las reuniones. Durante la realización de las sesiones, el moderador tiene la
responsabilidad de estimular la participación de todos los invitados, asegurar que se haga un uso
productivo del tiempo de todos los participantes, evitar la discusión repetitiva de conceptos y
detener cualquier debate improductivo. Normalmente, será deseable que algún representante
funcional en el proyecto actúe como moderador de las sesiones de trabajo.
El moderador debe abstenerse de tomar partido en las discusiones que puedan presentarse y se
asegurará de que, en caso de que haya varias alternativas u opiniones, cada una de ellas se
esquematice en el pizarrón y sea discutida con objetividad, dándole al grupo la oportunidad de
llegar a conclusiones de consenso.
Analista de Sistemas
El analista de sistemas tiene la responsabilidad de preguntarles a los usuarios participantes
acerca de su trabajo y requerimientos, con el fin de ir tomando notas y dibujando en el pizarrón
modelos parciales, tanto de datos como de procesos, que representen las afirmaciones hechas
por los usuarios. Al terminar las sesiones de trabajo, el analista también se encargará de integrar
los modelos parciales trazados durante el día al conjunto de especificaciones elaboradas para el
proyecto. Asi mismo, una vez puestos los modelos en limpio, se encargará de presentarlos y
validarlos con los usuarios que hayan participado en la sesión de trabajo.
Usuarios
En las sesiones JAD deben participar tanto los representantes funcionales del proyecto como
gerentes, supervisores y usuarios directos que estén en capacidad de aportar elementos de
relevancia para el tema a discutir en las sesiones de trabajo y que, dadas sus experiencias,
puedan enriquecer el estudio que se realiza.
Profesionales o Expertos
Dependiendo del tema a discutir en una sesión de trabajo JAD y, especialmente, en reuniones
donde el interés se centre en diseño más que en análisis, puede resultar sumamente conveniente
invitar a especialistas como, por ejemplo, al diseñador de bases de datos, al consultor de
telecomunicaciones, y otros. La participación de estos especialistas puede ayudar a realizar
preguntas más concretas que las que pudiese hacer el analista de sistemas.
El Ciclo de JAD
Por lo general, la aplicación de la técnica JAD sigue los siguientes pasos:
 Planificación de las sesiones
 Publicación del calendario de reuniones
 Adiestramiento de participantes
 Sesiones de trabajo JAD
Planificación de las Sesiones
Todo el conjunto de sesiones JAD que se llevarán a cabo para un proyecto deben ser
cuidadosamente planificadas. En un primer paso se elaborará un plan inicial, en el cual se
establecerá cuántas reuniones se realizarán, que áreas del negocio o del sistema se discutirán
en cada una de ellas, quiénes son las personas más calificadas para la discusión de cada tema,
cuántas sesiones de adiestramiento habrá que realizar, durante qué período deberán realizarse.
Con este plan inicial se procederá a contactar a los invitados y a reservar las facilidades
necesarias para llevar a cabo las reuniones. Una vez confirmados los participantes y los recursos,
se elaborará el calendario de todas las reuniones. Normalmente, la responsabilidad de las tareas
de planificación de las sesiones JAD recae en el coordinador o moderador.
Elaboración del Calendario de Reuniones
Una vez preparado el calendario de cada una de las sesiones, éste debe hacerse público,
enviando una copia a cada uno de los invitados, con el fin de que recuerden las fechas en que su
presencia será necesaria
Adiestramiento de Participantes
De acuerdo con las fechas fijadas en el calendario de sesiones JAD, se irán cumpliendo las
sesiones de entrenamiento. En estas sesiones se orientará a los usuarios que participarán en los
ejercicios JAD en el uso de las herramientas y técnicas de modelaje de procesos y datos y se
demostrará cómo el uso de esas herramientas y técnicas facilitará la comunicación precisa de sus
requerimientos.
En estas sesiones se les enfatizará a los invitados la necesidad de venir a las sesiones JAD de
trabajo debidamente preparados con copias de cada documento o reporte utilizado, manuales de
procedimientos y cualquier otro material pertinente al tema que será discutido. Normalmente, las
sesiones de entrenamiento las dirige el analista de sistemas, haciendo uso del material didáctico
(transparencias y notas) preparados para tal fin
Sesiones de Trabajo JAD
Durante las sesiones JAD de trabajo se cumplirán las tareas de análisis y diseño planificadas, con
la participación activa de los usuarios y demás invitados. En estas sesiones, a medida que van
cubriéndose diferentes aspectos, se irán elaborando modelos de procesos y datos en borrador en
el pizarrón o en los rotafolios; cada uno de estos pequeños modelos deberá ser confirmado y
validado por los participantes. Después de concluida la reunión con los usuarios, los modelos en
borrador se pondrán en limpio, preferiblemente con la herramienta CASE (si se dispone de ella),
ya que ésta permitirá ir haciendo el trabajo de integración de los modelos y, además, permitirá
detectar las posibles discrepancias o inconsistencias que puedan existir entre uno o más grupos
de usuarios.
La sesión de trabajo JAD concluirá con la revisión de los modelos puestos en limpio o procesados
por el CASE, con el fin de permitir que los participantes puedan confirmar la validez de éstos o
rectificar aquellos puntos que presenten inconsistencias o discrepancias.
Normalmente, una sesión de trabajo JAD se inicia temprano en la mañana, con la etapa de
discusión, la cual se termina a media tarde, para que el equipo de desarrollo pueda poner "en
limpio" las conclusiones de la reunión. Se concluye a primera hora del siguiente día, con la etapa
de validación que, normalmente, resulta una reunión bastante corta (menos de 1 hora).
Beneficios de la Técnica JAD
La técnica JAD elimina o, por lo menos, minimiza la necesidad de realizar entrevistas individuales
a los usuarios directos. En sistemas de mediana o gran envergadura, cuando la definición de
requerimientos se hace a través de entrevistas directas se invierte una cantidad enorme de
tiempo, resulta muy difícil validar los modelos con cada entrevistado, algunas entrevistas resultan
improductivas por cuanto no añaden nada adicional a lo aportado por otros entrevistados, y resulta
complejo conciliar las discrepancias o diferencias que puedan existir entre las afirmaciones
hechas por diferentes usuarios.
Dado que es fundamentalmente una técnica de trabajo en equipos, la técnica JAD elimina todas
las desventajas de la entrevista individual y proporciona una gran cantidad de ventajas, entre las
cuales se deben citar las siguientes:
 Reduce el tiempo de análisis o diseño, pues en una sola sesión pueden participar todos
los interesados en una misma área
 Mejora las comunicaciones, pues todos los modelos derivados trazados en las sesiones
de trabajo se validan con sus participantes.
 Crea sentido de consenso y participación, pues, durante las sesiones de trabajo, el
usuario directo tiene la oportunidad de presentar y discutir sus puntos de vista y
problemas.
 Facilita la identificación de problemas o inconsistencias, pues cualquier discrepancia
entre opiniones puede aclararse en las propias reuniones de trabajo.
 Mejora la calidad de los productos, pues será posible definir en forma más completa los
verdaderos requerimientos de los usuarios.
Requerimientos para el Uso de la Técnica JAD
Las sesiones JAD, si bien permiten reducir la duración de las etapas de análisis y diseño,
requieren una excelente planificación, de tal forma que los diferentes usuarios sean avisados de
las reuniones con la debida anticipación y asistan a éstas con todos los materiales necesarios
(muestras de formularios, de reportes, y otros). Asimismo, dado que el objetivo fundamental de
las sesiones JAD es agilizar el proceso, en cada sesión de trabajo debe existir un moderador o
facilitador de la reunión que estimule el uso productivo del tiempo y evite repetición de conceptos
o debates improductivos.
El objetivo central de la técnica JAD es utilizar en la forma más eficiente posible los recursos
disponibles para el diseño de sistemas; la sola aplicación de la técnica, sin embargo, no garantiza
que tales objetivos se cumplan; para ello es necesario que se cumplan ciertas condiciones en la
realización de las sesiones, como son
• Debe cumplirse con la sesión de entrenamiento, con el fin de asegurar que todos los
participantes entiendan su rol.
• Debe contarse con las facilidades de reunión: salón de reuniones, pizarrón, y otros.
• Deben minimizarse las interrupciones, con el fin de que pueda aprovecharse el tiempo de
todos los participantes.
Proceso de Análisis Jerárquico (AHP)
Esta técnica tiene por objetivo resolver problemas cuantitativos, para facilitar el pensamiento
analítico y las métricas. Consiste en una serie de pasos a saber:
• Encontrar los requerimientos que van a ser priorizados.
• Combinar los requerimientos en las filas y columnas de la matriz n x n de AHP.
• Hacer algunas comparaciones de los requerimientos en la matriz
• Sumar las columnas
• Normalizar la suma de las filas
• Calcular los promedios
Estos pasos pueden aplicarse fácilmente a una cantidad pequeña de requerimientos, sin embargo,
para un volumen grande, esta técnica no es la más adecuada.
Ventajas y desventajas de cada una de las técnicas utilizadas en las
etapas de la Ingeniería de Requerimientos.
Técnica Ventajas Desventajas
• Mediante ellas se obtiene una
gran cantidad de información
correcta a través del usuario.
• La información obtenida al
principio puede ser redundante o
incompleta.
Técnica Ventajas Desventajas
Entrevistas y
Cuestionarios
• Pueden ser usadas para
obtener un pantallazo del dominio
del problema.
• Son flexibles.
• Permiten combinarse con otras
técnicas.
• Si el volumen de información
manejado es alto, requiere
mucha organización de parte del
analista, así como la habilidad
para tratar y comprender el
comportamiento de todos los
involucrados.
Lluvia de Ideas • Los diferentes puntos de vista
y las confusiones en cuento a
terminología, son aclaradas por
expertos.
• Ayuda a desarrollar ideas
unificadas basadas en la
experiencia de un experto.
•
• Es necesaria una buena
compenetración del grupo
participante.
Prototipos
• Ayudan a validar y desarrollar
nuevos requerimientos.
• Permite comprender aquellos
requerimientos que no están muy
claros y que son de alta
volatilidad.
• El cliente puede llegar a
pensar que el prototipo es una
versión del software que será
desarrollado.
• A menudo, el desarrollador
hace compromisos de
implementación con el objetivo
de acelerar la puesta en
funcionamiento del prototipo
Análisis Jerárquico • Permite determinar el grado
de importancia de cada
requerimiento.
• Ayuda a identificar conflictos
en los requerimientos.
• Muestra el orden en que deben
ser implementados los
requerimientos.
• Debe construirse un estándar
claro de evaluación, que incluya
la participación del cliente.
Casos de Uso • Representan los
requerimientos desde el punto de
vista del usuario.
• Permiten representar más de
un rol para cada afectado.
• Identifica requerimientos
estancados, dentro de un conjunto
de requerimientos.
• En sistemas grandes, toma
mucho tiempo definir todos los
casos de uso.
• El análisis de calidad depende
de la calidad con que se haya
hecho la descripción inicial.
JAD • Reduce el tiempo de análisis o
diseño, pues en una sola sesión
pueden participar todos los
interesados en una misma área
• Mejora las comunicaciones,
pues todos los modelos derivados
trazados en las sesiones de trabajo
se validan con sus participantes.
• Crea sentido de consenso y
participación, pues, durante las
sesiones de trabajo, el usuario
directo tiene la oportunidad de
presentar y discutir sus puntos de
vista y problemas.
• Debe cumplirse con la sesión de
entrenamiento, con el fin de
asegurar que todos los
participantes entiendan su rol.
• Debe contarse con las facilidades
de reunión: salón de reuniones,
pizarrón, y otros.
• Deben minimizarse las
interrupciones, con el fin de que
pueda aprovecharse el tiempo de
todos los participantes.
Técnica Ventajas Desventajas
• Facilita la identificación de
problemas o inconsistencias, pues
cualquier discrepancia entre
opiniones puede aclararse en las
propias reuniones de trabajo.
• Mejora la calidad de los
productos, pues será posible definir
en forma más completa los
verdaderos requerimientos de los
usuarios.
Resumen
Es muy importante mencionar que el poder formular una especificación de requerimientos
completa y consistente, es un paso muy importante para evitar cometer errores en la definición
de los requerimientos, ya que los mismos pueden resultar muy caros de corregir una vez
desarrollado el sistema. De ahí, la vital importancia que tiene la ingeniería de requerimientos en
generar una adecuada especificación que contemple claramente y sin ambigüedades los
requerimientos del sistema a desarrollar, con el fin primordial de evitar que los proyectos fracasen
debido a una mala elaboración de la definición y especificación de requerimientos.
El proceso de la Ingeniería de Requerimientos sirve para recopilar la información necesaria para
establecer la funcionalidad que se quiere alcanzar con el sistema. Para ello, se debe de contar
con buenos métodos y técnicas para hacerlo, además de una comunicación fluida y constante
con el cliente, ya que los requerimientos deben reflejar las necesidades reales que el cliente quiere
satisfacer. Las revisiones deben involucrar al cliente y al staff de contratistas para validar los
requerimientos del sistema. Como proceso, la administración de requerimientos es fundamental
en todo proyecto de desarrollo de software, ya que se debe de contar con una especificación clara
y completa desde las fases iníciales para no tener problemas posteriores que implican un retraso
en el cronograma, un presupuesto erróneo, o hasta la posible cancelación del proyecto. Es
importante que el documento que se obtenga de esta etapa sea un reflejo real del acuerdo de las
partes involucradas. Hay que notar el aporte que ha venido a proporcionar la utilización de
técnicas como la especificación, la luvia de ideas y el desarrollo de prototipos, que ayudan a definir
requerimientos de una manera concisa y real.
También es necesario resaltar y dar a conocer que alrededor del mundo existen estándares
enfocados en el mejoramiento de los procesos de desarrollo de software, citando entre ellos a los
estándares propuestos por la IEEE (Instituto de Ingenieros Eléctricos y Electrónicos), el SEI (que
propone el modelo de capacidad de madurez, mejor conocido como CMM), el PMI (Project
Management Institute, que ofrece certificaciones para el área de administración del proyectos) y
las ya conocidas normas ISO, en cuyas normas también se involucran apartados referentes al
desarrollo de software.
Finalizando ¿Quienes hacen Ingeniería de Requerimientos? ¿Es Muy difícil encontrar a una
persona...? Que sepa entrevistar, escuchar, cuestionar (pensamiento crítico), modelar, analizar,
facilitar discusiones y negociaciones, observar, comunicar de manera verbal y escrita,
relacionarse con gente, innovar,... Que tenga experiencia en el dominio del problema y de la
solución ¿Existen? En mi opinión se puede formar…
Bibliografía y enlaces recomendados
Pressman, Roger S. 2006, “Ingeniería del Software: Un enfoque práctico”, Sexta edición, México
DF, Editorial McGraw Hill.
Sommerville Ian, 2005, “Ingeniería del Software”, Sétima edición, México DF, Editorial
Pearson. http://standards.ieee.org/reading/ieee/std_public/description/se/610.121990_desc.html
Herrera J., Lizka Johany (2003) “Ingeniería de Requerimientos, Ingeniería de Software”,
Recuperado el 25 de mayo de 2006 en:http://www.monografias.com/trabajos6/resof/resof.shtml
Montes Meyhuay Magno, “Ingeniería de Requerimientos”, recuperado el 25 de mayo de 2006 en:
www.proamazonia.gob.pe/bpa/ingenieria_requerimientos.htm
Racional RequisitePro, recuperado el 30 de mayo de 2006 en:
http://www.rational.com.ar/herramientas/requisitepro.html

More Related Content

What's hot

PERFIL DEL AUDITOR INFORMÁTICO
PERFIL DEL AUDITOR INFORMÁTICOPERFIL DEL AUDITOR INFORMÁTICO
PERFIL DEL AUDITOR INFORMÁTICOivanvelascog
 
Control de concurrencias investigación
Control de concurrencias investigaciónControl de concurrencias investigación
Control de concurrencias investigaciónJhoel Dgez Garcia
 
Auditoría de la explotación, del desarrollo y del mantenimiento
Auditoría de la explotación, del desarrollo y del mantenimientoAuditoría de la explotación, del desarrollo y del mantenimiento
Auditoría de la explotación, del desarrollo y del mantenimientoEfrain Reyes
 
Ejemplo de manual sistema de inventario de operaciones estadisticas
Ejemplo de manual sistema de inventario de operaciones estadisticasEjemplo de manual sistema de inventario de operaciones estadisticas
Ejemplo de manual sistema de inventario de operaciones estadisticassullinsan
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesCarlos Macallums
 
Seguridad en Base de Datos
Seguridad en Base de DatosSeguridad en Base de Datos
Seguridad en Base de Datosmyriam sarango
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Juan Anaya
 
Análisis comparativo
Análisis comparativo Análisis comparativo
Análisis comparativo Abby Ramirez
 
Interfaces De Entrada Y Salida
Interfaces De Entrada Y SalidaInterfaces De Entrada Y Salida
Interfaces De Entrada Y SalidaBigbossH
 
Manuales Sistemas de Información
Manuales Sistemas de InformaciónManuales Sistemas de Información
Manuales Sistemas de InformaciónBENHUR B G
 
Proceso de Nacimiento y Muerte
Proceso de Nacimiento y MuerteProceso de Nacimiento y Muerte
Proceso de Nacimiento y MuerteAngel Carreras
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpuIsaí Beto Matz Mijes
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Prueba de series (exposición)
Prueba de series (exposición)Prueba de series (exposición)
Prueba de series (exposición)Héctor Pérez
 

What's hot (20)

Transparencia
TransparenciaTransparencia
Transparencia
 
PERFIL DEL AUDITOR INFORMÁTICO
PERFIL DEL AUDITOR INFORMÁTICOPERFIL DEL AUDITOR INFORMÁTICO
PERFIL DEL AUDITOR INFORMÁTICO
 
Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
 
Control de concurrencias investigación
Control de concurrencias investigaciónControl de concurrencias investigación
Control de concurrencias investigación
 
Auditoría de la explotación, del desarrollo y del mantenimiento
Auditoría de la explotación, del desarrollo y del mantenimientoAuditoría de la explotación, del desarrollo y del mantenimiento
Auditoría de la explotación, del desarrollo y del mantenimiento
 
Ejemplo de manual sistema de inventario de operaciones estadisticas
Ejemplo de manual sistema de inventario de operaciones estadisticasEjemplo de manual sistema de inventario de operaciones estadisticas
Ejemplo de manual sistema de inventario de operaciones estadisticas
 
5.comprensión de los requerimientos
5.comprensión de los requerimientos5.comprensión de los requerimientos
5.comprensión de los requerimientos
 
PRACTICAS PRE PROFESIONALES I
PRACTICAS PRE PROFESIONALES IPRACTICAS PRE PROFESIONALES I
PRACTICAS PRE PROFESIONALES I
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionales
 
Seguridad en Base de Datos
Seguridad en Base de DatosSeguridad en Base de Datos
Seguridad en Base de Datos
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.
 
INTRODUCCION A LA SIMULACION
INTRODUCCION A LA SIMULACIONINTRODUCCION A LA SIMULACION
INTRODUCCION A LA SIMULACION
 
Análisis comparativo
Análisis comparativo Análisis comparativo
Análisis comparativo
 
Interfaces De Entrada Y Salida
Interfaces De Entrada Y SalidaInterfaces De Entrada Y Salida
Interfaces De Entrada Y Salida
 
Manuales Sistemas de Información
Manuales Sistemas de InformaciónManuales Sistemas de Información
Manuales Sistemas de Información
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
Proceso de Nacimiento y Muerte
Proceso de Nacimiento y MuerteProceso de Nacimiento y Muerte
Proceso de Nacimiento y Muerte
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpu
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Prueba de series (exposición)
Prueba de series (exposición)Prueba de series (exposición)
Prueba de series (exposición)
 

Similar to Analisis y tecnicas de recoleccion de datos

Sistema de control, secuencia y termino
Sistema de control, secuencia y terminoSistema de control, secuencia y termino
Sistema de control, secuencia y terminoYadira Fuentes
 
Vigilancia Tecnológica Molinos(2016).pdf
Vigilancia Tecnológica Molinos(2016).pdfVigilancia Tecnológica Molinos(2016).pdf
Vigilancia Tecnológica Molinos(2016).pdfalumnosdelauptjaa
 
TESIS PARA OPTAR AL TITULO DE INGENIERO CIVIL INDUSTRIAL
TESIS PARA OPTAR AL TITULO DE INGENIERO CIVIL INDUSTRIALTESIS PARA OPTAR AL TITULO DE INGENIERO CIVIL INDUSTRIAL
TESIS PARA OPTAR AL TITULO DE INGENIERO CIVIL INDUSTRIALGermán Rodríguez
 
Investigación de Operaciones II
Investigación de Operaciones IIInvestigación de Operaciones II
Investigación de Operaciones IIChucho Abundis
 
Servis desk ejemplo con ITIL
Servis desk  ejemplo con ITILServis desk  ejemplo con ITIL
Servis desk ejemplo con ITILCésar Ocampo
 
Lotería Nacional Sociedad de Estado - Auditoría Informática
Lotería Nacional Sociedad de Estado - Auditoría InformáticaLotería Nacional Sociedad de Estado - Auditoría Informática
Lotería Nacional Sociedad de Estado - Auditoría InformáticaAlejandro Nieva
 
Manual plc general preparado
Manual plc general preparadoManual plc general preparado
Manual plc general preparadoEscurra Walter
 
Informe2 reto3 grupo_castellano
Informe2 reto3 grupo_castellanoInforme2 reto3 grupo_castellano
Informe2 reto3 grupo_castellanoandramari_teleko
 
Analisis del entorno gestion tecnologica 2
Analisis del entorno gestion tecnologica 2Analisis del entorno gestion tecnologica 2
Analisis del entorno gestion tecnologica 2Ross Chan
 
Sistema de Administracion de Condominios basados en agentes de software
Sistema de Administracion de Condominios basados en agentes de softwareSistema de Administracion de Condominios basados en agentes de software
Sistema de Administracion de Condominios basados en agentes de softwarePedro Chavez
 
Informe 2008 Industria Contenidos Digitales
Informe 2008 Industria Contenidos DigitalesInforme 2008 Industria Contenidos Digitales
Informe 2008 Industria Contenidos DigitalesGonzalo Martín
 

Similar to Analisis y tecnicas de recoleccion de datos (20)

Sistema de control, secuencia y termino
Sistema de control, secuencia y terminoSistema de control, secuencia y termino
Sistema de control, secuencia y termino
 
Vigilancia Tecnológica Molinos(2016).pdf
Vigilancia Tecnológica Molinos(2016).pdfVigilancia Tecnológica Molinos(2016).pdf
Vigilancia Tecnológica Molinos(2016).pdf
 
TESIS PARA OPTAR AL TITULO DE INGENIERO CIVIL INDUSTRIAL
TESIS PARA OPTAR AL TITULO DE INGENIERO CIVIL INDUSTRIALTESIS PARA OPTAR AL TITULO DE INGENIERO CIVIL INDUSTRIAL
TESIS PARA OPTAR AL TITULO DE INGENIERO CIVIL INDUSTRIAL
 
Investigación de Operaciones II
Investigación de Operaciones IIInvestigación de Operaciones II
Investigación de Operaciones II
 
Tfm javier eduardo_carrillo_plaza
Tfm javier eduardo_carrillo_plazaTfm javier eduardo_carrillo_plaza
Tfm javier eduardo_carrillo_plaza
 
Van tir, arbol problemas
Van tir, arbol problemasVan tir, arbol problemas
Van tir, arbol problemas
 
Tesis pre - grado
Tesis pre - gradoTesis pre - grado
Tesis pre - grado
 
Servis desk ejemplo con ITIL
Servis desk  ejemplo con ITILServis desk  ejemplo con ITIL
Servis desk ejemplo con ITIL
 
HARDWARE Y SOFTWARE
HARDWARE Y SOFTWAREHARDWARE Y SOFTWARE
HARDWARE Y SOFTWARE
 
Lotería Nacional Sociedad de Estado - Auditoría Informática
Lotería Nacional Sociedad de Estado - Auditoría InformáticaLotería Nacional Sociedad de Estado - Auditoría Informática
Lotería Nacional Sociedad de Estado - Auditoría Informática
 
Manual plc general preparado
Manual plc general preparadoManual plc general preparado
Manual plc general preparado
 
Tarea de computacion.docx
Tarea de computacion.docxTarea de computacion.docx
Tarea de computacion.docx
 
Antologia de IA
Antologia de IAAntologia de IA
Antologia de IA
 
Informe2 reto3 grupo_castellano
Informe2 reto3 grupo_castellanoInforme2 reto3 grupo_castellano
Informe2 reto3 grupo_castellano
 
Agrupación Empresarial Innovadora
Agrupación Empresarial InnovadoraAgrupación Empresarial Innovadora
Agrupación Empresarial Innovadora
 
Analisis del entorno gestion tecnologica 2
Analisis del entorno gestion tecnologica 2Analisis del entorno gestion tecnologica 2
Analisis del entorno gestion tecnologica 2
 
Sistema de Administracion de Condominios basados en agentes de software
Sistema de Administracion de Condominios basados en agentes de softwareSistema de Administracion de Condominios basados en agentes de software
Sistema de Administracion de Condominios basados en agentes de software
 
Sistema kanban
Sistema kanbanSistema kanban
Sistema kanban
 
Informe 2008 Industria Contenidos Digitales
Informe 2008 Industria Contenidos DigitalesInforme 2008 Industria Contenidos Digitales
Informe 2008 Industria Contenidos Digitales
 
1593.11 pliego
1593.11 pliego1593.11 pliego
1593.11 pliego
 

More from leyfororozco

Metodología gestión de requerimientos
Metodología gestión de requerimientosMetodología gestión de requerimientos
Metodología gestión de requerimientosleyfororozco
 
Actividad fase i analisis
Actividad fase i analisisActividad fase i analisis
Actividad fase i analisisleyfororozco
 
Recopilacion de informacion parte1
Recopilacion de informacion parte1Recopilacion de informacion parte1
Recopilacion de informacion parte1leyfororozco
 
Informe programa de formación titulada (1)
Informe programa de formación titulada (1)Informe programa de formación titulada (1)
Informe programa de formación titulada (1)leyfororozco
 
PROYECTO FORMATIVO
PROYECTO FORMATIVOPROYECTO FORMATIVO
PROYECTO FORMATIVOleyfororozco
 
Reglamento del aprendiz
Reglamento del  aprendizReglamento del  aprendiz
Reglamento del aprendizleyfororozco
 
Recopilacin de informacin parte2
Recopilacin de informacin parte2Recopilacin de informacin parte2
Recopilacin de informacin parte2leyfororozco
 
Actividad ejercicios de algoritmos
Actividad ejercicios de algoritmosActividad ejercicios de algoritmos
Actividad ejercicios de algoritmosleyfororozco
 
Requerimientos y recolecion de informacion
Requerimientos y recolecion de informacionRequerimientos y recolecion de informacion
Requerimientos y recolecion de informacionleyfororozco
 
Entrevista y encuesta
Entrevista y encuestaEntrevista y encuesta
Entrevista y encuestaleyfororozco
 
Entrevista a entrada
Entrevista   a  entradaEntrevista   a  entrada
Entrevista a entradaleyfororozco
 
Entrevista a entrada leyfor orozco
Entrevista   a  entrada  leyfor orozcoEntrevista   a  entrada  leyfor orozco
Entrevista a entrada leyfor orozcoleyfororozco
 
Entrevista para los aprendices
Entrevista para los aprendicesEntrevista para los aprendices
Entrevista para los aprendicesleyfororozco
 
Actividad de apropiación del conocimiento
Actividad de apropiación del conocimientoActividad de apropiación del conocimiento
Actividad de apropiación del conocimientoleyfororozco
 
Metodologia gestion de requerimientos
Metodologia  gestion de requerimientosMetodologia  gestion de requerimientos
Metodologia gestion de requerimientosleyfororozco
 

More from leyfororozco (20)

Metodología gestión de requerimientos
Metodología gestión de requerimientosMetodología gestión de requerimientos
Metodología gestión de requerimientos
 
Las redes
Las redesLas redes
Las redes
 
Base de datos
Base de datosBase de datos
Base de datos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Actividad fase i analisis
Actividad fase i analisisActividad fase i analisis
Actividad fase i analisis
 
Recopilacion de informacion parte1
Recopilacion de informacion parte1Recopilacion de informacion parte1
Recopilacion de informacion parte1
 
Informe programa de formación titulada (1)
Informe programa de formación titulada (1)Informe programa de formación titulada (1)
Informe programa de formación titulada (1)
 
PROYECTO FORMATIVO
PROYECTO FORMATIVOPROYECTO FORMATIVO
PROYECTO FORMATIVO
 
Reglamento del aprendiz
Reglamento del  aprendizReglamento del  aprendiz
Reglamento del aprendiz
 
Recopilacin de informacin parte2
Recopilacin de informacin parte2Recopilacin de informacin parte2
Recopilacin de informacin parte2
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos taller
Algoritmos tallerAlgoritmos taller
Algoritmos taller
 
Actividad ejercicios de algoritmos
Actividad ejercicios de algoritmosActividad ejercicios de algoritmos
Actividad ejercicios de algoritmos
 
Requerimientos y recolecion de informacion
Requerimientos y recolecion de informacionRequerimientos y recolecion de informacion
Requerimientos y recolecion de informacion
 
Entrevista y encuesta
Entrevista y encuestaEntrevista y encuesta
Entrevista y encuesta
 
Entrevista a entrada
Entrevista   a  entradaEntrevista   a  entrada
Entrevista a entrada
 
Entrevista a entrada leyfor orozco
Entrevista   a  entrada  leyfor orozcoEntrevista   a  entrada  leyfor orozco
Entrevista a entrada leyfor orozco
 
Entrevista para los aprendices
Entrevista para los aprendicesEntrevista para los aprendices
Entrevista para los aprendices
 
Actividad de apropiación del conocimiento
Actividad de apropiación del conocimientoActividad de apropiación del conocimiento
Actividad de apropiación del conocimiento
 
Metodologia gestion de requerimientos
Metodologia  gestion de requerimientosMetodologia  gestion de requerimientos
Metodologia gestion de requerimientos
 

Recently uploaded

LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfEDILIAGAMBOA
 

Recently uploaded (20)

LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdf
 

Analisis y tecnicas de recoleccion de datos

  • 1. I.S. Hugo Fernando Polania Dussan SENA | GARZON - HUILA ESPECIFICAR LOS REQUISITOS NECESARIOS PARA DESARROLLAR EL SISTEMA DE INFORMACION DE ACUERDO CON LAS NECESIDADES DEL CLIENTE ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION FICHA: 866036
  • 2. Tabla de contenido Contenido ¿Qué es un requerimiento?....................................................................................................................3 Tipos de Requerimientos........................................................................................................................3 Características de un Requerimiento......................................................................................................3 Dificultades para definir los requerimientos ..........................................................................................4 Ingeniería de requerimientos .................................................................................................................4 Importancia de la ingeniería de requerimientos ....................................................................................4 Actividades de la ingeniería de requerimientos .....................................................................................5 Extracción (Análisis del problema)......................................................................................................5 Análisis (Evaluación y negociación de los requerimientos) ................................................................5 Especificación......................................................................................................................................5 Validación............................................................................................................................................6 Evolución de los requerimientos ........................................................................................................6 Técnicas y herramientas utilizadas en la ingeniería de requerimientos.................................................7 Técnicas utilizadas en las actividades de IR........................................................................................7 Entrevistas y Cuestionarios.................................................................................................................7 Sistemas existentes.............................................................................................................................7 Lluvia de ideas (Brainstorm) ...............................................................................................................7 Prototipos ...........................................................................................................................................7 Casos de Uso.......................................................................................................................................8 Herramientas automatizadas para la Administración de Requerimientos.............................................8 RequisitePro........................................................................................................................................8 Descripción de las técnicas más utilizadas en la ingeniería de requerimientos.....................................9 Entrevistas y Cuestionarios.................................................................................................................9 Preparación de la Entrevista...............................................................................................................9 Conducción de la Entrevista..............................................................................................................10 Secuela de la Entrevista. ...................................................................................................................10 Recolectar datos mediante la Entrevista..........................................................................................10 Determinación del tipo de Entrevista...............................................................................................10 Ejemplos de las preguntas abiertas y cerradas en la entrevista estructurada.....................................11 Selección de Entrevistados. ..................................................................................................................11 Realización de Entrevista..................................................................................................................11 Lluvia de Ideas (Brainstorm). ............................................................................................................12 Principios de la lluvia de ideas. .........................................................................................................12
  • 3. Encuestas. .............................................................................................................................................13 Observación. .........................................................................................................................................13 Tipos de Observación........................................................................................................................14 Preparación para la observación ......................................................................................................14 Conducción de la observación ..........................................................................................................14 Secuela de la observación.................................................................................................................14 Prototipos. ............................................................................................................................................14 Sesiones JAD (Desarrollo participativo de aplicaciones) ......................................................................15 Las Sesiones JAD de Adiestramiento ................................................................................................15 Las Sesiones JAD de Trabajo .............................................................................................................15 Participantes de las Sesiones JAD.....................................................................................................16 El Moderador ....................................................................................................................................16 Analista de Sistemas .........................................................................................................................16 Usuarios ............................................................................................................................................16 Profesionales o Expertos...................................................................................................................16 El Ciclo de JAD...................................................................................................................................16 Planificación de las Sesiones.............................................................................................................17 Elaboración del Calendario de Reuniones ........................................................................................17 Adiestramiento de Participantes ......................................................................................................18 Sesiones de Trabajo JAD ...................................................................................................................18 Beneficios de la Técnica JAD.............................................................................................................18 Requerimientos para el Uso de la Técnica JAD.................................................................................19 Proceso de Análisis Jerárquico (AHP)....................................................................................................19 Ventajas y desventajas de cada una de las técnicas utilizadas en las etapas de la Ingeniería de Requerimientos.....................................................................................................................................19 Resumen ...............................................................................................................................................21 Bibliografía y enlaces recomendados ...................................................................................................22
  • 4. ¿Qué es un requerimiento? Un requerimiento puede definirse como un atributo necesario dentro de un sistema, que puede representar una capacidad, una característica o un factor de calidad del sistema de tal manera que le sea útil a los clientes o a los usuarios finales. A nivel general los requerimientos pueden clasificarse como requerimientos indicados o reales. Los requerimientos indicados son los entregados por el usuario al comienzo del proyecto, en tanto que los requerimientos reales son aquellos que reflejan la satisfacción de las necesidades del usuario en un sistema en particular. El proceso para convertir los requerimientos indicados en requerimientos reales consisten en un proceso de filtrado según el significado y otros aspectos según se considere. A continuación se presenta la definición existente en el glosario de la IEEE de lo que es un “Requerimiento”:  “Una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo”. ( Std 610.12-1900, IEEE : 62)  “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”. (Std 610.12-1900, IEEE: 62) También, Ian Sommerville presenta una definición acerca de lo que es un “Requerimiento”:  “Un requerimiento es simplemente una declaración abstracta de alto nivel de un servicio que debe proporcionar el sistema o una restricción de éste”. (Sommerville, 2005: 108) Analizando las definiciones anteriores, un requerimiento es una descripción de una condición o capacidad que debe cumplir un sistema, ya sea derivada de una necesidad de usuario identificada, o bien, estipulada en un contrato, estándar, especificación u otro documento formalmente impuesto al inicio del proceso. Tipos de Requerimientos Los requerimientos de software pueden dividirse en 2 categorías: requerimientos funcionales y requerimientos no funcionales. Los requerimientos funcionales son los que definen las funciones que el sistema será capaz de realizar, describen las transformaciones que el sistema realiza sobre las entradas para producir salidas. Es importante que se describa el ¿Qué? y no el ¿Cómo? se deben hacer esas transformaciones. Estos requerimientos al tiempo que avanza el proyecto de software se convierten en los algoritmos, la lógica y gran parte del código del sistema. Por otra parte 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, auditabilidad y otros. Características de un Requerimiento 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 ¿cómo se sabe si se cumplió con él o no?
  • 5.  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 Dificultades para definir los requerimientos Durante la etapa de especificación de requerimientos se pueden presentar muchos inconvenientes los cuales son importantes de identificar y prevenir, a continuación se presenta un listado con los problemas más comunes en este proceso:  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  Usan el mismo término con distinto significado Ingeniería de requerimientos El proceso de recopilar, analizar y verificar las necesidades del cliente o usuario 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. Algunos otros conceptos de ingeniería de requerimientos son: “Ingeniería de Requerimientos 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 cliente quiere y cómo interactuarán los usuarios finales con el software”. (Pressman, 2006: 155) “La ingeniería de requerimientos es el proceso de desarrollar una especificación de software. Las especificaciones pretender comunicar las necesidades del sistema del cliente a los desarrolladores del sistema”. (Sommerville, 2005: 82) En síntesis, el proceso de ingeniería de requerimientos se utiliza para definir todas las actividades involucradas en el descubrimiento, documentación y mantenimiento de los requerimientos para un producto de software determinado, donde es muy importante tomar en cuenta que el aporte de la IR vendrá a ayudar a determinar la viabilidad de llevar a cabo el software (si es factible llevarlo a cabo o no), pasando posteriormente por un subproceso de obtención y análisis de requerimientos, su especificación formal, para finalizar con el subproceso de validación donde se verifica que los requerimientos realmente definen el sistema que quiere el cliente. Importancia de la ingeniería de requerimientos Según la autora Lizka Johany Herrera en su documento de la ingeniería de requerimientos, los principales beneficios que se obtienen de la Ingeniería de Requerimientos son (Herrera, 2003: 6):
  • 6.  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: es sabido que reparar errores por un mal desarrollo no descubierto a tiempo, es sumamente caro; especialmente aquellas decisiones tomadas durante la IR, ya que es una de las etapas de mayor importancia en el ciclo de desarrollo de software y de las primeras en llevarse a cabo.  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, y otros)  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 Dentro del mismo documento mencionado anteriormente (Herrera, 2003: 6), se dice que dentro de la IR existen cuatro actividades básicas que se tienen que llevar a cabo para completar el proceso. Estas actividades ayudan a reconocer la importancia que tiene para el desarrollo de un proyecto de software realizar una especificación y administración adecuada de los requerimientos de los clientes o usuarios. Las cinco actividades son: extracción, análisis, especificación, validación y evolución, y serán explicadas a continuación cada una de ellas. Extracción (Análisis del problema) Esta fase representa el comienzo de cada ciclo. Extracción es el nombre comúnmente 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 y otros. Es importante, que la extracción sea efectiva, ya que la aceptación del sistema dependerá de cuán bien éste satisfaga las necesidades del cliente. Análisis (Evaluación y negociación de los requerimientos) 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. Usualmente se hace un análisis luego de haber producido un bosquejo inicial del documento de requerimientos; en esta etapa se leen los requerimientos, se conceptúan, 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 Especificación En esta fase se documentan los requerimientos acordados con el cliente, en un nivel apropiado de detalle. En la práctica, esta etapa se va realizando conjuntamente con el análisis, se puede decir que la especificación es el "pasar en limpio" el análisis realizado previamente aplicando técnicas y/o estándares de documentación, como la notación UML (Lenguaje de Modelado Unificado), que es un estándar para el modelado orientado a objetos, por lo que los casos de uso y la obtención de requerimientos basada en casos de uso se utiliza cada vez más para la obtención de requerimientos
  • 7. 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. Esto implica verificar que los requerimientos sean consistentes y que estén completos. Se puede apreciar que el proceso de ingeniería 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 especificación de requerimientos, que es el documento final, de carácter formal, que se obtiene de este proceso. Es necesario recalcar que no existe un proceso único que sea válido de aplicar en todas las organizaciones. Cada organización 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 ingeniería de requerimientos. Hay muchas maneras de organizar el proceso de ingeniería de requerimientos y en otras ocasiones se tiene la oportunidad de recurrir a consultores, ya que ellos tienen una perspectiva más objetiva que las personas involucradas en el proceso. Evolución de los requerimientos Los requerimientos son una manera de comprender mejor el desarrollo de las necesidades de los usuarios y cómo los objetivos de la organización pueden cambiar, por lo tanto, es esencial planear posibles cambios a los requerimientos cuando el sistema sea desarrollado y utilizado. La actividad de evolución es un proceso externo que ocurre a lo largo del ciclo de vida del proyecto. Los requerimientos cambian por diferentes razones. Las más frecuentes son:  Porque al analizar el problema, no se hacen las preguntas correctas a las personas correctas.  Porque cambió el problema que se estaba resolviendo.  Porque los usuarios cambiaron su forma de pensar o sus percepciones.  Porque cambió el ambiente de negocios.  Porque cambió el mercado en el cual se desenvuelve el negocio. Cambios a los requisitos involucra modificar el tiempo en el que se va a implementar una característica en particular, modificación que a la vez puede tener impacto en otros requerimientos. Por esto, la administración de cambios involucra actividades como establecer políticas, guardar históricos de cada requerimiento, identificar dependencias entre ellos y mantener un control de versiones. Tener versiones de los requerimientos es tan importante como tener versiones del código, ya que evita tener requerimientos emparchados (Se le llama requerimiento emparchado a aquél que ha sufrido cambios excesivos en la semántica) en un proyecto Entre algunos de los beneficios que proporciona el control de versiones están:  Prevenir cambios no autorizados.  Guardar revisiones de los documentos de requerimientos.  Recuperar versiones previas de los documentos.  Administrar una estrategia de “releases”.  Prevenir la modificación simultánea a los requisitos. En vista que las peticiones de cambios provienen de muchas fuentes, las mismas deben ser enrutadas en un solo proceso. Esto se hace con la finalidad de evitar problemas y conseguir estabilidad en los requerimientos.
  • 8. Técnicas y herramientas utilizadas en la ingeniería de requerimientos Técnicas utilizadas en las actividades de IR Existen varias técnicas para la IR propuestas para ingeniería de requerimientos (Herrera, 2003: 12), y de las cuales solo se abarcarán cinco de ellas. Es importante resaltar que estas técnicas pueden ser aplicables a las distintas fases del proceso de la IR, haciendo la salvedad de que hay que tomar en cuenta las características propias del proyecto en particular que se esté desarrollándose para aprovechar al máximo su utilidad. Entrevistas y Cuestionarios Las entrevistas y cuestionarios se emplean para reunir información 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 común, los encuestados son usuarios de los sistemas existentes o usuarios en potencia de sistema propuesto. En algunos casos, son gerentes o empleados que proporcionan datos para el sistema propuesto o que serán afectados por él. El éxito de esta técnica, depende de la habilidad del entrevistador y de su preparación para la misma. Sistemas existentes Esta técnica consiste en analizar distintos sistemas ya desarrollados que estén relacionados con el sistema a ser construido. Por un lado, podemos analizar las interfaces de usuario, observando el tipo de información que se maneja y cómo es manejada, por otro lado también es útil analizar las distintas salidas que los sistemas producen (listados, consultas, y otros.), porque siempre pueden surgir nuevas ideas sobre la base de estas. Lluvia de ideas (Brainstorm) Este es un modelo que se usa para generar ideas. La intención en su aplicación es la de generar la máxima cantidad posible de requerimientos para el sistema. No hay que detenerse en pensar si la idea es o no del todo utilizable. La intención de este ejercicio es generar, en una primera instancia, muchas ideas. Luego, se irán eliminando en base a distintos criterios como, por ejemplo, "caro", "impracticable", "imposible", y otros. Las reglas básicas a seguir son:  Los participantes deben pertenecer a distintas disciplinas y, preferentemente, deben tener mucha experiencia. Esto trae aparejado la obtención de una cantidad mayor de ideas creativas.  Conviene suspender el juicio crítico y se debe permitir la evolución de cada una de las ideas, porque sino se crea un ambiente hostil que no alienta la generación de ideas.  Por más 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 Durante la actividad de extracción de requerimientos, puede ocurrir que algunos requerimientos no estén demasiado claros o que no se esté muy seguro de haber entendido correctamente los requerimientos obtenidos hasta el momento, todo lo cual puede llevar a un desarrollo no eficaz del sistema final. Entonces, para validar los requerimientos hallados, se construyen prototipos. Los prototipos son simulaciones del posible producto, que luego son utilizados por el usuario final, permitiéndonos conseguir una importante retroalimentación en cuanto a si el sistema diseñado con base a los requerimientos recolectados le permite al usuario realizar su trabajo de manera eficiente y efectiva. El desarrollo del prototipo comienza con la captura de requerimientos.
  • 9. Desarrolladores y clientes se reúnen y definen los objetivos globales del software, identifican todos los requerimientos que son conocidos, y señalan áreas en las que será necesaria la profundización en las definiciones. Luego de esto, tiene lugar un “diseño rápido”. El diseño rápido se centra en una representación de aquellos aspectos del software que serán visibles al usuario (por ejemplo, entradas y formatos de las salidas). El diseño rápido lleva a la construcción de un prototipo. Casos de Uso Los casos de uso son una técnica para especificar el comportamiento de un sistema. El sitio en Internet wikipedia.org, define a un caso de uso como: “Un caso de uso es una secuencia de transacciones que son desarrolladas por un sistema en respuesta a un evento que inicia un actor sobre el propio sistema. Los diagramas de casos de uso sirven para especificar la funcionalidad y el comportamiento de un sistema mediante su interacción con los usuarios y/o otros sistemas” (http://es.wikipedia.org/wiki/Caso_de_uso). Los casos de uso permiten entonces describir la posible secuencia de interacciones entre el sistema y uno o más actores, en respuesta a un estímulo inicial proveniente de un actor, es una descripción de un conjunto de escenarios, cada uno de ellos comenzado con un evento inicial desde un actor hacia el sistema. La mayoría de los requerimientos funcionales, sino todos, se pueden expresar con casos de uso. Según el autor Sommerville, los casos de uso son una técnica que se basa en escenarios para la obtención de requerimientos. Actualmente, se han convertido en una característica fundamental de la notación UML (Lenguaje de modelado unificado), que se utiliza para describir modelos de sistemas orientados a objetos. Herramientas automatizadas para la Administración de Requerimientos En el desarrollo de software se cuenta con una ventaja proporcionada por las herramientas CASE. Las herramientas CASE (Ingeniería del Software Asistida por Computadora) se le conoce a todo aquel software que es usado para ayudar a las actividades del proceso de desarrollo del software, en donde se ubica la ingeniería de requerimientos, que se ha venido tratando en este artículo. Estas herramientas se concentran en capturar requerimientos, administrarlos y producir una especificación de requisitos. Existen muchas y muy variadas herramientas CASE que pueden ser utilizadas por los desarrolladores de software en sus proyectos, y de la forma más conveniente para ellos. Si es importante hacer ver que estas herramientas fungen como un medio facilitador para agilizar y mejorar los procesos involucrados en todo el ciclo de vida presentado por la IR, y que en conjunto ayudan a la construcción final de un producto de software terminado. Estas herramientas permiten entre otras cosas tener un mayor control en proyectos complejos, reducir costos y retrasos en los proyectos, ayudan a determinar la complejidad y los esfuerzos necesarios. En este apartado se presentan características generales de una de las herramientas más utilizadas para este propósito: RequisitePro, y recomendada sitio en Internet Rational.com. RequisitePro RequisitePro 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. En RequisitePro los requerimientos se encuentran documentados bajo un esquema organizado de documentos; estos esquemas cumplen completamente con los estándares requeridos por algunas de las instituciones a nivel mundial más reconocidas en el desarrollo de software, tales como: IEEE (Instituto de Ingenieros Eléctricos y Electrónicos), ISO, CMM (Modelo de Capacidad de Madurez) y por el RUP (Proceso Unificado Racional) Esta herramienta se integra con aplicaciones para la administración de cambios, herramientas de modelado de sistemas y con herramientas de
  • 10. pruebas. Esta integración asegura que los diseñadores conocen los requerimientos del usuario, del sistema y del software en el momento de su desarrollo. El desarrollo de software es una tarea de equipo, de tal forma, es crítico que todos los miembros del equipo posean un entendimiento compartido de la visión de sus proyectos, metas, especificaciones y requerimientos; pero, ¿cómo puede conseguirse cuando los equipos se encuentran geográficamente distribuidos y funcionalmente aislados, no pudiendo comunicarse entre si en tiempo y forma? La solución a esta necesidad es IBM Rational RequisitePro. IBM Rational RequisitePro es una solución fácil de usar, es una herramienta de administración de requerimientos que le permite al equipo crear y compartir sus requerimientos utilizando métodos familiares basados en documentos potenciados por la aplicación de las capacidades de una base de datos, tales como la trazabilidad y análisis de impacto. El resultado es una mejor comunicación y administración de requerimientos con una mayor probabilidad de completar los proyectos en tiempo, dentro del presupuesto y superando las expectativas. Los proyectos exitosos comienzan con una buena administración de requerimientos, cuanto más efectiva sea su ejecución, mayor será el resultado en calidad y satisfacción del cliente. Según la promoción hecha en Internet mediante la página Web para esta herramienta, algunas de sus ventajas son:  Un producto potente y fácil de utilizar para la gestión de requisitos y casos de uso que propicia una mejor comunicación, mejoras en el trabajo en equipo y reduce el riesgo de los proyectos.  Combina la interfaz conocida y fácil de utilizar de los documentos de Microsoft Word con potentes funciones de base de datos para conseguir la máxima eficacia en análisis y consulta de requisitos.  Proporciona a los equipos la posibilidad de comprender el impacto de los cambios.  Garantiza que todos los componentes del equipo estarán informados de los requisitos más actuales para asegurar la coherencia.  Proporciona acceso basado en Web para los equipos distribuidos. La ventaja de utilizar herramientas como la de RequisitePro, es que el desarrollo de software se ve beneficiado de muchas maneras, y en el caso de la ingeniería de requerimientos, le ayuda notablemente, ya que como se ha venido hablando en el desarrollo de este artículo, la IR constituye una de las etapas más importantes a tomar en cuenta en el ciclo de desarrollo de software, ya que en ella se definen los requerimientos con los que debe de contar el software; e incluso, podría llegar a determinar la viabilidad de implementar ese software no es del todo posible, y poder cancelar a tiempo un desarrollo no productivo Descripción de las técnicas más utilizadas en la ingeniería de requerimientos. En esta sección se van a describir en detalle algunas de las técnicas más usadas en la IR. Cada técnica puede aplicarse en una o más actividades de esta ingeniería; en la práctica, la técnica más apropiada para cada actividad dependerá del proyecto que esté desarrollándose. Entrevistas y Cuestionarios. Dentro de una organización, la entrevista es la técnica más significativa y productiva de que dispone el analista para recolectar datos. En otras palabras, la entrevista es un intercambio de información que se efectúa cara a cara. Es un canal de comunicación entre el analista y la organización; sirve para obtener información acerca de las necesidades y la manera de satisfacerlas, así como consejo y comprensión por parte del usuario para toda idea o método nuevos. Por otra parte, la entrevista ofrece al analista una excelente oportunidad para establecer una corriente de simpatía con el personal usuario, lo cual es fundamental en transcurso del estudio. Preparación de la Entrevista. Determinar la posición en la organización del futuro entrevistado, responsabilidades, actividades, y otros (Investigación). Preparar las preguntas que van a plantearse, y los documentos necesarios
  • 11. (Organización). Fijar un límite de tiempo y preparar la agenda para la entrevista. (Psicología). Elegir un lugar donde se puede conducir la entrevista con la mayor comodidad (Psicología). Hacer la cita con la debida anticipación (Planeación). Conducción de la Entrevista. Explicar con toda amplitud el propósito y alcance del estudio (Honestidad). Explicar la función propietaria como analista y la función que se espera conferir al entrevistado. (Imparcialidad). Hacer preguntas específicas para obtener respuestas cuantitativas (Hechos). Evitar las preguntas que exijan opiniones interesadas, subjetividad y actitudes similares (Habilidad). Evitar el cuchicheo y las frases carentes de sentido (Claridad). Ser cortés, absteniéndose de emitir juicios de valores. (Objetividad). Conservar el control de la entrevista, evitando divagaciones y los comentarios al margen de la cuestión (Habilidad). Escuchar atentamente lo que se dice, guardándose de anticiparse a las respuestas (Comunicación). Secuela de la Entrevista. Escribir los resultados (Documentación). Entregar una copia al entrevistado, solicitando su conformación, correcciones o adiciones. (Profesionalismo). Archivar los resultados de la entrevista para referencia y análisis posteriores (Documentación). Recolectar datos mediante la Entrevista. La entrevista es una forma de conversación, no de interrogación, al analizar las características de los sistemas con personal seleccionado cuidadosamente por sus conocimientos sobre el sistema, los analistas pueden conocer datos que no están disponibles en ningún otra forma. En las investigaciones de sistema, las formas cualitativas y cuantitativas de la información son importantes. La información cualitativa está relacionada con opinión, política y descripciones narrativas de actividades o problemas, mientras que las descripciones cuantitativas tratan con números frecuencia, o cantidades. A menudo las entrevistas pueden ser la mejor fuente de información cualitativa, los otros métodos tiende a ser más útiles en la recolección de datos cuantitativos. Son valiosas las opiniones, comentarios, ideas o sugerencia en relación a cómo se podría hacer el trabajo; la entrevista a veces es la mejor forma para conocer las actividades de las empresas. La entrevista puede descubrir rápidamente malos entendidos, falsa expectativa o incluso resistencia potencial para las aplicaciones de desarrollo; más aún, a menudo es más fácil calendarizar una entrevista con los gerentes de alto nivel, que pedirle que llenen un cuestionario. Determinación del tipo de Entrevista. La estructura de la entrevista varía. Si el objetivo de la entrevista radica en adquirir información general, es conveniente elaborar una serie de preguntas sin estructura, con una sesión de preguntas y respuestas libres. El formato de respuestas para las preguntas pueden ser abierto o cerrado; las preguntas abiertas permiten a los entrevistados dar cualquier respuesta que parezca apropiada. Pueden contestar por completo con sus propias palabras. Los analistas también deben dividir el tiempo entre desarrollar preguntas para entrevistas y analizar respuestas. Con frecuencia, se utilizan preguntas abiertas para descubrir sentimientos, opiniones y experiencias generales, o para explorar un proceso o problema. Este tipo de preguntas son siempre apropiadas, además que ayudan a entender la perspectiva del afectado y no están influenciadas por el conocimiento de la solución. Las preguntas pueden ser enfocadas a un elemento del sistema, tales como usuarios, procesos, y otros. El siguiente ejemplo muestra algunos tipos de preguntas abiertas. Del Usuario ¿Quién es el cliente? ¿Quién es el usuario? ¿Son sus necesidades diferentes? ¿Cuáles son sus habilidades, capacidades, ambiente?
  • 12. 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 qué ambiente se usará el producto? ¿Cuáles son sus expectativas para los conceptos fácil de usar, confiable, rendimiento? ¿Qué obstáculos afectan la eficiencia del sistema? El éxito de esta técnica combinada, depende de la habilidad del entrevistador y de su preparación para la misma. Los analistas necesitan ser sensibles las dificultades que algunos entrevistados crean durante la entrevista y saber cómo tratar con problemas potenciales. Asimismo, necesitan considerar no sólo la información que adquieren a través del cuestionario y la entrevista, sino también, su significancia. Ejemplos de las preguntas abiertas y cerradas en la entrevista estructurada. FORMA DE PREGUNTA ABIERTA FORMA DE PREGUNTA CERRADA Ejemplo: obtener la información sobre las características de diseño críticas para los empleados. "Algunos empleados han sugerido que la mejor forma para hacer eficiente el procesamiento de pedidos es instalar un sistema de computadora que maneje todos los cálculos..." Bajo estas circunstancias ¿apoyaría usted el desarrollo de un sistema de este tipo? Ejemplo: obtener la información sobre las características de diseño críticas para los empleados. “La experiencia le ha proporcionado una amplia visión en cuanto a la forma en la que la Empresa maneja los pedidos..." Me gustaría que usted contestara algunas preguntas específicas en relación en lo anterior: - ¿Qué etapas trabajan bien? ¿Cuáles no? -¿En dónde se presenta la mayor parte del problema? - ¿Cuándo ocurre un atraso, cómo se maneja? Selección de Entrevistados. Realizar entrevistas toma tiempo; por lo tanto no es posible utilizar este método para recopilar toda la información que se necesite en la investigación. La entrevista se aplica en los niveles gerenciales y de empleados que puedan proporcionar la mayor parte de la información útil para el estudio los analistas. Realización de Entrevista. La habilidad del entrevistador es vital para el éxito en la búsqueda de hecho por medio de la entrevista. Las buenas entrevistas dependen del conocimiento del analista tanto de la preparación del objetivo de una entrevista específica como de las preguntas por realizar a una persona determinada. El tacto, la imparcialidad e incluso la vestimenta apropiada ayudan a asegurar una entrevista exitosa. La falta de estos factores puede reducir cualquier oportunidad de éxito. A través de la entrevista, los analistas deben aplicarse a sí mismos las siguientes preguntas: ¿Qué es lo que me está diciendo la persona? ¿Por qué me lo está diciendo a mí? ¿Qué está olvidando? ¿Qué espera esta persona que haga yo?
  • 13. Lluvia de Ideas (Brainstorm). Este método comenzó en el ámbito de las empresas, aplicándose a temas tan variados como la productividad, la necesidad de encontrar nuevas ideas y soluciones para los productos del mercado, encontrar nuevos métodos que desarrollen el pensamiento creativo a todos los niveles, etc. Pero pronto se extendió a otros ámbitos, incluyendo el mundo de desarrollo de sistemas; básicamente se busca que los involucrados en un proyecto desarrollen su creatividad. A esta técnica se le conoce también como torbellino de ideas, tormenta de ideas, desencadenamiento de ideas, movilización verbal, bombardeo de ideas, sacudidas de cerebros, promoción de ideas, tormenta cerebral, avalancha de ideas, tempestad en el cerebro y tempestad de ideas, entre otras. Principios de la lluvia de ideas. Aplazar el juicio y no realizar críticas, hasta que no agoten las ideas, ya que actuaría como un inhibidor. Se ha de crear una atmósfera de trabajo en la que nadie se sienta amenazado. Cuantas más ideas se sugieren, mejores resultados se conseguirán: "la cantidad produce la calidad". Las mejores ideas aparecen tarde en el periodo de producción de ideas, será más fácil que encontremos las soluciones y tendremos más variedad sobre la que elegir. La producción de ideas en grupos puede ser más efectiva que la individual. Tampoco debemos olvidar que durante las sesiones, las ideas de una persona, serán asociadas de manera distinta por cada miembro, y hará que aparezcan otras por contacto. El equipo en una lluvia de ideas debe estar formado por: • El Director: es la figura principal y el encargado de dirigir la sesión. Debe ser un experto en pensamiento creador. Su función es formular claramente el problema y que todos se familiaricen con él. Cuando lo haga, debe estimular ideas y hacer que se rompa el hielo en el grupo. Es el encargado de que se cumplan las normas, no permitiendo las críticas. Debe permanecer callado e intervenir cuando se corte la afluencia de ideas, por lo que le será útil llevar ya un listado de ideas. Debe hacer que todos participen y den ideas. Además, es la persona que concede la palabra y da por finalizada la sesión. Posteriormente, clasificará las ideas de la lista que le proporciona el secretario. • El secretario: registra por escrito las ideas según van surgiendo. Las enumera, las reproduce fielmente, las redacta y se asegura que todos están de acuerdo con lo escrito. Por último realizará una lista de ideas. • Los participantes: pueden ser habituales o invitados; cualquier involucrado en el proyecto entra en esta categoría. Su función es producir ideas. Conviene que entre ellos no haya diferencias jerárquicas. Las personas que componen el grupo deben estar motivadas para solucionar el problema, y con un ambiente que propicie la participación de todos. Todos pueden sentirse confiados y con la sensación de que pueden hablar sin que se produzcan críticas. Todas las ideas en principio deben tener el mismo valor, pues cualquiera de ellas puede ser la clave para la solución. Es necesario prestar mucha atención a las frases que pueden coartar la producción de ideas. Además durante la celebración no deben asistir espectadores. Debemos evitar todos los bloqueos que paralizan la ideación: como son nuestros hábitos o ideas preconcebidas, el desánimo o falta de confianza en si mismo, el temor y la timidez. Las fases de aplicación en el Brainstorm son: • Descubrir hechos. Al menos con un día de antelación, el director comunica por escrito a los miembros del grupo sobre los temas a tratar. El director explica los principios de la Tormenta de ideas e insiste en la importancia de tenerlos en cuenta. La sesión comienza con una ambientación de unos 10 minutos, tratando un tema sencillo y no comprometido. Es una fase especialmente importante para los miembros sin experiencia. Se determina el problema, delimitándolo, precisándolo y clarificándolo. A continuación se plantea el problema, recogiendo las experiencias que se poseen o consultando documentación. Cuando es complejo, conviene dividirlo en partes. Aquí es importante la utilización del análisis, desmenuzando el problema en pequeñas partes para conectar lo nuevo y lo desconocido.
  • 14. • Producir ideas (es la fase de tormenta de ideas propiamente dicha). Se van aplicando alternativas. Se busca producir una gran cantidad de ideas, aplicando los principios que hemos visto. Además, es útil cuando se ha trabajado mucho, alejarse del problema, pues es un buen momento para que se produzcan asociaciones. Muchas de las nuevas ideas serán ideas antiguas, mejoradas o combinadas con varias ya conocidas. Al final de la reunión, el director da las gracias a los asistentes y les ruega que no abandonen el problema, ya que al día siguiente se le pedirá una lista de ideas que les puedan haber surgido. Se incorporan las ideas surgidas después de la reunión. • Descubrir soluciones. Se elabora una lista definitiva de ideas, para seleccionar las más interesantes. La selección se realiza desechando las ideas que no tienen valor y se estudia si son válidas las que se consideran interesantes. Lo mejor es establecer una lista de criterios de conveniencia para cada idea. Se seleccionan las ideas más útiles y si es necesario se ponderarán. Pueden realizarlo los mismos miembros del grupo o crear otros para esta tarea; la clasificación debe hacerse por categorías (tarea que corresponde al director). Se presentan las ideas de forma atractiva, haciendo uso de soportes visuales. Encuestas. Hoy en día la palabra "encuesta" se usa más frecuentemente para describir un método de obtener información de una muestra de individuos. Esta "muestra" es usualmente sólo una fracción de la población bajo estudio. Aún así, todas las encuestas tienen algunas características en común. A diferencia de un censo, donde se estudia a todos los miembros de la población, las encuestas recogen información de una porción de la población de interés. En una encuesta de buena fe, la muestra no es seleccionada caprichosamente o sólo de personas que se ofrecen como voluntarios para participar. La muestra es seleccionada científicamente de manera que cada persona en la población tenga una oportunidad medible de ser seleccionada. De esta manera los resultados pueden ser proyectados con seguridad de la muestra a la población mayor. La información es recogida usando procedimientos estandarizados de manera que a cada individuo se le hacen las mismas preguntas más o menos de la misma manera. La intención de la encuesta no es describir los individuos particulares quienes, por azar, son parte de la muestra sino obtener un perfil compuesto de la población. El estándar de la industria para todas las organizaciones respetables que hacen encuestas es que los participantes individuales nunca puedan ser identificados al reportar los hallazgos. Todos los resultados de la encuesta deben presentarse en resúmenes completamente anónimos, tal como tablas y gráficas estadísticas. Tamaño de la muestra. Muchas veces depende de los recursos profesionales y fiscales disponibles. Los analistas frecuentemente encuentran que una muestra de tamaño moderado es suficiente estadística y operacionalmente. Las encuestas pueden ser clasificadas por su método de recolección de datos. Las encuestas por correo, telefónicas y entrevistas en persona son las más comunes. En los métodos más nuevos de recoger datos, la información se introduce directamente a la computadora ya sea por un entrevistador adiestrado o aún por la misma persona entrevistada. Las entrevistas en persona en el hogar u oficina de un participante son mucho más caras que las encuestas telefónicas o por correo. Estas pueden ser necesarias especialmente cuando se debe recoger información compleja. Preocupaciones potenciales. La calidad de una encuesta es determinada en gran medida por su propósito y por la forma en que es conducida. Las encuestas deben llevarse a cabo únicamente para obtener información estadística sobre algún tema. No deben ser diseñadas para producir resultados predeterminados o como un artificio para mercadeo o para actividades similares. Cualquier persona a quien se le solicite que responda a una encuesta de opinión o que se preocupe por los resultados debe primero decidir si las preguntas que se hacen son justas. Observación. Otra técnica útil para el analista en su progreso de investigación, consiste en observar a las personas cuando efectúan su trabajo. Como técnica de investigación, la observación tiene amplia
  • 15. aceptación científica. Los sociólogos, sicólogos e ingenieros industriales utilizan extensamente ésta técnica con el fin de estudiar a las personas en sus actividades de grupo y como miembros de la organización. El propósito de la organización es múltiple: permite al analista determinar que se está haciendo, como se está haciendo, quien lo hace, cuando se lleva a cabo, cuanto tiempo toma, dónde se hace y por que se hace. Observar las operaciones le proporciona el analista hechos que no podría obtener de otra forma. Tipos de Observación. El analista de sistemas puede observar de tres maneras básicas. • Primero, puede observar a una persona o actitud sin que el observado se dé cuenta y su interacción por aparte del propio analista. Quizá esta alternativa tenga poca importancia para el análisis de sistemas, puesto que resulta casi imposible reunir las condiciones necesarias. • Segundo, el analista puede observar una operación sin intervenir para nada, pero estando la persona observada enteramente consciente de la observación. • Por último, puede observar y a la vez estar en contacto con las personas observadas. La interacción puede consistir simplemente en preguntar respecto a una tarea específica, pedir una explicación, etc. Preparación para la observación  Determinar y definir aquella que va a observarse.  Estimar el tiempo necesario de observación.  Obtener la autorización de la gerencia para llevar a cabo la observación.  Explicar a las personas que van a ser observadas lo que se va a hacer y las razones para ello. Conducción de la observación  Familiarizarse con los componentes físicos del área inmediata de observación.  Mientras se observa, medir el tiempo en forma periódica.  Anotar lo que se observa lo más específicamente posible, evitando las generalidades y las descripciones vagas.  Si se está en contacto con las personas observadas, es necesario abstenerse de hacer comentarios cualitativos o que impliquen un juicio de valores.  Observar las reglas de cortesía y seguridad. Secuela de la observación  Documentar y organizar formalmente las notas, impresionistas, etc.  Revisar los resultados y conclusiones junto con la persona observada, el supervisar inmediato y posiblemente otro de sistemas. Prototipos. Los prototipos permiten al desarrollador crear un modelo del software que debe ser construido. Al igual que todos los enfoques al proceso de desarrollo del software, el prototipado comienza con la captura de requerimientos. Desarrolladores y clientes se reúnen y definen los objetivos globales del software, identifican todos los requerimientos que son conocidos, y señalan áreas en las que será necesaria la profundización en las definiciones. Luego de esto, tiene lugar un "diseño rápido". El diseño rápido se centra en una representación de aquellos aspectos del software que serán visibles al usuario (por ejemplo, entradas y formatos de las salidas). El diseño rápido lleva a la construcción de un prototipo. El prototipo es evaluado por el cliente y el usuario y utilizado para refinar los requerimientos del software a ser desarrollado. Un proceso de iteración tiene lugar a medida que el prototipo es "puesto a punto" para satisfacer las necesidades del cliente y permitiendo al mismo tiempo una mejor comprensión del problema por parte del desarrollador. Existen principalmente dos clases de prototipos: Prototipo rápido: El prototipado rápido es un mecanismo para lograr la validación precompromiso. Se utiliza para validar requerimientos en una etapa previa al diseño específico. En este sentido, el
  • 16. prototipo puede ser visto como una aceptación tácita de que los requerimientos no son totalmente conocidos o entendidos antes del diseño y la implementación. El prototipo rápido puede ser usado como un medio para explorar nuevos requerimientos y así ayudar a "controlar" su constante evolución. Prototipo evolutivo: Desde una perspectiva diferente, todo el ciclo de vida de un producto puede ser visto como una serie incremental de detallados prototipos acumulativos. Tradicionalmente, el ciclo de vida está dividido en dos fases distintas: desarrollo y mantenimiento. La experiencia ha demostrado que esta distinción es arbitraria y va en contra de la realidad ya que la mayor parte del costo del software ocurre después de que el producto se ha entregado. El punto de vista evolutivo del ciclo de vida del software considera a la primera entrega como un prototipo inicial en el campo. Modificaciones y mejoras subsecuentes resultan en nuevas entregas de prototipos más maduros. Este proceso continúa hasta que se haya desarrollado el producto final. La adopción de esta óptica elimina la distinción arbitraria entre desarrollo y mantenimiento, resultando en un importante cambio de mentalidad que afecta las estrategias para la estimación de costos, enfoques de desarrollo y adquisición de productos. Sesiones JAD (Desarrollo participativo de aplicaciones) La técnica Joint Application Development (JAD) o desarrollo participativo de aplicaciones tiene como objetivo central facilitar la cooperación entre usuarios y analistas durante el desarrollo de sistemas. Al trabajar aplicando los procedimientos de JAD, los analistas de sistemas y los representantes funcionales realizan reuniones de trabajo con los usuarios directos para discutir las características de los sistemas objeto de estudio y, sobre la marcha de las mismas discusiones, se van trazando los modelos que permitirán definir los requerimientos funcionales de esos sistemas. Las sesiones de JAD son de dos tipos: de adiestramiento y de trabajo. A su vez, las sesiones de trabajo se cumplen, normalmente, en tres etapas: revisión, formalización y validación Las Sesiones JAD de Adiestramiento Las sesiones JAD de adiestramiento tienen como objetivo fundamental orientar a los usuarios que participarán en los ejercicios JAD en el uso de las herramientas y técnicas de modelaje de procesos y datos y demostrar cómo el uso de esas herramientas y técnicas facilitarán la comunicación precisa de sus requerimientos. Así pues, la sesión JAD de adiestramiento se hace con el fin de que los usuarios puedan participar productivamente en la elaboración y revisión de los modelos que se desarrollarán en las subsiguientes sesiones Las Sesiones JAD de Trabajo Durante las sesiones JAD de trabajo se cumplen tareas de análisis y diseño de aplicaciones, con participación activa de usuarios y analistas de sistemas. En cada sesión de trabajo, a medida que van discutiéndose diferentes aspectos del sistema objeto de estudio, se van elaborando modelos de procesos y datos en borrador, haciendo uso de un pizarrón o de rotafolios, con el fin de que los participantes puedan confirmar, al equipo de desarrollo, si los modelos representan razonablemente bien los puntos por ellos expuestos. Dentro de una sesión de trabajo JAD, después de concluida la reunión con los usuarios, los modelos borrador se "ponen en limpio"; normalmente, el vehículo más adecuado para ello es una herramienta CASE, ya que ésta permitirá ir haciendo el trabajo de integración de los modelos y, además, permitirá detectar las posibles discrepancias o inconsistencias que puedan existir entre uno o más grupos de usuarios Una sesión de trabajo JAD concluye con la revisión de los modelos puestos en limpio o procesados por el CASE, con el fin de permitir que el usuario confirme la validez de éstos o rectifique aquellos puntos que no se ajustan a la realidad.
  • 17. Participantes de las Sesiones JAD En términos generales, los participantes de una sesión JAD son los siguientes:  El moderador  Analista de sistemas  Representantes funcionales  Usuarios directos  Profesionales o expertos El Moderador Antes de las sesiones JAD, el moderador o coordinador se encarga de hacer los recordatorios necesarios, con la debida anticipación, para asegurar que todos los invitados asistan puntualmente a las reuniones. Durante la realización de las sesiones, el moderador tiene la responsabilidad de estimular la participación de todos los invitados, asegurar que se haga un uso productivo del tiempo de todos los participantes, evitar la discusión repetitiva de conceptos y detener cualquier debate improductivo. Normalmente, será deseable que algún representante funcional en el proyecto actúe como moderador de las sesiones de trabajo. El moderador debe abstenerse de tomar partido en las discusiones que puedan presentarse y se asegurará de que, en caso de que haya varias alternativas u opiniones, cada una de ellas se esquematice en el pizarrón y sea discutida con objetividad, dándole al grupo la oportunidad de llegar a conclusiones de consenso. Analista de Sistemas El analista de sistemas tiene la responsabilidad de preguntarles a los usuarios participantes acerca de su trabajo y requerimientos, con el fin de ir tomando notas y dibujando en el pizarrón modelos parciales, tanto de datos como de procesos, que representen las afirmaciones hechas por los usuarios. Al terminar las sesiones de trabajo, el analista también se encargará de integrar los modelos parciales trazados durante el día al conjunto de especificaciones elaboradas para el proyecto. Asi mismo, una vez puestos los modelos en limpio, se encargará de presentarlos y validarlos con los usuarios que hayan participado en la sesión de trabajo. Usuarios En las sesiones JAD deben participar tanto los representantes funcionales del proyecto como gerentes, supervisores y usuarios directos que estén en capacidad de aportar elementos de relevancia para el tema a discutir en las sesiones de trabajo y que, dadas sus experiencias, puedan enriquecer el estudio que se realiza. Profesionales o Expertos Dependiendo del tema a discutir en una sesión de trabajo JAD y, especialmente, en reuniones donde el interés se centre en diseño más que en análisis, puede resultar sumamente conveniente invitar a especialistas como, por ejemplo, al diseñador de bases de datos, al consultor de telecomunicaciones, y otros. La participación de estos especialistas puede ayudar a realizar preguntas más concretas que las que pudiese hacer el analista de sistemas. El Ciclo de JAD Por lo general, la aplicación de la técnica JAD sigue los siguientes pasos:  Planificación de las sesiones  Publicación del calendario de reuniones  Adiestramiento de participantes  Sesiones de trabajo JAD
  • 18. Planificación de las Sesiones Todo el conjunto de sesiones JAD que se llevarán a cabo para un proyecto deben ser cuidadosamente planificadas. En un primer paso se elaborará un plan inicial, en el cual se establecerá cuántas reuniones se realizarán, que áreas del negocio o del sistema se discutirán en cada una de ellas, quiénes son las personas más calificadas para la discusión de cada tema, cuántas sesiones de adiestramiento habrá que realizar, durante qué período deberán realizarse. Con este plan inicial se procederá a contactar a los invitados y a reservar las facilidades necesarias para llevar a cabo las reuniones. Una vez confirmados los participantes y los recursos, se elaborará el calendario de todas las reuniones. Normalmente, la responsabilidad de las tareas de planificación de las sesiones JAD recae en el coordinador o moderador. Elaboración del Calendario de Reuniones Una vez preparado el calendario de cada una de las sesiones, éste debe hacerse público, enviando una copia a cada uno de los invitados, con el fin de que recuerden las fechas en que su presencia será necesaria
  • 19. Adiestramiento de Participantes De acuerdo con las fechas fijadas en el calendario de sesiones JAD, se irán cumpliendo las sesiones de entrenamiento. En estas sesiones se orientará a los usuarios que participarán en los ejercicios JAD en el uso de las herramientas y técnicas de modelaje de procesos y datos y se demostrará cómo el uso de esas herramientas y técnicas facilitará la comunicación precisa de sus requerimientos. En estas sesiones se les enfatizará a los invitados la necesidad de venir a las sesiones JAD de trabajo debidamente preparados con copias de cada documento o reporte utilizado, manuales de procedimientos y cualquier otro material pertinente al tema que será discutido. Normalmente, las sesiones de entrenamiento las dirige el analista de sistemas, haciendo uso del material didáctico (transparencias y notas) preparados para tal fin Sesiones de Trabajo JAD Durante las sesiones JAD de trabajo se cumplirán las tareas de análisis y diseño planificadas, con la participación activa de los usuarios y demás invitados. En estas sesiones, a medida que van cubriéndose diferentes aspectos, se irán elaborando modelos de procesos y datos en borrador en el pizarrón o en los rotafolios; cada uno de estos pequeños modelos deberá ser confirmado y validado por los participantes. Después de concluida la reunión con los usuarios, los modelos en borrador se pondrán en limpio, preferiblemente con la herramienta CASE (si se dispone de ella), ya que ésta permitirá ir haciendo el trabajo de integración de los modelos y, además, permitirá detectar las posibles discrepancias o inconsistencias que puedan existir entre uno o más grupos de usuarios. La sesión de trabajo JAD concluirá con la revisión de los modelos puestos en limpio o procesados por el CASE, con el fin de permitir que los participantes puedan confirmar la validez de éstos o rectificar aquellos puntos que presenten inconsistencias o discrepancias. Normalmente, una sesión de trabajo JAD se inicia temprano en la mañana, con la etapa de discusión, la cual se termina a media tarde, para que el equipo de desarrollo pueda poner "en limpio" las conclusiones de la reunión. Se concluye a primera hora del siguiente día, con la etapa de validación que, normalmente, resulta una reunión bastante corta (menos de 1 hora). Beneficios de la Técnica JAD La técnica JAD elimina o, por lo menos, minimiza la necesidad de realizar entrevistas individuales a los usuarios directos. En sistemas de mediana o gran envergadura, cuando la definición de requerimientos se hace a través de entrevistas directas se invierte una cantidad enorme de tiempo, resulta muy difícil validar los modelos con cada entrevistado, algunas entrevistas resultan improductivas por cuanto no añaden nada adicional a lo aportado por otros entrevistados, y resulta complejo conciliar las discrepancias o diferencias que puedan existir entre las afirmaciones hechas por diferentes usuarios. Dado que es fundamentalmente una técnica de trabajo en equipos, la técnica JAD elimina todas las desventajas de la entrevista individual y proporciona una gran cantidad de ventajas, entre las cuales se deben citar las siguientes:  Reduce el tiempo de análisis o diseño, pues en una sola sesión pueden participar todos los interesados en una misma área  Mejora las comunicaciones, pues todos los modelos derivados trazados en las sesiones de trabajo se validan con sus participantes.  Crea sentido de consenso y participación, pues, durante las sesiones de trabajo, el usuario directo tiene la oportunidad de presentar y discutir sus puntos de vista y problemas.  Facilita la identificación de problemas o inconsistencias, pues cualquier discrepancia entre opiniones puede aclararse en las propias reuniones de trabajo.  Mejora la calidad de los productos, pues será posible definir en forma más completa los verdaderos requerimientos de los usuarios.
  • 20. Requerimientos para el Uso de la Técnica JAD Las sesiones JAD, si bien permiten reducir la duración de las etapas de análisis y diseño, requieren una excelente planificación, de tal forma que los diferentes usuarios sean avisados de las reuniones con la debida anticipación y asistan a éstas con todos los materiales necesarios (muestras de formularios, de reportes, y otros). Asimismo, dado que el objetivo fundamental de las sesiones JAD es agilizar el proceso, en cada sesión de trabajo debe existir un moderador o facilitador de la reunión que estimule el uso productivo del tiempo y evite repetición de conceptos o debates improductivos. El objetivo central de la técnica JAD es utilizar en la forma más eficiente posible los recursos disponibles para el diseño de sistemas; la sola aplicación de la técnica, sin embargo, no garantiza que tales objetivos se cumplan; para ello es necesario que se cumplan ciertas condiciones en la realización de las sesiones, como son • Debe cumplirse con la sesión de entrenamiento, con el fin de asegurar que todos los participantes entiendan su rol. • Debe contarse con las facilidades de reunión: salón de reuniones, pizarrón, y otros. • Deben minimizarse las interrupciones, con el fin de que pueda aprovecharse el tiempo de todos los participantes. Proceso de Análisis Jerárquico (AHP) Esta técnica tiene por objetivo resolver problemas cuantitativos, para facilitar el pensamiento analítico y las métricas. Consiste en una serie de pasos a saber: • Encontrar los requerimientos que van a ser priorizados. • Combinar los requerimientos en las filas y columnas de la matriz n x n de AHP. • Hacer algunas comparaciones de los requerimientos en la matriz • Sumar las columnas • Normalizar la suma de las filas • Calcular los promedios Estos pasos pueden aplicarse fácilmente a una cantidad pequeña de requerimientos, sin embargo, para un volumen grande, esta técnica no es la más adecuada. Ventajas y desventajas de cada una de las técnicas utilizadas en las etapas de la Ingeniería de Requerimientos. Técnica Ventajas Desventajas • Mediante ellas se obtiene una gran cantidad de información correcta a través del usuario. • La información obtenida al principio puede ser redundante o incompleta. Técnica Ventajas Desventajas Entrevistas y Cuestionarios • Pueden ser usadas para obtener un pantallazo del dominio del problema. • Son flexibles. • Permiten combinarse con otras técnicas. • Si el volumen de información manejado es alto, requiere mucha organización de parte del analista, así como la habilidad para tratar y comprender el comportamiento de todos los involucrados.
  • 21. Lluvia de Ideas • Los diferentes puntos de vista y las confusiones en cuento a terminología, son aclaradas por expertos. • Ayuda a desarrollar ideas unificadas basadas en la experiencia de un experto. • • Es necesaria una buena compenetración del grupo participante. Prototipos • Ayudan a validar y desarrollar nuevos requerimientos. • Permite comprender aquellos requerimientos que no están muy claros y que son de alta volatilidad. • El cliente puede llegar a pensar que el prototipo es una versión del software que será desarrollado. • A menudo, el desarrollador hace compromisos de implementación con el objetivo de acelerar la puesta en funcionamiento del prototipo Análisis Jerárquico • Permite determinar el grado de importancia de cada requerimiento. • Ayuda a identificar conflictos en los requerimientos. • Muestra el orden en que deben ser implementados los requerimientos. • Debe construirse un estándar claro de evaluación, que incluya la participación del cliente. Casos de Uso • Representan los requerimientos desde el punto de vista del usuario. • Permiten representar más de un rol para cada afectado. • Identifica requerimientos estancados, dentro de un conjunto de requerimientos. • En sistemas grandes, toma mucho tiempo definir todos los casos de uso. • El análisis de calidad depende de la calidad con que se haya hecho la descripción inicial. JAD • Reduce el tiempo de análisis o diseño, pues en una sola sesión pueden participar todos los interesados en una misma área • Mejora las comunicaciones, pues todos los modelos derivados trazados en las sesiones de trabajo se validan con sus participantes. • Crea sentido de consenso y participación, pues, durante las sesiones de trabajo, el usuario directo tiene la oportunidad de presentar y discutir sus puntos de vista y problemas. • Debe cumplirse con la sesión de entrenamiento, con el fin de asegurar que todos los participantes entiendan su rol. • Debe contarse con las facilidades de reunión: salón de reuniones, pizarrón, y otros. • Deben minimizarse las interrupciones, con el fin de que pueda aprovecharse el tiempo de todos los participantes. Técnica Ventajas Desventajas
  • 22. • Facilita la identificación de problemas o inconsistencias, pues cualquier discrepancia entre opiniones puede aclararse en las propias reuniones de trabajo. • Mejora la calidad de los productos, pues será posible definir en forma más completa los verdaderos requerimientos de los usuarios. Resumen Es muy importante mencionar que el poder formular una especificación de requerimientos completa y consistente, es un paso muy importante para evitar cometer errores en la definición de los requerimientos, ya que los mismos pueden resultar muy caros de corregir una vez desarrollado el sistema. De ahí, la vital importancia que tiene la ingeniería de requerimientos en generar una adecuada especificación que contemple claramente y sin ambigüedades los requerimientos del sistema a desarrollar, con el fin primordial de evitar que los proyectos fracasen debido a una mala elaboración de la definición y especificación de requerimientos. El proceso de la Ingeniería de Requerimientos sirve para recopilar la información necesaria para establecer la funcionalidad que se quiere alcanzar con el sistema. Para ello, se debe de contar con buenos métodos y técnicas para hacerlo, además de una comunicación fluida y constante con el cliente, ya que los requerimientos deben reflejar las necesidades reales que el cliente quiere satisfacer. Las revisiones deben involucrar al cliente y al staff de contratistas para validar los requerimientos del sistema. Como proceso, la administración de requerimientos es fundamental en todo proyecto de desarrollo de software, ya que se debe de contar con una especificación clara y completa desde las fases iníciales para no tener problemas posteriores que implican un retraso en el cronograma, un presupuesto erróneo, o hasta la posible cancelación del proyecto. Es importante que el documento que se obtenga de esta etapa sea un reflejo real del acuerdo de las partes involucradas. Hay que notar el aporte que ha venido a proporcionar la utilización de técnicas como la especificación, la luvia de ideas y el desarrollo de prototipos, que ayudan a definir requerimientos de una manera concisa y real. También es necesario resaltar y dar a conocer que alrededor del mundo existen estándares enfocados en el mejoramiento de los procesos de desarrollo de software, citando entre ellos a los estándares propuestos por la IEEE (Instituto de Ingenieros Eléctricos y Electrónicos), el SEI (que propone el modelo de capacidad de madurez, mejor conocido como CMM), el PMI (Project Management Institute, que ofrece certificaciones para el área de administración del proyectos) y las ya conocidas normas ISO, en cuyas normas también se involucran apartados referentes al desarrollo de software. Finalizando ¿Quienes hacen Ingeniería de Requerimientos? ¿Es Muy difícil encontrar a una persona...? Que sepa entrevistar, escuchar, cuestionar (pensamiento crítico), modelar, analizar, facilitar discusiones y negociaciones, observar, comunicar de manera verbal y escrita, relacionarse con gente, innovar,... Que tenga experiencia en el dominio del problema y de la solución ¿Existen? En mi opinión se puede formar…
  • 23. Bibliografía y enlaces recomendados Pressman, Roger S. 2006, “Ingeniería del Software: Un enfoque práctico”, Sexta edición, México DF, Editorial McGraw Hill. Sommerville Ian, 2005, “Ingeniería del Software”, Sétima edición, México DF, Editorial Pearson. http://standards.ieee.org/reading/ieee/std_public/description/se/610.121990_desc.html Herrera J., Lizka Johany (2003) “Ingeniería de Requerimientos, Ingeniería de Software”, Recuperado el 25 de mayo de 2006 en:http://www.monografias.com/trabajos6/resof/resof.shtml Montes Meyhuay Magno, “Ingeniería de Requerimientos”, recuperado el 25 de mayo de 2006 en: www.proamazonia.gob.pe/bpa/ingenieria_requerimientos.htm Racional RequisitePro, recuperado el 30 de mayo de 2006 en: http://www.rational.com.ar/herramientas/requisitepro.html