Tesis Desarrollo de Software
Tesis Desarrollo de Software
Tesis Desarrollo de Software
i
METODOLOGA PARA LA ADQUISICIN Y GESTIN DE
REQUERIMIENTOS EN EL DESARROLLO DE SOFTWARE PARA
PEQUEAS Y MEDIANAS EMPRESAS (PYMES) DEL
DEPARTAMENTO DE RISARALDA.
Tesis presentada como requisito parcial para optar por el ttulo de:
Magister en ingeniera de sistemas y computacin
Director:
Ing. CESAR ALBERTO COLLAZOS ORDOEZ
Phd Computer Science
Universidad del Cauca
ii
Nota de aceptacin:
3
AGRADECIMIENTOS
Primero agradecemos al Dr. Cesar Alberto Collazos Ordoez, coordinador del grupo IDIS
en la Universidad del Cauca y director de esta tesis; Su conocimiento, orientacin y
persistencia ha permitido finalizar con xito este documento.
Segundo deseamos mencionar al Magister Felipe Gallego de la Universidad Catlica de
Manizales y Magister Fernando Barraza de la Universidad San Buenaventura de Cali. Sus
habilidades y experticia han aportado en algunos aspectos a la construccin de este
documento.
Tercero agradecer profundamente al grupo de investigacin GRANDE de la Universidad
Tecnolgica de Pereira, por apoyarnos en este proceso.
Cuarto sentimos gratitud hacia las empresas del departamento de Risaralda las cuales nos
permitieron conocer su proceso de ingeniera de requerimientos y con esto iniciar la
estructuracin de la presente metodologa.
Quinto agradecer por el tiempo y la amabilidad por parte de los expertos de las
instituciones Universidad Nacional de San Juan (Argentina), BHP (Argentina) y
Universidad del Cauca (Colombia), al realizar la evaluacin de la metodologa en el juicio
de expertos.
Por ultimo agradecer finalmente a todas las personas que de una u otra forma apoyaron la
realizacin del trabajo final.
Los Autores
4
DEDICATORIA
A nuestros padres por su gran apoyo moral a lo largo de nuestros estudios y a nuestras
esposas que nos han impulsado a lograr nuestras metas.
Los Autores
5
TABLA DE CONTENIDOS
1. RESUMEN ...................................................................................................................... 1
2. INTRODUCCION........................................................................................................... 2
3. MARCO TEORICO Y ESTADO DEL ARTE ............................................................... 4
4. OBJETIVO GENERAL Y OBJETIVOS ESPECFICOS ........................................... 11
4.1 Objetivo General .................................................................................................. 11
4.2 Objetivos especficos ........................................................................................... 11
5. METODOLOGIA REQUERIMIENTOS .................................................................... 12
5.1 Recopilacin de datos .......................................................................................... 12
5.1.1 Problemas tericos del anlisis de requerimientos ........................................ 14
5.1.2 Inconvenientes en las pequeas empresas y la academia de la regin de
Risaralda ...................................................................................................................... 16
5.2 Construccin de la metodologa para la adquisicin y gestin de requerimientos en
la industria de Risaralda .................................................................................................. 18
5.3 Validacin de la metodologa ............................................................................... 19
6. PRE-ANALISIS .......................................................................................................... 21
6.1 Entrega de procesos organizacionales .................................................................. 21
6.2 Reunin Inicial (Kick off) .................................................................................... 22
6.3 Acuerdo de nivel de servicio y confidencialidad ................................................. 23
6.4 Descripcin del problema .................................................................................... 24
6.4.1 Identificacin del problema .......................................................................... 24
6.4.2 Planteamiento de la solucin ........................................................................ 25
6.4.3 Estimacin costo inicial ................................................................................ 30
6.4.4 Presentacin propuesta solucin ................................................................... 32
6.5 Documentacin .................................................................................................... 35
7. ELICITACIN ............................................................................................................ 36
7.1 Clasificacin del proyecto .................................................................................... 36
7.1.1 Tipo de proyecto idea de negocio ................................................................. 37
7.1.2 Tipo de proyecto desarrollo a la medida. ...................................................... 37
7.2 Identificacin de stakeholders .............................................................................. 40
7.3 Tcnicas de elicitacin ......................................................................................... 43
7.3.1 Descripcin tcnicas de elicitacin ............................................................... 43
7.3.2 Tcnicas para ideas de negocio (Start Up) .................................................... 47
7.3.3 Tipo de proyecto desarrollo a la medida. ...................................................... 48
6
7.4 Lista de requisitos. ............................................................................................... 49
7.5 Documentacin. ................................................................................................... 50
8. ANALISIS ................................................................................................................... 51
8.1 Verificacin requerimientos ................................................................................. 53
8.1.1 Matriz de trazabilidad ................................................................................... 54
8.1.2 Matriz de rastreo ........................................................................................... 54
8.1.3 Negociacin y resolucin de conflictos. ....................................................... 55
8.2 Lmites del sistema ............................................................................................... 55
8.3 Clasificacin ......................................................................................................... 56
8.3.1 Descomposicin funcional ............................................................................ 56
8.3.2 Priorizacin ................................................................................................... 56
8.4 Estimacin ............................................................................................................ 57
8.5 Documentacin .................................................................................................... 57
9. ESPECIFICACION ..................................................................................................... 58
9.1 Documentacin con historias de usuario. ............................................................. 61
9.2 Documentacin requerimientos del usuario ......................................................... 61
9.2.1 Especificacin de requerimientos del usuario ............................................... 61
9.2.2 Modelado de requerimientos del usuario ...................................................... 62
9.3 Documentacin requerimientos del sistema ......................................................... 63
9.3.1 Especificacin requerimientos del sistema ................................................... 63
9.3.2 Modelado requerimientos del sistema .......................................................... 67
9.4 Generacin de prototipos ..................................................................................... 70
9.4.1 Categoras del prototipado ............................................................................ 71
9.4.2 Tcnicas de prototipado ................................................................................ 72
9.5 Documentacin .................................................................................................... 73
10. VALIDACION ........................................................................................................ 75
10.1 Validacin con prototipos no funcionales ............................................................ 76
10.1.1 Objetivos de la evaluacin ............................................................................ 76
10.1.2 Previo al proceso de evaluacin .................................................................... 77
10.1.3 Ejecucin de la evaluacin ........................................................................... 78
10.2 Validacin y negociacin de requerimientos ....................................................... 79
10.2.1 Verificacin y validacin de requerimientos ................................................ 79
10.2.1.1 Inspecciones internas ................................................................................ 80
10.2.1.2 Validacin de requerimientos con los stakeholders ................................. 80
10.2.2 Negociacin de requerimientos .................................................................... 82
7
10.2.2.1 Pre-Negociacin ........................................................................................ 83
10.2.2.2 Negociacin .............................................................................................. 83
10.2.2.3 Post-Negociacin: ..................................................................................... 85
10.3 Documentacin .................................................................................................... 85
11. GESTION DE CAMBIOS ....................................................................................... 86
11.1 Identificacin de las necesidades de cambio ........................................................ 88
11.2 Medir el impacto de los cambios sobre los requerimientos actuales .................... 88
11.3 Estimacin costo inicial ....................................................................................... 89
11.4 Presentacin propuesta ......................................................................................... 90
11.5 Negociacin de aplicacin de los cambios ........................................................... 90
11.6 Documentacin .................................................................................................... 91
12. LA INGENIERIA DE REQUERIMIENTOS EN LA ACADEMIA ....................... 92
13. DESARROLLO DE APLICATIVO SOPORTE A LA METODOLOGIA ............ 93
14. RESULTADOS Y DISCUSIN ............................................................................. 99
15. CONCLUSIONES Y TRABAJOS FUTUROS ..................................................... 102
16. ANEXO 1: FORMATOS, INSTRUMENTOS Y HERRAMIENTAS .................. 104
17. ANEXO 2: INFORME RESULTADOS FASE RECOLECCION DE DATOS ... 137
17.1 Introduccin: ...................................................................................................... 137
17.2 Ficha tcnica ...................................................................................................... 139
17.3 Revisin terica .................................................................................................. 139
17.4 Anlisis de resultados en las empresas ............................................................... 141
17.4.1 Anlisis general de las empresas y los encuestados .................................... 141
17.4.2 Anlisis de fiabilidad. ................................................................................. 143
17.4.3 Anlisis proceso ingeniera de requerimientos general de las empresas. .... 143
17.4.4 Anlisis del uso de tcnicas en ingeniera de requerimientos en las empresas
162
17.4.5 Anlisis agrupado de los resultados por empresas ...................................... 163
17.5 Anlisis de resultados en pregrados y egresados. ............................................... 164
17.5.1 Anlisis general de las enseanzas de la ingeniera de requerimientos en
pregrados segn personal docente y egresados .......................................................... 164
17.5.2 Anlisis de las tcnicas enseadas en ingeniera de requerimientos en los
pregrados segn personal docente y egresados .......................................................... 174
17.6 Encuesta ingeniera de requerimientos para empresas ....................................... 175
17.7 Entrevista ingeniera de requerimientos para empresas ..................................... 177
17.8 Encuesta ingeniera de requerimientos para universidades ................................ 178
17.9 Encuesta ingeniera de requerimientos para egresados ...................................... 179
8
17.10 Conclusiones .................................................................................................. 180
18. ANEXO 3: PUBLICACIONES REALIZADAS ................................................... 181
19. ANEXO 4: GUA DE ENSEANZA DE LA INGENIERA DE
REQUERIMIENTOS
191
20. ANEXO 5: ARTEFACTOS CONSTRUCCION APLICATIVO WEB ................ 194
21. ANEXO 6: INSTRUMENTO DE VALIDEZ DE CONTENIDOS ...................... 203
22. BIBLIOGRAFA ................................................................................................... 208
9
TABLA DE ILUSTRACIONES
Ilustracin 1: Entradas y salidas del proceso de ingeniera de requerimientos. .................... 18
Ilustracin 2: Fases de la metodologa propuesta por los autores. ........................................ 19
Ilustracin 3: Ventajas y desventajas de los prototipos de baja fidelidad ............................. 26
Ilustracin 4: Ventajas y desventajas de los prototipos de alta fidelidad .............................. 26
Ilustracin 5: Ejemplo de un boceto. .................................................................................... 27
Ilustracin 6: Ejemplo de prototipos en papel. ..................................................................... 29
Ilustracin 7: Ejemplo de mockup realizado en balsamiq mockups ..................................... 30
Ilustracin 8: Matriz bidimensional de escala de Cockburn adaptada para la presente
metodologa. ......................................................................................................................... 39
Ilustracin 9: Mapa de stakeholders ..................................................................................... 41
Ilustracin 10: Ejemplo mapa de stakeholders ..................................................................... 42
Ilustracin 11: Proceso de anlisis de requerimientos .......................................................... 51
Ilustracin 12: Mtodo en espiral para proceso requerimientos ........................................... 52
Ilustracin 13: Principales caractersticas relacionadas con trazabilidad y creacin de
asociaciones de las cuatro herramientas ms importantes de gestin de requerimientos ..... 55
Ilustracin 14: Especificacin y modelos segn tipo proyecto ............................................. 59
Ilustracin 15: Costos usando especificacin formal ............................................................ 60
Ilustracin 16: Proceso documentacin requerimientos ....................................................... 60
Ilustracin 17: Diagrama flujo de datos ................................................................................ 62
Ilustracin 18: Proceso de especificacin y modelado del software ..................................... 63
Ilustracin 19: Estructura de una especificacin algebraica para un sub sistema ................. 64
Ilustracin 20: Ejemplo de mquina de estado finito............................................................ 67
Ilustracin 21: Esquema de especificacin en Z ................................................................... 67
Ilustracin 22: Modelo contexto cajero automtico .............................................................. 68
Ilustracin 23: Ejemplo modelo de objetos .......................................................................... 68
Ilustracin 24: Ejemplo diagrama de secuencias UML ........................................................ 69
Ilustracin 25: Ejemplo red Petri. ......................................................................................... 69
Ilustracin 26: Proceso de creacin de prototipo .................................................................. 71
Ilustracin 27: Ejemplo de maquetacin presentada por Toni Granollers ............................ 72
Ilustracin 28: Ejemplo de Storyboard navegacin presentado por Toni Granollers ........... 73
Ilustracin 29: Proceso de evaluacin de requerimientos mediante el uso de prototipos ..... 76
Ilustracin 30: Proceso de evaluacin de solucin de conflictos, basado en QARCC
(Quality Attribute Risk and Conflict Consultant) ................................................................. 84
Ilustracin 31: Evolucin de los requerimientos a lo largo del tiempo a causa de cambios en
la comprensin del problema. ............................................................................................... 87
Ilustracin 32: Proceso realizado para elaborar y evaluar propuestas de cambios ............... 88
Ilustracin 33: Pantalla de inicio del aplicativo web ............................................................ 93
Ilustracin 34: Funcionalidades del aplicativo web .............................................................. 94
Ilustracin 35: Pantalla consulta marco terico .................................................................... 94
Ilustracin 36: Pantalla consulta gua acadmica ................................................................. 95
Ilustracin 37: Pantalla descarga resumen metodolgico ..................................................... 95
Ilustracin 38: Pantalla descarga resumen metodolgico ..................................................... 96
10
vii
1
0
Ilustracin 39: Pantalla formatos obligatorios diligenciados por fase .................................. 96
Ilustracin 40: Pantalla fase metodologa ............................................................................. 97
11
vii
1
1
Ilustracin 41: Pantalla advertencia de formatos sin diligenciar de fases previas .............. 98
Ilustracin 42: Resultado juicio de expertos ..................................................................... 100
12
vii
1
2
TABLA DE TABLAS
Tabla 1: Principales ventajas y desventajas referentes tericos............................................ 10
Tabla 2: Sectores y herramientas aplicadas .......................................................................... 13
Tabla 3: Ficha tcnica herramientas...................................................................................... 13
Tabla 4: Valor segn personas por proyecto......................................................................... 39
Tabla 5: Clasificacin de los proyectos para metodologa ................................................... 40
Tabla 6: Tcnicas y enfoques ............................................................................................... 46
Tabla 7: Complementos y alternativas entre tcnicas, tcnicas complementarias
(Representadas con la letra C) y alternativas (Representadas con la letra A) 47
Tabla 8: Tcnicas vs objetivos propuestos para la metodologa ........................................... 47
Tabla 9: Stakeholders y tcnicas usadas para las ideas de negocio (startUp) ....................... 47
Tabla 10: Tcnicas segn clasificacin del proyecto ............................................................ 49
Tabla 11: Principales ventajas y desventajas referentes tericos .......................................... 54
Tabla 12: Elementos mnimos formato SRS......................................................................... 62
Tabla 13: Ventajas e inconvenientes de la evaluacin realizada en el entorno ..................... 78
xii
1. RESUMEN
Recopilacin de datos
Estructuracin de la metodologa
Validacin de la metodologa
La validacin us como instrumento el juicio de expertos en donde se evidenci que la
industria del software podr disminuir los errores, el costo y el tiempo de desarrollo de
sistemas de software al aplicar esta metodologa.
Por ltimo se recomienda profundizar en el campo de validacin de requerimientos, con el
fin de desarrollar modelos y aplicaciones que permitan realizar validacin automtica de
requerimientos, al igual que investigar ampliamente el cmo integrar los procesos de
ingeniera de requerimientos en las metodologas agiles.
1
2. INTRODUCCION
1
CMMI (Capability Maturity Model Integration): Modelo de madurez de mejora de los procesos para el
desarrollo de productos y de servicios [114].
2
Elicitar: Adaptacin innecesaria del verbo ingls to elicit, que aparece a veces en textos de psicologa con el
sentido que corresponde a los verbos espaoles provocar, suscitar u obtener [115], La elicitacin de
requerimientos comprende por un lado el contexto del sistema y por otro lado el origen de los requerimientos.
2
como aplicar las tcnicas que permitan comprender los por menores del problema a
resolver, en tercera y cuarta fase se estructuran las formas que permitan comprender el
problema y documentarlo de manera formal e informal usando mtodos y especificaciones,
en la quinta etapa se realiza verificacin al proceso con las personas interesadas usando
estrategias de validacin y por ltimo la sexta fase se presenta como debe ser el proceso de
gestin de cambios del sistema. Al final del documento se exhibe una propuesta en cmo se
debe impartir la ingeniera de requerimientos en las instituciones de educacin superior.
3
3. MARCO TEORICO Y ESTADO DEL ARTE
4
N=<, P, T, Q, F, C, W, G> dnde:
es llamado conjunto de color, define el tipo de operacin y funcin.
P es llamado el conjunto de lugares.
T es llamado conjunto de transicin.
Q es llamado conjunto de retroalimentaciones transitorias.
F es llamado conjunto de relaciones.
C es llamada funcin color.
W unin entre funciones F.
G es llamada la funcin.
CDNP es usado para modelar la evolucin de los procesos de requerimientos de software,
en el cual el proceso inicial es la salida al ejecutar el sistema. El modelo CDNP clasifica los
diferentes tipos de problemas en colores diferentes. Cuando una actividad en un
requerimiento finaliza, la actividad de estas etapas puede volver a ser parte de una
retroalimentacin [9].
Con respecto a los proceso para la adquisicin y gestin de requerimientos de software,
Merchan en su artculo Definicin de una metodologa gil de ingeniera de
requerimientos para las empresas emergentes de desarrollo de software del sur occidente
Colombiano [10] socializa el trabajo desarrollado por el grupo de investigacin LIDIS de
la universidad de San Buenaventura en Santiago de Cali. Menciona que la obtencin de
requerimientos se puede definir como el contrato que se genera entre el cliente y los
desarrolladores, estos se enfocan en la visin que tiene el usuario del sistema. En esta
investigacin se evidenci que las empresas emergentes presentan problemas con respecto
a metodologas que soporten la actividad de los procesos de desarrollo de software. Con
respecto a los procesos de ingeniera de requerimientos se encontraron debilidades como:
El 58% no se establecen criterios para la aceptacin de proveedores de requerimientos, lo
cual puede traer falencias en el desarrollo; El 48.71% no establecen criterios para la
aceptacin de los requerimientos, por ende esto se puede traducir en errores en el
desarrollo, retrasos en los cronogramas de trabajo o rechazo por parte del cliente. Por
ltimo el 43.6% no realizan trazabilidad a los requerimientos; El realizar seguimiento a los
cambios de los requerimientos es importante para acciones relacionadas con la toma de
decisiones. Al identificarse esta falla se hace evidente la creacin de una metodologa gil
para la captura de requerimientos, se hace referencia a las metodologas giles debido a la
facilidad de implementacin en las pequeas empresas, dicha metodologa se encuentra
dirigida a dos tipos de empresas las cuales son: desarrolladoras de software a la medida y
start-up (ideas de innovacin). La metodologa define tres fases en la metodologa:
1.Elicitacion 2.Especificacin de requerimientos y 3.Gestin de requerimientos
Por otro lado se encuentra que no solo en Colombia se han preocupado por el estado de los
desarrollos de software en las pequeas empresas, Quispe et. Al [11] menciona como en
Chile tambin se han estudiado el comportamiento en las pequeas empresas, ciertamente
para dar el diagnstico de los requerimientos en las pequeas empresas de software. En este
caso se comienza por realizar una caracterizacin de las pequeas empresas desarrolladoras
de software tomando las siguientes caractersticas:
Tamao de los proyectos y el equipo de trabajo.
5
Recursos.
Calidad del personal.
Proceso desarrollo.
Gestin de proyectos.
Estructura Organizacional.
Comunicacin y coordinacin.
Posterior a esto se realiz una bsqueda de estudios similares en dicho campo, en donde es
de mencionar que veinticuatro diferentes compaas participaron en el estudio, todas las
compaas se encontraban localizadas en Santiago de Chile. Se incluyeron dos
instrumentos, los cuales eran formulario de encuesta y grupo de enfoque.
Para el formulario de encuesta se us la escala de likert3 incluyendo 48 preguntas, los
encuestados tambin participaron en un grupo de enfoque, en el cual realizaban una
pequea discusin para comentar los problemas comunes que afectan el proceso de
desarrollo de software.
Con estos insumos se pudo realizar descubrimientos con respecto al desarrollo de software
para realizar las respectivas conclusiones. Quispe et. Al descubre que algunas de las
caractersticas principales de las pequeas empresas son [11]:
El equipo de trabajo es poco calificado, suelen ser grupos menores a diez
personas y sus proyectos no son de ms de medio ao.
Cuentan con escasos recursos.
El proceso de desarrollo y gestin del proyecto (planeacin, organizacin,
monitoreo) se basa en tcnicas informales.
No se encuentra una estructura organizacional clara y no se definen roles dentro
de la organizacin.
Por otro lado, en la ingeniera de requerimientos existen herramientas que apoyan el
proceso para la adquisicin y gestin de los requerimientos de software, como es el caso de
la herramienta Heler. Callejas menciona que la investigacin realizada profundiza en el
rea de ingeniera de requerimientos y especificacin de las actividades de entendimiento
de los problemas basados en el proceso unificado [7] esto para realizar la construccin de
la herramienta HELER. Como parte de su metodologa se encuentra el buscar trabajos
previos, los cuales consisten en conocer las herramientas relacionadas con la ingeniera de
requerimientos, posterior a esta actividad, se realiza un anlisis de esta con respecto a la
gestin de requerimientos, y a partir de dicho anlisis se definen las caractersticas de
funcionalidad para el desarrollo de HELER [12].
Al igual que HELER est el caso similar de la herramienta RADIX, creada en los
laboratorios de AT&T en la cual como lo menciona Weider el proceso de desarrollo de
software es un proceso complejo donde los errores cometidos en implementacin son
costosos de corregir, estos en general requieren un esfuerzo y un nmero de intervalos para
ser desarrollados, revisados e inspeccionados [13]. El proceso de trazabilidad de
requerimientos es un mtodo sistemtico, que permite: 1) extender la trazabilidad para los
3
Escala de Likert: Conjunto de tems que se presentan en forma de afirmacin para medir la reaccin del
sujeto en tres, cinco o siete categoras [18].
6
ingenieros de sistemas 2) Estandarizar trazabilidad en las herramientas, para hacer ms fcil
de integrar con desarrollos existentes. Los desarrollos de software en cascada requieren
gran esfuerzo, esto se ve reflejado a lo largo de cada una de las iteraciones. Aunque
podemos considerar este tipo de desarrollos como estables, el esfuerzo que se debe realizar
para ejecutar las pruebas es muy costoso. Las etapas de integracin e implementacin se
enfocan en revisin, inspeccin y pruebas basadas en una buena identificacin de los
requerimientos. La etapa de identificacin de requerimientos cobra gran importacin
debido a que segn el 5ESS nos muestra que el costo de reparacin luego de realizadas las
pruebas al software con respecto al tiempo son de 10 a 20 ms que si estas hubiesen sido
detectadas en la fase de requerimientos. Se menciona que para asegurar la calidad de un
producto, es necesario asegurar las caractersticas solicitadas en los requerimientos por
parte de los clientes externos e internos, esto con el fin que el desarrollo se realice de
manera correcta.
Weider describe un mtodo sistemtico, para asistir a 5EES, el cual permite tener una
trazabilidad de los requerimientos. Dicho mtodo sistemtico define dos cuestiones que son
necesarias a tener en cuenta, estas son: 1. La trazabilidad extendida a lo largo del proceso
de ingeniera, proceso desarrollo y proceso de verificacin (pruebas) 2. Herramientas
estndar de trazabilidad que puedan ser integradas con el entorno de desarrollo [13].
La ingeniera de requerimientos tambin puede ser observada desde la perspectiva para
cumplir los objetivos en la gestin de proyectos, como lo menciona McGovern [1], en el
cual muestra una perspectiva enfocada en el rol del project manager (Lder en la gestin
del proyecto), en donde se analiza como afrontar los cambios a realizar a un sistema. En
algunas ocasiones los proyectos se dividen en subsistemas y con esto se generan
dificultades para coordinar las dependencias entre estos. Es necesario realizar una
verificacin temprana de la arquitectura planteada, este paso es complejo y por ende se
suele posponer para etapas posteriores, en donde la arquitectura ya se encuentra construida
y esto genera un inconveniente debido a que en muchos casos es necesario realizar un
rediseo del sistema, algo que se ve impactado en los costos del proyecto (Por lo general
los proyectos tiene un sobre costo mayor o igual al 70% de lo estimado). Por ltimo se
menciona como los requerimientos no funcionales se cruzan con los requerimientos
funcionales, esto se traduce en una estimacin ms precisa del proyecto. Se menciona
adems que los requerimientos no funcionales se pueden asociar a objetivos del negocio.
La fase de ingeniera de requerimientos no est exenta de presentar errores, por ende cobra
importancia el cmo descubrir estos errores en fases tempranas, como lo menciona Porter
et.al [14] la especificacin de requerimientos de software en general se obtiene por medio
de una validacin manual, sin embargo en este artculo se presenta un proceso el cual
pretende encontrar errores en los requerimientos. Para esta revisin se usa una lista de
chequeo o un documento Ad hoc. Este mtodo no consiste en una tcnica sistematizada
para la deteccin de fallos. Porter menciona como la tcnica consiste en evaluar una
hiptesis usando un parcial factorial de 3x2. Se cuenta con un grupo de 48 estudiantes,
distribuidos en 16 grupos (3 personas por grupo), cuyo objetivo es que cada grupo realice la
inspeccin de 2 especificaciones de requerimientos de software. Cada equipo de inspeccin
combina tcnicas ad hoc y listas de chequeo.
7
En cada inspeccin se toma cuatro medidas:
Tasa de deteccin de fallos individual.
Tasa de deteccin por equipo.
Porcentaje identificacin en la primera etapa.
Porcentaje identificacin por individuo de fallos no detectados en etapas
posteriores.
Por otro lado, existen modelos realizados por grandes institutos como lo son el CMMI de la
universidad Carnegie Mellon, como lo menciona Justin y Yung-Sung [15] la integracin
de modelos de madurez de capacidades provee la mejor gua de gestin de requisitos; sin
embargo se identifican dos dificultades para la ingeniera del software:
1. No es fcil llevar una trazabilidad.
2. No es fcil realizar medicin de los requerimientos.
Esto se da debido a que es necesario tener una preparacin para manejar numerosa
documentacin que exige el proceso de CMMI. Las posibles situaciones con respecto a los
requerimientos, son: Alta frecuencia de revisin de cambios de los requerimientos, aumento
del nmero de requerimientos, incapacidad por parte de los desarrolladores para confirmar
la trazabilidad de un requerimiento, cambios en los requerimientos. Existen diferentes
estndares para la aplicacin de la ingeniera de requerimientos, podemos mencionar
algunos como lo son IEEE 12207, MIL-STD-490, entre otros [15].
Para el campo de la ingeniera de requerimientos la innovacin juega un papel que puede
ser relevante, as lo menciona Torres [16] en Tcnicas de Levantamiento de
Requerimientos con Innovacin en donde se considera como un factor determinante en la
aplicacin de cualquier tcnica seleccionada para la adquisicin de requerimientos, por
ende generar valores diferenciales frente a la aplicacin de una tcnica tradicional. Dentro
de la ingeniera del software una fase de gran relevancia es la ingeniera de requerimientos,
ya que esta es la base para el buen desarrollo de un sistema de software que se quiera
realizar de manera exitosa. Torres [16] presenta las diferentes tcnicas y la teora de los
colores de Ned Herrmann [17] y foment la creatividad e innovacin de otros autores,
realizando una correspondencia entre lo que debe ser la buena seleccin de una tcnica de
levantamiento de requerimientos, y la importancia de la creatividad en las actividades
ingenieriles.
En la tabla 1 se encuentran las principales ventajas y desventajas de cada uno de los
referentes tericos mencionados anteriormente, dicha tabla ha sido creada por los autores
de la presente metodologa.
8
A Process Model CDNP (modelo matemtico El mtodo est ms enfocado Tilei et. a
of Software basado en petri net) es usado para hacia los cambios y evolucin del [9]
Evolution modelar la evolucin de los procesos software, ms no al proceso
Requirement Based de requerimientos de software, en el completo de construccin.
on Feedback cual el proceso inicial es la salida al El mtodo no previene errores,
ejecutar el sistema. sino que establece un mecanismo
correctivo de los errores
El modelo CDNP clasifica los encontrados.
diferentes tipos de problemas en
colores diferentes. Cuando una
actividad en un requerimiento
finaliza, la actividad de estas etapas
puede volver a ser parte de una
retroalimentacin
Definicin de una Metodologa gil y liviana para la La metodologa asume que el Luis
metodologa gil captura de requerimientos. La cual proceso previo a la elicitacin Merchan,
de ingeniera de es aplicable en pequeas empresas est claramente definido y no Alba
requerimientos desarrolladoras de software. alcance a contemplar todos los Urrea,
para las empresas aspectos del proceso de ingeneria Ruben
emergentes de de requerimientos. Rebolla
desarrollo de [10]
software del sur No es clara la aplicacin de
occidente aspectos como priorizacin de
colombiano requerimientos, solucin de
conflictos.
Requirements Metodologa ampliamente aplicable La metodologa se enfoca hacia Alcides
Engineering para empresas pequeas tipos de proyectos a la medida, lo Quispe,
Practices in Very desarrolladoras de software, incluye cual puede dificultar su Maira
Small Software 6 fases que contemplan el proceso aplicacin en otros tipos de Marques,
Enterprises: A completo de ingeniera de proyectos. Luis
Diagnostic Study requerimientos Silvestre,
Sergio
F
. Ochoa,
Romain
Robbes
Heler: Una Herramienta libre, para el soporte de La herramienta apoya la creacin [11]
Mauricio
herramienta para la la especificacin de requisitos, de nuevos proyectos de software, Callejas
ingeniera de permite gestionar proyectos, especficamente proyectos a la cuervo,
requisitos stackholders, artefactos y medida, la adaptacin de otros Luz Yadira
automatizada requerimientos tipos de proyectos a esta Castillo
Herramienta fcil de usar y aplicable herramienta puede dejar aspectos Estupian,
a pequeas empresas desarrolladoras relevantes por fuera. Ruby
de software. La herramienta no ofrece Monica
mecanismos de validacin de Fernandez
requerimientos ni gestin de Alvarez
cambios (faltan mdulos por [12]
implementar)
Verifying Software Propone un mtodo sistemtico que En desarrollo de proyectos Weider D.
Requirements: permite realizar de manera ptima la basados en metodologas agiles, Yu [13]
A trazabilidad de requerimientos. puede ser necesario realizar un
Requirement Herramientas estndar de trabajo adicional para recolectar
Tracing trazabilidad de requerimientos que la informacin faltante para
Methodology and pueden ser integradas con el entorno poder realizar aplicacin de este
Its Software Tool de desarrollo. mtodo sistemtico de
trazabilidad.
9
Managing Establece a los Project manager el Dado que la metodologa est Fergal
Software Projects cmo afrontar los cambios a realizar dirigida a los Project manager, el McGovern
with Business - a un sistema. proceso de gestin de cambios no [1]
Based es claro para los dems roles
Requirements involucrados en el proyecto.
Comparing Presenta una tcnica sistematizada Esta tcnica no apoya el proceso Adam A.
Detection Methods para la deteccin de fallos, mediante de deteccin y prevencin de Porter,
for Software una lista de chequeo o un documento errores de manera temprano, Lawrence
requirements Ad hoc solamente los detecta cuando G. Votta,
Inspections: A estos existen. Victor R.
Replicated Basili [14]
Experiment
Collaborative Al aplicar esta metodologa las Es de compleja aplicacin en Justin J.Y.
Requirement inconsistencias y riesgos del empresas pequeas, dado que es Lin, Yung-
Management proyecto se reducen al mnimo. necesario tener una preparacin Sung Lin
System Developed Dado que los documentos para manejar numerosa [15]
for CMMI- relacionados se correlacionan con documentacin que exige el
Coherent Software requisitos, los requisitos son mucho proceso de CMMI.
Engineering ms comprensibles y trazables.
Tcnicas de Presenta diferentes tcnicas, No se establece una gua o Nicols
Levantamiento de fomentando la creatividad e metodologa para la correcta Aristizbal
Requerimientos innovacin, realizando una eleccin de estas tcnicas de Meja,
con Innovacin correspondencia entre lo que debe acuerdo a los diferentes tipos de Miguel
ser la buena seleccin de una tcnica proyecto. Eduardo
de levantamiento, y la importancia Torres
de la creatividad en las actividades Moreno
ingenieriles. [16]
Tabla 1: Principales ventajas y desventajas referentes tericos.
10
4. OBJETIVO GENERAL Y OBJETIVOS ESPECFICOS
11
5. METODOLOGIA REQUERIMIENTOS
El desarrollo de esta investigacin se realiz en tres fases, las cuales consistieron en la recopilacin
de datos, construccin de la metodologa para la adquisicin y gestin de requerimientos y por ltimo
realiz la validacin de dicha metodologa, a continuacin se explicar al detalle cada una de estas
fases.
12
Las temticas abordadas para los tres perfiles fueron: Stakeholders, priorizacin,
dependencias, trazabilidad, diseo centrado en usuario (UCD), restricciones,
documentacin, requerimientos funcionales, requerimientos no funcionales, meta-modelos
y tcnicas usadas para elicitacin. (Los resultados, entrevistas y encuestas aplicadas se
pueden observar en el anexo 2)
La Tabla 2: Sectores y herramientas aplicadas relaciona las herramientas e intenciones para
cada uno de los perfiles, mientras la Tabla 3: Ficha tcnica herramientas
13
5.1.1 Problemas tericos del anlisis de requerimientos
La ingeniera de requisitos cada vez cobra mayor importancia tanto en la academia como en
la industria, la razn de esto es que cada vez se espera que existan ms funciones centradas
en el usuario, de mayor calidad y seguridad, por tanto es importante comprender las
situaciones que afectan dicha prctica [19]. Sin embargo, un enfoque de trabajo limitado a
los aspectos meramente tcnicos no aseguran el xito del producto y por ende se hace
necesario conocer la forma en cmo se realiza la interaccin entre hombre-computador
[20]. Por otra parte existen aspectos geogrficos en los cuales los equipos de software se
encuentran distribuidos de manera global y uno de los inconvenientes que puede afrontar la
industria es responde a la pregunta Qu tcnica de elicitacin de requisitos de software
se debera aplicar cuando el cliente y/o usuario se encuentra ubicado de manera remota?
[21]. A continuacin se describirn algunos referentes tericos relacionados con los
principales inconvenientes que se presentan en esta rea:
En gran nmero de casos, las empresas a pesar de conocer la importancia de la ingeniera
de requerimientos optan por realizar de forma emprica esta actividad. Como lo menciona
Toni Granollers La comunicacin con los usuarios es un aspecto prioritario para las
empresas que desarrollan sistemas software; aun as confan ms en la experiencia
acumulada que no en la aplicacin de mtodos pensados para capturar la experiencia de los
usuarios y sus verdaderas necesidades(); sin embargo, se suele dar culpabilidad al
usuario por no describir correctamente sus necesidades, que cambian de pensamiento
fcilmente, que tienen diferentes puntos de vista o simplemente que stos no saben cmo
disear un producto interactivo. Lo que nunca piensan es que si hubieran aplicado
correctamente las tcnicas de anlisis de requisitos centradas en los usuarios se habran
ahorrado estos problemas y los usuarios estaran satisfechos [22]; sin embargo, pese a la
importacin de especificacin de requisitos y que esta es una tarea bien entendida an se
realiza seleccin de tcnicas de forma subjetiva, esto se debe a dos razones: 1. El
conocimiento con respecto a la cantidad de tcnicas disponibles actualmente es limitado, lo
que quiere decir que an desconocen una gran cantidad de tcnicas, 2. La informacin de la
que disponen en relacin a las tcnicas es de tipo procedimental (es decir centrada en la
tcnica), siendo la informacin pragmtica(es decir centrada en cuando usar la tcnica) casi
inexistente [23].
Adems de esto se observa como las pequeas empresas manejan sus requerimientos de
forma que no pareciera guardar relacin con lo que se dice en los textos, y gran parte de
estas empresas pareciera no interesarles las investigaciones actuales que se realizan en esta
rea [24]. Es comn ver como en las pequeas empresas manejan la ingeniera de requisitos
de forma diferente, cada una de las empresas realiza la elicitacin y comunicacin de
requerimientos con diferente grado de planificacin, estructura y documentacin, y ellos
consideran que cada eleccin es natural, del mismo modo la diversidad en la prctica de los
requerimientos se da debido a la adaptacin a nichos de mercado de cada empresa [25].
Es de mencionar que la calidad del software depende de la calidad de los requisitos y esta a
su vez de las tcnicas utilizadas para elicitacin [25]. No obstante el desarrollo de software
es una actividad en la cual es necesaria la cooperacin y colaboracin de muchas personas.
Como lo menciona Sergio Zapata, no solo intervienen aspectos tcnicos sino tambin
culturales, sociales, econmicos y psicolgicos. Estos aspectos llevan a que la
14
comunicacin entre los ingenieros de requisitos y los usuarios-clientes sea en algunas
ocasiones compleja y puede llevar a desacuerdos culturales, organizacionales, falta de
generacin de confianza mutua o incapacidades para realizar resolucin de conflictos [21].
A pesar que la mayora de empresas aseguran uso de metodologa, esta no se realiza o
aplica de forma correcta. Para el caso de las empresas de software de la ciudad de
Cali(Colombia) el 48.7% de la industria no se establecen criterios para la aceptacin de los
requerimientos, el 43.6% no realizan administracin de requerimientos [10], en la misma
lnea para el caso de Santiago de Chile(Chile) se observa cmo las empresas emergentes no
cuentan con el personal calificado, se cuenta con escasos recursos o no se encuentran roles
definidos en la organizacin [11], de manera similar en Nueva Zelanda se observa como en
la industria no hace uso de herramientas de soporte de la ingeniera de requerimientos y
solo algunas empresas de dicho pas asocian herramientas como Rational, Trac, Together y
Door como herramientas que soportan la ingeniera de requerimientos [26]. A su vez los
principales problemas que ellos identifican son: Cambios en el alcance y requerimientos,
aceptacin del cliente para costos, tiempo y esfuerzo necesarios para la fase de requisitos y
calidad de las especificaciones [26]. Asimismo las tcnicas de entrevista y encuesta suelen
ser las ms usadas para realizar elicitacin [3].
Entre los principales tems relevantes alrededor de la ingeniera de requerimientos se tiene:
Alta frecuencia de revisin de cambios en requerimientos, aumento del nmero de
requerimientos, poca capacidad de confirmar la trazabilidad y cambios en los
requerimientos [15], otro inconveniente es el uso de lenguajes naturales, lo cual genera
ambigedad entre los requerimientos o conflictos entre los interesados [8]. Adems la
insatisfaccin en el anlisis del software puede darse por los siguientes factores: 1. Fallas
no relacionados con tcnicas de elicitacin, 2. Fallas causadas por la falta de efectividad en
las tcnicas de elicitacin, 3. Falta de disponibilidad, lo cual genera mal uso de tcnicas de
elicitacin [27]. Adems factores como el tipo de cliente, la experiencia y aptitudes de los
desarrolladores, las preferencias del fundador, el ambiente del negocio, la distribucin
espacial y geogrfica de las oficinas son factores que influyen en cmo cada compaa
obtiene los requerimientos. [25]
Con respecto a las tcnicas usadas en elicitacin es de mencionar que las entrevistas sirven
para obtener una comprensin general de lo que hacen los stakeholders, como podran
interactuar con el sistema y las dificultades a las que se enfrentan con los sistemas actuales.
A la gente le gusta hablar sobre su trabajo y normalmente se alegran de verse implicados en
las entrevistas; Sin embargo, no son de tanta utilidad para la compresin de los
requerimientos del dominio de la aplicacin. [28]
Del mismo modo en la fase de especificacin de requerimientos es posible que se presenten
muchos inconvenientes, entre estos estn: Los requerimientos no son obvios y viene de
muchas fuentes, son difciles de expresar en palabras (se genera ambigedad), la cantidad
de requerimientos se puede tornar difcil, los requerimientos pueden cambiar a lo largo de
ciclo de vida, los usuarios no pueden explicar lo que hacen, se recuerda los casos de
excepcin pero se olvida lo rutinario, se habla de lo que no funciona, existe un vocabulario
distinto entre usuarios y desarrolladores, se hace uso de los mismos trminos para
diferentes significados, el nivel de detalle es vago, algunos requerimientos son ms
importantes (o estables) que otros, existe relacin entre los requerimientos y por ultimo
15
cada uno tiene funcionalidades nicas y abarcan reas funcionales especficas [29] [30].
Otros mencionan que las metodologas han sido concebidas para sistemas alfanumricos, en
donde no existen atributos espaciales, y que al existir stakeholders heterogneos y dada la
complejidad de la informacin se generan inconvenientes al momento de aplicar la
ingeniera de requerimientos [31].
Otros aspectos complejos relacionados con la elicitacin se presentan a causa de que las
fronteras del sistema no se encuentran bien definidas, los detalles tcnicos pueden
confundir (ms que aclarar), problemas de comprensin por parte del cliente, donde ellos
no estn totalmente seguros de lo que necesitan o tiene dificultades para comunicar sus
necesidades [32].
En sntesis los inconvenientes de la ingeniera de requerimientos presentados en esta
seccin se encuentran relacionados con:
16
mximo de confiabilidad total. Para nuestro caso al obtener un valor aproximado al 0.87 es
posible afirmar que se tiene una confiabilidad aceptable. [18]
Al procesar y contrastar la informacin recolectada con las diferentes tcnicas en las
empresas se observa como estas perciben que poseen un buen proceso para realizar la
ingeniera de requerimientos, esto es ms notorio en temas relacionados con validacin de
requerimientos ante el cliente y la verificacin de dependencias y gestin de cambios
usando matrices de trazabilidad, en donde el grado de aceptacin de las empresas es alta;
Sin embargo se evidencia que es complejo para ellos interpretar de una manera clara las
solicitudes realizadas por los clientes, ms aun cuando en ocasiones los clientes no conocen
totalmente las dificultades o necesidades que desean resolver con el uso de las tecnologas
de informacin. La seleccin de stakeholders en los proyectos es bsica, ya que es comn
delegar a una persona dentro de la organizacin para identificar a los involucrados o
simplemente se dirigen a la persona que paga el desarrollo y como lo menciona Mary Ann
Crow, profesional certificada en PMP identificar los stakeholders, es uno de los ms
importantes pasos para establecer las bases tempranas dirigidas a la posterior planificacin,
ejecucin, as como monitoreo y control de la informacin y comunicacin del proyecto,
para alcanzar el xito en ste [33].
En conclusin los principales inconvenientes que presentan las empresas son:
18
El proceso de ingeniera de requerimientos pudiera ser vista como una especie de caja
negra, donde cada quien trata de realizar su propia implementacin. Esto ocasiona que
realmente el resultado no sea siempre el esperado. La Ilustracin 2 presenta las fases de la
metodologa propuesta por los autores. En el desarrollo de cada una de las fases se toman
elementos y prcticas de CMMI [37], SWEBOK [5], MPIU+a [38], Competisoft [39], ITIL
[40], SOMA [41], METRICA V3 [42].
19
soportado en el aplicativo web creado para esta metodologa. En cuanto al instrumento de
evaluacin este consta de doce tems. Por cada uno de estos se solicit una valoracin bajo
los criterios de suficiencia, claridad, coherencia y relevancia (Este instrumento se encuentra
en el anexo 6 del presente documento). Dicha valoracin fue realizada por cinco expertos
de las instituciones Universidad Nacional de San Juan (Argentina), BHP (Argentina) y
Universidad del Cauca (Colombia)
20
6. PRE-ANALISIS
Resumen
Entradas --
Salidas Creacin glosario de trminos.
Acuerdos de nivel de servicio y confidencialidad.
Poder y conflicto: Poder como relacin reciproca interdependiente entre los sujetos
involucrados, por ende, con enorme influencia e importancia tanto en el mbito
relacional dentro de la organizacin como tambin en la efectividad de la misma.
Liderazgo y toma de decisiones: De qu manera un lder o gua, es responsable para
con su trabajo, compaeros, trabajadores y las decisiones que toma, como tambin
la claridad con que anuncia esta informacin y la buena comunicacin subyacente a
esta, influye y afecta en gran medida a la organizacin.
21
Comunicaciones: Punto primordial dentro de la organizacin, complejo a la razn
de la propia subjetividad, pero que no solo condiciona, sino que afecta y caracteriza
a las organizaciones tanto en su desempeo como relacionalmente segn la manera
en que se aborda, de ello depende, es decir, es fundamental para generar cambios
Cambio e innovacin: Aluden a momentos crticos de la organizacin, los cuales
ponen en riesgo tanto la permanencia como el desarrollo o crecimiento de esta.
Movilizan a la misma, a lograr adaptarse a los cambios de la mejor manera en pro
de evitar su desaparicin [4].
El anlisis de la documentacin de las aplicaciones existentes y afines es una forma
muy til de reunir los requisitos de manera temprana, as como la comprensin y la
captura del conocimiento del dominio, adems de la identificacin de los conceptos
y componentes reutilizables. Estos tipos de investigaciones son particularmente
importantes cuando el proyecto consiste en la sustitucin o mejora de un sistema
heredado existente, o tambin cuando existe algn sistema similar en el mercado y
se quiere observar las funcionalidades y caractersticas que este posee. Los tipos de
documentos que pueden ser tiles para la obtencin de requisitos incluyen los
documentos de diseo y manuales de instrucciones de los sistemas existentes,
formularios en papel y archivos que se utilizan en los procesos de negocio actuales.
Esta labor sirve de apoyo a los ingenieros de requerimientos al facilitar el trabajo en
grupo y la realizacin de entrevistas, ya que se puede utilizar como puntos de
referencia para obtener informacin especfica y detallada, y ayudar en la creacin
de un entendimiento comn entre el analista y las partes interesadas. Estos enfoques
tambin ofrecen la oportunidad de reutilizar las especificaciones y validar nuevos
requerimientos contra otras instancias de dominio [4]. En este punto se logra tener
un entendimiento inicial del modelo de negocio y a partir de este conocimiento se
hace necesario establecer unas pautas que garanticen de cierta manera que la
informacin recopilada en el proceso de elicitacin de requerimientos se encuentre
normalizada y est libre de ambigedades. En este punto se requiere elaborar un
glosario de trminos, el cual contendr la totalidad de expresiones usadas durante el
proceso de elicitacin de requerimientos y el cual deber ser diligenciado y validado
con los stakeholders durante todo el proceso, el formato 0-Glosario_Terminos
describe la estructura del documento usado para dicho glosario (anexo 1: formatos,
instrumentos y herramientas).
22
Presentar a cada persona que fue convocada a la reunin.
Resumir y presentar la informacin relevante. Por ejemplo:
o El propsito del proyecto.
o El alcance.
o Los entregables ms importantes.
o Los riesgos.
o Las suposiciones iniciales.
o La estimacin de esfuerzo y presupuesto.
o Las fechas claves.
Mostrar los roles y responsabilidades del equipo de proyecto y del resto de los que,
en algn momento, estarn involucrados.
Revisar el abordaje general del proyecto y la lnea de tiempo que tomar la
ejecucin. Esto da a la gente una idea de cunto se extender. Particularmente, el
director del proyecto querr asegurarse que las personas entiendan que es lo que se
necesita de ellos para dar soporte al proyecto.
Mostrar los procedimientos de administracin del proyecto. Es importante que cada
uno entienda cmo el gerente o lder del proyecto manejar el programa de trabajo,
los asuntos rspidos, el alcance, los riesgos y otros aspectos ya que mucha gente
juega un rol en esos procedimientos. Por ejemplo, se necesita tener un
procedimiento para manejar las solicitudes de cambios, determinar su impacto en
tiempo y costos y, finalmente, acordar cmo se aprueban o desaprueban dichas
solicitudes. El director no querr lidiar con la gente acerca del procedimiento de
control de cambios una vez que el proyecto se inici. La reunin de Kickoff es el
momento para estar seguro que cada uno entiende, acuerda y acepta cmo sern los
procedimientos.
Discutir y responder cada una de las dudas. La discusin y el intercambio de ideas
no solo puede enriquecer al proyecto sino que permite que las cuestiones especficas
o dudas que las personas puedan tener, sean escuchadas y consideradas.
Confirmar que el proyecto est en proceso.
Los que deberan asistir a la reunin de Kickoff son los miembros del equipo de
seguimiento y de ejecucin, los usuarios claves, tal vez algn proveedor y los que sin ser
parte de la ejecucin estarn involucrados de alguna forma. Por ejemplo: los miembros de
la alta gerencia, los directores y otros [44].
23
o varios clientes. ITIL promueve el uso de los SLA ms hacia el nivel operativo de un
sistema; sin embargo, la metodologa adopta el uso de estos acuerdos con el fin de medir el
nivel de compromiso y desarrollo del proceso de ingeniera de requerimientos, con miras de
que el proceso funcione y fluya de acuerdo a los compromisos que inicialmente se
acordaron en el kick-off [45]. Este proceso inicia con la definicin de requisitos de nivel de
servicio, los cuales deben preocuparse por cubrir principalmente los siguientes aspectos:
24
Por cada una de las acciones identificadas es necesario determinar si actualmente esta se
puede ejecutar eficazmente, en caso de que se detecte algn aspecto a mejorar o solucionar
es necesario llegar al fondo de la raz del problema. Para esta labor la metodologa propone
el uso de las siguientes herramientas:
4
MPIu+a: Modelo de Proceso de la Ingeniera de la usabilidad y de la accesibilidad de Toni Granollers.
25
Ilustracin 3: Ventajas y desventajas de los prototipos de baja fidelidad
Alta fidelidad (high-fidelity o hi-fi): Con los prototipos de alta fidelidad se representan
aspectos ms precisos. Sirven, por ejemplo, para detallar el proceso interactivo global de
una o varias tareas concretas. En la Ilustracin 4 se puede observar ventajas e
inconvenientes al hacer uso de esta categora de prototipos.
Dado que en esta etapa se tiene la idea del problema a un nivel muy superficial se sugiere
utilizar prototipos de baja fidelidad, estos se caracterizan por ser econmicos, rpidos de
construir, rpidos de arreglar y no precisan de tcnicos expertos.
26
El prototipado comprende dos procesos diferenciados:
Se sugiere que se haga uso de esta tcnica como primera herramienta para establecer si
efectivamente los problemas fueron correctamente identificados y entendidos por las partes
involucradas en el proceso, en caso de surgir algn desacuerdo o la incapacidad de realizar
estos bocetos iniciales se sugiere aplicar otra tcnica llamada Storyboards, la cual ayuda a
entender ms el proceso y ver como se adapta la solucin planteada en dicho proceso.
Storyboards [47]: La tcnica del storyboarding bsicamente consiste en una serie de
dibujos o imgenes dispuestas en formato secuencial de vietas que aplicada al diseo de
sistemas interactivos, representan cmo un determinado sistema ser usado durante la
consecucin de una determinada tarea. Muestran la evolucin de la situacin del usuario y
su entorno mientras est interactuando con el sistema y resultan especialmente indicados
para aquellos proyectos en los que la implantacin del nuevo sistema cambiar la forma de
27
trabajar o de realizar ciertas tareas de las personas afectadas por l. Representando de una
manera grfica, eficiente e informal la situacin actual de un determinado contexto, que
ser modificado con la implantacin de un nuevo sistema interactivo, y la situacin futura
que describa cmo cambiar la realizacin de las tareas tras la implantacin del nuevo
sistema. As, con una representacin actual y una futura se favorece la comprensin y
evaluacin por las partes involucradas.
Prototipos de papel [47]: Luego de que se haya verificado con las tcnicas anteriores que
el problema se encuentra correctamente identificado y entendido por las partes
involucradas, es de gran utilidad la aplicacin de esta tcnica. La cual se basa en la
utilizacin de materiales tan bsicos como lpiz, el papel y las tijeras para la creacin de
prototipos simples pero enormemente verstiles.
El objetivo de un prototipo de papel no es probar o verificar lo bonito que es el diseo, sino
que se trata de verificar si los usuarios son capaces de realizar sus tareas con la interfaz
propuesta. La utilizacin de esta tcnica de prototipado no precisa incorporar avances
tecnolgicos; slo es necesario que capture la funcionalidad del sistema y que comunique la
informacin y sus interacciones adecuadamente.
Tal como se observa en la ilustracin 6, la tcnica de prototipado consiste en dibujar en un
papel, sin entrar en grandes detalles estticos, las interfaces que se van a probar y valorar.
Los diferentes estados de la interfaz se van dibujando en hojas separadas y mediante un
proceso de ordenacin que el diseador determina permite que el usuario final interacte
con este material simulando el funcionamiento del sistema. Al realizar un prototipo de
papel se trata de reflejar aquellos aspectos de la interfaz del usuario referidos a las
interacciones que el sistema le proporciona. Esto indica un prototipo de papel que deber
mostrar dos aspectos muy importantes: Uno es la presentacin que hace referencia a qu
elementos proporciona dicha interfaz para la interaccin y el otro es la navegacin en forma
de informacin complementaria con diseo claramente perceptible que facilite la movilidad
durante la fase de evaluacin del prototipo.
28
Ilustracin 6: Ejemplo de prototipos en papel.
Es entendible que en este punto al aplicar esta tcnica los prototipos no sern tan detallados,
puesto que esta etapa del proceso se tiene apenas una visin inicial del problema y de la
solucin a desarrollar puesto que formalmente no se ha iniciado el proceso de elicitacin de
requerimientos, por lo tanto el alcance de esta tcnica se ver delimitado por la informacin
recopilada hasta el momento.
El principal beneficio de la creacin de un prototipo de software es poder obtener
informacin sobre un diseo propuesto en la fase inicial de un proyecto. Esta informacin
puede ser usada para ayudar a refinar los requisitos del proyecto y las especificaciones,
establecer la usabilidad y apoyo de los futuros usuarios. Cuanto estos prototipos sean
aprobados por las partes involucradas en el proceso, es necesario redisearlos de una
manera ms formal, con el fin de puedan hacer parte de la propuesta formal que se va a
entregar al cliente. Para ello se har uso de mockups5, lo cual implica tomar los prototipos
que ya se tienen construidos en papel para disearlos en alguna herramienta computacional.
Algunas de estas herramientas son: Justinmimnd, Flairbuilder, Axure, Foreui Mockingbird,
Mockup Builder, entre otras [49]. En la ilustracin 7 se muestra un ejemplo de mockup
realizado en balsamiq mockups.
5
Mockup: Representacin de la estructura de la informacin, visualiza el contenido y demuestra las
funcionalidades bsicas de una manera esttica
29
Ilustracin 7: Ejemplo de mockup realizado en balsamiq mockups
30
Adicionalmente el modelo se divide en 3 submodelos, dependiendo del conocimiento del
proyecto se aplica determinado submodelo para realizar la estimacin [50].
Entradas externas: Datos o entradas de control al sistema que causan que el sistema
lleve a cabo algn procesamiento.
Salidas Externas: datos o salidas de control que salen del sistema, luego de que un
procesamiento ha sido llevado a cabo.
Peticiones Externas: Solicitudes del sistema que requieren inmediata atencin.
Interfaces Externas: Archivos o programas que salen del sistema.
Archivos Internos: agrupamiento lgico de informacin almacenada en el sistema.
Con cada uno de estos elementos se determina qu tan grande va a ser el sistema a
desarrollar.
Al aplicar esta tcnica se tendr como resultado los puntos de funcin por componente del
sistema, lo cual podr traducirse en la cantidad de esfuerzo requerido para desarrollar dicho
componente, la suma total de los puntos de funcin nos darn el estimado del tamao total
del sistema [50].
31
fidelidad en las estimaciones a medida que se avanza en la planificacin y el diseo del
mismo. Los modelos indicados son:
1. Modelo de composicin de aplicaciones: Este modelo cubre los proyectos
realizados con herramientas modernas de construccin de interfaces grficas.
2. Modelo de Diseo Anticipado: Este modelo est diseado para aplicarse en etapas
iniciales del desarrollo en las cuales la arquitectura del mismo no haya sido
totalmente definida.
3. Modelo de Post-arquitectura: Este es el modelo ms completo incluido en
COCOMO II, y est diseado para aplicarse luego que se ha terminado la etapa de
diseo y luego de que la arquitectura del proyecto se encuentra bien planificada.
La aplicacin de los tres sub-modelos anteriores depende del nivel de conocimiento que se
tiene del proyecto, es decir si no se conoce mucho acerca del proyecto, para una estimacin
inicial se usara el modelo de composicin de aplicaciones , en una etapa ms avanzada del
proyecto, se podra utilizar el modelo de diseo anticipado, y en el momento que se
encuentren diseada la arquitectura del proyecto, se podra utilizar el modelo de post-
arquitectura, estos modelos aumentan en complejidad a medida que se avanza las diferentes
fases del proyecto [50].
Portada
Glosario de trminos: Se incluir el glosario de trminos que ha sido diligenciado
mediante el formato 1P-001 (anexo 1: formatos, instrumentos y herramientas)
Introduccin: Esta seccin tiene como fin ubicar a los lectores en el contenido del
documento, aclarando que se trata de una propuesta de proyecto, el tipo de proyecto
y las condiciones que estarn regulando la ejecucin del proyecto.
Antecedentes: Esta seccin tiene como fin ubicar a los lectores en el contexto en el
cual se desarrollar el proyecto, los aspectos especficos del proyecto se reservarn
para otras secciones, limitndose sta a describir el contexto general para el
desarrollo del proyecto.
Definicin del problema: El propsito de esta seccin es la especificacin clara de
cul es el problema a resolver, no pueden incluirse aspectos de la solucin del
problema.
Objetivo general: Esta seccin describe de manera clara, cul es el objetivo general
que me impulsa a desarrollar el proyecto
32
Objetivos especficos: Los proyectos tienen asociados una serie de objetivos ms
especficos, estos objetivos deben establecerse de manera que sean:
Claros.
Sencillos.
Retadores pero alcanzables.
Medibles.
Acotados en el tiempo.
Asociados con entregables.
Apoyan claramente el objetivo general
Alcance: Esta seccin delimita exactamente qu estar incluido en el proyecto y qu
no. Es trascendental porque marca el contrato entre proponente y contratante
bajo el cual se regir la ejecucin del proyecto.
Entregables: Los objetivos especficos deben estar directamente asociados con los
entregables, estos deben relacionarse con puntos de control en el cronograma. De
manera que se pueda saber con certeza en qu momento del tiempo es que se
materializaran.
Metodologa: La metodologa indica el cmo se va a desarrollar la solucin al
problema, debe ser lo suficientemente detallada de manera que se pueda dar
seguimiento al avance del proyecto. Esta metodologa puede obedecer a estndares
internacionales, nacionales o a metodologas especficas del campo o concebidas
especficamente para este proyecto.
Aspectos metodolgicos pueden incluir:
1. Metodologas de anlisis, diseo y desarrollo de software. Las cuales estn inmersas
en las siguientes categoras [53]:
a. Metodologas no agiles: Las metodologas no giles son aquellas que estn
guiadas por una fuerte planificacin durante todo el proceso de desarrollo;
llamadas tambin metodologas tradicionales o clsicas, donde se realiza una
intensa etapa de anlisis y diseo antes de la construccin del sistema. Estas
incluyen:
i. Metodologas estructuradas: Los mtodos estructurados comenzaron
a desarrollarse a fines de los 70s con la programacin estructurada,
son particularmente apropiadas en proyectos que utilizan para la
implementacin lenguajes de 3ra y 4ta generacin.
ii. Metodologas orientadas de objetos: Su historia va unida a la
evolucin de los lenguajes de programacin orientada a objetos.
Algunas metodologas orientadas a objetos que utilizan la notacin
UML son: Rational Unified Process (RUP), OPEN, MTRICA (que
tambin soporta la notacin estructurada)
b. Metodologas agiles: Un proceso es gil cuando el desarrollo de software es
incremental (entregas pequeas de software, con ciclos rpidos), cooperativo
(cliente y desarrolladores trabajan juntos constantemente con una cercana
comunicacin), sencillo (el mtodo en s mismo es fcil de aprender y
modificar, bien documentado), y adaptable (permite realizar cambios de
ltimo momento). Las principales metodologas giles identificadas son:
33
Extreme Programming, Scrum, Familia de Metodologas Crystal, Feature
Driven Development, Proceso Unificado Rational, una configuracin gil,
Dynamic Systems Development Method, Adaptive Software Development,
Open Source Software Development
2. Estrategia general para atacar el problema (ej. definicin de diferentes fases o etapas
del proyecto).
3. Metodologas de trabajo en grupo y relaciones entre miembros del equipo.
4. Estndares, ambientes, y herramientas de software por utilizar
34
o Modelo de Datos
o Modelo de Implementacin
o Modelo de Despliegue
o Casos de Prueba
o Solicitud de Cambio
o Lista de Riesgos
o Manual de Instalacin
o Material de Apoyo al Usuario Final
o Producto
6.5 Documentacin
Al finalizar la etapa de pre-anlisis se deber contar con los siguientes documentos:
35
7. ELICITACIN
Resumen
Entradas Glosario de trminos.
Acuerdos de nivel de servicios.
Presentacin de la propuesta.
Prototipos de baja resolucin (StoryBoard).
Salidas Clasificacin del proyecto.
Mapa de stakeholders.
Documentacin de resultados tcnicas de elicitacin.
Actualizacin glosario de trminos.
SRS-Software requirement specification.
Gua identificacin de requerimientos
36
7.1.1 Tipo de proyecto idea de negocio
La principal caracterstica que encontramos en estos proyecto est dada por el desarrollo de
un producto para un pblico masivo en un determinado segmento de mercado, estos tipo de
proyectos tambin son denominados StartUp. Los cuales por definicin son
organizaciones temporales en bsqueda de un modelo de negocio escalable y replicable
[55], tambin es comn que para estos proyectos se desconozca como el mercado adoptar
dicho producto y si este tendr xito, esto hace que el grado de incertidumbre sea mayor.
Tal como lo mencionan Merchan, Urrea y Rebollar en el caso de buscar los posibles
stakeholders es necesario identificar cules son los posibles futuros consumidores del
producto o personas con amplio conocimiento en el rea relacionada con el producto; Por
ejemplo si el producto es un desarrollo para dispositivos mviles enfocados al transporte
ser necesario preguntar a los directivos de empresas de transporte y conductores acerca de
ciertos tems de esta rea y a la vez preguntar a los consumidores por las futuras
funcionalidades que esperaran del producto.
Algo importante a tener en cuenta para este tipo de proyectos es que se debe crear versiones
rpidas y sencillas del producto, esto con el fin de verificar la aceptacin en el mercado y
obtener una retroalimentacin pronta, a su vez, es fundamental incluir de manera oportuna
funcionalidades sencillas y tiles para el usuario.
37
Cockburn en Metodologa por proyecto menciona que:
Si al ocurrir un fallo es posible perder una vida humana como consecuencia a este,
se debe asignar el valor L (Life).
Si al ocurrir un fallo existe una importante prdida econmica que puede poner en
riesgo la continuidad de la organizacin asignar el Valor E (Essential money).
Si al ocurrir un fallo existe una prdida econmica la cual no es significativa asignar
el Valor D (Discretionary Money).
Si al ocurrir un fallo se genera tan solo prdida de comodidad en la organizacin
asignar Valor C (confort).
38
Nmero de personas por proyecto Valor
Proyectos entre 1 y 6 personas (p) (1 6) 1
Proyectos entre 7 y 20 personas (p) (7 20) 20
Proyectos entre 21 y 40 personas (p) (21 40) 40
Proyectos ms de 41 personas (p) ( 41) 100
Tabla 4: Valor segn personas por proyecto
Por ultimo para determinar el grado de formalidad del proyecto Cockburn propone crear
una matriz bidimensional en donde se combinan ambos parmetros (criticidad x nmero de
personas) para obtener un cdigo alfanmero [58] [59]. A dicho cdigo alfanumrico le
corresponde una posicin en la matriz bidimensional representado en la ilustracin 8. Para
el caso de esta metodologa se ha adicionado un cdigo de colores (Azul, verde, amarillo,
naranja, rojo) para agrupar los proyectos en cinco categoras. Esto con el fin de crear una
adaptacin para el contexto regional segn los inconvenientes encontrados. En dicha
clasificacin el nivel uno (Azul) representa los proyectos que requieren menor formalidad y
el nivel cinco (Rojo) representa el mayor grado. La tabla 5 representa la agrupacin de las
cinco categoras con cada uno de los cdigos alfanumricos definidos por Cockburn en la
matriz bidimensional.
39
Grado de complejidad Escalas Cockburn incluidas
Nivel 1 (Azul) C6
Nivel 2 (Verde) D6 - C20
Nivel 3 (Amarillo) E6 - D20 - C40
Nivel 4 (Naranja) L6 - L20 - E20 - E40 - D40- D100 -
C100
Nivel 5 (Rojo) L40 - L80 - E80
Tabla 5: Clasificacin de los proyectos para metodologa
40
Ilustracin 9: Mapa de stakeholders
Es importante identificar los principales stakeholders y centrar los esfuerzos en estos. Por
ende citando a Corporate Excellence [61] es importante:
41
Qu inters financiero o emocional tienen en el resultado del proyecto? Es
positivo o negativo?
Qu es lo que ms los motiva?
Qu informacin del proyecto requieren?
Cmo quieren recibir la informacin? Cul es la mejor forma de
comunicarse con ellos?
Cul es su opinin actual del proyecto? Esta opinin, est basada en buena
informacin?
Quin influencia sus opiniones en general? Quin influencia su opinin
sobre el proyecto? Convierte esto a las personas que generan influencia en
Stakeholders? (La ilustracin 9 nos permite identificar y ubicar estos
Stakeholders)
Si es probable que no sean positivos, Cul es la forma de ganar su apoyo al
proyecto?
Si no es probable que se pueda ganar su apoyo al proyecto, Cmo se puede
manejar su oposicin?
En este punto es posible aplicar un cuestionario con el fin de llegar de manera masiva a
varios stakeholders y de esta manera poder identificar sus actitudes. Al diligenciar la matriz
de la ilustracin 10 es necesario usar un cdigo de colores en los cuales, verde representa
personas a favor del proyecto, rojo opositores y naranja los neutrales.
Julio
Mara Clara. Otalvaro.
Manuel
42
Aunque identificar los stakeholder puede ser un proceso complejo, es importante para la
aplicacin de las tcnicas de elicitacin identificar los principales, los cuales para nuestro
caso particular (Realizar elicitacin de requerimientos) debemos centrarnos en los
stakeholders que se ubican en la parte superior de la matriz, sobre las reas de mantener
satisfechos y administrar de cerca.
43
Anlisis de tareas: Permite descomponer tareas en un enfoque de arriba hacia abajo (Top-
down), donde todas las tareas de alto nivel se descomponen en sub-tareas, hasta llegar al
nivel en donde se describen eventos o acciones. El principal objetivo de esta tcnica es
construir jerarquas que permitan ilustrar la interaccin entre los usuarios y el sistema con
las tareas.
Anlisis de dominio: Usada para examinar documentacin y aplicaciones existentes con el
fin de reunir informacin de los requisitos. Es til cuando se tiene sistemas previos
(Sistemas heredados). En esta tcnica es de utilidad la experiencia de los analistas o
persona encargada de los requisitos en sistemas similares. El anlisis de dominio ayuda a
generar un entendimiento comn entre las partes.
Introspeccin: Tcnica la cual requiere que el ingeniero de requisitos tome como base las
creencias de los usuarios y stakeholders hacia el sistema. Es usada solo al inicio de la fase
de elicitacin y es efectiva cuando el personal encargado de los requerimientos conoce el
dominio del negocio y los procesos de la organizacin.
Grilla de reportes: Es usado para categorizar los elementos del sistema en una matriz,
detallando las instancias del sistema y asignado variables correspondientes. Esta labor es
realizada por los stakeholders. Esta tcnica debe ser usada acompaado por un experto en el
dominio del tema.
Ordenacin de Tarjetas (Card Sorting): Corresponde a la ordenacin de una serie de
tarjetas por parte de los stakeholders. Las tarjetas contienen los nombres de dominios segn
su propia comprensin, de cada tarjeta los stakeholders deben ordenarlas y explicar por qu
la ordenacin. Esta tcnica es usada para representar la responsabilidad entre el usuario y
los componentes del sistema, debido a que esta representa un alto nivel de abstraccin.
Laddering: Tcnica la cual usa preguntas cortas para que los stakeholders expresen su
entendimiento del dominio del problema de manera organizada y lgica. Es posible
complementar usando las tarjetas de ordenacin como herramientas para clasificar
requerimientos y re-categorizarlos.
Grupos de trabajo: Los grupos de trabajo constituyen una de las tcnicas ms comunes, se
trata de reuniones colaborativas, sin embargo pueden ser complejidad de organizar dado el
nmero de stakeholders implicados en los proyecto. Es importante obtener cohesin entre
el grupo con el fin de generar un ambiente confortable lo cual permite a los participantes
dialogar de manera abierta.
Lluvia de ideas: Proceso en el cual diferentes stakeholders participan en una discusin
informal para la generacin rpida de ideas. Es usada para exploraciones preliminares del
sistema, en ocasiones permite nuevas e innovadoras soluciones. Es importante tener en
cuenta que no es comn resolver cuestiones relevantes del sistema usando esta tcnica.
Desarrollo de aplicaciones de agregacin (Joint Application Design -JAD): Involucra a
los diferentes stakeholders en donde a travs de discusiones se indaga los problemas
existentes y las posibles soluciones, su diferencia con la lluvia de ideas consisten en que el
principal objetivo a indagar se encuentra definido. El foco de esta reunin es centrarse en
necesidades y deseos del negocio.
44
Taller de requerimientos: Nombre genrico impartido al grupo de talleres donde se
buscan los requerimientos de software. Existen diferentes tcnicas que permiten obtener
los requerimientos en talleres. Es de suma importancia involucrar a los stakeholders de
diferentes arias, esto con el fin de obtener requerimientos de manera colaborativa.
Etnografa: Basado en el estudio de las personas en el ambiente natural. Su principal
objetivo es recolectar informacin de las actividades que realizan en la organizacin. Esta
tcnica es til para fortalecer factores de usabilidad y contextos colaborativos con el
sistema. Resulta una tcnica muy til para la creacin de nuevos sistemas.
Observacin: Tcnica usada en la etnografa, basada como su nombre lo indica en la
observacin directa sobre el(los) problema(s) a resolver. Esta tcnica usa como
complemento entrevistas y anlisis de tareas.
Anlisis de protocolos: Tcnica en la cual las personas dialogan en voz alta sobre las
acciones que llevan a cabo en su entorno y los procesos que existen detrs de estas. El uso
de esta tcnica permite obtener informacin especfica del problema.
Aprendiz: Para realizar esta tcnica es necesario que exista al menos una persona que se
involucre en las tareas actuales y cotidianas de la organizacin, esto realizado bajo la
supervisin de un usuario experto. Es de suma importancia que la persona se inmiscuya en
el mundo real de las actividades del negocio.
Prototipo: Tcnica que permite obtener retroalimentacin por parte de los stakeholders,
adems es comn que los prototipos sean dados en conjunto con otras tcnicas de
elicitacin como las entrevistas o tcnica JAD. Es una tcnica usada para desarrollar
interaccin humano-computador o cuando los stakeholders no se encuentran familiarizados
con la solucin. Existen diferentes mtodos para realizar prototipos como lo son
Storyboards y aplicaciones ejecutables. Los prototipos motivan a generar sistema con mejor
interaccin para usuarios.
Enfoques basados en metas: Consiste en identificar las metas de alto nivel (Basado en los
objetivos deseados) y estos descomponerlos en sub-objetivos, refinarlos con la intensin de
llegar a requerimientos individuales. El enfoque de esta tcnica est en representar detalles
entre las entidades del dominio, requerimientos y objetivos del sistema.
Escenarios: Son ampliamente utilizados para obtener los requisitos, consiste en una
narrativa y especificacin del actual y futuro proceso incluida acciones e interacciones entre
los usuarios y el sistema. Es una tcnica usada para entender y validar los requerimientos,
as como el desarrollo de pruebas.
Puntos de vista: permite ver el modelo desde diferentes puntos de vista con el fin de
desarrollar una visin completa y coherente del sistema, por ejemplo un sistema puede ser
descrito en trminos de operacin, implementacin e interfaces visuales. Usado para
soportar la organizacin y priorizacin de requerimientos.
Cada una de las tcnicas mencionadas cumple una funcin especfica para la elicitacin de
requerimientos. En la tabla 6 se puede observar cuales son los enfoques de algunas de las
45
tcnicas segn Aurum y Wohlin [4], asimismo la matriz representada en la tabla 7 presenta
los complementos y alternativas entre tcnicas [4].
Puntos de vista
Escenarios
Etnografa
Grupos de
Entrevista
Prototipos
Objetivos
Dominio
trabajo
Comprender el X X X X X X X
dominio
Identificar el X X X X X X
origen de los
requerimientos
Analizar los X X X X X X X
stakeholders
Seleccionar las XX X X
tcnicas y
enfoques
Elicitacin de X X X X X X X X
requerimientos
Tabla 6: Tcnicas y enfoques
Puntos de vista
Escenarios
Etnografa
Grupos de
Entrevista
Objetivos
Prototipo
Dominio
trabajo
Entrevista C A A A C C C
Dominio C C A A A A A
Grupos de A C A C C C C
trabajo
Etnografa A A A C C A A
Prototipo A A C C C C C
Objetivos C A C C C C C
Escenarios C A C A C C A
46
Puntos de vista C A C A C C A
Tabla 7: Complementos y alternativas entre tcnicas, tcnicas complementarias (Representadas con la letra C) y
alternativas (Representadas con la letra A)
Otra forma de usar las tcnicas de elicitacin es observar segn la definicin de cada una,
cul es su finalidad. Para esto los autores del presente documento toman de referencia la
definicin descrita en Engineering and managing software requeriments [4] y con esto
proponen agruparlas en las siguientes categoras: obtencin de datos generales, obtencin
de datos especficos, validacin de requerimientos, identificacin de prioridades y tcnicas
orientadas a la experiencia del usuario (Usabilidad). Dicha agrupacin se representa en la
tabla 8.
Validacin de
Obtencin de
Obtencin de
requerimient
Priorizacin
Usabilidad
especficos
generales
datos
datos
os
Entrevista X
Lluvia de ideas X
Grilla de reportes X
Anlisis de protocolos X
Etnografa X
Observacin (*) X
Prototipos X X
Escenarios X
Puntos de vista X
Tabla 8: Tcnicas vs objetivos propuestos para la metodologa
47
7.3.3 Tipo de proyecto desarrollo a la medida.
Al momento de realizar el proceso de elicitacin de requerimientos es importante
seleccionar las tcnicas que se deben aplicar, para el caso de la presente metodologa las
tcnicas deben ser seleccionadas dependiendo del nivel de formalidad del proyecto descrito
en la tabla 5 (Seccin clasificacin del proyecto literal 7.1.2). Cada una de las tcnicas ha
sido seleccionada con el objetivo de simplificar el proceso de elicitacin para los primeros
niveles segn la clasificacin del proyecto y a la vez no perder rigurosidad en los niveles
ms altos. Se toma como base los fundamentos y clasificaciones dados por Aurum y
Wohlin [4] para segmentar las tcnicas y sus enfoques (representando en la tabla 6), as
mismo los complementos y alternativas entre las tcnicas (tabla 7) y el anlisis propuesto
en la presenta metodologa para las tcnicas vs objetivos (tabla 8).
En cada uno de los niveles se busca obtener diversidad de tcnicas, las cuales permitan
obtener datos generales y especficos, identificar la prioridad de los requerimientos,
abstraer informacin para la usabilidad del producto, validar los requerimientos,
comprender la interaccin con el usuario, identificar los stakeholders y describir los
componentes en el sistema. Las tcnicas que se deben aplicar para cada nivel se encuentran
detalladas en la tabla 10. En cada una de las fases se incluye tcnicas relacionadas con
protitipado (tomado como aparte de la metodologa MPIU+a [65]) con la intencin de
identificar elementos relacionados con la usabilidad.
De cada una de las tcnicas aplicadas es necesario generar un registro con los resultados
obtenidos al aplicar dicha tcnica, para esto se ha dispuesto el formato 2E-001 disponible
en el anexo 1.
48
Anlisis de protocolos. Obtencin de datos especficos.
Grilla de reportes (*). Obtencin de datos especficos.
Enfoque basado en metas. Obtencin de datos especficos (Dominio
requerimientos y objetivos del sistema).
Anlisis de tareas. Interaccin entre el usuario y el sistema.
Prototipos. Validacin y usabilidad.
Etnografa. Usabilidad.
Puntos de vista. Priorizacin.
Introspeccin (*). Aproximacin tcnica hacia la solucin.
Entrevista, lluvia de ideas y Obtencin de datos generales.
anlisis de dominio.
Cuestionarios. Obtencin de datos generales y puntos
vista Stakeholders.
Anlisis de protocolos y grilla Obtencin de datos especficos.
de reportes (*).
Enfoque basado en metas. Obtencin de datos especficos (Dominio
requerimientos y objetivos del sistema).
Nivel 5 Anlisis de tareas. Interaccin entre el usuario y el sistema.
Prototipos. Validacin y usabilidad.
Etnografa. Usabilidad.
Escenarios. Validacin.
Puntos de vista. Priorizacin.
Introspeccin. Aproximacin tcnica hacia la solucin.
JAD Necesidades y deseos del negocio
Ordenacin de tarjetas. Responsabilidad entre usuario y
componentes del sistema
Tabla 10: Tcnicas segn clasificacin del proyecto
(*)Tcnicas opcionales
49
Para identificar las funciones del sistema es necesario plasmar los requisitos identificados
en el documento 0-SRS
7.5 Documentacin.
Al finalizar la etapa de elicitacin se deber contar con los siguientes documentos:
50
8. ANALISIS
Resumen
Entradas Clasificacin del proyecto.
Mapa de stakeholders.
Documentacin de resultados tcnicas de elicitacin.
Glosario de trminos.
SRS - Software Requirements Specification.
Salidas SRS - Software Requirements Specification.
Matriz de trazabilidad.
Matriz de rastreo
Descomposicin jerrquica.
51
La primera etapa de esta fase consiste en verificar los requerimientos, para esto es posible
aplicar dos tcnicas, las cuales son: el checklist de anlisis y la matriz de interaccin (En
esta primera parte segn sea el caso puede ser necesario aplicar negociacin de
requerimientos). De manera posterior es necesario delimitar las funciones que realizar el
sistema, luego se deben clasificar los requerimientos (Usando descomposicin funcional) ,
lo cual permitir observar el software como una estructura jerrquica a nivel de mdulos
[7]. Asimismo definir los requerimientos funcionales y no funcionales, tambin asignar
prioridad a cada uno de los requerimientos identificados. Por ltimo se describir la
estimacin de costo y tiempo que se debe realizar en el proyecto.
En el caso de los sistemas complejos estos por lo general implican una gran cantidad de
requerimientos y por ende se hace complicado identificar la totalidad de requerimientos
necesarios que satisficieran el sistema. Es por esto que se recomienda seguir un modelo en
espiral, el cual se describe en la ilustracin 12. Esta metodologa se da debido a que durante
el desarrollo del sistema una parte significativa de los requerimientos cambiarn [68], por
esto se recomienda que para los proyectos los cuales se encuentran en nivel tres o superior
se haga uso del modelo en espiral.
52
8.1 Verificacin requerimientos
El propsito de realizar verificacin de requerimiento es garantizar que cada uno de los
requerimientos sea de calidad. Para asegurar esto es necesario que cada requerimiento sea
completo, correcto, realizable, necesario, priorizable, no ambiguo, verificable, conciso e
independiente del diseo [7] [67].
Completo: Debe tener toda la informacin necesario para poder realizar un diseo que
permita implementar la funcionalidad requerida.
Correcto: Describe de manera precisa la funcionalidad a construir, no debe entrar en
conflicto con otros requerimientos. Los usuarios ms expertos del sistema pueden dar fe si
un requerimiento se encuentra completo.
Realizable: Debe de ser posible implementar de acuerdo a las capacidades y limitaciones
del sistema, es necesario tener presente las limitaciones tcnicas tanto en hardware,
software, tiempo y costos.
Necesario: Es algo que el sistema realmente necesita, para verificar este criterio es
necesario conocer el origen del requerimiento.
Priorizable: Se debe indicar que tan esencial es el requerimiento para realizar el producto,
para esto es posible asignar un valor en una escala de 1 a 5 donde 1 representa el grado ms
bajo y 5 el grado ms alto.
No ambiguo: Al leer el requerimiento si y solo si debe generar una nica comprensin al
lector. Toda persona que realice la lectura del requerimiento debe llegar a la misma
interpretacin.
Verificable: Es necesario que exista una forma en la cual se puede determinar el
cumplimiento del requerimiento posterior a la implementacin. Estos pueden ser por medio
de: inspeccin, anlisis, demostracin o pruebas.
Conciso: Debe ser expresado de la manera ms simple posible, no debe mesclar
descripcin de varios requerimientos.
Independencia de diseo: El requerimiento no debe mesclar aspecto relacionados con el
cmo hacer implementacin del software.
Para realizar esta labor es de gran ayuda iniciar con la matriz de trazabilidad (Documento
0-Matriz Trazabilidad, disponible en anexo 1) y la matriz de interaccin (3A-002 - Matriz
de interaccin disponible en el anexo 1: formatos, instrumentos y herramientas), la primera
nos permite identificar el origen de los requerimientos y poder realizar negociacin de
conflictos, mientras la segunda identifica los conflictos entre los requerimientos.
Del mismo modo existen dos tcnicas las cuales permiten asegurar la calidad de los
requerimientos, estas son: Checklist de anlisis y Matriz de interaccin (Tabla 11).
Para los proyectos de nivel 1 y 2 es necesario implementar la tcnica de checklist, mientras
para los proyectos de nivel igual o superior a tres es necesario implementar ambas tcnicas.
53
Con la intensin de localizar los defectos de manera efectiva es necesario que la persona
encargada de verificar dichos criterios sea una persona ajena al grupo que confeccion la
lista de requisitos [67]. Siguiente a la aplicacin de las tcnicas es necesario comunicar los
resultados al personal encargado de la creacin de la lista de requerimientos para sus
respectivas correcciones.
Realizar vnculos entre los requisitos con los objetos de la empresa y el proyecto.
Vincular los requisitos con el origen de este.
Es necesario que todos los proyectos implementen la matriz de trazabilidad (Documento 0-
MatrizTrazabilidad), para este punto de la metodologa es necesario alimentar la
informacin de esta rea en dicha matriz.
54
3A-003 (disponible en el anexo 1: formatos, instrumentos y herramientas), puede ser de
gran utilidad para disminuir la complejidad del uso de estas matrices al tener una matriz por
modulo del sistema. En algunos casos puede ser necesario el uso de herramientas de gestin
especializadas, la ilustracin 13 muestra las principales caractersticas relacionadas con
trazabilidad y creacin de asociaciones de las cuatro herramientas ms importantes segn la
encuesta realizada por INCOSE (International Council on Systems Engineering) [70].
Ilustracin 13: Principales caractersticas relacionadas con trazabilidad y creacin de asociaciones de las cuatro
herramientas ms importantes de gestin de requerimientos [71]
55
definicin de los lmites del sistema debern ser actualizados en el documento 0-SRS en la
seccin de aspectos generales.
8.3 Clasificacin
Existen diversas formas en las cuales es posible realizar la clasificacin de los
requerimientos, para el caso de esta metodologa iniciaremos con la clasificacin entre
requerimientos funcionales y no funcionales, posterior a esta clasificaremos los
requerimientos funcionales por mdulos usando la descomposicin funcional y de manera
final se describir como realizar priorizacin de los requerimientos.
Requerimientos funcionales: Se refiere a las acciones que proveer el sistema, la manera
en como reaccionar dada una entrada particular, en algunas ocasiones tambin describe lo
que no realizara el sistema [7].
Requerimientos no funcionales: No se refieren directamente a las funciones del sistema,
sino de las propiedades que debe tener el sistema, como lo son la fiabilidad, tiempos de
respuesta, capacidad de almacenamiento entre otras. De otro lado tambin define las
restricciones las cuales deber cumplir el sistema [7].
8.3.2 Priorizacin
Es importante indicar la importancia que tiene cada requerimiento en el sistema (Tanto del
lado de los usuarios como para el cliente) [7], esta prioridad deber expresarse como un
valor Alto, medio y bajo. Al realizar priorizacin de requerimientos es importante
determinar Cul aspecto ser usado para realizar priorizacin de los requerimientos? En
este los stakeholders debern decidir si realizan priorizacin basados en la importancia,
penalidad, costo, tiempo, riesgo o volatilidad [4].
56
Del mismo modo es necesario actualizar el valor asignado en trminos de prioridad al
documento 0-SRS (disponible en el disponible en el anexo 1: formatos, instrumentos y
herramientas).
8.4 Estimacin
La estimacin en tiempo y costo de un sistema es uno de los principales inconvenientes que
se presentan, debido a que se desconoce con exactitud el esfuerzo que ser necesario
realizar para finalizar el sistema en buen termino
Para facilitar esta labor es importante pensar cada requerimiento funcional como una
actividad a realizar necesaria a satisfacer dentro de un proyecto, por lo tanto es necesario
estimar el esfuerzo a realizar por cada una de las etapas, es por esto que se debe identificar
los recursos (materiales y humanos), el tiempo y costo que sern necesarios utilizar para
cada uno de los requerimientos. [7]
No obstante es importante identificar las dependencias que existen entre los requerimientos.
Se recomienda para todos los proyectos realizar un diagrama de Gantt, el cual permita una
mejor administracin de estos tems (Aunque este tema hace parte de la gerencia de
proyectos, es bueno tenerlo en cuenta ya que al tener identificados los requerimientos en el
anlisis se facilita la estimacin de costos, tiempo y recursos), en la seccin 6.4.3
(Estimacin costo inicial) se puede ver el detalle de esta actividad.
8.5 Documentacin
Al finalizar la etapa de elicitacin se deber contar con los siguientes documentos:
57
9. ESPECIFICACION
Resumen
Entradas Clasificacin del proyecto.
SRS - Software Requirements Specification.
Descomposicin jerrquica.
Salidas Actualizacin SRS - Software Requirements Specification.
Especificacin interfaz subsistemas.
Especificacin en lenguaje Z.
Modelado de flujo de datos.
Modelado de contexto.
Modelado de objetos.
Modelado redes Petri-net.
Prototipos.
59
Ilustracin 15: Costos usando especificacin formal
En el caso de los proyectos de nivel 1 se recomienda adems del documento SRS (Software
requirement Specification), usar como complemento las historias de usuario, similares a las
usadas en las metodologas giles.
El objetivo de la ingeniera de requerimientos es crear y mantener la documentacin
necesaria tanto a clientes como a ingenieros de requerimientos. En teora la documentacin
debe ser interpretada por todos los participantes de la misma manera, sin dar lugar para
ambigedades, sin embargo en la realidad es complejo lograr este cometido, por ende la
documentacin generada en los inicios del proceso debe ser orientada hacia el cliente y al
final hacia el sistema, enfocada al equipo de ingenieros del proyecto (Ilustracin 16
representa la situacin planteada) [28]. En este captulo se explican los modelos y
especificaciones en dos secciones, en la primera seccin se encuentra orientada a la
comprensin del cliente usando lenguaje natural y en la segunda orientada a la comprensin
del sistema de manera formal.
60
9.1 Documentacin con historias de usuario.
Las tarjetas de historias o historias de usuario son herramientas en las cuales se describe de
manera breve los requerimientos de un sistema, se estructuran de modo que la historia
pueda ser realizada en periodo entre los 10 y 20 das, adems son usadas para estimar
prioridades, alcance y tiempo de realizacin [76]. En las metodologas agiles es comn
utilizarlas para especificar los requisitos [77]. Por lo general se componen de tres partes las
cuales son [78]:
61
Pre-condicin Indica que se debe cumplir antes de invocar la funcin.
Post-condicin Indica lo que ser correcto posterior a realizar la funcin.
Descripcin del Indica al detalle cmo debe ser procesada la informacin
requerimiento (Entradas) recibidas en la funcin.
Fuente del requerimiento Describe de donde ha sido obtenido el requerimiento
Tabla 12: Elementos mnimos formato SRS
El nivel de detalle que presenta el documento depende del sistema y proceso de software
usado, es recomendable que los desarrollos realizados por terceros tengan una
especificacin detallada tanto de los requerimientos funcionales como no funcionales [28]
El formato 0-SRS (anexo 1: formatos, instrumentos y herramientas) define el documento
usado en la presente metodologa. En este punto dicho formato deber estar diligenciado en
su totalidad y con la mayor claridad posible, del mismo modo debe existir una descripcin
de las funciones que realizara el sistema a la vez que deben estar descritos todos los
requerimientos funcionales y no funcionales del sistema. Para generar mayor claridad en el
SRS se recomienda complementar con modelados de flujo de datos por cada uno de los
requerimientos funcionales descritos en el SRS.
62
9.3 Documentacin requerimientos del sistema
Son el punto inicial para el diseo del sistema, agregan detalles relacionados con los
requerimientos del usuario. En teora deben describir el comportamiento externo del
sistema y sus restricciones [28]. Por otra parte los requerimientos del sistema nos permiten
organizar los requerimientos de usuario para dar solucin(es) al domino del problema. Sus
principales caractersticas es el alto nivel de detalle impuesto en cada una de las
especificaciones y modelos. [4]
63
Especificacin de interfaz para sub-sistemas
Los grandes sistemas por lo general son desarrollados como subsistemas, en donde cada
uno es tratado como un sistema independiente, por ende es importante especificar como se
realiza la comunicacin entre los sistemas adems de proporciona informacin para que los
desarrolladores conozcan que servicios estarn disponibles en los dems subsistemas y
como acceder a ellos. Es por esto que la especificacin formal de interfaz para sub-sistemas
define como se deben comunicar los diferentes sistemas, esta consta de cuatro componentes
(Ilustracin 19) los cuales son [28]:
1. Introduccin: Declara la clase de la entidad que se est especificando. La clase es
el nombre de un conjunto de objetos con caractersticas comunes. La introduccin
puede incluir declaracin de imports para especificar nombres que definen otras
clases, al importar una especificacin hace que esta clase est disponible para ser
usadas.
2. Descripcin: Se describen las operaciones de manera informal, esto hace que sea
ms fcil de entender. La especificacin formal complementa la descripcin
proporcionado una sintaxis y semntica no ambigua.
3. Signatura: Define la sintaxis de la interfaz de la clase objeto o tipo abstracto de
dato. La signatura describe los nombres de las operaciones, la clase de parmetros y
la clase de resultados de las operaciones.
4. Axiomas: Semntica de las operaciones mediante axiomas que caracterizan el
comportamiento del tipo abstracto de datos.
64
(Constructores), modificar valores (operaciones set) e inspeccionar las instancias
(Operaciones get).
4. Especificar de manera informal las operaciones: Redactar una especificacin
informal para cada operacin.
5. Definir la sintaxis: Definir la sintaxis y parmetros de las operaciones identificando
los parmetros y los tipos de retorno de cada una (Seccin de la signatura de la
especificacin).
6. Definir axiomas: Semntica de las operaciones, definiendo que condiciones son
siempre verdaderas para diferentes combinaciones de las operaciones.
Al realizar especificacin de interfaz para sub-sistemas se reduce la posibilidad de
malentendidos en la comunicacin que existen entre ellos
65
8. Requerimientos de privacidad.
9. Requerimientos de auditoria de seguridad.
10. Requerimientos de seguridad de mantenimiento del sistema.
Especificacin de la fiabilidad: La fiabilidad es un concepto que debe considerarse a nivel
general del sistema. Debido a que los sistemas se encuentran (Por lo general)
interconectados es necesario tener en cuenta que el fallo de un componente puede afectar al
resto del sistema. Por ende se debe considerar tres dimensiones cuando se especifica la
fiabilidad de un sistema en su totalidad, estas son: Fiabilidad de hardware (Probabilidad que
un componente falle y tiempo que tarda en ser reparado), fiabilidad de software
(probabilidad que produzca una salida incorrecta), fiabilidad del operador (probabilidad que
el operador de un sistema cometa un error). La fiabilidad de los sistemas deber
especificarse como requerimientos no funcionales [28]. El modelado usando especificacin
o modelados formales son un complemento preciso que permite definir las especificaciones
de seguridad.
Especificacin en lenguaje Z
Se trata de un lenguaje formal para realizar especificacin, proporciona una notacin
(subdominio sintctico) un universo de objetos (su dominio semntico) y una regla precisa
que define cuales objetos satisfacen cada especificacin. El lenguaje Z (Pronunciado
lenguaje zeta) requiere la combinacin de modelado de datos abstractos con teora de
conjunto y lgica de predicados de primer orden. Es recomendado para especificar sistemas
de seguridad crtica en la cual una falla del sistema puede afectar la salud o seguridad del
personal que lo usan o que se encuentran con proximidad a l. Puede usarse para especificar
estados del sistema y validar los cambios de este ya que existen herramientas automatizadas
que permiten comprobar la especificacin en cuanta inconsistencia o no integridad [79].
Para comprender el lenguaje Z es necesario entender el concepto de mquinas de estado
finito, las cuales sirven para realizar proceso bien definido en un tiempo discreto, reciben
una entrada, hacen un proceso y entregan una salida. Las mquinas de estado finito son
modelos abstractos que usando smbolos permiten saber si un conjunto de smbolos
pertenecen a un lenguaje o pueden generar otro conjunto de smbolos como resultados. [80]
Las mquinas de estado finito se definen como una quntupla {, , 0, , } donde [81]:
es un alfabeto finito.
0 es el estado inicial.
66
Ilustracin 20: Ejemplo de mquina de estado finito
67
normalmente se expresan como sencillos diagramas de bloques en donde cada subsistema
representa un rectngulo con nombre y las lneas indican la asociacin entre los
subsistemas. La Ilustracin 22 presenta un ejemplo para un modelo de contexto de un
cajero automtico [28] .
Modelado de objetos
El modelado orientado a objetos se enfoca en las entidades involucradas ms que en las
transformaciones de entradas/salidas. Se fundamenta en el paradigma de la programacin
orientada a objetos en donde cada entidad del sistema debe ser tratado como un objeto. Los
mtodos (Operaciones) que hacen parte de la definicin del objeto son acciones las cuales
pueden ser ejecutadas por el objeto o pueden llegar a l. Al igual que el paradigma
orientado a objetos el modelado de objetos soporta el uso de envi de mensajes entre
objetos para compartir informacin, adems de las representaciones de encapsulamiento,
jerarqua de clases, herencia simple, herencia mltiple y polimorfismo [79]. Para realizar
representacin de estos se hace uso de los diagramas UML de clases (Ilustracin 23) y
secuencias (Ilustracin 24) [84].
68
Ilustracin 24: Ejemplo diagrama de secuencias UML
69
Las redes Petri estn compuestas por dos elementos un grafo bipartito dirigido y una
marcacin.
El grafo est compuesto por nodos (que representan lugares) y transiciones. Los lugares
son dibujados como crculos que representan condiciones mientras las transiciones son
dibujadas como barras y representan eventos. A cada arco se le asigna un peso positivo. La
estructura de la red puede ser representada por dos matrices. Las filas de las matrices
corresponde a las transiciones y las columnas corresponden a los lugares. Los elementos de
la matriz dan el peso a los arcos salientes [85].
9.4Generacin de prototipos
Los prototipos son implementaciones parcial pero concreta de un sistema, su objetivo es
explorar diversos aspectos en el proceso de la ingeniera de requerimientos, sin embargo los
prototipos no constituyen una demostracin del producto, su finalidad es recoger las
opiniones de los usuarios para retroalimentar y validar en el proceso de ingeniera de
requerimientos. Desde las primeras etapas en el proceso de ingeniera del software es
importante probar multitud de objetos con el fin de verificar funcionalidades, averiguar
aspectos relacionados con la interfaz del sistema, validar la navegacin, probar nuevas
posibilidades tcnicas entre otras, es impensable llegar al final de un desarrollo sin haber
realizado comprobaciones durante el proceso, por ende los prototipos son los mecanismos
que me permiten realizar dichas comprobaciones [38].
El uso de los prototipos como herramienta en la ingeniera de requerimientos permite hacer
partcipe al usuario en el proceso, evaluar el producto desde las primeras fases. Tambin la
creacin de prototipos permite validar el diseo antes de ser creado, adems de ser una
ayuda para que los desarrolladores comprendan los requerimientos y decidan aspectos
sobre la interfaz grfica. La generacin de prototipos es una tcnica que permite enfocar el
diseo centrado hacia el usuario (DCU). El uso de prototipos debe ser implementado de
manera sistemtica desde el inicio hasta la finalizacin del sistema [79] [38]. Entre las
principales caractersticas mencionadas por Toni Granollers son [38]:
70
por cada una de las funciones especificadas en los modelo de flujo de datos descritos en la
seccin 9.2.2 (Sea usando maquetacin digital o StoryBoard de navegacin), esto con el fin
de ilustrar cada una de las funciones que realiza el sistema y que han sido descritas desde el
documento de especificacin de requerimientos (SRS). La Ilustracin 26: Proceso de
creacin de prototipo representa el proceso para la creacin de los prototipos
71
9.4.2 Tcnicas de prototipado
Cuando hablamos de la interfaz de usuario lo hacemos en trminos presentacin e
interaccin (tambin llamado look and feel). La presentacin (look) comprende la
disposicin de los elementos de la interfaz (grficos y texto en la pantalla, botones en un
mando a distancia, entre otros), mientras que la interaccin (feel) hace referencia al
procesamiento y a su rendimiento [38].
En la actualidad es posible hacer uso de software en la nube o de escritorio que facilitan la
aplicacin de las tcnicas mencionadas haciendo uso de creacin de wirframes6 o
mockups7. Algunas de estas herramientas son: Justinmimnd, Flairbuilder, Axure, Foreui,
mockflow, cacoo, ninjamock, balsamiq, Mockingbird, Mockup Builder, pidoco, Mockflow,
hotgloo, inversin, JustPro, Proto.io, inPresso screens, entre otras [49] [86].
Maquetas digitales: Las maquetas digitales son representaciones de calidad en formato
digital que normalmente llenan el espacio que hay entre el prototipo de papel y la versin
definitiva de una interfaz o parte de ella. Es necesario utilizar herramientas como editores
grficos o herramientas para crear wireframes o mockups que permitan realizar estas
maquetaciones. El nivel de detalle de estas permite visualizar de una manera muy
aproximada la versin final del diseo de la interfaz (colores, estructura de navegacin,
botones, etc.). La Ilustracin 27 presenta un ejemplo de maquetacin [38].
6
Representacin esttica en baja calidad de un diseo [113].
7
Representacin esttica de un diseo en calidad media o alta [113].
72
interacta con la interfaz. Esta tcnica permite comprender el flujo del trabajo de los
usuarios, as como el soporte que la interfaz ofrece al usuario en cada paso de la interaccin
durante la consecucin de las diferentes tareas. Los Storyboards Navegacionales pueden
implementarse tanto a partir de secuencias realizadas con prototipos de papel como con
maquetacin digital. Lo que cambiar ser la definicin y el nivel de detalle, as como el
tiempo necesario para su materializacin, repercutiendo principalmente en la percepcin
que el usuario observar [38]. La Ilustracin 28 presenta un ejemplo de un storyboard de
navegacin.
9.5 Documentacin
Al finalizar la etapa de especificacin de requerimientos se deber contar con los siguientes
documentos:
73
Documento: 0-SRS (Anexo 1).
Historias de usuario Tarjetas que describen de manera breve y resumida las
acciones a realizar por un sistema.
Documento: 4E-001 Historia de usuario (Anexo 1).
Especificacin interfaz Descripcin formal de los componentes externos del sistema o
subsistemas sub-sistema
Solo aplica para proyectos nivel 3 o superior.
Especificacin en Especificacin formal en lenguaje de programacin Z,
lenguaje Z enfocado a sistemas crticos.
Solo aplica para proyectos nivel 4 o superior.
Modelado de flujo de Descripcin de cada una de las funciones del sistema.
datos
74
10.VALIDACION
Resumen
Entradas Clasificacin del proyecto.
SRS - Software Requirements Specification.
Descomposicin jerrquica.
Matriz de trazabilidad
Matriz de rastreo
Salidas Actualizacin SRS - Software Requirements Specification.
Acta de aceptacin del documento SRS - Software Requirements
Specification
75
Los documentos de los requisitos pueden estar conformes a la validacin y
procedimientos de verificacin. Los requisitos pueden ser validados para asegurarse de
que el ingeniero del software entiende los requisitos, y es tambin importante para
verificar que un documento de requisitos se conforma con la compaa de los
estndares, y este es comprensible, constante, y finito. Las anotaciones formales ofrecen
la ventaja importante de permitir que las dos caractersticas pasadas sean probadas (en
un sentido estricto, por lo menos). Diversos stakeholders, incluyendo los representantes
del cliente y del revelador deben tambin repasar los documentos. Los documentos de
los requisitos son conformes a las mismas prcticas de gerencia de la configuracin del
software como otro de los puntos relevantes de los procesos del ciclo de vida del
software [5].
76
La funcionalidad del sistema es importante en tanto a que deba estar completamente de
acuerdo con la especificacin de los requisitos. En otras palabras, el diseo del sistema
debe permitir al usuario llevar a trmino las tareas de forma ms fcil, el cual incluye que el
sistema no slo debe realizar apropiadamente las funcionalidades disponibles, sino que
adems debe permitir alcanzar dichas funcionalidades de manera clara en trminos de las
acciones que el usuario necesita realizar para completar dichas tareas. Adicionalmente a la
comprobacin del diseo del sistema en trminos de su capacidad funcional, es importante
comprobar el impacto de dicho diseo sobre el usuario. Ello incluye considerar aspectos
como conocer lo fcil que le resulta su aprendizaje, su manejabilidad en el espectro ms
amplio de usuarios posibles (sin excluir aquellos con necesidades especiales), o identificar,
por ejemplo, aquellas reas del diseo que puedan requerir una sobrecarga de la cantidad de
informacin que el usuario debe recordar. El objetivo final de la evaluacin es la
identificacin de los problemas especficos del diseo, que pueden ser aspectos del mismo
que, estando el usuario en su contexto, causen resultados inesperados o confusin entre
varios usuarios [38].
77
Tabla 13: Ventajas e inconvenientes de la evaluacin realizada en el entorno
78
Aunque el principal beneficio del mtodo es una mejor comprensin del modelo mental del
usuario y la interaccin con el producto, existen otros beneficios como por ejemplo:
conocer la terminologa que el usuario utiliza para expresar una idea o funcin. Esta
terminologa se encuentra descrita en el glosario de trminos (Formato 0-Glosario de
trminos disponible en el anexo 1: formatos, instrumentos y herramientas), por lo cual el
evaluador deber ir anotando estos trminos para posteriormente validarlo con el usuario de
acuerdo a lo registrado en dicho glosario y de ser necesario realizar los ajustes
correspondientes. Este mtodo tiene como ventaja la simplicidad, a su vez requiere poca
experiencia para poderlo llevar a cabo y puede proporcionar ideas muy tiles acerca de los
problemas con una interfaz grfica. [88]
Posterior a la ejecucin de la validacin de prototipos, el ingeniero de requerimientos debe
evaluar los resultados obtenidos tomando los checklist diligenciados (formato 5V-001,
anexo 1: formatos, instrumentos y herramientas). Es necesario identificar los
requerimientos de aquellas tareas que efectivamente no se pudieron ejecutar en el proceso
de validacin o cuya complejidad de ejecutarlos fue alta (mayor o igual a 3), con el fin de
volverlos a llevar a la fase de validacin de requerimientos y estos sean corregidos. Cuando
se realicen los ajustes necesarios a nivel de especificacin y de prototipo es necesario
volver a realizar la ejecucin de la evaluacin de prototipos. Esto es necesario, ya que se
debe garantizar que cada requerimiento es completo, correcto, realizable, necesario,
priorizable, no ambiguo, verificable, conciso e independiente del diseo [7] [67]
79
10.2.1.1 Inspecciones internas
Para llevar a cabo la evaluacin de calidad de los requisitos de manera manual se aplican
tcnicas de lectura que consisten en realizar una lectura detenida de la especificacin de
requisitos al objeto de encontrar irregularidades que sea necesario eliminar [92], una de
estas tcnicas es la inspeccin. La cual se es una tcnica de anlisis que confa al examen
visual los productos de desarrollo para detectar errores, violaciones de recomendaciones
estndar y otros problemas [93].
En este proceso se realiza una verificacin al SRS (Software Requirements Specification,
formato 0-SRS anexo 1: formatos, instrumentos y herramientas) en cuanto a anomalas y
contradicciones, dicha verificacin debe ser realizada siguiendo el procedimiento definido
en la seccin 8.1 (Verificacin requerimientos). En esta etapa el equipo revisor debe
comprobar adems los siguientes aspectos [28]:
80
stakeholders de la importancia de esta etapa. Esto porque los stakeholders pueden
considerar el acuerdo como un ritual necesario pero sin sentido, que es aceptado porque es
la nica forma de que comience el desarrollo. Esta actitud suele ir acompaada de cierto
desinters en la revisin de las especificaciones de requisitos y por lo tanto es probable que
surjan problemas durante el desarrollo. Si el cliente no recibe el producto que esperaba,
suele delegar culpas en la falta de profesionalidad de los encargados del desarrollo de
software, en los cuales confi para que interpretaran correctamente sus necesidades. La
validacin de requisitos se considera como la actividad de la ingeniera de requisitos en la
que stakeholders con la ayuda del ingeniero de requisitos, revisan los productos obtenidos
durante las actividades anteriores para confirmar que realmente reflejan sus necesidades y
que definen el producto deseado [94].
Este proceso incluye tres tareas fundamentales [95]:
1. Validar los requisitos de almacenamiento de informacin y funcionales: Su
propsito es asegurarse que estn representados realmente las necesidades de los
stakeholders.
2. Validar los requisitos no funcionales: El objetivo de esta tarea es validar los
requisitos no funcionales y los posibles conflictos que pudieran aparecer.
3. Cerrar la revisin de los requisitos: Si no han aparecido nuevos conflictos durante el
proceso de validacin, se debe llegar a un acuerdo con el cliente para cerrar la
versin actual de los requisitos.
Para realizar el proceso de validacin de requerimientos la metodologa propone el uso de
la tcnica denominada Walkthroughs (recorridos). Esta es una tcnica de anlisis esttico
en la que un programador o diseador dirige a miembros del equipo de desarrollo u otras
personas interesadas a travs de un segmento de documentacin o cdigo y los
participantes realizan comentarios sobre posibles errores, violaciones de estndares de
desarrollo y otros problemas [93].
Los objetivos de una sesin de walkthrough es encontrar conflictos (defectos, omisiones,
contradicciones) en el producto, de forma que puedan plantearse alternativas y los
participantes aumenten su conocimiento sobre el producto en cuestin. Durante las sesiones
de walkthrough, el autor recorre la documentacin en detalle, permitiendo que los
participantes pongan de manifiesto sus opiniones sobre el mismo [92].
Para la aplicacin de esta validacin se requiere apoyo de por lo menos una persona
adicional, aparte del ingeniero de requerimientos, el cual debe encargarse de registrar en el
formato 5V-004 (disponible en el anexo 1: formatos, instrumentos y herramientas) la hora
de comienzo de la reunin, los conflictos expresados por los stakeholders durante la sesin,
las acciones sugeridas por estos y la hora de finalizacin. Durante la ejecucin de la sesin
de validacin el ingeniero de requerimientos debe recorrer en detalle el documento de
especificacin SRS de forma que los stakeholders puedan plantear las consideraciones que
consideren oportunas, en aquellos casos en que sea necesario resolver dudas o ampliar ms
el detalle de un requerimiento se debe apoyar en los modelos de flujo de datos (seccin
9.2.2 Modelado de requerimientos del usuario), al igual que en los modelos realizados para
los requerimientos del sistema (Modelado de contexto, Modelado de objetos, Modelado con
redes Petri. Seccin 9.3.2 Modelado requerimientos del sistema). Es necesario que el
81
ingeniero de requerimientos evite que los stakeholders busquen soluciones a los conflictos
encontrados, sino que solamente se limiten a exponerlos.
En esta etapa es importante tener en cuenta la revisin del formato 5V-003 (disponible en el
anexo 1: formatos, instrumentos y herramientas), para realizar la validacin de aquellos
requerimientos que durante el proceso de inspeccin interna de requerimientos qued
pendiente de validar con los stakeholders, ya que de esta manera se da la claridad necesaria
a estos requerimientos o pueden surgir aspectos a considerar que deben corregirse o que
representan alguna clase de conflicto.
Como resultado de la reunin pueden detectarse conflictos, los cuales deben llevarse a una
fase de negociacin de requerimientos (seccin 10.2.2), descubrirse nuevos requerimientos
o validar los requisitos ya existentes. De esta manera el documento de especificacin SRS
puede aceptarse, recomendarse cambios o acordarse una nueva sesin de validacin si la
naturaleza de los cambios as lo requiriese.
En caso de que el documento de especificacin SRC sea aceptado, los gestores del proyecto
pueden considerar el acuerdo como una forma de congelar los requisitos, y de esta forma
rechazar cualquier solicitud de cambio posterior que conlleva la necesidad de cambios en la
planificacin o en la asignacin de recursos, argumentando que cualquier consideracin
adicional deber ser llevada a una fase de gestin de cambios (seccin 11 del presente
documento). Para evitar posibles interpretaciones errneas del acuerdo sobre un documento
de requisitos, es necesario considerar este como un punto de partida en el proceso de
desarrollo [94]. Cerrando as el acuerdo por medio del acta de aceptacin del documento de
especificacin de requisitos, encontrada en el formato 5V-008 (disponible en el anexo 1:
formatos, instrumentos y herramientas).
Hacer explcitos los conflictos y evitar los conflictos emocionales entre los
participantes.
Hacer explcitos para cada conflicto las alternativas, las argumentaciones y las
razones subyacentes que los provocan.
Tomar las decisiones correctas a partir de un consenso en los resultados de la
negociacin entre la mayora de los participantes.
82
Asegurarse de involucrar a las personas adecuadas en el momento adecuado y evitar
las renegociaciones innecesarias
10.2.2.1 Pre-Negociacin
Las actividades de esta fase son: la definicin del problema de negociacin, la
identificacin de los stakeholders involucrados, los objetivos de elicitacin de los
stakeholders y el anlisis de los objetivos para encontrar los conflictos. Un problema es un
tema de especial inters en una negociacin, cada problema tiene una amplia gama de
alternativas u opciones, las cuales deben ser acordadas por los negociadores con el fin de
lograr un compromiso [97].
Para identificar los stakeholders involucrados en el proceso de negociacin es necesario
tomar la lista de los problemas o conflictos a tratar, los cuales fueron identificados en la
etapa anterior (10.2.1.2 Validacin de requerimientos con los stakeholders), y se
encuentran registrados en el formato 5V-004 (disponible en el anexo 1: formatos,
instrumentos y herramientas). En este formato se encuentran registrados los stakeholders
que presentaron algn tipo de conflicto con determinado requerimiento, adicionalmente por
cada uno de los requerimientos donde se identific el conflicto es necesario apoyarse en la
matriz de trazabilidad (Formato 0-Matriz trazabilidad, disponible en el anexo 1: formatos,
instrumentos y herramientas) y en la matriz de rastreo (Formato 3A-003, disponible en el
anexo 1: formatos, instrumentos y herramientas), con el fin de buscar posibles relaciones
con otros requerimientos y as poder identificar a otros stakeholders que deben estar
involucrados en el proceso de negociacin.
Es necesario realizar una reunin previa al proceso de negociacin con cada uno de los
stakeholders que presentaron algn tipo de conflicto durante el proceso de validacin de
requerimientos. En esta reunin se debe realizar con el fin de conocer los objetivos que
cada stakeholder tiene sobre cada requerimiento donde este haya identificado un conflicto,
estos objetivos se registran usando el formato 5V-005 (anexo 1: formatos, instrumentos y
herramientas) y se formulan en distintos niveles de granularidad, que van desde un alto
nivel en aspectos tales como las capacidades generales del sistema, los presupuestos, etc, o
la programacin a nivel inferior relacionado a problemas tcnicos tales como entornos de
desarrollo o las plataformas destino. Posteriormente los objetivos de cada stakeholder sern
evaluados en conjunto por los lderes de las reas de proceso de requerimientos, desarrollo
y pruebas en reuniones programadas, con el fin de realizar un proceso conjunto de anlisis
determinando la viabilidad de cada uno de ellos y plantear posibles soluciones. El resultado
de este proceso de evaluacin deber ser actualizado en el formato 5V-005 (Columnas
resaltadas, disponible en el anexo 1: formatos, instrumentos y herramientas).
10.2.2.2 Negociacin
Esta fase consiste en la realizacin de negociacin de requerimientos en bsqueda de la
resolucin de conflictos. En este proceso se citan a una sesin de reunin a los stakeholders
que deben estar involucrados en el proceso de negociacin. Este proceso se enfoca en
resolver la lista de conflictos relacionados en el formato 5V-004 (disponible en el anexo 1:
formatos, instrumentos y herramientas), tomando el anlisis realizado a los objetivos que
83
cada stakeholder plante previamente con el fin de buscar soluciones mutuamente
beneficiosas que sean aceptables para todas las partes [98].
En el desarrollo de esta actividad se debe ir revisando de manera individual cada uno de los
requerimientos que presenta alguna clase de conflicto, presentando la solucin que plante
el equipo de desarrollo a nivel interno y que se encuentra descrita en el formato 5V-005
(disponible en el anexo 1: formatos, instrumentos y herramientas). Esta solucin es
debatida por parte del grupo negociador evaluando su aceptacin siguiendo el proceso
definido en la ilustracin 30. Tras ser aceptada una solucin, esta debe ser redactada y
registrada en el formato 5V-006 (disponible en el anexo 1: formatos, instrumentos y
herramientas) por parte de los participantes de la sesin de validacin, cumpliendo
totalmente los criterios definidos en la seccin 10.1 - Verificacin requerimientos. La
Ilustracin 30: Proceso de evaluacin de solucin de conflictos, basado en QARCC
(Quality Attribute Risk and Conflict Consultant) representa la informacin planteada.
Ilustracin 30: Proceso de evaluacin de solucin de conflictos, basado en QARCC (Quality Attribute Risk and
Conflict Consultant) [99]
84
10.2.2.3 Post-Negociacin:
En esta fase los asistentes a la reunin de negociacin realizan una ltima revisin completa
a los conflictos existentes y a las soluciones dadas, con el fin de analizar y evaluar el
resultado de la negociacin y sugerir una re-negociacin si es necesario. Se puede
determinar si el actual acuerdo satisface las preferencias de las contrapartes y si existe una
mejor solucin posible para realizar una nueva negociacin, sin causar la prdida en los
intereses y objetivos del resto de stakeholders [4].
Una de las ventajas de la etapa del proceso de post-negociacin es que al final de la
negociacin los asistentes deben firmar un acta de reunin, descrita en el formato 5V-007
(disponible en el anexo 1: formatos, instrumentos y herramientas), donde se adquiere un
compromiso que involucra a los stakeholders en etapas procesos de validacin y re-
negociaciones en caso de ser necesarias. Esto es fundamental en aquellos procesos que se
guen por un modelo de ciclo de vida iterativo, ya que los resultados de la negociacin
deben ir evolucionado constantemente y nuevas metas siempre puede surgir y,
posiblemente, provocar nuevos conflictos [94].
Finalmente el documento de especificacin SRS debe actualizarse de acuerdo a los nuevos
ajustes realizados a los requerimientos durante el proceso realizado, posteriormente este
documento debe llevarse nuevamente a un proceso de validacin y negociacin de
requerimientos (punto 10.2), este proceso se repite las veces que sean necesarias hasta que
no existan temas a ajustar al SRS y este se pueda dar por aceptado en el proceso de
validacin.
10.3 Documentacin
Al finalizar la etapa de validacin de requerimientos se deber contar con los siguientes
documentos:
85
11.GESTION DE CAMBIOS
Resumen
Entradas Clasificacin del proyecto.
SRS - Software Requirements Specification.
Descomposicin jerrquica.
Matriz de trazabilidad
Matriz de rastreo
Salidas Acta de evaluacin de la propuesta de desarrollo de los cambios
Propuesta
Los cambios que se realizan para resolver un problema actual en el sistema, por
ejemplo: por razones econmicas, razones polticas, tecnolgicas, entre otros.
Los usuarios cambian de opinin sobre lo que quieren que haga el sistema, ya que
comprenden mejor sus necesidades. Esto puede suceder debido a que los usuarios
inicialmente tenan incertidumbre sobre lo que queran, o porque nuevos usuarios
entran en escena.
Cambios en el entorno que se encuentra implantado el sistema, por ejemplo
aumento en la capacidad y velocidad de los servidores.
Cuando el sistema es desarrollado y puesto en servicio a los usuarios
Conforme se va desarrollando la definicin de los requerimientos, normalmente se tiene
una mejor compresin de las necesidades del usuario. Esto retroalimenta la informacin del
usuario, quien puede entonces proponer un cambio en los requerimientos, tal como se
puede observar en la ilustracin 31.
86
Ilustracin 31: Evolucin de los requerimientos a lo largo del tiempo a causa de cambios en la comprensin del problema.
Desde una perspectiva evolutiva los requerimientos se dividen en dos clases [28]:
A. Requerimientos duraderos: Requerimientos relativamente estables que se derivan
de la actividad principal de la organizacin y que estn relacionados directamente
con el dominio del sistema.
A. querimientos voltiles: Requerimientos que probablemente cambian durante el
proceso de desarrollo del sistema o despus que este se ha puesto en
funcionamiento. Esta clase de requerimientos se divide en cuatro subclases:
87
Ilustracin 32: Proceso realizado para elaborar y evaluar propuestas de cambios
La parte del sistema que hay que modificar est totalmente desarrollada. En este
caso la estimacin del esfuerzo para el cambio es neta.
La parte del sistema que hay que modificar est parcialmente desarrollada. En este
caso hay que descontar el esfuerzo correspondiente a la parte no desarrollada en la
estimacin original del total del esfuerzo estimado para el cambio.
La parte del sistema que hay que modificar est sin desarrollar. En este caso hay que
descontar el esfuerzo correspondiente en la estimacin original del total del esfuerzo
estimado para el cambio.
89
11.4 Presentacin propuesta
La propuesta puede ser presentada de acuerdo a los puntos dados en la seccin 6.4.4
Presentacin propuesta del presente documento.
Es fundamental que la propuesta contenga claramente la estimacin de costo y de esfuerzo
realizada por cada uno de los cambios solicitados, adems de la debida justificacin del
porqu de dicha estimacin. Para ello es de utilidad que se presente un resumen del anlisis
de impacto realizado anteriormente, exponiendo cuales requerimientos y el cmo se ven
afectados por determinado cambio.
90
11.6 Documentacin
Al finalizar la etapa de gestin de cambios se deber contar con los siguientes documentos:
91
12.LA INGENIERIA DE REQUERIMIENTOS EN LA ACADEMIA
92
13.DESARROLLO DE APLICATIVO SOPORTE A LA
METODOLOGIA
Con el fin de dar soporte a la metodologa se construy un aplicativo web, el cual tiene
como fin apoyar el proceso de implementacin de la metodologa en las empresas, al igual
que brindar las herramientas e informacin necesaria para la academia. En el ANEXO 5:
ARTEFACTOS CONSTRUCCION APLICATIVO WEB, se puede observar los artefactos
resultantes realizados durante el proceso de especificacin de requerimientos del aplicativo
construido.
El aplicativo web fue desarrollado en lenguajes PHP, manejando la persistencia por medio
del gestor de base de datos MySQL. En la ilustracin 33 se puede observar la pantalla de
inicio del aplicativo, este se encuentra disponible en la url:
http://mrpyme.appsdecolombia.com/
93
Ilustracin 34: Funcionalidades del aplicativo web
94
Consultar gua acadmica: En ilustracin 36 se observa que la aplicacin permite
realizar la consulta de la gua acadmica, como apoyo a las instituciones
universitarias con el fin de fortalecer el pensum acadmico, mediante la opcin de
men superior subrayada en rojo.
95
Descargar formatos transversales: En la ilustracin 38 se muestran los botones
de descarga de los formatos que son transversales a todas las fases de la
metodologa los cuales son: Formato 0-Glosario de trminos, 0-Matriz
Trazabilidad, Formato 0 - Matriz de Rastreo,0-SRC todos disponibles en el
ANEXO 1: FORMATOS, INSTRUMENTOS Y HERRAMIENTAS.
96
Descargar/Cargar formatos diligenciados: En la ilustracin 40 se muestra la
pantalla de la fase de pre-anlisis. En esta pantalla se observa al frente del nombre
del formato un indicador verde/rojo, el cual se muestra en verde cuando el formato
se encuentra diligenciado y cargado a la aplicacin, rojo en caso contrario.
Adicionalmente al dar clic sobre el nombre del formato, este ser descargado, al
igual que la aplicacin permite cargar el formato. En caso de tener alguna duda
sobre la finalidad y de cmo se diligencia dicho formato, al dar clic sobre el icono
de informacin se abre en una ventana emergente un video en donde se despejan
estas dudas.
97
Mostrar advertencia de formatos sin diligenciar de fases previas: En caso de
que se intente acceder a fases posteriores de la metodologa, el sistema valida que
los formatos obligatorios de las fases anteriores se encuentre diligenciados y
cargados al sistema. En la ilustracin 41 se muestra el mensaje de advertencia,
donde informa que faltan formatos por llenar en la fase de pre-anlisis, ya que
como se puede observar en la fase de pre-anlisis se ha diligenciado y cargado un
solo formato de los dos obligatorios en esta fase. En la ilustracin 41 se puede
observar adems que cada fase posee unos formatos opcionales, los cuales algunos
de ellos pertenecen a fases previas y es opcional el hecho de actualizarlos por
alguna necesidad.
98
14.RESULTADOS Y DISCUSIN
Esta investigacin tuvo como propsito identificar los inconvenientes que se presentan en
el rea de la ingeniera de requerimientos para los desarrollos de sistemas. Se realiz desde
tres perspectivas, en la primera se identificaron los problemas comunes que se presenta en
las PYMES del departamento de Risaralda relacionadas. En la segunda se indago a los
directores de programa y egresados de pregrado en ingeniera de sistemas y carreras afines
por los conocimientos adquiridos relacionados con ingeniera de requerimientos. Por ltimo
desde la tercera perspectiva se realiz una revisin terica para identificar los problemas
ms comunes que se presentan durante la ingeniera de requisitos en Colombia y a nivel
global.
Al analizar e interpretar la informacin recolectada en las PYMES, se deduce que en la
mayora de casos se encuentran conformes con el proceso de ingeniera de requerimientos
que llevan actualmente, sin embargo se descubre que pocas de las empresas presentan un
proceso estructurado para esta rea. En la mayora de casos analizados estas solo se limitan
en aplicar una entrevista o encuesta como tcnicas de elicitacin y algunas veces a
diligenciar documentos ad-hoc establecidos por ellos, sin embargo no existe un proceso
riguroso de elicitacin, modelado, validacin, y gestin de requerimientos, ms aun las
PYMES aplican el mismo proceso y las mismas tcnicas de elicitacin para todos los
proyectos, sin importar la complejidad de estos.
La mayora de las apreciaciones obtenidas hasta este punto no difieren de lo encontrado
desde la perspectiva terica, en donde se identificaron los inconvenientes ms comunes que
se presentan en el proceso de ingeniera de requerimientos en las industrias. Ahora bien, el
panorama del lado de la academia no es muy diferente, ya que la mayora de egresados
manifiestan gran desconocimiento en temas como: tcnicas de elicitacin, validacin de
requerimientos, stakeholders, dependencia entre requerimientos, diseo centrado en el
usuario, modelado y gestin de requerimientos.
Esto nos ha motivado a estructurar un marco de trabajo de manera metodolgica que
permita a las empresas mejorar su proceso de ingeniera de requisitos, la cual fue realizada
pensando en las necesidades que presentan las PYMES de la regin de Risaralda. Esta se
encuentra estructurada por fases, en donde las herramientas que se deben aplicar en cada
una de estas se encuentran segmentadas segn el tipo de proyecto. Esto permite hacer que
sea modular y flexible para las empresas que deseen adoptar esta metodologa. La intensin
de esta es reducir el nmero de errores que se generan en la fase de adquisicin y gestin
de requerimientos. Al disminuir los errores en estas fases se impacta de manera directa
costos y tiempos del desarrollo de un proyecto, haciendo que estos sean menores, logrando
mejorar la calidad del sistema. La metodologa se encuentra apoyada por medio de una
aplicacin que da soporte a los procesos que conforman el marco de trabajo planteado para
la PYMES de la regin de Risaralda.
En relacin con la metodologa se ha validado el contenido de esta usando juicio de
expertos (En la seccin 5.3 Validacin de la metodologa, se puede encontrar ms detalles
99
expertos.
de esta actividad), el grafico 42 presenta el resumen de las valoraciones obtenidas por los
100%
10%
20%
30%
40%
50%
60%
70%
80%
90%
0%
Mejorar la abstraccin de requerimientos
101
15.CONCLUSIONES Y TRABAJOS FUTUROS
102
el diseo centrado en el usuario, las tcnicas para clasificar stakeholders, las herramientas
para medir dependencias e impacto y la medicin de trazabilidad. Son muy bsicos los
conocimientos que adquiere el estudiante sobre las tcnicas para efectuar elicitacin de
requerimiento.
Tomando los resultados obtenidos en el juicio de expertos se evidencia que la aplicacin de
este mtodo en la industria de la regin permitira disminuir los tiempos para el desarrollo
de software, ya que, al aumentar la calidad y gestin de los requisitos se disminuye el
reprocesamiento de trabajo en las diferentes fases del proceso de la ingeniera del software.
De manera similar hemos identificado algunas temticas que son de gran valor para el rea
de la ingeniera de requerimientos. Los temas propuestos a continuacin permitiran
aumentar el nivel de calidad a la vez que se disminuye el tiempo para el desarrollo de
sistemas (dados por los reprocesos). Estas temticas son:
Si bien la ingeniera de requerimientos es un rea de conocimiento joven, cada vez son ms
las investigaciones, publicaciones y dems que pretenden aportar en esta rea, por el
contrario es poco lo que se encuentra en relacin a los aplicativos (software) que apoyen
esta labor, por ende es de inters profundizar en como al hacer uso de aplicativos que den
soporte a este proceso y se aumente la calidad de los requerimientos obtenidos, a su vez
disminuya el tiempo que esto demanda. Estas herramientas pueden ser enfocadas desde dos
puntos de vista. El primero hace referencia a la validacin de los requerimientos de manera
automatizada, ya que en la mayora de casos este procesos es realizado de manera manual y
debe ser ejecutado por el equipo de ingenieros de requisitos, haciendo que esta se convierta
en una tarea que demanda tiempo considerable en la gestin del proyecto, por ende la
creacin de herramientas que de manera autnoma permitan buscar ambigedad o
conflictos entre los requerimiento haciendo uso del anlisis semntico de los
requerimientos fuese de gran ayuda al momento de validar los requisitos del sistema. En
segundo lugar tenemos las herramientas que apoyen la gestin de la ingeniera de requisito
desde sus diferentes fases. La intencin de esta es tener un mejor control, almacenamiento y
gestin de cambios de los requisitos adquiridos durante el ciclo de vida de proyecto.
A su vez es comn ver como cada da toma fuerza el desarrollo de sistemas usando
metodologas agiles como SCRUM, Programacin extrema (XP), entre otras, sin embargo
es necesario identificar como el proceso de ingeniera de requerimientos se puede
involucrar de manera directa con este tipo de metodologas y las herramientas que cada una
de estas usa para su soporte (Un ejemplo de esto es como integrar requerimientos bien
definidos al product backlog usado en SCRUM), esto sin perder su esencia de agilidad en
las entregas que se deben realizar del sistema.
Por ultimo mencionamos la aplicacin de esta metodologa en diferentes sectores de la
PYMES de la regin, y no solo el del software, sino en otras reas de la ingeniera como la
ingeniera ambiental, las telecomunicaciones, la ingeniera elctrica y electrnica entre
otros, esto con el fin de verificar si la metodologa es aplicable para otras reas del
conocimiento que sean afines, ya que los requerimientos estn presente en la mayora de
proyectos y no solo en los relacionados con la generacin de software. Se propone aplicar
la metodologa, analizar los datos obtenidos y con los resultados de estos refinar la
metodologa y as hacerla transversal a diferentes tipos de proyectos de mbito ingenieril.
103
16.ANEXO 1: FORMATOS, INSTRUMENTOS Y HERRAMIENTAS
104
Formato 0-Matriz trazabilidad Fecha creacin dd/mm/aaaa
1 Identificador del Nombre del requerimiento Identificador del guion de Documentos que
Si
requerimiento prueba que permite verificar dan origen y
segn el 0-SRS el cumplimiento del describen el No
requerimiento requerimiento
2 Si
No
3 Si
No
Si
No
105
MODIFICACIONES O ACTUALIZACIONES AL INSTRUCTIVO
106
Formato 0-SRC Fecha creacin dd/mm/aaaa
Autor
Cliente
GENERALES
Propsito
Mencione los objetivos a los cuales debe dar solucin el sistema
Alcance
Describe en detalle los lmites del proyecto, mencione lo que acciones que realizara el sistema y las que no
se han identificado que no se realizaran
Restricciones
Describa las restricciones que debern tener el sistema, tales como metodologas, lenguajes de programacin,
normas particulares, restricciones de hardware, restricciones de software, entre otras
107
Suposiciones y dependencias
Descripcin de aquellos factores que, si cambian, pueden afectar la realizacin de los requisitos.
Se recomienda hacer uso del diagrama de casos de uso para ilustrar las funcionalidades del sistema.
REQUERIMIENTOS
Funcional.
Cdigo del Identificador nico del requerimiento Tipo
requerimiento requerimiento No
funcional.
Alta
Nombre o Breve descripcin de la funcin que realizara el Media
requerimiento Prioridad
funcin
Baja
108
Post- Que cambia en el sistema de manera posterior al ser realizado el requerimiento
Condicin
Funcional.
Cdigo del Identificador nico del requerimiento Tipo
requerimiento requerimiento No
funcional.
Alta
Baja
109
Describa en que documentos (2E-001) se encuentra la informacin que ha llevado a generar el presente
requerimiento
Acuerdo legal
Entre las partes acordamos haber ledo el documento y comprendemos las acciones que se
realizaran y se procede a la firma el da del mes de del ao
Nombre: Nombre:
Firma. Firma.
C.C C.C
110
Formato 0 - Matriz de Fecha creacin/actualizacin matriz dd/mm/aaaa
Rastreo
Matriz de rastreo
Nombre
(Persona encargada de diligenciar Matriz)
Instructivo:
Cada valor R1, R2,, Rn representa un requerimiento (Obtenido de la lista de requerimientos), es necesario escribir el cdigo
del requerimiento al cual se hace referencia. Ejemplo R1: Req001, R2:Req002.
Es necesario analizar cada dupla (fila x columna) segn los criterios de Dependencia y Relacin dbil:
Dependencia: Si el requerimiento de la fila depende del requerimiento ubicado sealado en la columna se deber Resaltar la
casilla con la letra D. Ejemplo: Si R1 depende de R6 resaltarse la casilla con la letra D (celda resaltada en la tabla).
Relacion debil: Si los requerimientos analizados tienen algn tipo de relacin dbil, la cual no genera dependencia, se deber
resaltar la casilla R.
Requerimientos R1:CodReq R2: CodReq R3: CodReq R4: CodReq R5: CodReq R6: CodReq Rn: CodReq
R1: CodReq R D R D R D R D R D R D R D R D
R2: CodReq R D R D R D R D R D R D R D R D
R3: CodReq R D R D R D R D R D R D R D R D
R4: CodReq R D R D R D R D R D R D R D R D
R5: CodReq R D R D R D R D R D R D R D R D
R D R D R D R D R D R D R D R D
Rn: CodReq R D R D R D R D R D R D R D R D
111
Formato 1P-001 Versin X.X Fecha dd/mm/aaaa
TABLA DE CONTENIDO
1. OBJETIVO
2. ALCANCE
3. DEFINICIONES
4. DESCRIPCIN DE LOS ACUERDOS DE NIVEL DE SERVICIO
1. OBJETIVO
Este documento describe los Acuerdos de Nivel de Servicio (ANS) para llevar a cabo el
proceso de ingeniera de requerimientos, estos acuerdos garantizaran un cumplimiento de
los compromisos adquiridos por las partes involucradas.
2. ALCANCE
Aplica a todas las actividades y compromisos descritos en este documento, las cuales en
gran parte las entradas del proceso de Ingeniera de requerimientos. Las salidas sern el
resultado de este proceso, por lo cual se hace estrictamente necesario el cumplimiento de
estos acuerdos de servicio.
3. DEFINICIONES
Acuerdo de niveles de servicio: un Acuerdo de Niveles de Servicio (ANS) es un convenio
formal celebrado entre dos partes con el fin de establecer las caractersticas de un servicio;
as como las responsabilidades y las prioridades de las partes.
IT: Tecnologa de la Informacin
Requerimiento: Caracterstica que se desea, posea un sistema o un software, el cual se
programa con anterioridad y no afecta la operacin normal del servicio.
112
4. DESCRIPCIN DE LOS ACUERDOS DE NIVEL DE SERVICIO
Cumplimiento de citas 99.6% de cumplimiento en Ingeniero requerimientos En caso de que la parte involucrada
programadas por cada una las citas programadas, en caso proveedor: por parte del cliente no logre cumplir
de las partes involucradas de requerir cambiar hora y con el 99.6% de cumplimiento en las
fecha de la cita es necesario citas programadas, deber agregar
que la parte solicitante del como penalidad en la factura del
cambio realice la solicitud via periodo en curso el valor de 1 salario
correo electrnico con por lo Ing. XXX mnimo.
menos 72 horas de
anticipacin frente a la fecha Cel: ###
y hora de la cita actual, la En caso de que la parte involucrada
contraparte deber responder mail: [email protected]
por parte del proveedor no logre
dicha solicitud por lo menos cumplir con el 99.6% de
24 horas antes de la hora y cumplimiento en las citas
fecha de la cita actual. Stakeholder Cliente: programadas, deber descontar como
penalidad en la factura del periodo
en curso el valor de 1 salario
Ing. XXX mnimo.
Cel: ###
mail: [email protected]
113
cliente
Nivel mnimo de
conocimiento previo del
modelo de negocio o acerca
de los temas a tratar en
reunin por cada una de las
partes involucradas
Disponibilidad para la
resolucin de dudas
resultantes luego de tratar el
tema de la reunin por cada
una de las partes
involucradas
Nivel mnimo de
aceptacin, por parte de las
partes involucradas, del
proceso realizado
Definicin de accin a
realizar en caso de que no
se haya cumplido con los
niveles mnimos
Definicin de accin a
realizar en caso de que no
se haya cumplido con los
niveles mnimos de
aceptacin del proceso
realizado
114
FIRMA GERENTE PROVEEDOR: FIRMA SPONSOR DEL PROYECTO:
XXXX XXXX
115
Formato 2E-001 Fecha aplicacin tcnica dd/mm/aaaa
INFORME RESULTADOS APLICACIN TCNICA ELICITACIN
Tipo de Idea de negocio Clasificacin del proyecto Nivel 1.
proyecto Desarrollo a la medida (solo para desarrollos a la medida) Nivel 2.
Nivel 3.
Nivel 4.
Nivel 5
Responsable
aplicacin
Tcnica
aplicada
Existe Si En caso que
evidencia de No existan describa
los resultados el lugar donde se
(Documentos, pueden
audios, videos, encontrar estas
etc)
Nombre de los
stakeholders a
los cuales se les
aplico la
tcnica
Descripcin de resultados
Describa de manera completa los resultados obtenidos al aplicar dicha tcnica
116
Formato 2E-002 Fecha realizacin dd/mm/aaaa
MAPA DE STACKEHOLDERS
Nombre
(Persona encargada de diligenciar el documento)
Stakeholders 1. Stakeholders 1.
Stakeholders 2. Stakeholders 2.
. .
Stakeholders n. Stakeholders n.
Stakeholders 1. Stakeholders 1.
Stakeholders 2. Stakeholders 2.
. .
Bajo Stakeholders n. Stakeholders n.
Alto Bajo
Inters
117
Formato 2E-003 Fecha aplicacin tcnica dd/mm/aaaa
Preguntas generales.
Responder de manera breve e indicar en cuales de los formatos 2E-001 se puede encontrar ms informacin
de cada pregunta.
1 Cul es el proceso
bsico de la empresa?
Referencias
2E-001
2 Qu datos utiliza o
produce este proceso?
Referencias
2E-001
118
4 Cul es el volumen de
trabajo estimado que
reciben cada uno de los
procesos identificados
en el punto anterior?
Referencias
2E-001
5 Quines emplean la
informacin resultante?
Referencias
2E-001
Cuntos empleados
laboran para la
organizacin en el rea
(s) que se pretende
desarrollar el sistema; o
sea, cuntos tienen
relacin directa con el Referencias
proyecto? 2E-001
Existen obstculos o
influencias de tipo
poltico que afectan la
eficiencia del sistema?
Referencias
2E-001
Existen manuales de
procedimientos,
polticas o lineamientos
de desempeo
documentados oficial o
no oficialmente? Si los
hay, Se cumplen en
forma cabal en el 100%
119
de las ocasiones?, es Referencias
decir, se respetan 2E-001
dichos procedimientos?
Referencias
2E-001
Qu reas necesitan un
control especfico?
Referencias
2E-001
Qu criterios se
emplean para medir y
evaluar el desempeo?
Referencias
2E-001
120
Formato 3A-001 Fecha aplicacin tcnica dd/mm/aaaa
CHECKLIST DE REQUERIMIENTO [67]
Nombre
(Persona encargada de
diligenciar checkList)
Duplicar esta seccin las veces que sea necesaria por cada uno de los requerimientos
Nombre requerimiento
Cdigo y nombre del
requerimiento
Independencia del diseo
1 La lista de requisitos anticipa el diseo o incluye informacin Valor
de
Implementacin? 1 2 3 4 5
Concisin
1 Cada requisito es simple o, por el contrario, podra dividirse en Valor
varios
Requisitos? 1 2 3 4 5
Realizabilidad
1 Es realizable el requisito en la plataforma de implementacin? Valor
1 2 3 4 5
Completitud
1 Es claro y describe la funcionalidad completa que debe cumplir Valor
el requerimiento?
1 2 3 4 5
Correctitud
1 Existe algn requisito que contradiga requisitos organizativos Valor
explcitamente formulados?
121
1 2 3 4 5
Necesario
1 El no realizar el requerimiento perjudica algn proceso de la Valor
organizacin o del sistema?
1 2 3 4 5
Ambigedad
1 Es posible interpretar de varias formas un requisito? Valor
1 2 3 4 5
Verificable
1 Es posible idear algn caso de prueba que permita establecer Valor
que el requisito NO SE CUMPLE?
1 2 3 4 5
Independencia de diseo
1 La lista de requisitos anticipa el diseo o incluye informacin Valor
de implementacin?
1 2 3 4 5
Nota: Las escala con valor de 0 a 5 es una escala subjetiva en la cual el evaluador deber
dar una dar una nota exacta segn su criterio, los valores iguales o inferiores a tres debern
ser revisados y ajustados antes de pasar a la siguiente fase y de ser necesario volver aplicar
este checklist.
122
Formato 3A-002 Fecha aplicacin tcnica dd/mm/aaaa
Matriz de interaccin [67]
Nombre
(Persona encargada de diligenciar Matriz)
Instructivo:
Cada valor R1, R2,, Rn representa un requerimiento (Obtenido de la lista de requerimientos), es necesario escribir el cdigo
del requerimiento al cual se hace referencia. Ejemplo R1: Req001, R2:Req002.
Es necesario analizar cada dupla (fila x columna) segn los criterios de Repitencia y Conflicto:
Repitencia: Si los requerimientos analizados trata aspectos iguales se deber Resaltar la casilla con la letra R. Ejemplo: Si
R1 y R6 son requerimientos relacionados con la generacin de facturas deber resaltarse la casilla.
Conflicto: Si los requerimientos analizados trata aspectos los cuales ambos entran en contradiccin se deber resaltar la casilla
C Ejemplo: Si R1 y R6 son requerimientos relacionados con la generacin de pedidos y R1 menciona que los pedidos son
generados envos todos los das a las 8am y R6 que los pedidos deben enviarse al instante deber marcarse con la letra
Requerimientos R1:CodReq R2: CodReq R3: CodReq R4: CodReq R5: CodReq R6: CodReq Rn: CodReq
R1: CodReq R C R C R C R C R C R C R C R C
R2: CodReq R C R C R C R C R C R C R C R C
R3: CodReq R C R C R C R C R C R C R C R C
R4: CodReq R C R C R C R C R C R C R C R C
R5: CodReq R C R C R C R C R C R C R C R C
R C R C R C R C R C R C R C R C
Rn: CodReq R C R C R C R C R C R C R C R C
123
Formato 3A-003 Fecha aplicacin tcnica dd/mm/aaaa
Descomposicin jerrquica
Nombre
(Persona encargada de
diligenciar Matriz)
Requerimientos transversales del sistema.
Indique los requerimientos que son transversales al sistema y por ende afectan ms de un modulo
Requerimientos por mdulos
Modulo Cdigo Nombre requerimiento
Requerimiento
Nombre del modulo
124
Formato 4E-001 NUMERO #
HISTORIA DE USUARIO [108]
Nombre de la
historia
(Nombre breve que
describa la funcionalidad)
Prioridad en negocio Riesgo en desarrollo
(Alta/Media/Baja) (Alta/Media/Baja)
Prioridad en Puntos estimados
desarrollo (Describa un valor
(Alta/Media/Baja) numrico para estimar el
costo de la historia )
Descripcin
Validacin
125
Formato 5V- Fecha aplicacin validacin dd/mm/aaaa
001
CHECKLIST DE VALIDACIN DE PROTOTIPOS
Cdigo del prototipo a
evaluar
Nombre evaluador
(Persona encargada de diligenciar
checkList)
Stakeholders que realizan
la actividad
(Nombres de stakeholders que
hacen parte de la actividad de
evaluacin)
LISTA DE TAREAS A EVALUAR
Descripcin tarea Realizada Nivel de dificultad Observaciones
al ejecutar la tarea
S Valor
No 1 2 3 4 5
S Valor
No 1 2 3 4 5
S Valor
No 1 2 3 4 5
S Valor
No 1 2 3 4 5
S Valor
No 1 2 3 4 5
126
Formato 5V- Fecha aplicacin inspeccin dd/mm/aaaa
002
INSPECCIN INTERNA SRS (SOFTWARE REQUIREMENTS
SPECIFICATION)
rea que realiza revisin:
Nombre revisor:
(Persona encargada de realizar la
inspeccin)
OBSERVACIONES
Id Cdigo Descripcin del error Nivel
erro requerimient
r o
Mayor
Menor
Mayor
Menor
Mayor
Menor
Mayor
Menor
Mayor
Menor
Mayor
Menor
Mayor
Menor
Mayor
Menor
Mayor
Menor
Mayor
Menor
127
Formato 5V- Fecha revisin resultados dd/mm/aaaa
003 inspeccin
REVISIN RESULTADOS INSPECCIN INTERNA SRS - SOFTWARE
REQUIREMENTS SPECIFICATION
rea que realiza revisin:
Nombre revisor:
(Persona encargada de realizar la
inspeccin)
SOLUCIN DE LAS OBSERVACIONES
Id Estado Comentario
erro (Solucionado,
r Aclarado, Validar
con stakeholders)
128
Formato 5V-004 Fecha aplicacin dd/mm/aaaa Hora Hora fin
validacin inicio
requerimientos
FORMATO DE OBSERVACIONES SESION DE VALIDACIN DE REQUERIMIENTOS
Nombre analista de requerimientos:
Nombre anotador:
Nombres de stakeholders que asisten a la sesin de
validacin:
OBSERVACIONES
Id error Cdigo Descripcin del error/conflicto Acciones sugeridas Nombre stakeholder que
requerimient reporta error
o
129
Formato 5V-005 Fecha aplicacin formato dd/mm/aaaa
FORMATO DE RECOLECCIN OBJETIVOS STAKEHOLDER PROCESO NEGOCIACIN
Nombre
stakeholder:
Id error Cdigo Objetivos del stakeholder sobre el Objetivos Observaciones/soluciones planteadas
registrado requerimiento requerimiento viables proveedor
formato 5V-
004
S No
S No
S No
S No
130
Formato 5V-006 Fecha aplicacin dd/mm/aaaa Hora Hora fin
negociacin inicio
requerimientos
FORMATO RESULTADOS SESION DE NEGOCIACIN DE REQUERIMIENTOS
Nombre analista de requerimientos:
Nombre anotador:
Nombres de stakeholders que asisten a la sesin de
negociacin:
OBSERVACIONES
Id error Cdigo Solucionado Solucin/observacin
registrado requerimient
formato 5V- o
004
S No
S No
S No
S No
131
Formato 5V-007 Fecha acta reunin dd/mm/aaaa
ACTA DE REUNIN VALIDACIN Y NEGOCIACIN DE
REQUERIMIENTOS
<<Nombre proyecto>>
Por medio de la presente se deja evidencia de la ejecucin del proceso de negociacin de
requerimientos asociado al proyecto (nombre_proyecto) . Realizada el da
del mes de del ao , iniciando a las :__ y terminando a las : .
Los stakeholders firmantes del presente documento se comprometen a suministrar la
informacin necesaria que sea requerida por parte del proveedor, con el fin de apoyar el
proceso a ejecutar para realizar los ajustes respectivos al documento de especificacin de
requisitos.
Se fija una prxima reunin para realizar un nuevo proceso de validacin/negociacin de
requisitos para el da del mes de del ao , a las :__.
Atentamente,
132
Formato 5V-008 Fecha aceptacin acuerdo: dd/mm/aaaa
Observaciones adicionales
Aceptado por:
Firma cliente o
sponsor:
Firma gerente de
proyecto proveedor:
133
Formato 6C-001 Fecha peticin cambio: dd/mm/aaaa
Origen de la solicitud
Nombre de quien realiza la solicitud rea Cargo
Otros Especifique
Alternativas
134
Formato 6C-002 Fecha acta reunin dd/mm/aaaa
ACTA DE REUNIN RECHAZO/OBSERVACIONES PROPUESTA
DESARROLLO CAMBIOS SOLICITADOS
<<Nombre proyecto>>
Por medio de la presente se deja evidencia de la ejecucin del proceso de evaluacin de
la propuesta de desarrollo de los cambios solicitados, asociada al proyecto
(nombre_proyecto) . Realizada el da del mes de del ao
, iniciando a las : y terminando a las :__.
Los stakeholders firmantes del presente documento se comprometen a suministrar la
informacin necesaria que sea requerida por parte del proveedor, con el fin de ajustar la
propuesta de acuerdo a las observaciones realizadas.
Se fija una prxima reunin para realizar un nuevo proceso de evaluacin de la propuesta
para el da del mes de del ao , a las :__.
Atentamente,
OBSERVACIONES/MOTIVO RECHAZO
135
Formato 6C-003 Fecha aceptacin propuesta: dd/mm/aaaa
Observaciones adicionales
Aceptado por:
Firma cliente o
sponsor:
Firma gerente de
proyecto proveedor:
136
17.ANEXO 2: INFORME RESULTADOS FASE RECOLECCION
DE DATOS
17.1 Introduccin:
La ingeniera de requerimientos es una rea la cual se puede abordar desde
diferentes perspectivas, como lo son los mtodos que definen procesos para su
adquisicin y administracin, los lenguajes o meta-modelos que permiten realizar sus
especificacin, la innovacin que puede presentarse frente la ingeniera de
requerimientos, software existente para la administracin de los requerimientos, entre
otros ; La ingeniera de requisitos es en esencia la aplicacin de principios, mtodos
tcnicas y herramientas en pro de descubrir los requisitos de un producto de software, al
igual que permite el anlisis la documentacin de objetivos, funciones y restricciones de
dicho sistemas, sin embargo existe una falencia, no existe un acuerdo sobre lenguajes,
mtodos o herramientas para su ejecucin [2], ms aun como lo define Ackoff citado por
Antonelli & Oliveros Fallamos ms a menudo porque resolvemos el problema
incorrecto, que porque obtenemos una solucin deficiente del problema correcto [3],
por ende es necesario profundizar en la bsqueda de estrategias que permitan mejorar y
potenciar esta rea. Para la ingeniera de requerimientos es importante ocuparse de la
identificacin de objetivos para un sistema propuesto, la operacin y la conversin de estos
objetivos en los servicios y restricciones [4].
A su vez el mantenimiento del software sostiene el producto en todo su ciclo de vida (desde
el desarrollo hasta las operaciones). Las solicitudes de modificacin se registran y realiza
seguimiento, se determina el impacto de los cambios propuestos, tanto el cdigo y otros
artefactos de software se modifican, se lleva a cabo el proceso de pruebas, y una nueva
versin del producto de software se libera [5]. All es fundamental la trazabilidad de
requerimientos, la cual describe y sigue la vida de un requisito desde su origen, desarrollo,
especificacin, distribucin y uso [6].
El estudio realizado se enfoca en las pequeas empresas de desarrollo de software, ya que
la mayora de este tipo de empresas no posee un musculo econmico fuerte que les permita
implementar y mantener un modelo de calidad como lo es por ejemplo CMMI y por ende
sus procesos de la ingeniera de software no estn claramente definidos. Si nos centramos
en la situacin actual colombiana, es fcil denotar que las pequeas y medianas empresas
son el motor del pas. Segn un estudio del Centro de Investigaciones de la Escuela de
Finanzas y Comercio Exterior de la Universidad Sergio Arboleda, estas generan ms del
50% del empleo nacional, significan el 36% del valor agregado industrial, el 92% de los
establecimientos comerciales y el 40% de la produccin total del pas [26].
Del mismo modo durante el proceso para la creacin de una metodologa que permita
mejorar la obtencin de requerimientos funcionales y no funcionales en las pequeas
empresas de la regin de Risaralda, se opt por conocer la percepcin de las personas
relacionadas en esta rea tanto a nivel laboral como acadmico. Para lograr esta se
estructuraron dos herramientas las cuales fueron encuestas y entrevista, estas forman un
137
componente mixto en la investigacin en la cual se aportan tcnicas cualitativas y
cuantitativas [18]. Para este proceso se estructuraron tres perfiles (De los cuales se deseaba
evaluar su percepcin), los cuales son:
Sector pequeas empresas relacionadas con el desarrollo de software.
Docentes y directores de pregrados universitarios de ingeniera de sistemas.
Egresados de pregrados en ingeniera de sistemas.
Las temticas abordadas para los tres perfiles fueron: Stakeholders, priorizacin,
dependencias, trazabilidad, diseo centrado en usuario (UCD), restricciones,
documentacin, requerimientos funcionales, requerimientos no funcionales, meta-modelos
y tcnicas usadas para elicitacin.
A continuacin se relaciona las herramientas e intenciones para cada uno de los perfiles.
Herramientas
Perfil Intencionalidad.
aplicadas
Pequeas Entrevista Conocer el grado de madures de las empresas
empresas Encuesta desarrolladores de software segn los
empleados de estas.
Sector pregrados Encuesta Identificar como se encuentra estructurada las
universitarios temticas relacionadas con la ingeniera de
requerimientos y como se abordan estas en el
pensum acadmico.
Sector egresados Entrevista Conocer la percepcin de los egresados con
respecto a los conocimientos que fueron
adquiridos en sus pregrados en el rea de la
ingeniera de requerimientos.
Las herramientas mencionadas fueron creadas y aplicadas por los candidatos a magister en
Ingeniera de sistemas y computacin Cristian Andres De la cruz Londoo y Gustavo
Andres Castro Guevara, los cuales durante los meses de mayo a julio de 2014 enviaron y
aplicaron las diferentes herramientas a cada uno de los perfiles mencionados. Cada una de
las herramientas mencionadas se encuentra detallada en las secciones 17.6 y 17.7.
En el caso de las pequeas empresas y los programas de pregrado, se envi invitacin
formal, comunicando el objetivo de la investigacin e incentivndolos a participar en este
proceso. En el caso de las pequeas empresas se enviaron once invitaciones a empresas de
Pereira, que de manera posterior haban realizado procesos similares con el grupo de
investigacin GRANDE de la Universidad Tecnolgica de Pereira. De estas, nueve
empresas respondieron las invitaciones realizadas y se inici un proceso para acordar
fechas en los cuales se realizara la visita. En algunos casos era necesario realizar trmites
relacionados con acuerdos de confidencialidad, en los cuales las empresas aceptaban
participar, sin embargo sus nombres no sern divulgados en los resultados de la
investigacin. Al momento de realizar la visita, la empresa asignaba una persona a la cual
se realizaba la entrevista y a esta misma se solicitaba diligenciar la encuesta. En algunas
138
ocasiones las empresas dispusieron de ms de una persona para diligenciar estas encuestas,
la cual se poda realizar de manera fsica o en lnea a travs de un formulario virtual.
Por otro parte para el caso de las programas de pregrado se enviaron cinco invitaciones a
las principales universidades de Popayn, Manizales y Pereira, que ofertan el programa de
ingeniera de sistemas de manera presencial, de estas solo participo una, diligenciando el
formulario virtual.
Para el caso de los egresados se envi por correo electrnico la informacin y el enlace para
diligenciar la encuesta de manera virtual. De los cuarenta egresados convocados se obtuvo
respuesta de diez y seis egresados, estos correspondan a diferentes universidades de la
regin.
140
de requisitos y calidad de las especificaciones [26]. Asimismo las tcnicas de entrevista y
encuesta suelen ser las ms usadas para realizar elicitacin [3].
Entre los principales tems relevantes alrededor de la ingeniera de requerimientos se tiene:
Alta frecuencia de revisin de cambios en requerimientos, aumento del nmero de
requerimientos, pocas capacidades de confirmar la trazabilidad y cambios en los
requerimientos [15], otro inconveniente es el uso de lenguajes naturales, lo cual genera
ambigedad entre los requerimientos o conflictos entre los interesados [8], adems la
insatisfaccin en el anlisis del software puede darse por los siguientes factores: 1. Fallas
no relacionados con tcnicas de elicitacin, 2. Fallas causado por la falta de efectividad en
las tcnicas de elicitacin, 3. Falta de disponibilidad los cual genera mal uso de tcnicas de
elicitacin [18]. Adems factores como el tipo de cliente, la experiencia y aptitudes de los
desarrolladores, las preferencias del fundador, el ambiente del negocio, la distribucin
espacial y geogrfica de las oficinas son factores que influyen en cmo cada compaa
obtiene los requerimientos [25]. Con respecto a las tcnicas usadas en elicitacin es de
mencionar que las entrevistas sirven para obtener una comprensin general de lo que hacen
los stakeholders, como podran interactuar con el sistema y las dificultades a las que se
enfrentan con los sistemas actuales. A la gente le gusta hablar sobre su trabajo y
normalmente se alegran de verse implicados en las entrevistas. Sin embargo, no son de
tanta utilidad para la compresin de los requerimientos del dominio de la aplicacin [28].
Del mismo modo en la fase de especificacin de requerimientos es posible que se
presenten muchos inconvenientes entre estos estn: Los requerimientos no son obvios y
viene de muchas fuentes, son difciles de expresar en palabras (Se genera ambigedad), la
cantidad de requerimientos se puede tornar difcil, los requerimientos pueden cambiar a lo
largo de ciclo de vida, los usuarios no pueden explicar lo que hacen, se recuerda lo
excepcin pero se olvida lo rutinario, se habla de lo que no funciona, existe un vocabulario
distinto entre usuarios y desarrolladores, se hace uso de los mismos trminos para
diferentes significados, el nivel de detalle es vago, algunos requerimientos son ms
importantes (o estables) que otros, existe relacin entre los requerimientos y por ultimo
cada uno tiene funcionalidades nicas y abarcan reas funcionales especficas [29] [30].
Otros mencionan que las metodologas han sido concebidas para sistemas alfanumricos, en
donde no existen atributos espaciales, y que al existir stakeholders heterogneos y
complejidad de la informacin se generan inconvenientes al momento de aplicar ingeniera
de requerimientos [31].
Otros aspectos complejos relacionados con la elicitacin se presentan ya que las fronteras
del sistema no se encuentran bien definidas, los detalles tcnicos pueden confundir (ms
que aclarar), problemas de comprensin por parte del cliente, donde ellos no estn
totalmente seguros de lo que necesitan o tiene dificultades para comunicar sus necesidades
[32].
141
de software, sin embargo el tipo de aplicaciones, productos, clientes y nichos de mercado
de cada una de estas son diferente.
Con respecto al nmero de empleados se menciona que para el momento de la visita la
empresa ms pequea contaba con 3 empleados y en caso contrario 40 empleados
aproximadamente para la empresa de mayor tamao. En total fueron dieciocho personas de
las empresas los cuales participaron en esta, siendo la empresa 8 con mayor participacin
(27,8% de los encuestados), el grafico 1 representa la distribucin de las empresas por
nmero de empleados.
142
En cuanto al rol que desempeaban dentro de la organizacin es de mencionar que la
mayora de encuestas fueron realizadas a desarrolladores de software con un 55,6%, los
cuales representan que ms de la mitad de las respuestas a esta encuesta fueron dadas por
un nico rol, el grafico 2 representa la distribucin de los roles de las personas encuestadas.
143
57,1% los encuestados manifiestas que se encuentran algo de acuerdo, en contraposicin el
grado de desacuerdo es de tan solo el 7,1% (Grafico 3).
Al contrastar esta respuesta con la entrevista realizada, en donde se indagaba por el
proceso que ellos perciben como ms crtico en la ingeniera del software ellos identifican a
la ingeniera de requerimientos como la etapa ms crtica en el desarrollo de software. Los
entrevistados mencionan que es muy comn que los clientes desconocen sus necesidades
relacionadas con lo el producto de software que solicitan y las caractersticas que este
debera tener, es por esto que los entrevistados manifiestan que es complejo interpretar las
necesidades de los clientes.
Del mismo modo se menciona que nos solo el cliente debe conocer del tema a solucionar,
ya que debe existir un grado de conocimiento del problema por parte de las personas que
realizan el proceso de elicitacin ante el/los clientes. Por otro lado los entrevistados
mencionan que hacen uso de plantillas pre-construidas que ellos han realizado para aplicar
en procesos de elicitacin ante los clientes.
Por el contrario los entrevistados manifiestan que es necesario realizar mejoras en los
procesos relacionados con la estimacin de tiempo, etapa que se da posterior a realizar la
ingeniera de requerimientos.
144
estos datos con la entrevista se observa que la forma que ms se destaca para identificar los
stakeholders en cada proyecto son:
1. Elegir una persona dentro de la compaa para definir los usuarios, por lo general el
gerente o la persona que paga por el desarrollo.
2. Definirlos segn el organigrama de la compaa.
3. Identificar los usuarios finales.
Por otro lado, segn los encuestados al 35,7% les es indiferente realizar clasificacin de
stakeholders en los proyectos. Sin embargo si se suma el grupo de encuestados que se
encuentran algo de acuerdo y los que se encuentran totalmente de acuerdo se obtiene que el
50% se encuentran en acuerdo con la clasificacin que realizan las empresas de los
stakeholders (Grafico 5). En particular se observa que en las entrevistas ellos mencionaban
que en el caso de existir conflictos entre requerimientos no se hace uso de grupos de
stakeholders y por lo general esta decisin es tomada por la persona que tiene ms poder de
decisin por parte del cliente, que a la vez es relacionada con la persona que paga el
desarrollo.
Como lo menciona Mate Despus de obtener los requerimientos de los stakeholders,
deben ser analizados en el contexto de requerimientos de negocio (perspectiva de gestin)
la rentabilidad como tal, la organizacin y los requisitos polticos. Adems, las relaciones
145
entre requerimientos, es decir, dependencias, conflictos, superposiciones, omisiones e
inconsistencias deben ser examinados y documentados [109].
146
Grfico 5, identificacin vs clasificacin stakeholders
147
Grfico 6, personas encargadas de requerimientos en la organizacin
Al preguntar a los encuestados con respecto al uso de tcnicas que permitan definir diseos
centrados en el usuario se observa que ms del 50% se encuentran de acuerdo en relacin a
la creacin de software el cual se enfoca a generar aplicaciones de fcil uso para los
usuarios (Grafico 8).
148
Por otra parte al indagar por las restricciones que debe cumplir el software ms del 35,7%
de los encuestados est de acuerdo con que se define de manera correcta las limitantes con
las cuales debe este. Adems si se suma los encuestados que se encuentran algo de acuerdo
y totalmente de acuerdo se observa que corresponde al 64,3% por ende ms de la mitad de
estos se encuentran de acuerdo con la forma en cmo se definen las restricciones en las
organizaciones (Grafico 9).
Otro punto que se solicito fue la construccin de un documento donde se defina de manera
clara los requerimientos posteriores a ser obtenidos, en esta los encuestados manifestaron
estar en un alto grado de acuerdo con la construccin de estos documentos al interior de
cada compaa y al sumar las respuesta que se encuentran algo de acuerdo y totalmente de
acuerdo se obtiene un 85.7% de resultados positivos (Grafico 10).
149
Grfico 9, documento alcance proyecto.
Acto seguido, se indago por el proceso de validacin ante el cliente, en donde se observa
que la mayora de encuestados se encuentran totalmente de acuerdo con el proceso de
validacin de requerimientos, ms aun, al sumar los encuestados que se encuentran algo de
acuerdo y los que estn totalmente de acuerdo se obtiene un 92,9% lo que muestra un alto
grado de confianza con respecto a la validacin que se realiza de los requerimientos con los
clientes (Grafico 11).
150
Grfico 10, validacin de requerimientos con cliente
Con respecto a las tcnicas que se aplican en los procesos de ingeniera de requerimientos,
los encuestados mencionan con un 57, 1% que las tcnicas que aplican para el proceso de
ingeniera de requerimientos deben cambiar segn el tipo de proyecto, sin embargo esta es
una de las pregunta donde ms se marca la polaridad de las respuesta ya que se encuentran
opiniones divididas entre las empresas (Grafico 12).
151
Grfico 11, cambio de tcnicas segn el tipo de proyecto
Por otro lado ms del 42,9% de los encuestados se encuentran de acuerdo con respecto a la
priorizacin que se deber realizar en cada iteracin. Al sumar las respuestas de los
encuestados que se encuentran algo de acuerdo y totalmente de acuerdo se obtiene un
85,8% de aceptacin (Grafico 13). Al confrontar esta informacin con las entrevistas se
observa que los mtodos para realizar priorizacin que las empresas realizan son las
siguientes
1. Segn criterio y decisin del cliente.
2. Construccin de mdulos que lleven de manera rpida versiones de un producto
funcional.
3. Construcciones de mdulos que permitan al cliente obtener un retorno a la inversin
(ROI) de manera rpida.
La priorizacin temprana indica qu partes del negocio se deben investigar primero, y que
se puede ignorar sin problemas hasta ms tarde, o en algunos casos, abandonar. Adems, se
utiliza una priorizacin inicial para guiar sus iteraciones y la planificacin de la versin
[110].
Ahora bien, entre los entrevistados se menciona el uso de la matriz de trazabilidad como
herramienta usada para realizar trazabilidad y verificacin de dependencias de
requerimientos ante el cliente.
152
Grfico 12, Priorizacin de requerimientos
Ahora bien, para los encuestados es claro definir cules son los requerimientos no
funcionales (atributos de calidad) que debe cumplir el sistema y que estos se deben definir
de forma clara. Por ende el 57% de los encuestados se encuentra algo de acuerdo en que
para las empresas es clavo definir de forma clara los atributos de calidad que debe cumplir
el sistema (Grafico 14). Adems segn las entrevistas realizas estos son obtenidos en las
primeras etapas del proceso de ingeniera del software, en algunos casos las etapas de
anlisis y diseo es en donde ms se identifican estos.
153
Grfico 13, definicin de requerimientos no funcionales.
154
Por otra parte los encuestados manifiestan que en un 35,7% existe un total acuerdo con
respecto a la definicin de las dependencias y su respectivo anlisis de impacto entre los
requerimientos funcionales y no funcionales, incluso al sumar el grupo de encuestados que
se encuentran algo de acuerdo y total de acuerdo se obtiene un 64,3% de encuestados que
se encuentran de acuerdo frente a este tem(Grafico 15).
De modo similar segn las entrevistas realizas en las empresas los mtodos comnmente
usados para analizar y verificar dependencias son:
1. Realizar revisin de todos los requerimientos y verificar cuales de estos se cruzan.
2. Usar formatos que permitan identificar ambigedades en los requerimientos.
3. Usar la matriz de trazabilidad.
155
Grfico 15, creacin de SRS en el proyecto
As mismo al observar el grafico 17 se evidencia que existe una relacin entre la definicin
del alcance del proyecto y los documentos de especificacin de requerimientos (SRS),
segn el grafico la mayora de las empresas dan un importancia similar a la definicin del
alcance como a la construccin del documento de especificacin de requerimientos en el
cual por lo general se incluye el alcance, stakeholders, definicin y descripcin de cada uno
de los requerimientos.
156
Grfico 16, Definicin del alcance vs construccin de SRS
157
Grfico 17, trazabilidad de los requerimientos
Ms aun en el grafico 19 se observa una relacin directa en todas las empresas entre el
proceso de analizar las dependencias de los requerimientos e identificar una trazabilidad de
cada uno de estos.
158
Grfico 18, dependencias anlisis de impacto vs trazabilidad gestin de cambios
Otro punto de analizar es relacionado con las metodologas usadas para el desarrollo de
software en donde ms del 35.7% se encuentran de acuerdo en que el proceso interno de
las compaas son de forma incremental e iterativa, de igual manera los encuestados que se
encuentran totalmente de acuerdo son el 21.4% por ende ms de la mitad de las respuestas
muestran que el desarrollo en la regin corresponde a procesos incrementales e iterativos
(Grafico 20). A su vez los entrevistados manifiestan que hacen uso de las tcnicas
personales y de equipo como TSP y PSP y metodologas agiles como SCRUM y RUP.
159
Grfico 19, proceso iterativo ingeniera
Adems como se observa en el grafico 21 para cinco de las nueve empresas encuestadas
existe una relacin entre el proceso de realizar priorizacin y seleccionar en cada iteracin
los requerimientos a implementar.
160
Grfico 20, Priorizacin vs metodologas incrementales e iterativas.
A su vez los encuestados manifiestan que ms del 35,7% de las empresas est algo acuerdo
con el uso de meta-modelos para especificar los requerimientos del sistema, del mismo
modo si se toman estos con los que se encuentran totalmente de acuerdo se tiene un 64,3%
de encuestados que manifiestan el uso de meta modelos para especificar los requerimientos
(Grafico 22).
161
Grfico 21, uso de meta-modelos
162
Tecnicas de elicitacion usadas por las empresas
Prototipado 7,70 30,7 23,1 38,5
Observacion directa 0 23,08 30,77 30,77 15,38
Etnografia 69,2 23,1 07,7
Grupos de trabajo 15,4 7,7 38,4 15,4 23,1
Muy poco usada
Card sorting 76,9 0 15,4 7,7
Poco usada
Lluvia de ideas
23,1 7,7 30,7 7,7 30,8 Usada algunas veces
Intraspeccion 46,1 23,1 0 15,4 15,4
Usada de manera frecuente
Analisis de dominio 38,5 15,4 30,7 15,4 0 Muy usada
Analisis de tareas 46,1 23,1 15,4 0 15,4
Cuestionario 15,4 7,7 38,4 30,8 7,7
Entrevista 7,70 23,1 69,2
0 25 50 75 100
163
5
4,6 4,6
4,5 4,4
4,1 4,1
4 3,8
3,6
3,5 3,3
3
2,6
2,5
1,5
0,5
0
Empresa 1 Empresa 2 Empresa 3 Empresa 4 Empresa 5 Empresa 6 Empresa 7 Empresa 8 Empresa 9
164
Grfico 23, universidades participantes
165
Grfico 24, tipo de encuestado
Para empezar se menciona que el primer tem a indagar fue si los tpicos que componen la
ingeniera de requerimientos son impartidos en una nica materia, en esta los egresados y
docente manifestaron en un 75% que no es as y estos temas son dados a lo largo de
diferentes materias del currculo (Grafico 27).
166
Grfico 25, tpicos de ingeniera de requerimientos impartidos en nica materia
De manera posterior se indago por las tcnicas de elicitacin y si estas son abordadas
durante el pregrado. En este se observa que el 56,3% de los encuestados manifiestan que si
se imparten tcnicas de elicitacin (Grafico 28).
167
Grfico 26, tcnicas enseadas de elicitacin en pregrados
168
Grfico 27, tcnicas de priorizacin enseadas en pregrado
Por otro lado se observa que los encuestados en un 81,3% desconocen las tcnicas de
diseo centrado en el usuario - UCD (Grafico 30).
169
Grfico 28, tcnicas de diseo centrado en el usuario.
Igualmente con un 56,3% los encuestados manifiestan que no se imparten tcnicas que
permitan a saber cmo debe realizarse la clasificacin de los stakeholders en los proyectos
(grafico 31)
170
Grfico 29, tcnicas para realizar clasificacin de stakeholders
171
Grfico 30, tcnicas/herramientas para medir dependencia e impacto
172
Grfico 31, diferencia entre requerimientos funcionales y no funcionales
A su vez los encuestados con un 93,8% manifiestan que desconocen las herramientas que
permitan realizar la trazabilidad de los requerimientos (Grafico 34)
173
Grfico 32, herramientas para realizar trazabilidad de los requerimientos
174
Tecnicas enseadas segun universidades y
egresados
Prototipado 62,5 37,5
Observacion directa 37,5 62,5
Etnografia 6,3 93,7
Grupos de trabajo 37,5 62,5
Card sorting 0 100
Lluvia de ideas 50 50 Si
Intraspeccion 0 100 No
Analisis de dominio 6,3 93,7
Analisis de tareas 31,3 68,7
Cuestionario 81,3 18,7
Entrevista 93,7 6,3
0 25 50 75 100
175
que debe cumplir el sistema? (Lenguajes de programacin, plataformas, tiempos, etc)
7. Se define de manera clara el alcance del proyecto o producto por medio de un
documento?
8. Se realiza una verificacin a los requerimientos obtenidos ante el cliente antes de
iniciar los desarrollos?
9. Las tcnicas usadas para la obtencin de los requerimientos cambian segn el tipo
de proyecto a desarrollar?
10. Por cada entrega a realizar del producto Se tiene en cuenta realizar priorizacin de
los requerimientos a implementar en cada iteracin?
11. Durante la fase de ingeniera de requerimientos, Quedan claros y definidos los
requerimientos no funcionales (Tambin llamados atributos de calidad) que debe cumplir
el sistema?
12. Al obtener los requerimientos funcionales y no funcionales, Se estima la
dependencia y el anlisis de impacto de estos?
13. Posterior a realizar el proceso de elicitacin, Se realiza un SRS (Software
requirement Specification) donde quedan plasmadas y claras todas las especificaciones del
software?
14. Se realiza una trazabilidad de los requerimientos que permitan documentar la
gestin de cambios durante todo el proyecto?
15. El proceso de ingeniera de requerimientos se realiza de manera incremental e
iterativa?
16. Se hace uso de metamodelos que permitan especificar de forma clara los
requerimientos?
Respuestas 1. Muy en 2. En 3. 4. Algo de 5.
desacuerdo. desacuerdo. Indiferente. acuerdo. Totalmente
de acuerdo.
Seccin: Tcnicas requerimientos
De las siguientes tcnicas planteadas seleccione cuales son impartidas a los estudiantes
como tcnicas para realizar elicitacin de requerimientos
Entrevista
Cuestionario
Anlisis de tareas
Anlisis de dominio
Introspeccin
Lluvia de ideas
Card Sorting (Ejemplo tarjetas clasificatorias usadas en SCRUM)
Grupos de trabajo
Etnografa
Observacin directa
Prototipado
Respuestas 1. Muy poco 2. Poco 3. Usada en 4. Usada de 5. Muy
usada usada algunas manera usada
veces frecuente
176
17.7 Entrevista ingeniera de requerimientos para empresas
# Pregunta
Cul cree usted, segn la experiencia que ha tenido en proyectos de software, que
1
es la etapa ms crtica del proceso completo del desarrollo de software?, Por qu?
Teniendo presente la etapa ms crtica del proceso de desarrollo de software, Cree
2
usted que su empresa se encuentra preparada para afrontar esta etapa?
En los proyectos de software que han realizado que metodologas de desarrollo
3
han implementado?, Con cuales ha obtenido mejores resultados?
En qu etapa del proyecto se logra la identificacin de los requerimientos no
4
funcionales?, En qu nivel de detalle especifican estos tipos de requerimientos?
Cuando est realizando un diseo a la medida y encuentra que el usuario no sabe
exactamente qu es lo que quiere (o necesita segn los problemas que actualmente
5
presente), Qu estrategias cree usted que deben utilizarse para lograr establecer los
requerimientos del sistema?
Qu tcnicas de elicitacin de requerimientos conoce?, cules ha aplicado? Las
6 que no ha aplicado, cules son los motivos por los que no las usado? y Cmo es
el proceso actual usado para la ingeniera de requerimientos?
Para usted que diferencias en cuanto al proceso de ingeniera de software
7 encuentra entre los diferentes tipos de proyecto (desarrollos a la medida/productos
para mercados de masa)?
Suponiendo que ustedes tienen un proceso muy estable de elicitacin de
8 requerimientos, cree usted que existe una receta nica para la labor de elicitacin
de requerimientos, que se adapte para cualquier tipo de proyecto?, Por qu?
Si existe conflicto entre los stakeholders con respecto a un determinado
9
requerimiento Cmo es el proceso que uso para realizar la negociacin de estos?
10 Cmo es el proceso que usa para la identificar los Stakeholders de un proyecto?
En caso de que llegara un proyecto de una complejidad superior a los que ha
manejado, Siente usted que con las tcnicas de elicitacin de requerimientos que
11
ha usado son suficientes para levantar de manera completa los requerimientos del
sistema?
Luego de que se tienen los requerimientos definidos, De qu manera evala usted
12 que no existan contradicciones o errores en la especificacin de estos
requerimientos?
Si usted realiza priorizacin de requerimientos, Qu aspecto usa para realizar esta
13
priorizacin (importancia, costo, tiempo, riesgo, etc)?
Si usted usa gestin de cambios para requerimientos durante el proyecto Cmo lo
14
realiza?
Cuando finalmente tiene la seguridad total de los requerimientos a desarrollar
(aprobado por el cliente), estos pasan a construccin. Dado que para el cliente de
cierta forma todo es urgente y necesario de qu manera se logra establecer por
15
cuales requerimientos se debe iniciar y si surge posteriormente un nuevo
requerimiento, tiene algn mecanismo para identificar que otros requerimientos
afecta esa nueva solicitud?
Suponga que usted se encuentra del lado cliente, que en esta ocasin tiene una
16
necesidad especfica y debe contratar un desarrollo de software a la medida.
177
Cules son los aspectos claves por los cuales elegira al proveedor del producto o
servicio que necesita?
Cunto tiempo en promedio se toma el proceso de la ingeniera de requerimiento
17
durante todo el proyecto?
178
Observacin directa
Prototipado
Respuestas 1. Si 2. No
179
Prototipado
Respuestas 1. Si 2. No
17.10 Conclusiones
En trminos generales las empresas siente que poseen un buen proceso para realizar
ingeniera de requerimientos, esto es ms notorio en temas relacionados con
validacin de requerimientos ante el cliente y la verificacin de dependencias y
gestin de cambios usando matrices de trazabilidad, en donde el grado de
aceptacin de las empresas es alta. Sin embargo se evidencia como es complejo para
ellos interpretar de una manera clara las solicitudes realizadas por los clientes, ms
aun cuando en ocasiones los clientes no conocen en un todo sus dificultades que
desean resolver con el uso de la tecnologa.
La seleccin de stakeholders por las empresas es muy bsica, ya que es muy comn
que ellos deleguen a una persona dentro de la organizacin para identificar los
involucrados o simplemente dirigirse con la persona que paga el desarrollo y como
lo menciona Mary Ann Crow, profesional certificada en PMP menciona que
Identificar los stakeholders es uno de los ms importantes para establecer las bases
tempranas dirigidas a la posterior planificacin, ejecucin, as como monitoreo y
control de la informacin y comunicacin del proyecto, para alcanzar el xito en
ste [33].
Para los programas de pregrado la de ingeniera de requerimientos es un tema que
debera tomarse con ms rigurosidad, primero se evidencia como los tpicos no se
encuentran concentrados en una materia relacionada solo a esta rea y segundo se
nota un grado de desconocimiento en la realizacin de priorizacin de
requerimientos, el diseo centrado en el usuario, las tcnicas para clasificar
stakeholders, las herramientas para medir dependencias e impacto y la medicin de
trazabilidad, por ultimo son muy bsicos los conocimientos que adquiere el
estudiante con respecto a las tcnicas para realizar elicitacin de requerimientos.
Es interesante observar el contraste entre la teora y la prctica, en la cual las
empresa manifiestan un grado de satisfaccin con respecto al proceso de ingeniera
de requerimientos interno de cada una de las empresas, sin embargo al analizar los
procesos (mtodos, tcnicas, herramientas) que aplican se identifica que en la
mayora de casos se est distante de ser modelos los cuales puedan ser replicados
como casos de xitos en otras empresas del sector.
180
18.ANEXO 3: PUBLICACIONES REALIZADAS
Resumen La finalidad de este artculo es mostrar el centered design (UCD), restrictions, documentation,
estado actual del proceso de ingeniera de functional and non-functional requirements, meta-
requerimientos en las pequeas empresas que models and elicitation techniques. In the case of
desarrollan software en el departamento de Risaralda, industry, the average is 4.1 (on a scale of 1-5) from
adems de observar cmo se aborda esta rea desde there, it is concluded that the companies agree in
la academia. Para lograr esto se estructuraron dos some aspects according to their expertise in the
herramientas las cuales fueron encuesta y entrevista, development of engineering of requirements.
asimismo se realiz una bsqueda terica. Se opt
por conocer la percepcin de las personas Keywords: elicitation, industry, methodology,
relacionadas en esta rea, las temticas abordadas requirements, software, stakeholders, techniques,
fueron: Stakeholders, priorizacin, dependencias, tools.
trazabilidad, diseo centrado en usuario (DCU),
restricciones, documentacin, requerimientos 1. INTRODUCCIN
funcionales, requerimientos no funcionales, meta-
modelos y tcnicas usadas para elicitacin. Para el La ingeniera de requerimientos es una rea que se
caso de la industria la media ponderada es de 4,1 (en puede abordar desde diferentes perspectivas, como
una escala de 1 a 5) de lo que se concluye que las lo son los mtodos que definen procesos para su
empresas se encuentran algo de acuerdo con su adquisicin y administracin, los lenguajes o
experticia para el desarrollo de la ingeniera de meta-modelos que permiten realizar sus
requerimientos. especificaciones, la innovacin que puede
presentarse frente la ingeniera de requerimientos,
Palabras clave: elicitacin, herramientas, industria, software existente para la administracin de los
metodologa, requerimientos, requisitos, software, requerimientos, entre otros. La ingeniera de
stakeholders, tcnicas. requisitos es en esencia la aplicacin de
principios, mtodos, tcnicas y herramientas en
Abstract The purpose of this paper is to show the pro de descubrir los requisitos de un producto de
current state of the process of engineering of software, al igual que permite el anlisis, la
requirements in the small companies developing documentacin de objetivos, funciones y
software in Risaralda department, and besides to restricciones de dicho sistemas, sin embargo
check the way how this area of knowledge is existe una falencia, no existe un acuerdo sobre
approached by the academic sector. To do this, we lenguajes, mtodos o herramientas para su
created two tools which were: survey and interviews; ejecucin [1], ms aun como lo define Ackoff
additionally, a theoretical search was done. We chose Fallamos ms a menudo porque resolvemos el
to study the perceptions of those involved in this problema incorrecto, que porque obtenemos una
area, and the topics covered were: Stakeholders, solucin deficiente del problema correcto [2], por
prioritization, dependencies, traceability, user- ende es necesario profundizar en la bsqueda de
182
colaboracin de muchas personas. Y como lo Con respecto a las tcnicas usadas en elicitacin es
menciona Sergio Zapata no solo se intervienen de mencionar que las entrevistas sirven para obtener
aspectos tcnicos sino tambin culturales, una comprensin general de lo que hacen los
sociales, econmicos y psicolgicos. Estos stakeholders, como estos podran interactuar con el
aspectos llevan a que la comunicacin entre los sistema y las dificultades a las que se enfrentan con
ingenieros de requisitos y los usuarios-clientes sea los sistemas actuales. A la gente le gusta hablar
en algunas ocasiones compleja y puede llevar a sobre su trabajo y normalmente se alegran de verse
desacuerdos culturales, organizacionales, falta de implicados en las entrevistas. Sin embargo, no son
generacin de confianza mutua o capacidades para de tanta utilidad para la compresin de los
realizar resolucin de conflictos [8]. requerimientos del dominio de la aplicacin [19].
A pesar de que la mayora de las empresas aseguran Del mismo modo en la fase de especificacin de
el uso de una metodologa., esta no se realiza o requerimientos es posible que se presenten muchos
aplica de forma correcta, para el caso de las inconvenientes entre estos estn: Los
empresas de software de la ciudad de requerimientos no son obvios y viene de muchas
Cali(Colombia) en el 48.7% la industria no se fuentes, son difciles de expresar en palabras (Se
establecen criterios para la aceptacin de los genera ambigedad), la cantidad de requerimientos
requerimientos, el 43.6% no realizan administracin se puede tornar difcil, los requerimientos pueden
de requerimientos [13], en la misma lnea para el cambiar a lo largo de ciclo de vida, los usuarios no
caso de Santiago de Chile(Chile) se observa cmo pueden explicar lo que hacen, se recuerda la
las empresas emergentes no cuentan con el personal excepcin pero se olvida lo rutinario, se habla de lo
calificado, se cuenta con escasos recursos o no se que no funciona, existe un vocabulario distinto entre
encuentran roles definidos en la organizacin [14], usuarios y desarrolladores, se hace uso de los
de manera similar en Nueva Zelanda se observa mismos trminos para diferentes significados, el
como en la industria no hace uso de herramientas de nivel de detalle es vago, algunos requerimientos son
soporte de la ingeniera de requerimientos y al ms importantes (o estables) que otros, existe
indagar por estas herramientas solo unas pocas relacin entre los requerimientos y por ultimo cada
asocian a Rational, Trac, Together and door como uno tiene funcionalidades nicas y abarcan reas
herramientas que soportan la ingeniera de funcionales especificas [20], [21]. Otros mencionan
requerimientos. A su vez los principales problemas que las metodologas han sido concebidas para
que ellos identifican estn: Cambios en el alcance y sistemas alfanumricos, en donde no existen
en los requerimientos, aceptacin del cliente para atributos espaciales, y que al existir stakeholders
costos, tiempo y esfuerzo necesarios para la fase de heterogneos y complejidad de la informacin se
requisitos y calidad de las especificaciones [15]. generan inconvenientes al momento de aplicar
Asimismo las tcnicas de entrevista y encuesta ingeniera de requerimientos [22].
suelen ser las ms usadas para realizar elicitacin
[2]. Otros aspectos complejos relacionados con la
elicitacin se presentan ya que las fronteras del
Entre los principales tems relevantes alrededor de sistema no se encuentran bien definidas, los detalles
la ingeniera de requerimientos se tiene: Alta tcnicos pueden confundir (ms que aclarar),
frecuencia de revisin de cambios en problemas de comprensin por parte del cliente,
requerimientos, aumento del nmero de donde ellos no estn totalmente seguros de lo que
requerimientos, pocas capacidades de confirmar la necesitan o tiene dificultades para comunicar sus
trazabilidad y cambios en los requerimientos [16], necesidades [23].
otro inconveniente es el uso de lenguajes naturales,
lo cual genera ambigedad entre los requerimientos 2.2 Metodologa
o conflictos entre los interesados [17], adems la
insatisfaccin en el anlisis del software puede Para realizar la investigacin se opt por conocer la
darse por los siguientes factores: percepcin de las personas relacionadas en esta rea
tanto a nivel laboral como acadmico, adems de
1. Fallas no relacionadas con tcnicas de elicitacin, realizar bsqueda terica de los problemas que
2. Fallas causado por la falta de efectividad en las presenta esta rea. Para lograrlo se estructuraron dos
tcnicas de elicitacin, 3. Falta de disponibilidad los herramientas, las cuales fueron encuestas y
cual genera mal uso de tcnicas de elicitacin [18]. entrevista. Estas forman un componente mixto en la
investigacin en la cual se aportan tcnicas
cualitativas y cuantitativas [24].
183
programas en
Para este proceso se estructuraron tres perfiles (De ingeniera de sistemas.
los cuales se deseaba evaluar su percepcin), los Directores y docentes
cuales fueron: programas acadmicos
en ingeniera de
Sector pequeas empresas relacionadas con el sistemas.
desarrollo de software. Tcnica Encuesta con escala
Docentes y directores de pregrados Likert.
universitarios de ingeniera de sistemas. Entrevista tipo
Egresados de pregrados en ingeniera de mertenes.
sistemas. Tamao de la muestra 9 empresas de la regin
de Pereira.
A continuacin se relaciona las herramientas e 16 Egresados.
intenciones para cada uno de los perfiles. 1 Institucin
universitaria.
Herramientas Momento estadstico Mayo 2014 Julio
Perfil Intencionalidad. 2014
aplicadas
Pequeas Entrevista Conocer el grado Financiacin Recursos propios.
empresas Encuesta de madures de las Tab2. Ficha tcnica de la encuesta
empresas
desarrolladoras de
software. 2.2.2 Anlisis de fiabilidad
Sector Encuesta Identificar como
pregrados se encuentra Al realizar anlisis de correlacin interna entre
universitarios estructurada las los tems se identifica que existe un grado de
temticas fiabilidad de los datos, esto lo podemos
relacionadas con constatar al aplicar un estadstico de fiabilidad
la ingeniera de en el cual observamos que el alfa de
requerimientos y cronbach() es de 0,863, el cual se encuentra
como se abordan en un valor cercano a uno y tal como lo
estas en el menciona Hernndez, Fernndez y Baptista en
pensum su libro Metodologa de la investigacin el
acadmico. valor uno representa el nivel mximo de
Sector Entrevista Conocer la confiabilidad total. Para nuestro caso al
egresados percepcin de los obtener un valor aproximado al 0.87 es posible
egresados con afirmar que se tiene una confiabilidad
respecto a los aceptable [24].
conocimientos
que fueron 2.3 Resultados
adquiridos en sus
estudios de 2.3.1 Anlisis de resultados en empresas
pregrado en el En primer lugar se pregunt por el nivel de
rea de la aceptacin con respecto a que tan claro y efectivo es
ingeniera de el proceso para realizar captura de informacin ante
requerimientos. los clientes, en el cual el 57,1% los encuestados
Tab1. Herramientas e intencionalidad para cada uno de
manifiestas que se encuentran algo de acuerdo, en
los perfiles.
contraposicin el grado de desacuerdo es de tan solo
el 7,1%.
2.2.1Ficha tcnica.
184
Fig1. Proceso captura informacin es claro y
efectivo.
Como lo menciona Mate Despus de obtener los 1. Segn criterio y decisin del cliente.
requerimientos de los stakeholders, deben ser 2. Construccin de mdulos que lleven de manera
analizados en el contexto de requerimientos de rpida versiones de un producto funcional.
negocio (perspectiva de gestin) la rentabilidad 3. Construcciones de mdulos que permitan al cliente
como tal, la organizacin y los requisitos polticos. obtener un retorno a la inversin (ROI) de manera
Adems, las relaciones entre requerimientos, es rpida.
decir, dependencias, conflictos, superposiciones,
omisiones e inconsistencias deben ser examinados y La priorizacin temprana indica qu partes del
documentados [25]. negocio se deben investigar primero, y que se puede
ignorar sin problemas hasta ms tarde, o en algunos
Al preguntar a los encuestados con respecto al uso casos, abandonar. Adems, se utiliza una
de tcnicas que permitan definir diseos centrados priorizacin inicial para guiar sus iteraciones y la
en el usuario se observa que ms del 50% se planificacin de la versin. [26]
encuentran de acuerdo en relacin a la creacin de
software el cual se enfoca a generar aplicaciones de Para los encuestados es claro definir cules son los
fcil uso para los usuarios. requerimientos no funcionales (atributos de calidad)
185
que debe cumplir el sistema y que estos se deben
definir de forma clara. Por ende el 57% de los
encuestados se encuentra algo de acuerdo en que
para las empresas es clave definir de forma clara los
atributos de calidad que debe cumplir el sistema.
Adems segn las entrevistas realizas estos son
obtenidos en las primeras etapas del proceso de
ingeniera del software, en algunos casos las etapas
de anlisis y diseo es en donde ms se identifican
estos.
186
2.3.2 Anlisis del uso de tcnicas en ingeniera
de requerimientos en las empresas
187
posterior planificacin, ejecucin, as como
monitoreo y control de la informacin y
comunicacin del proyecto, para alcanzar el xito
en ste. [29]
En trminos generales las empresas siente que [1] Alarcon, A., & Sandova, E. Herramientas
poseen un buen proceso para realizar ingeniera de case para la ingenieria de requisitos. pp. 70-74.
requerimientos, esto es ms notorio en temas 2008
relacionados con validacin de requerimientos ante [2] Antonelli, L., & Oliveros, A. Fuentes
el cliente y la verificacin de dependencias y
utilizadas por desarrolladores de software en
gestin de cambios usando matrices de trazabilidad,
Argentina para elicitar requerimientos. Buenos
en donde el grado de aceptacin de las empresas es
Aires: Laboratorio de investigacion LIFIA. 2002
alta. Sin embargo se evidencia como es complejo
para ellos interpretar de una manera clara las [3] Aurum, W. Engineering and managing
solicitudes realizadas por los clientes, ms aun software requeriments. Sydney, Australia. 2005
cuando en ocasiones los clientes no conocen en un
todo sus dificultades que desean resolver con el uso [4] Bourque, P., & Fairley, R. Swebok. Nd: IEEE
de la tecnologa. Computer society. 2004
La seleccin de stakeholders por las empresas es [5] Gotel, O., & Finkelstein, A. An Analysis of
muy bsica, ya que es muy comn que ellos the Requirements Traceability Problem. Londres,
deleguen a una persona dentro de la organizacin 1994.
para identificar los involucrados o simplemente
dirigirse con la persona que paga el desarrollo y [6] Zambrano, A. N. Disponible:
como lo menciona Mary Ann Crow, profesional http://www.javeriana.edu.co/biblos/tesis/ingenieri
certificada en PMP menciona que Identificar los a/Tesis189.pdf Junio de 2005
stakeholders es uno de los ms importantes para
establecer las bases tempranas dirigidas a la
188
[7] Westfall, L. LAS FALLAS EN LA Work in Design (pgs. 657-662). Taiwan: IEEE.
INGENIERA DE REQUISITOS. Revista 2007
facultad de ingenierias USBMed, 40-47. 2011
[17] Ashfa, U., & Sarwar Bajwa, I. Minimizing
[8] Zapata, S. Efectividad de Tcnicas Ambiguity in Natural Language Software
Tradicionales de Elicitacin de Requisitos de Requirements Specification. Digital Information
Software. Buenos Aires, Buenos Aires, Management (ICDIM) (pg. Nd). Nd: Digital
Argentina Mayo de 2013 Information Management (ICDIM). 2011
[9] Granollers, T. Anlisis de Requisitos. 2014 [18] Hickey, A. M., & Davis, A. M. Elicitation
Disponible: Technique Selection: How Do Experts Do It?
http://www.grihotools.udl.cat/mpiua/fases- IEEE International Requirements Engineering
mpiua/analisis-de-requisitos/ Conference (pgs. 169-178). Colorado: IEEE
Computer Society. 2003
[10] Carrizo Moreno, D. Marco para la seleccin
de tcnicas de educcion de requisitos. Madrid, [19] Sommerville, I. Ingeniera del software.
Espaa. Mayo de 2009 Madrid (Espaa): Pearson Education, S.A. 2005
[11] Aranda, J., Easterbrook, S., & Wilson, G. [20] Arias Chaves, M. La ingeniera de
Requirements in the wild: How small companies requerimientos y su
do it. IEEE International Conference on importancia en el desarrollo de proyectos de
Requirements Engineering (pgs. 39-48). New software.
delhi: IEEE. 2007
Revista InterSedes Universidad de Costa Rica,
[12] Aranda, G., Vizcano, A., & Cechich, A. Nd. 2007
Mejora del Proceso de Elicitacin de Requisitos
en Proyectos GSD. Buenos Aires, Buenos Aires, [21] Perez Huebe, M. Monografa: Ingeniera de
Argentina. 2007 requerimientos. Pachuca, Estado de Hidalgo,
Mexico. 2005
[13] Merchan, L., Urrea, A., & Rebollar, R.
Definicin de una metodologa agl de ingenieria [22] Medina Cardona, L. F. Caracterizacin del
de requerimientos para empresas emergentes de proceso y herramientas metodolgicas de la
desarrollo de software del su occidente ingeniera de requerimientos para aplicaciones de
colombiano. Revista cientfica Guillermo de sistemas de informacin geogrfica. Revista
Ockham, 37-50. 2008 ingenieria e investigacion, 123-131. 2007
[14] Quispe, A., Marques, M., Silvestre, L., [23] Manies, M., & Nikual , U. La elicitacin de
Ochoa, S., & Robbes, R.. Requirements requisitos en el contexto de un proyecto de
Engineering Practices in Very Small Software software. Revista Facultad de Ingenieras
Enterprises: A . XXIX International Conference USBMed, 25-29. 2011
of the Chilean Computer Science Society (pgs.
81-87). Santiago de Chile: IEEE Computer [24] Hernndez Sampieri, R., Fernndez Collado,
Society. 2010 C., & Baptista Lucio, P. Metodologia de la
investigacion. Mexico, D.F: Mc Graw Hill. 2008
[15] Talbot, A., & Connor, A..Requirements
Engineering Current Practice and Capability in [25] Mat, J. L. Requirements Engineering for
Small and Medium Software Development sociotechnical systems. Nd: Idea Group Inc.
Enterprises in New Zealand. Conference on 2005
Software Engineering Research, Management and
Applications (pgs. 17-25). New Zealand: IEEE [26] Robertson, S., & Robertson , J. Mastering
Computer Society 2011 the Requirements Process: Getting Requirements
Right. Westford: Pearson Education, Inc 2012.
[16] Lin, J., & Lin, Y.-S. Collaborative
Requirement Management System Developed for [27] Estevez Delgado, J., & Estevez Delgado, G.
CMMI-Coherent Software Engineering. universidad Michoacana de san Nicols de
Proceedings of the 2007 11th International Hidalgo. Disponible:
Conference on Computer Supported Cooperative http://dieumsnh.qfb.umich.mx/estadistica/media_p
ond.htm
189
[28] Mrquez Zambrano, L. Material
estadstica". Disponible:
http://cesarguerra10.files.wordpress.com/2011/04/
material-estadc3adstica-i.pdf Abril de 2011
190
19.ANEXO 4: GUA DE ENSEANZA DE LA INGENIERA DE
REQUERIMIENTOS
1) INFORMACIN GENERAL
Asignatura: Ingeniera de requisitos.
Pre-saberes: Ingeniera del software.
Crditos: 3 Crditos
Horas presenciales: 3
Horas independientes: 6
Horas semestrales: 144
Conocimientos requeridos del Generales:
docente: Gestin de proyectos.
Anlisis y diseo de software.
Especficos:
Elicitacin de requisitos.
Anlisis de requisitos.
Especificacin de requisitos.
Gestin de requisitos.
rea de formacin Ingeniera aplicada
2) JUSTIFICACIN DE LA ASIGNATURA.
La ingeniera de requerimientos es una rea la cual se puede abordar desde diferentes
perspectivas, como lo son los mtodos que definen procesos para su adquisicin y administracin,
los lenguajes que permiten especificarlas. . La ingeniera de requisitos es en esencia la aplicacin
de principios, mtodos, tcnicas y herramientas con el propsito de descubrir los requisitos de un
producto de software, al igual que el anlisis, la documentacin de objetivos, funciones y
restricciones de dichos sistemas.
3) OBJETIVOS DE APRENDIZAJE.
Comprender las etapas de la ingeniera de requerimientos.
Apropiar las tcnicas y usos de la elicitacin de requerimientos.
Comprender las temticas relacionadas con stakeholders.
Analizar, interpretar y usar las herramientas usadas en la ingeniera de requerimientos.
191
4) COMPETENCIAS GENERALES
Analizar, plantear, modelar y resolver problemas de requerimientos.
Identificar, analizar y comprobar los elementos que inciden en la captura de una necesidad.
Usar las tcnicas adecuadas para la elicitacin (Educcin) de requisitos.
5) CONTENIDOS.
192
7) EVALUACIN PROPUESTA.
CRITERIO COMPETENCIAS A DESARROLLAR
Desarrollo de competencias cognitivas
Trabajos individuales individuales.
Aprendizaje autnomo
Desarrollo de competencias cognitivas
grupales.
Trabajos grupales
Aprendizaje colectivo.
Trabajo en equipo.
Comprensin lectora
Proyecto Capacidad de anlisis y sntesis
Resolucin de problemas
9) BIBLIOGRAFA DE LA ASIGNATURA.
AYBKE, Aurum. CLAES, Wohlin. Engineering an Managing Software
Requirements. Springer, EEUU, 2005. ISBN10 3-540-25043-3
BOURQUE, Pierre. DUPUIS, Robert. SWEBOK Versin 2004: Guide to
Software Engineering Body of Knowledge. IEEE Computer Society, EEUU,
2004. ISBN 0-7695-2330-7.
HULL, Elizabeth. JACKSON, Ken. DICK, Jeremy. Requirements Engineering,
Springer, EEUU, 2010. ISBN 978-1849964043
POHL, Klaus. RUPP Chris. Requirements Engineering Fundamentals,
Alemania, 2011, ISBN 978-1-933952-81-9
SOMMERVILLE, Ian. SAWYER Pete. Requirements Engineering: A Good
Practice Guide, USA, 1997, ISBN 978-0471974444
WIEGERS, Karl. BEATTY, Joy. Software Requirements (3rd Edition),
Microsoft Press, EEUU, 2013, ISBN 978-0735679665
193
20.ANEXO 5: ARTEFACTOS CONSTRUCCION APLICATIVO
WEB
194
Prototipo advertencia cargar archivo previamente diligenciado
195
1.0 31/05/2015 Creacin de primera versin del SRS con las
especificaciones iniciales
GENERALES
Propsito
Dar soporte a la metodologa MRPYME a travs de sus fases de pre-anlisis, elicitacion, anlisis,
especificacin, validacin y gestin de requerimientos.
Alcance
Permitir descargar y cargar los formatos de cada una de las fases de la metodologa MRPYME. Es necesario
mostrar al usuario cuales formatos se encuentran diligenciados y cuales an no.
Para algunos casos los formatos debern ser subidos como una carpeta comprimida donde el usuario
guardara los diferentes formatos de una misma seccin
No ser necesario guardar versiones del formato (Solo deber guardarse la ltima).
Restricciones
El sistema debe ser desarrollado en lenguaje php y usando motor de base de datos MySQL.
Suposiciones y dependencias
Se cuenta con un hosting de la empresa Apps de Colombia S.A.S para almacenar el aplicativo.
196
REQUERIMIENTOS
Funcional.
Cdigo del 001 Tipo
requerimiento requerimiento No
funcional.
Alta
Nombre o Consultar el marco terico Media
Prioridad
funcin
Baja
Funcional.
Cdigo del 002 Tipo
requerimiento requerimiento No
funcional.
197
Media
Baja
Funcional.
Cdigo del 003 Tipo
requerimiento requerimiento No
funcional.
Alta
Nombre o Descargar el resumen metodolgico Media
Prioridad
funcin
Baja
Entradas y El sistema debe tener todos los formatos cargados y especificadas en cada
salidas una de las secciones
Pre- El sistema debe tener todos los formatos disponibles para descargar en
Condicin cada uno de los formatos especificados
Post-
Condicin
Nota: Los formatos deben estar organizados en formatos obligatorios y opciones por cada una de las fases
Funcional.
Cdigo del 004 Tipo
requerimiento requerimiento No
funcional.
Alta
Nombre o Media
Descargar formatos transversales Prioridad
funcin
Baja
198
Entradas y El sistema debe tener todos los formatos cargados
salidas
Pre- El sistema debe tener todos los formatos disponibles para descargar.
Condicin
Post-
Condicin
Estos formatos desde esta seccin solo podrn ser descargados y no se permite ninguna otra opcin
Funcional.
Cdigo del 005 Tipo
requerimiento requerimiento No
funcional.
Alta
Nombre o Mostrar el nmero de formatos faltantes Media
Prioridad
funcin
Baja
Entradas y Entrada:
salidas
Es necesario saber el nmero de formatos obligatorios que tiene cada
seccin y cuntos de estos han sido cargados al sistema.
Pre- El sistema debe conocer cuntos formatos son obligatorios por cada una
Condicin de las fases
Post-
Condicin
199
Pre-analisis (0/2)
Funcional.
Cdigo del 006 Tipo
requerimiento requerimiento No
funcional.
Alta
Nombre o Descargar el resumen metodolgico Media
Prioridad
funcin
Baja
Entradas y El sistema debe tener todos los formatos cargados y especificadas en cada
salidas una de las secciones
Pre- El sistema debe tener todos los formatos disponibles para descargar en
Condicin cada uno de los formatos especificados
Post-
Condicin
Nota: Los formatos deben estar organizados en formatos obligatorios y opciones por cada una de las fases
Los formatos opcionales han sido detallados en el requerimiento 005 y los nombres de los nombre de los
formatos se encuentra como archivos adjuntos.
200
funcional.
Pre-
Condicin
Nota: el sistema deber obligar a que algunos formatos deben ser cargados en formatos .zip estos son
201
Nombre o Mostrar advertencia de formatos sin llenar Alta
Prioridad Media
funcin
Baja
Entradas y El sistema debe tener todos los formatos cargados en el sistema y conocer
salidas la lista de formatos que han sido llenados por fase.
Pre-
Condicin
Post-
Condicin
El sistema deber consultar si los formatos de las fases anteriores han sido diligenciados en su totalidad
(Los obligatorios) si esos no han sido llenados deber ser mostrada una advertencia donde se indique que
an falta formatos por llenar y deber indicar de que fases hace falta por diligenciar formatos.
Acuerdo legal
Entre las partes acordamos haber ledo el documento y comprendemos las acciones que se
realizaran y se procede a la firma el da 31 del mes de Abril del ao 2015
Representante empresa
Cliente
Firma. Nombre:
C.C
Firma.
C.C
202
21.ANEXO 6: INSTRUMENTO DE VALIDEZ DE CONTENIDOS
203
INSTRUCCIONES
INFORMACIN BSICA
Nombre(s):
Apellido(s):
Institucin donde
labora:
FORMACIN ACADMICA
Ttulo de pregrado:
Institucin donde curso el
pregrado:
Ttulo de postgrado:
Institucin donde curso el
postgrado:
Trabajos publicados:
204
INSTRUCTIVO PARA CUSTIONARIO
De acuerdo con los siguientes indicadores califique cada uno de los tems segn corresponda.
205
SUFICIENC
CLARIDAD
COHEREN
RELEVAN
CIA
IA
Nro ITEM OBSERVACIONES
CIA
206
empresas desarrolladoras de software (pgina 3 documento resumen ejecutivo
de la metodologa), al aplicar la metodologa a un proyecto disminuye los
costos de produccin, numero de errores cometidos durante el desarrollo y el tiempo
que se tarda en realizar el producto.
207
22.BIBLIOGRAFA
208
[14 V. L. J. B. V. Porter. A, Comparing Detection Methods for Software requirements
] Inspections: A Replicated Experiment, Software Engineering, IEEE Transactions,
1995.
[15 J. J. Lin y Y.-S. Lin, Collaborative Requirement Management System Developed for
] CMMI-Coherent Software Engineering, de Proceedings of the 2007 11th
International Conference on Computer Supported Cooperative Work in Design,
Taiwan, 2007.
209
] Small and Medium Software Development Enterprises in New Zealand, de
Conference on Software Engineering Research, Management and Applications, New
Zealand, 2011.
[36 D. G. Pea, Elementos bsicos de ingeniera del software, 2007: Instituto Tecnolgico
] Metropolitano (ITM).
[38 T. Granollers I Saltiveri, MPIu+a. una metodologa que integra la ingeniera del
] software, la interaccin personaordenador y la accesibilidad en el contexto de equipos
de desarrollo multidisciplinares, Universidad de Lleida, Lerida, 2004.
210
[39 Universidad del Cauca, [En lnea]. Available:
] http://artemisa.unicauca.edu.co/~ecaldon/docs/spi/COMPETISOFT_v02_27-
11_2315.pdf. [ltimo acceso: 28 03 2015].
[41 A. e. al, SOMA: a method for developing service-oriented solutions, IBM Systems,
] 2008.
[48 M. Rettig, Prototyping for Tiny Fingers, Communications of the ACM, vol. 37, n 4,
] pp. pgs. 21-27., 1994.
211
]
[52 W. Brown, COCOMO II Model Definition Manual, Center for Software Engineering,
] 2000.
212
2015].
[69 Project Management Institute, Inc, Fundamentos para la direccin de proyectos (Guia
] del PMBOK), de Fundamentos para la direccin de proyectos (Guia del PMBOK),
Newtown Square, Pennsylvania, Project Management Institute, 2005, pp. 95, 101.
213
[73 Real Academia Espaola , Real Academia Espaola, Real Academia Espaola, nd
] Nd 2012. [En lnea]. Available: http://lema.rae.es/drae/. [ltimo acceso: 02 Abril
2015].
[74 DeChile, Etimologa de modelo, De chile, Octubre 2014. [En lnea]. Available:
] http://etimologias.dechile.net/?modelo. [ltimo acceso: 02 Abril 2015].
[79 S. Lawrence Pfleeger, Ingeniera del software teora y prctica, de Ingeniera del
] software teora y prctica, Buenos Aires, Prentice hall, 2002, pp. 155-221.
[80 J. A. Gutierrez Orozco, Maquinas de estado finito, 22 Agosto 2008. [En lnea].
] Available:
http://uncomp.uwe.ac.uk/genaro/Papers/Veranos_McIntosh_files/alejandroFinal2008.p
df. [ltimo acceso: 12 Abril 2015].
214
] http://exa.unne.edu.ar/informatica/anasistem2/public_html/apuntes/maf/cap4.htm.
[ltimo acceso: 10 Abril 2015].
[85 E. Miranda, Introduccin a las redes de petri, Revista telegrafica electronica, vol.
] 76, n 890, p. 2002, 1987.
[86 K. Shaver, 9 Excellent Tools for Design Mockups, Mashable, 07 Junio 2012. [En
] lnea]. Available: http://mashable.com/2012/06/07/mockup-tools/. [ltimo acceso: 13
Abril 2015].
[97 S. J. N. ,. P. K. Gregory Kersten Kersten, Negotiation Via the World Wide Web: A
215
] Cross-Cultural Study of Decision Making, 1999.
[10 S. B. Robert Arnold, Software Change Impact Analysis, IEEE Computer Society Press,
2] 1996.
[10 M. Ruiz Carreira y i. Ramos Roman, Estimacion del coste de la calidad del software a
4] travez de la simulacion del proceso de desarrollo, Revista colombiana de
computacion, vol. 2, n 1, pp. 75-78, 2001.
[10 C. Tom, The project management hut, PM Hut - an itoctopus project, 21 Octubre
5] 2008. [En lnea]. Available: http://www.pmhut.com/requirements-traceability-matrix-
rtm. [ltimo acceso: 2015 Febrero 19].
[10 Scrum Manager Body Of Konwledge, Historia de usuario, Scrum Manager Body Of
8] Konwledge, 23 Marzo 2014. [En lnea]. Available:
http://www.scrummanager.net/bok/index.php?title=Historia_de_usuario&oldid=929.
[ltimo acceso: 07 Abril 2015].
216
[10 J. L. Mat, Requirements Engineering for sociotechnical systems., Idea Group Inc.,
9] Nd, 2005.
[11 L. Mrquez Zambrano, ALDEA JUAN JOSE RONDON, nd Abril 2011. [En lnea].
2] Available: http://cesarguerra10.files.wordpress.com/2011/04/material-estadc3adstica-
i.pdf. [ltimo acceso: 01 Septiembre 2014].
217