Publicado el 21 de Junio del 2017
1.543 visualizaciones desde el 21 de Junio del 2017
9,2 MB
249 paginas
Creado hace 20a (08/06/2004)
Centro de Investigación y de Estudios
Avanzados del IPN
Departamento de Ingeniería Eléctrica
Sección de Computación
Análisis Comparativo de Técnicas, Metodologías
y Herramientas de Ingeniería de Requerimientos
Tesis que presenta
Juan Carlos Medina Martínez
Para obtener el grado de
Maestro en Ciencias en la especialidad de Ingeniería
Eléctrica Opción Computación
Director de Tesis
Dr. Pedro Mejía Álvarez
México, D.F.
Junio de 2004
ii
Resumen
La aplicación de la Ingeniería de Software en el proceso de desarrollo de un sistema es un
mecanismo que se emplea para garantizar la calidad de un producto de software. Una de las
etapas importantes del proceso de desarrollo es la ingeniería de requerimientos, etapa en donde se
definen inicialmente las características y restricciones con las que debe contar el sistema en
desarrollo. En este trabajo de tesis se describen las actividades del proceso de Ingeniería de
Requerimientos así como las tareas que comprenden cada actividad. Se presenta un análisis de
técnicas, métodos y herramientas más recientes utilizadas en la ingeniería de requerimientos. Se
ilustran las ventajas y desventajas que podemos encontrar en la utilización de estas técnicas y
herramientas para cada actividad de este proceso, su aplicación en un caso de estudio y
finalmente la definición del Documento de Especificación de Requerimientos.
iii
iv
Abstract
The application of Software Engineering in the process of development of a software system
must be used to guarantee the quality of a software product. One of the most important stages of
the development process is Requirements Engineering (RE), where the user need’s, the initial
specifications, characteristics and restrictions of the software system are defined. In this thesis,
we intend to survey the most important activities of the Requirements Engineering process, as
well as the tasks and tools that each activity includes. A comparative analysis of RE techniques,
methods and tools is developed. Finally, in this thesis we developed a case study, were the
requirements engineering processes is applied to model the application.
v
vi
Agradecimientos
A CONACyT, por el apoyo económico otorgado mediante una beca que me permitió culminar
satisfactoriamente mis estudios de maestría.
Al CINVESTAV-IPN, por darme la oportunidad y las facilidades para realizar la maestría en el
Departamento de Ingeniería Eléctrica, Sección Computación.
A la UAG, por el apoyo otorgado para lograr mis estudios de maestría y superación académica.
Al Dr. Pedro Mejía Álvarez, por sus asesorías en la dirección de este trabajo de tesis, además de
sus consejos y motivación en los momentos difíciles no sólo académicos sino de mi vida, gracias
por ser un amigo más que un asesor.
Al Dr. Sergio V. Chapa Vergara y Adriano de Luca, por el apoyo y los comentarios brindados en
la revisión de esta tesis.
A Sofía Reza, secretaria de la sección, quien siempre me brindo su apoyo en los tramites
administrativos en el transcurso de mis estudios de maestría. Gracias por su amistad.
Al personal de la biblioteca de Ingeniería Eléctrica, Raúl Montaño Molina y Graciela Meza,
quienes siempre mostraron su mayor disposición y apoyo cuando les solicitaba material
bibliográfico.
A mis compañeros y amigos del CINVESTAV,
José Antonio,
Jorge,
Paola,
José Guadalupe,
Jaime,
Pedro,
Laura,
Giner,
Joselito,
José Trujillo,
Leticia,
Sergio.
Ulises,
Oscar,
Gregorio,
Y a todas aquellas personas que me brindaron su amistad desinteresadamente e hicieron posible
una estancia agradable en la Ciudad de México.
vii
viii
Dedicatorias
Le dedico este trabajo a una gran persona que siempre ha estado conmigo, Elvia, mi esposa, por
su amor y comprensión, por su apoyo y creer que si podía lograr mi maestría, por sus palabras de
aliento en los momentos difíciles. Gracias “chaparrita”.
A mi nena Katy, le pido disculpas por haberme perdido muchas de sus travesuras, espero que
algún día comprenda el motivo por el cual pasó momentos sin su papá. Te quiero mucho mi nena.
A mis Padres, por su amor incondicional y la preocupación que siempre han mostrado cuando
uno de sus hijos esta lejos de casa. Por impulsarme siempre a salir adelante, este logro también es
de ustedes, los quiero mucho.
A mis hermanos, que siempre me han apoyado en los momentos difíciles y decisivos de mi vida.
A la familia Moreno Morales, que también es mi familia, gracias por su apoyo, sin ustedes no
habría logrado esta meta.
ix
x
ÍNDICE GENERAL
Portada.......................................................................................................................
Resumen............…………………………………………………………………....
Abstract.……………………………………………...………………………….…
Agradecimientos………………………………………………………..…………..
Dedicatorias....………………………………………………………….………......
Índice General.………………………………………………………….……….....
Índice de Figuras.……………………………………………………….………….
Índice de Tablas.…………………………………………………………..……….
1. Introducción
1.1. Motivación.………………………………………………………..…...
1.2.
Planteamiento del Problema. …………………………………………..
1.3. Objetivos de la Tesis. …………………………………………….……
1.4. Organización de la Tesis. ………………………………………...……
2. Conceptos de Ingeniería de Software
2.1.
¿Qué es Ingeniería de Software?.………………………………………
2.2.
¿Qué hacen los Ingenieros de Software?.…………………………..…..
2.3.
El Software.………………………………………………………….…
2.4. Atributos de un buen Software.……………….………………………..
2.5. Defecto, Error y Falla en el Software.………………………..…….......
2.6.
Elementos en el Desarrollo de Software.………………………...…….
2.7.
El Proceso de Desarrollo de Ingeniería de Software.…………………..
2.8.
Paradigmas del Proceso de Desarrollo de Software.….………………..
2.8.1. Modelo en Cascada.…………………… ………………………….
2.8.2. Desarrollo Evolutivo..…………………………… …………...…...
2.8.3. Modelo de Desarrollo Incremental e Iterativo..……………………
2.8.4. Desarrollo en Espiral.……………………………… ……………...
2.8.5. Modelos de Métodos Formales.…………………………… ……...
2.8.6. Desarrollo basado en Componentes ……………………………….
2.8.7. El Proceso Unificado de Desarrollo de Software.……… …………
2.9.
Problemas que enfrenta la Ingeniería de Software.…………………….
2.10. Errores históricos del Software.……………………………… ……….
3. Ingeniería de Requerimientos
3.1.
El Proceso de Ingeniería de Requerimientos.………………… ……….
3.2. Actividades del Proceso de Ingeniería de Requerimientos.……………
3.2.1. Obtención de Requerimientos.……………… …………………….
xi
Pagina
i
iii
v
vii
ix
xi
xv
xix
1
2
2
3
4
5
5
6
7
8
9
10
11
12
12
13
14
16
17
18
18
22
23
25
26
29
29
3.3.
3.2.2. Análisis de Requerimientos.………………………………………..
3.2.3. Especificación de Requerimientos….……………………………...
3.2.4. Validación de Requerimientos.…………………………………….
3.2.5. Administración de Requerimientos.………………………………..
Tipos de Requerimientos.………………………………………….…...
3.3.1. Tipos de Requerimientos de acuerdo a la audiencia.………………
3.3.2. Tipos de Requerimientos de acuerdo a su característica.…………..
3.3.3. Otros Tipos de Requerimientos…………………………………….
3.4. Características de Calidad de los Requerimientos……………………..
3.5. Dificultades para definir los Requerimientos de Software…………......
3.6.
El documento de Especificación de Requerimientos…………………..
3.7.
Estándares de Documentación…………………………………………
3.7.1. El Estándar IEEE/ANSI 380-1993…………………………………
3.7.2. Otros Estándares para el Documento de Requerimientos………….
4. Técnicas para el proceso de Ingeniería de Requerimientos
4.1.
Técnicas de obtención de requerimientos……………………………...
4.1.1. Entrevistas………………………………………………………….
4.1.2. Cuestionarios……………………………………………………….
4.1.3. Puntos de Vista …………………………………………….............
a) Lluvias de Ideas………………………………………………….
4.1.4. Observación………………………………………………………...
a) Etnografía………………………………………………………..
4.1.5. Escenarios………………………………………………………….
a) Escenarios de Eventos…………………………………………...
b) Casos de Uso…………………………………………………….
4.1.6. Análisis de Protocolos……………………………………………...
4.1.7. Maestro-Aprendiz………………………………………………….
4.1.8. QFD………………………………………………………………..
4.1.9. Talleres de Trabajo basados en Casos de Uso……………………...
4.1.10. Análisis de Usuarios Interesados…………………………………...
4.1.11. Demostración de Tareas………………………………………........
4.1.12. Enfoque Grupal (Focus Groups)………………………… ………..
4.1.13. Talleres Futuros (Future Workshops)………………… …………..
4.1.14. Estudio de Documentos/Datos……………………………………..
Técnicas de Análisis de Requerimientos……………………………….
4.2.1. La Identificación de Requerimientos………………………………
4.2.2. Listas de Verificación (CheckLists)……………… ……………….
4.2.3. Matriz de dependencias entre Requerimientos……………………..
4.2.4. Negociación de Requerimientos………………………………........
Técnicas de E
Comentarios de: Análisis Comparativo de Técnicas, Metodologías y Herramientas de Ingeniería de Requerimientos (0)
No hay comentarios