Академический Документы
Профессиональный Документы
Культура Документы
1
República Bolivariana de Venezuela Unidad Curricular:: INGENIERIA DE SOFTWARE II
Universidad Politécnica del Oeste Modulo: Fundamentos de Ingeniería de Requisitos y Análisis
“Mariscal Sucre” Apuntes Recopilados por: Profesor Bernardo González Rojas
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.
Verificable: Un requerimiento es verificable cuando puede ser cuantificado de manera que permita
hacer uso de los siguientes métodos de verificación: inspección, análisis, demostración o pruebas.
2
República Bolivariana de Venezuela Unidad Curricular:: INGENIERIA DE SOFTWARE II
Universidad Politécnica del Oeste Modulo: Fundamentos de Ingeniería de Requisitos y Análisis
“Mariscal Sucre” Apuntes Recopilados por: Profesor Bernardo González Rojas
El análisis y especificación de requerimientos puede parecer una tarea relativamente sencilla, pero las
apariencias engañan. Puesto que el contenido de comunicación es muy alto, abundan los cambios por mala
interpretación o falta de información. El dilema con el que se enfrenta un ingeniero de software puede ser
comprendido repitiendo la sentencia de un cliente anónimo:
"Sé que crees que comprendes lo que piensas que he dicho, pero no estoy seguro de que lo que
creíste oír sea lo que yo quise decir".
Los requerimientos de un sistema de software, cuando se ven en su conjunto son extensos y detallados, y
además contienen múltiples relaciones entre sí. Lo que nos da a concluir, que el conjunto de requerimientos de
un sistema computacional es complejo.
Obtenemos la posibilidad de especificar sistemas complejos al documentar especificaciones simples y
concisas para el sistema. Esto se logra al clasificar, estructurar y organizar todo lo que el sistema debe de
hacer. En otras palabras al analizar sus requerimientos.
El análisis de requerimientos es la tarea que plantea la asignación de software a nivel de sistema y el diseño
de programas. El análisis de requerimientos facilita al ingeniero de sistemas especificar la función y
comportamiento de los programas, indicar la interfaz con otros elementos del sistema y establecer las
ligaduras de diseño que debe cumplir el programa. El análisis de requerimientos permite al ingeniero refinar la
asignación de software y representar el dominio de la información que será tratada por el programa. El análisis
de requerimientos da al diseñador la representación de la información y las funciones que pueden ser
traducidas en datos, arquitectura y diseño procedimental. Finalmente, la especificación de requerimientos
suministra al técnico y al cliente, los medios para valorar la calidad de los programas, una vez que se haya
construido.
3
República Bolivariana de Venezuela Unidad Curricular:: INGENIERIA DE SOFTWARE II
Universidad Politécnica del Oeste Modulo: Fundamentos de Ingeniería de Requisitos y Análisis
“Mariscal Sucre” Apuntes Recopilados por: Profesor Bernardo González Rojas
4
República Bolivariana de Venezuela Unidad Curricular:: INGENIERIA DE SOFTWARE II
Universidad Politécnica del Oeste Modulo: Fundamentos de Ingeniería de Requisitos y Análisis
“Mariscal Sucre” Apuntes Recopilados por: Profesor Bernardo González Rojas
Obtener requisitos: a través de entrevistas o comunicación con clientes o usuarios, para saber
cuáles son sus deseos.
Analizar requisitos: detectar y corregir las falencias comunicativas, transformando los requisitos
obtenidos de entrevistas y requisitos, en condiciones apropiadas para ser tratados por el diseño.
Documentar requisitos: igual que todas las etapas, los requisitos deben estar debidamente
documentados.
Validar los requisitos: comprobar que los requisitos implementados se corresponden con lo que
inicialmente se pretendía.
5
República Bolivariana de Venezuela Unidad Curricular:: INGENIERIA DE SOFTWARE II
Universidad Politécnica del Oeste Modulo: Fundamentos de Ingeniería de Requisitos y Análisis
“Mariscal Sucre” Apuntes Recopilados por: Profesor Bernardo González Rojas
Planear el proyecto y los recursos que se usarán en él. Los líderes de proyecto usan los
requerimientos como una base para la estimación del esfuerzo necesario en un proyecto.
Especificar el tipo de verificaciones que se habrán de realizar al sistema. Por ejemplo: cuando se está
tratando de alinearse a cierta norma oficial o estándar.
Planear la estrategia de prueba a la que habrá de ser sometido el sistema. Los requerimientos son la
base sobre la cual se decide si un caso de prueba fue ejecutado exitosamente por el sistema o no.
Son el fundamento del ciclo de vida del proyecto. Los requerimientos documentados son la base para crear la
documentación del sistema
De ahí su importancia y la importancia de que deban de ser definidos y manejados de la forma más adecuada
posible.
6
República Bolivariana de Venezuela Unidad Curricular:: INGENIERIA DE SOFTWARE II
Universidad Politécnica del Oeste Modulo: Fundamentos de Ingeniería de Requisitos y Análisis
“Mariscal Sucre” Apuntes Recopilados por: Profesor Bernardo González Rojas
3.2.4.- Entrenamiento.
Este tipo de requerimientos se enfoca a las personas que van usar el sistema. ¿Que tipo de usuarios son?,
¿Que tipo de operadores?, ¿Que manuales se entregarán y en que idioma?
Este tipo de requerimientos, aunque muchas veces no termina en un pedazo de código dentro del sistema, son
muy importantes en el proceso de diseño ya que facilitan la introducción y aceptación del sistema en donde
será implementado.
3.2.6.- Materiales.
7
República Bolivariana de Venezuela Unidad Curricular:: INGENIERIA DE SOFTWARE II
Universidad Politécnica del Oeste Modulo: Fundamentos de Ingeniería de Requisitos y Análisis
“Mariscal Sucre” Apuntes Recopilados por: Profesor Bernardo González Rojas
Aquí se especifica en que medio se entregara el sistema y como esta empaquetado. Es importante para definir
los costos de industrialización del sistema.
8
República Bolivariana de Venezuela Unidad Curricular:: INGENIERIA DE SOFTWARE II
Universidad Politécnica del Oeste Modulo: Fundamentos de Ingeniería de Requisitos y Análisis
“Mariscal Sucre” Apuntes Recopilados por: Profesor Bernardo González Rojas
9
República Bolivariana de Venezuela Unidad Curricular:: INGENIERIA DE SOFTWARE II
Universidad Politécnica del Oeste Modulo: Fundamentos de Ingeniería de Requisitos y Análisis
“Mariscal Sucre” Apuntes Recopilados por: Profesor Bernardo González Rojas
ámbitos, incluyendo el mundo de desarrollo de sistemas; básicamente se busca que los involucrados en un
proyecto desarrollen su creatividad, promoviendo la introducción de los principios creativos.
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.
10
República Bolivariana de Venezuela Unidad Curricular:: INGENIERIA DE SOFTWARE II
Universidad Politécnica del Oeste Modulo: Fundamentos de Ingeniería de Requisitos y Análisis
“Mariscal Sucre” Apuntes Recopilados por: Profesor Bernardo González Rojas
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.
III. 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.
3.7.- 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.
11
República Bolivariana de Venezuela Unidad Curricular:: INGENIERIA DE SOFTWARE II
Universidad Politécnica del Oeste Modulo: Fundamentos de Ingeniería de Requisitos y Análisis
“Mariscal Sucre” Apuntes Recopilados por: Profesor Bernardo González Rojas
aplicaciones [Joint Application Design, JAD]. Las razones para usar JAD son reducir el tiempo (y el costo)
requerido por las entrevistas personales, mejorar la calidad de los resultados de la evaluación de los
requerimientos de información y generar una mayor identificación del usuario con los nuevos sistemas de
información como resultado de los procesos participativos.
Aunque JAD se puede sustituir por las entrevistas personales en cualquier momento apropiado del ciclo de
vida del desarrollo de sistemas, normalmente ha sido utilizado como una técnica que le permite, como analista
de sistemas, realizar el análisis de los requerimientos y diseñar la interfaz de usuario en conjunto con los
usuarios. Todas las complejidades de esta técnica sólo se pueden aprender en un seminario donde se
expliquen los métodos patentados por IBM. Sin embargo, aquí podemos transmitirle suficiente información
sobre JAD para que se entere de algunas de sus ventajas y desventajas en comparación con las entrevistas
uno a uno.
12
República Bolivariana de Venezuela Unidad Curricular:: INGENIERIA DE SOFTWARE II
Universidad Politécnica del Oeste Modulo: Fundamentos de Ingeniería de Requisitos y Análisis
“Mariscal Sucre” Apuntes Recopilados por: Profesor Bernardo González Rojas
negociar satisfactoriamente y resolver los conflictos, y ayudar a los miembros del grupo a alcanzar un acuerdo
general. :
Su sesión de JAD también debe incluir a uno o dos observadores que sean analistas o expertos técnicos de
otras áreas funcionales para ofrecer explicaciones y consejos técnicos al grupo durante las sesiones. Además,
un miembro del departamento de sistemas de información debe asistir a las sesiones de JAD para redactar
formalmente todo lo que se haga.
• Mediante ellas se obtiene una gran cantidad • La información obtenida al principio puede ser
de información correcta a través del usuario. redundante o incompleta.
Entrevistas y • Pueden ser usadas para obtener un pantallazo • Si el volumen de información manejado es alto,
Cuestionarios del dominio del problema. requiere mucha organización de parte del
analista, así como la habilidad para tratar y
• Son flexibles.
comprender el comportamiento de todos los
• Permiten combinarse con otras técnicas. involucrados.
Lluvia de Ideas • Los diferentes puntos de vista y las • Es necesaria una buena compenetración del
confusiones en cuento a terminología, son grupo participante.
13
República Bolivariana de Venezuela Unidad Curricular:: INGENIERIA DE SOFTWARE II
Universidad Politécnica del Oeste Modulo: Fundamentos de Ingeniería de Requisitos y Análisis
“Mariscal Sucre” Apuntes Recopilados por: Profesor Bernardo González Rojas
• Ayudan a validar y desarrollar nuevos • El cliente puede llegar a pensar que el prototipo
requerimientos. es una versión del software que será
desarrollado.
Prototipos • Permite comprender aquellos requerimientos
que no están muy claros y que son de alta • A menudo, el desarrollador hace compromisos
volatilidad. de implementación con el objetivo de acelerar
la puesta en funcionamiento del prototipo
• Ahorro de tiempo sobre las entrevistas • JAD requiere que todos los participantes
tradicionales uno a uno. Algunas dediquen una gran cantidad de tiempo. Dado
organizaciones han estimado en 15 por ciento que JAD requiere un compromiso de dos a
menos tiempo que el enfoque tradicional. cuatro días.
• Posibilidad de un desarrollo rápido a través de • Si la preparación para las sesiones de JAD es
JAD. Dado que las entrevistas de usuarios no inadecuada en cualquier aspecto o si el informe
se realizan consecutivamente estas se de seguimiento y la documentación de
realizan en un periodo de semanas o meses. especificaciones están incompletos. En estos
casos los diseños resultantes podrían ser poco
• Posibilidad de mejorar el concepto de
satisfactorios. Es necesario que muchas
propiedad del sistema de información. Como
variables se conjuguen correctamente para que
analistas, nos esforzamos por involucrar a los
JAD tenga éxito.
usuarios en formas significativas y los
animamos a que sientan como suyos los • Las habilidades y cultura que requiere la
sistemas que estemos diseñando. organización no se hayan desarrollado lo
Técnica JAD suficiente para permitir el esfuerzo concertado
• Debido a su naturaleza interactiva y a su alta
indispensable para ser productivo en un
visibilidad, JAD ayuda a los usuarios a
escenario JAD.
involucrarse en las etapas tempranas de los
proyectos de sistemas y le da seriedad a la
retroalimentación que proporcionan.
• Un beneficio final de participar en las sesiones
de JAD es el desarrollo de diseños creativos.
El carácter interactivo de JAD tiene mucho en
común con las técnicas de la lluvia de ideas
que generan nuevas ideas y nuevas
combinaciones de ideas gracias a un entorno
dinámico y estimulante. Los diseños pueden
evolucionar a través de interacciones
simplificadas, en lugar de en un aislamiento
relativo.
El siguiente cuadro muestra las técnicas que pueden ser utilizadas en las diferentes actividades de la IR.
Entrevistas y
X X
Cuestionarios
Lluvia de
X X
Ideas
Prototipos X
Técnica JAD X X X
14
República Bolivariana de Venezuela Unidad Curricular:: INGENIERIA DE SOFTWARE II
Universidad Politécnica del Oeste Modulo: Fundamentos de Ingeniería de Requisitos y Análisis
“Mariscal Sucre” Apuntes Recopilados por: Profesor Bernardo González Rojas
15
República Bolivariana de Venezuela Unidad Curricular:: INGENIERIA DE SOFTWARE II
Universidad Politécnica del Oeste Modulo: Fundamentos de Ingeniería de Requisitos y Análisis
“Mariscal Sucre” Apuntes Recopilados por: Profesor Bernardo González Rojas
4.- BIBLIOGRAFIA:
I. http://requerimientos.galeon.com/
II. Senn, James A. "Análisis y Diseño de Sistemas de Información". Segunda Edición. McGraw Hill. 1992.
III. JAMES A SENN, Análisis y Diseño de Sistema de Información, Mc Graw Hill, Enero 1990
IV. JAMES A. SENN, Análisis y Diseño de Sistemas de Información, Segunda Edición, Mc Graw Hill, Abril
2000.
V. IEEE Task Force on Requirements Engineering. Software Engineering Resources by Roger S.
Pressman & Associates
VI. Edward - Yourdon (1993) - Análisis Estructurado Moderno, Prentice Hall Hispanoamericana, S. A., pp.
136-147, 500-511.
VII. Roger - S. P. (1993) - Ingeniería del Software, Mc. Graw-Hill, pp. 217-218, 247.
VIII. Kendall & Kendall – Análisis y Diseño de Sistemas; Prentice Hall – 6 Edición.
XII. www.eici.ucm.cl/.../ygomez/.../Ingenieria-De-Requerimientos.doc
XIII. http://www.galeon.com/zuloaga/Doc/AnalisisRequer.pdf
XIV.
16