53
MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE LOS REQUERIMIENTOS EN PROYECTOS DE SOFTWARE LUIS DAVID LEDESMA MARIÑO UNIVERSIDAD CATÓLICA DE PEREIRA FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES Pereira 2018

MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

LOS REQUERIMIENTOS EN PROYECTOS DE SOFTWARE

LUIS DAVID LEDESMA MARIÑO

UNIVERSIDAD CATÓLICA DE PEREIRA

FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA

INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES

Pereira

2018

Page 2: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

LOS REQUERIMIENTOS EN PROYECTOS DE SOFTWARE

LUIS DAVID LEDESMA MARIÑO

Informe Final

Investigadores:

LUIS EDUARDO PELÁEZ VALENCIA

ALONSO TORO LAZO

UNIVERSIDAD CATÓLICA DE PEREIRA

FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA

INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES

Pereira

2018

Page 3: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

TABLA DE CONTENIDO

RESUMEN ..................................................................................................................................... 6

ABSTRACT .................................................................................................................................... 6

INTRODUCCIÓN .......................................................................................................................... 8

1. SITUACIÓN PROBLEMÁTICA ............................................................................................ 9

2. OBJETIVOS .......................................................................................................................... 10

2.1. Objetivo general ........................................................................................................... 10

2.2. Objetivos específicos .................................................................................................... 10

3. APORTE TEÓRICO Y PRÁCTICO ..................................................................................... 11

4. METODOLOGÍA .................................................................................................................. 12

5. DESARROLLO DEL PROYECTO ...................................................................................... 14

5.1. Exploración del estado del arte (Fase 1)..................................................................... 14

5.2. Herramientas para la Gestión de Requerimientos (Fase 2) ..................................... 19

5.3. Análisis comparativo de las herramientas (Fase 3) ................................................... 27

5.4. Entradas para el modelo conceptual .......................................................................... 30

6. ELICITACIÓN Y ESPECIFICACIÓN DE REQUISITOS (Fase 4) ............................. 32

6.1. Elicitación de requisitos ............................................................................................... 32

6.2. Análisis de requisitos .................................................................................................... 35

6.3. Especificación de requisitos ......................................................................................... 38

6.4. Aplicación del procedimiento ...................................................................................... 43

7. ANÁLISIS Y DISCUSIÓN DE RESULTADOS ................................................................. 48

8. CONCLUSIONES ................................................................................................................. 49

9. REFERENCIAS BIBLIOGRÁFICAS .................................................................................. 50

Page 4: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

LISTA DE ILUSTRACIONES

Ilustración 1: Estructura de la ingeniería de requisitos [10] ......................................................... 16

Ilustración 2: Proceso iterativo de desarrollo de requisitos [10]................................................... 16

Ilustración 3. Datos de entrada solicitados para un requerimiento ............................................... 25

Ilustración 4. Datos solicitados por la herramienta ....................................................................... 25

Ilustración 5. Datos solicitados por Jama Software ...................................................................... 26

Ilustración 6. Datos solicitados por Visual Paradigm ................................................................... 27

Ilustración 7. Datos solicitados por REM ..................................................................................... 27

Ilustración 8: Herramientas para la gestión de requerimientos [33] ............................................. 29

Ilustración 9: Herramientas para la gestión de requerimientos [33] ............................................. 29

Ilustración 10: Herramientas para la gestión de requerimientos. [33] .......................................... 30

Ilustración 11: Elementos de entrada de un requerimiento ........................................................... 31

Ilustración 12. Proceso iterativo de desarrollo de requisitos [34, p. 45] ....................................... 32

Ilustración 13:REQNF000 ............................................................................................................ 36

Ilustración 14:REQF000 ............................................................................................................... 37

Ilustración 15. Información general sobre PEVReS [36] ............................................................. 38

Ilustración 16: Procedimiento para especificar requisitos de software en mipymes desarrolladoras

de software de la ciudad de Pereira............................................................................................... 39

Ilustración 17: Especificación de requisitos ................................................................................. 40

Ilustración 18: Especificación de Requisitos ................................................................................ 41

Ilustración 19: Especificación requisitos del sistema ................................................................... 42

Ilustración 20. Técnicas seleccionadas del procedimiento PEVReS para la especificación de

requisitos ....................................................................................................................................... 43

Ilustración 21: Diagrama de actividades ....................................................................................... 44

Ilustración 22: Prototipo REQF000-REQF007 ............................................................................. 45

Ilustración 23: Plantilla para especificar requisitos en lenguaje natural estructurado [36] .......... 46

Page 5: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

LISTA DE TABLAS

Tabla 1. Herramientas CASE para gestión de requisitos .............................................................. 19

Tabla 2 Tabla comparativa entre herramientas para la gestión de requerimientos ....................... 28

Tabla 3: Requisitos identificados .................................................................................................. 33

Tabla 4: Origen requisitos ............................................................................................................. 34

Page 6: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

6

RESUMEN

Dado que en un proyecto se identifica un conjunto de requisitos lo que también llevaría a

evidenciar inconvenientes al momento de gestionarlos si no se hace uso de algún software

especializado que agilice y facilite el trabajo con los mismos. El no hacerlo, con frecuencia genera

consecuencias negativas en el proyecto tales como retrasos en las entregas por una inadecuada

priorización de los requisitos, aumento de los costos asociados a reprocesos en la ejecución de los

mismos y difícil trazabilidad debido a que el proceso se lleva a cabo de forma manual, haciendo

del trabajo con los requisitos algo complejo y difícil de controlar.

Lo anterior, permite comprender la importancia de las herramientas para la gestión de

requisitos en el desarrollo de proyectos software y su aporte en el aseguramiento de la calidad. Sin

embargo, considerando que cada herramienta tiene diversas capacidades y grados de madurez para

ser implementadas en proyectos de software de diferentes tamaños y complejidades, se hace

importante estudiar sus características para identificar aquellas herramientas que proporcionen un

mayor control en el mantenimiento de los requisitos y permitan reducir los posibles errores que se

presenten durante el desarrollo, lo que a su vez redunde en una reducción significativa de los costos

del proyecto.

El objetivo de este documento es dar a conocer una revisión sistemática de herramientas

empleadas para la gestión de requisitos que permita establecer las principales características de un

modelo automatizado para el RQA. Finalmente, se presentan los resultados y principales

conclusiones obtenidas.

De igual manera, proponer diagramas de una plataforma para las pymes de la ciudad de

Pereira en la que puedan realizar el proceso de elicitación de requisitos de la mejor manera y de

calidad. Examinando una serie de herramientas que ya existen para la gestión de requisitos, con el

fin, de a futuro, desarrollar una herramienta con mejores características para la región.

Palabras claves: RQA, software, trazabilidad, herramienta CASE.

ABSTRACT

Since a project identifies a set of requirements that can also cause an inconvenience when

managing it, if you can not use software that can speed up and facilitate work with them. Failure

to do so often generates negative consequences in the project, such as delays in deliveries due to

inadequate prioritization of requirements, increase in costs associated with reprocessing in the

execution of the same, and difficult traceability due to the fact that the process is carried out Cape

out manually, doing work with the requirements of something complex and difficult to control.

The above, allows to understand the importance of the tools for the management of

requirements in the development of software projects and their contribution in the assurance of

quality. However, considering that each tool has several capacities and degrees of maturity to be

implemented in software projects of different sizes and complexities, it is necessary to make a

selection of its tools to identify itself. reduce the possible errors that arise during the development,

which in turn was reduced in a significant reduction of the project costs.

Page 7: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

7

The objective of this document is to present a systematic review of tools used for the

management of requirements that allow establishing the main characteristics of an automated

model for the RQA. Finally, the results and main conclusions are presented

Similarly, proposing diagrams of a platform for SMEs in the city of Pereira where the

process of elicitation of requirements in the best way and quality can be performed. Examining a

series of tools that already exist for the management of requirements, with the aim, of a future, to

develop a tool with better characteristics for the region.

Key words: RQA, software, traceability, CASE tool.

Page 8: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

8

INTRODUCCIÓN

Como proceso fundamental aplicado a los proyectos de desarrollo de software, la ingeniería

de software cumple un papel fundamental en el ciclo del desarrollo de los proyectos, implica

asegurar la calidad del producto mismo adoptando métodos y metodologías, que si bien son

aplicadas lograr concluir la consecución de la calidad de los proyectos de software.

En su aplicación y desarrollo, la ingeniería de software propone dimensionar desde el

aspecto de la calidad, logar satisfacer a completitud las necesidades previas que se identifican en

relación al usuario solicitante, de esta manera y relacionando la investigación, se consideran

hipótesis que han permitido concluir el déficit de las pymes de la región por conseguir y asegurar

la calidad de sus productos software, identificando en primera instancia que se está evadiendo la

etapa de elicitación de requerimientos, lo que ha permitido generar una brecha que indica no se

está realizando la gestión necesaria sobre la etapa de requerimientos, generando en primera

medida que la cobertura del requerimiento no ha sido suficiente, razón por la cual ha llevado a que

gran porcentaje de los proyectos de software fracasen por esta situación-

Con lo anterior, se plantea levantar los requerimientos de una plataforma para el

aseguramiento de la calidad del software y su efecto con el aseguramiento de la calidad de los

requerimientos respectivamente, funcionando por fases (diseño, desarrollo y mantenimiento) para

así facilitar y guiar al sector del software, lo que les permitirá en gran medida garantizar la calidad

de sus productos.

Con este proyecto se pretende realizar una previa identificación de los elementos de entrada

necesarios para un sistema de información, investigar sobre errores comunes que cometen las

pymes, esto a nivel regional, nacional e internacional para así tener unas fuertes bases y guiar a las

pymes de la región de la mejor manera posible. También se identificarán plataformas que faciliten

la gestión y desarrollo de los requisitos.

Se plantearán unos posibles requerimientos del modelo conceptual haciendo uso de

instrumentos de sistematización que faciliten la elicitación de los requerimientos.

Page 9: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

9

1. SITUACIÓN PROBLEMÁTICA

Actualmente en la región las empresas desarrolladoras de software no vienen haciendo su

trabajo de la mejor manera, pues, se enfocan en terminar el proyecto de una manera rápida,

evadiendo metodologías y métodos necesarios y requeridos para que un software sea de calidad.

Las pymes no están haciendo uso de las mejores prácticas a la hora de desarrollar software, en este

caso, evadiendo la elicitación y gestión de los requisitos, por lo tanto, se obtiene software de baja

o mala calidad, llevando esto a tener malos resultados y por ende no satisfacer las necesidades del

cliente.

Tomando la definición de la IEEE un requerimiento es: “Una condición o capacidad que el

usuario necesita para resolver un problema o alcanzar un objetivo” [1]. Teniendo un poco más

claro la definición de requerimiento, se puede especular que en la región del eje cafetero en

especial la industria del software tiene un índice alto de desarrollo de software fracasados debido

al mal comienzo en la etapa inicial del desarrollo (elicitación de requerimientos); en algunos casos

sucede por desconocimiento, no tener claro lo importante que es la ingeniería de software, también

por no tener un dominio sobre el tema.

Es evidente que la ingeniería de software esta menos presente que el desarrollo a la hora de

realizar un proyecto, teniendo claro que es mucho más importante la ingeniería de software.

Por estas razones se cree que en la región del eje cafetero no se está realizando software de

calidad, desperdiciando el gran talento y potencial humano que hay en esta región, llegando así a

no ser competencia con las grandes industrias.

Page 10: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

10

2. OBJETIVOS

2.1.Objetivo general

Elaborar los diagramas que soporten un modelo conceptual de un sistema de aseguramiento

de calidad de requerimientos.

2.2.Objetivos específicos

Realizar una revisión de antecedentes relacionados con sistemas de gestión de

requerimientos.

Identificar los elementos de entrada que se requiere en un modelo conceptual.

Elaborar los instrumentos de sistematización de información de entrada.

Definir los requerimientos de un modelo conceptual mediante instrumentos de

sistematización de información de entrada.

Elaborar los diagramas que respondan a dichos requerimientos.

Page 11: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

11

3. APORTE TEÓRICO Y PRÁCTICO

El proyecto contribuirá al mejoramiento del proceso de desarrollo de requerimientos en las

empresas desarrolladoras de software de la región del eje cafetero, permitiéndoles obtener en sus

productos software de calidad, además una herramienta que facilitará todo el proceso de

modelación, análisis y diseño.

El proyecto será de gran ayuda, tendrá muchos beneficios para las empresas que desarrollan

software de baja calidad, con éste la industria de la región cafetera desarrolladora de software

tendrá una iniciativa de poder competir en calidad.

El modelo conceptual será imprescindible a la hora de realizar la ingeniería del software de la

plataforma automatizada ya que éste nos guiará de manera muy ilustrativa y ayudará a identificar

cual es el verdadero problema a tratar con sus posibles soluciones, dicho modelo podrá ser

interpretado por cualquier persona interesada en el proyecto de manera oportuna.

Page 12: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

12

4. METODOLOGÍA

La metodología utilizada está compuesta por cinco fases, a través de las cuales se guía el

desarrollo del modelo conceptual para el desarrollo de un sistema de información que posibilite el

aseguramiento de la calidad de los requisitos de software. Las mismas, se describen a continuación:

Fase 1: Exploración del estado del arte

Para el presente proyecto, esta fase consiste en realizar un levantamiento de información

en diferentes fuentes físicas y electrónicas, relacionado principalmente con las teorías sobre

ingeniería del software e ingeniería de requisitos en las que se enmarca el proyecto, así como sobre

las herramientas de gestión de requisitos que acompañan el desarrollo de un proyecto de software,

identificadas desde los ámbitos regional, nacional e internacional. Lo anterior, con la intensión de

contextualizar la situación problemática y justificación del proyecto de investigación al cual

pertenece este trabajo.

Fase 2: Caracterización de las herramientas

En este apartado se clasifican y describen las herramientas más usadas a nivel mundial por

las compañías desarrolladoras de software a la hora de desarrollar y gestionar los requerimientos,

considerando que existen herramientas de pago y libres. Así mismo, se determinan sus principales

características, funcionalidades y limitaciones, de tal manera que se puedan identificar las

principales entradas de información que requieren para su funcionamiento. Esto, ya que el proyecto

pretende, a manera de trabajo futuro, aportar en la formulación de un modelo automatizado para

el aseguramiento de la calidad de los requerimientos.

Posteriormente, se realizan algunas pruebas sobre varias de las herramientas identificadas

para estudiar su funcionamiento, necesidades de información y restricciones, con el ánimo de

determinar, entre otras cosas, los elementos de entrada de un requerimiento solicitados por las

mismas.

Fase 3: Análisis comparativo de las herramientas

Se realiza una comparación de las características de las herramientas utilizadas en la fase

anterior para identificar las ventajas y desventajas de cada una de ellas. Dado que la mayoría de

las herramientas permiten ejecutar otras funciones relacionadas con la ingeniería de software, se

hace énfasis en la gestión de requerimientos, por ser el objetivo principal de la presente

investigación. Esta fase pretende, además, entregar a la sociedad elementos diferenciadores de las

múltiples herramientas, de tal manera que las personas y empresas que requieran hacer uso de este

tipo de herramientas CASE, puedan tomar decisiones con facilidad a la hora de elegir una de ellas.

Fase 4: Elicitación de requerimientos

Se realiza la elicitación de requerimientos teniendo un origen como base del mismo, ya sea

por análisis del grupo de investigación, estado del arte, trabajos previos o el instrumento mediante

se consultó a las empresas desarrolladoras de software de la ciudad de Pereira.

Fase 5: Conclusiones y trabajo futuro

Page 13: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

13

En esta fase del proyecto, se plantean las conclusiones iniciales de acuerdo a los hallazgos y

resultados del trabajo realizado con las herramientas, de tal manera que las mismas puedan

contribuir a las etapas subsecuentes del proyecto de investigación, relacionadas con el diseño

conceptual de un modelo para el aseguramiento de la calidad de los requerimientos y el desarrollo

de un sistema automatizado para la gestión de los mismos.

Page 14: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

14

5. DESARROLLO DEL PROYECTO

5.1. Exploración del estado del arte (Fase 1)

Este apartado pretende dar cuenta de una exploración conceptual sobre los requisitos de

software como base de la investigación, así como de las herramientas usadas actualmente para

gestionarlos. Por tanto, se presentan a continuación algunos referentes teóricos que permiten

introducir al lector en el contexto de desarrollo del proyecto.

Frecuentemente, la Ingeniería de Requisitos es tratada como una disciplina [2] y tiene como

propósito “desarrollar una especificación de requisitos completa, consistente y no ambigua, la

cual servirá como base para acuerdos comunes entre todas las partes involucradas y en dónde se

describen las funciones que realizará el sistema". Por consiguiente, cualquier proyecto de

desarrollo de software debe buscar satisfacer las características antes mencionadas, alineándose

con el propósito de la Ingeniería de Requisitos, según lo expuesto por el autor.

Para [3] “el proceso de descubrir, analizar, documentar y verificar estos servicios y

restricciones se denomina ingeniería de requisitos (RE)”. También menciona que “la Ingeniería

de Requisitos es el proceso de desarrollar una especificación de software. Las especificaciones

pretenden comunicar las necesidades del sistema del cliente a los desarrolladores del sistema”.

[3]. Es evidente entonces la relevancia que tiene el desarrollo y gestión de los requisitos dentro de

la Ingeniería de requisitos, pues permite que el desarrollador entienda y de solución a las

necesidades expresadas por el cliente.

Por su parte, [4], indica que la Ingeniería de Requisitos:

“Ayuda a los ingenieros de software a entender mejor el problema en cuya solución

trabajarán. Incluye el conjunto de tareas que conducen a comprender cuál será el impacto

del software sobre el negocio, qué es lo que el cliente quiere y cómo interactuarán los

usuarios finales con el software.”

En la misma línea [5] citados en [6] definen que:

“La ingeniería de requisitos proporciona el mecanismo apropiado para entender lo que

desea el cliente, analizar las necesidades, evaluar la factibilidad, negociar una solución

razonable, especificar la solución sin ambigüedades, validar la especificación y administrar

los requisitos a medida que se transforman en un sistema funcional.”.

Esta preocupación que expresan los autores por entender lo que el cliente realmente necesita y

determinar en qué medida el software desarrollado puede contribuir al cumplimiento de los

objetivos del negocio, deberían ser aspectos a tener en cuenta en el desarrollo de todo proyecto

software y, por ende, en el documento de definición de requisitos.

De igual forma, [7] indican que la Ingeniería de requisitos es un enfoque sistémico para

recolectar, organizar y documentar los requisitos del sistema; es también el proceso que establece

y mantiene acuerdos sobre los cambios de requisitos, entre los clientes y el equipo del proyecto.

Page 15: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

15

De la misma manera, [5] mencionan que “la Ingeniería de Requisitos es la ciencia y disciplina a

la cual le concierne el establecer y documentar los requisitos”.

También [2], menciona una disciplina denominada ingeniería de requisitos para desarrollar una

especificación completa, consistente y no ambigua, la cual servirá como base para acuerdos

comunes entre todas las partes involucradas y en dónde se describen las funciones que realizará el

sistema. Así mismo, autores como [1] consideran que todo lo concerniente a requisitos hace parte

de un dominio entero definido Ingeniería de Requisitos, que a la vez es dividida tanto en Desarrollo

como en Gestión de Requisitos. Como disciplina, establece el proceso de definición de requisitos

en una sucesión de actividades mediante las cuales lo que debe hacerse se elicita, se modela y se

analiza, citado en [8]

Por otro lado, la guía al cuerpo de conocimientos para la ingeniería del software SWEBOK®

(Software Engineering Body of Knowledge) propuesto por la IEEE1, en su versión 2014 trata el

tema como la primera de sus áreas del conocimiento (KA por sus siglas en inglés Knowledge

Areas), en la que se refiere a la captura, el análisis, la especificación y la validación de los requisitos

del software y contempla una serie de aspectos y conceptos que llevan al software a ser objeto de

aplicación de la ingeniería. Como producto de salida al proceso correspondiente de aplicar los

conocimientos del área se logra un documento que permita sistematizar, revisar, evaluar y aprobar

todo lo relacionado con los requisitos del software [9].

De igual forma, el SEI2 a través del Modelo de Madurez de Capacidad Integrado CMMI®

(Capability Maturity Model Integration) el cual contiene un conjunto de buenas prácticas de la

industria para el desarrollo, mantenimiento, adquisición y operación de productos y servicios;

contempla el trabajo con los requisitos donde se incluye tanto el desarrollo como la gestión de los

mismos. Para ello se cuenta con las áreas de proceso "Gestión de Requisitos” o Requirements

Management (REQM) por sus siglas en inglés y “Desarrollo de Requisitos” o Requirements

Development (RD) ubicadas en los niveles 2 y 3 en la representación por etapas, estando ubicadas

en la categoría de Proceso de Ingeniería para la representación continua y escalonada. Tienen como

propósito producir, analizar y administrar los requisitos del cliente, del usuario, del producto y de

los componentes del producto. Las prácticas definidas en esta área de proceso permiten determinar

todos los requisitos del proyecto, ya sea para el desarrollo o mantenimiento. Parte de los requisitos

del cliente que son derivados en requisitos del producto hasta refinarlos al nivel de requisitos de

los componentes del producto, todo esto durante el ciclo de vida del producto.

Si bien se puede considerar que la especificación de requisitos puede hacer parte de la

documentación de un proyecto de software, es importante resaltar, como lo indican los autores,

que dicho documento no solo permitirá plasmar las necesidades del cliente respecto al sistema a

desarrollar, sino que también posibilitará llevar a cabo una adecuada gestión de los mismos.

Algunos autores como [10], [11] proponen que la Ingeniería de Requisitos puede estructurarse

como se ilustra a continuación:

1 Institute of Electrical and Electronics Engineers (IEEE) 2 Software Engineering Institute (SEI) | Carnegie Mellon University

Page 16: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

16

Ilustración 1: Estructura de la ingeniería de requisitos [10]

Teniendo en cuenta que el desarrollo de requisitos como se muestra en la Ilustración 2

comprende diferentes fases, el autor propone abordar todo el desarrollo de requisitos como un

proceso iterativo con el objetivo de adquirir una mayor comprensión y expresión de los requisitos.

En la siguiente ilustración se da cuenta de ello:

Ilustración 2: Proceso iterativo de desarrollo de requisitos [10]

Cada una de estas fases de la ingeniería de requisitos, si se toma como referencia lo

propuesto por el [11] con respecto al desarrollo de requisitos, se explican con mayor detalle a

continuación:

“Elicitación”: La elicitación o captura de requisitos hace referencia a los orígenes de los requisitos

y como el ingeniero de software puede recogerlos. Es la primera etapa en la construcción de una

comprensión del problema que el software requerido va a resolver. Es fundamentalmente una

actividad humana y es donde los interesados se identifican y se establecen las relaciones entre el

equipo de desarrollo y el cliente. Se denomina diversamente "Captura de Requisitos",

"Descubrimiento Requisitos" y "Adquisición de Requisitos" (Idem, pág. 36).

Por su parte [10] afirman que la elicitación de requisitos es “el proceso de identificación de las

necesidades y limitaciones de los interesados para un sistema de software. “Elicitación” no es lo

mismo que ‘el levamiento de requisitos.’ Tampoco es una simple cuestión de transcribir

exactamente lo que dicen los usuarios. La “elicitación” es un proceso colaborativo y analítico que

incluye actividades para recolectar, descubrir, extraer y definir los requisitos”.

Análisis: Según [11], el análisis se refiere al proceso de analizar requisitos para:

Detectar y resolver los conflictos entre los requisitos.

Descubrir los límites del software y cómo debe obrar recíprocamente con su ambiente.

Elaborar los requisitos del sistema para derivar requisitos software

Comprende las siguientes actividades:

Ingeniería de

Requisitos

Desarrollo

Recolección

AnálisisEspecifica

ciónValidación

Administración

Page 17: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

17

Clasificación de los requisitos

Modelamiento conceptual.

Diseño de arquitectura y asignación de requisitos.

Negociación de Requisitos.

Análisis formal.

Desde el punto de vista de [4] en el análisis los requisitos se agrupan por categorías y se

organizan en subconjuntos, se estudia cada requisito en relación con el resto, se examinan los

requisitos en su consistencia, completitud y ambigüedad, y se clasifican en base a las necesidades

de los clientes/usuarios.

La información obtenida se debe analizar de manera muy detallada, con el fin de clasificar todos

los requerimientos recolectados. Los requerimientos del negocio, aportarán información

importante y darán paso a los requerimientos del sistema y posteriormente a los de software [10].

En esta fase se toman los requerimientos de alto nivel y se descomponen con un apropiado nivel

de detalle. Esto permite completar los requerimientos del sistema, se detallan y clasifican los

requerimientos de software, ya con estos, siguen los funcionales, no funcionales y los demás

requerimientos sin clasificar. [1] [10]

Una vez clasificados los requerimientos se les asigna una prioridad teniendo en cuenta los

factores ambientales que puedan afectar al proyecto [1]. Luego, se llega al modelado. La idea es

plasmar el problema en diagramas para así comprender mejor la situación actual, se pueden usar

diagramas de casos de uso, modelos de estado, modelos basados en objetivos, modelo de objetos

y modelo de datos, entre otros. [1]

Especificación: según la [1],

“Para la mayoría de las carreras de ingeniería, el término ‘especificación’ se refiere a la

asignación numérica de valores o límites a los objetivos de diseño de un producto. La

“Especificación de requisitos de Software se refiere típicamente a la producción de un documento,

o a su equivalente electrónico, que puede estar sistemáticamente repasado, evaluado, y aprobado”.

Es notorio que la especificación, según el proceso iterativo propuesto por [10] comienza cuando

se ha realizado un trabajo en las etapas de “elicitación” y análisis. Es por ello que la especificación

consolida los resultados de las etapas anteriores donde se hace fundamental que dicha

consolidación sea lo suficientemente clara para convertir las necesidades del cliente en una

solución software que las satisfaga.

La especificación permite que estén establecidos los requerimientos que realmente tienen valor

tanto para el cliente como para el negocio. Esto, implica representar y almacenar los

requerimientos recolectados de una manera organizada. Básicamente es traducir las necesidades

de los usuarios a un lenguaje más técnico para una mejor comprensión y revisión. [10]. Así, estos

requerimientos podrán ser evaluados y aprobados por parte de los desarrolladores y del cliente.

Existen según [1] tres tipos de documentos:

Documento de definición del sistema.

Page 18: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

18

Especificación de requerimientos del sistema.

Especificación de requerimientos de software (SRS)

Cuando los productos software son “simples”, sólo es necesario el documento SRS. [12]

Validación: [1] considera la validación como posterior ejercicio a la especificación de requisitos

donde el documento de requisitos de software resultante de una especificación debería ser sujeto

de procedimientos de validación y verificación. Los requisitos deberían ser validados para

asegurar de que el ingeniero software ha entendido los requisitos, es también importante verificar

que un documento de requisitos se ajusta a las normas de la empresa y que es comprensible,

coherente y completo. En casos donde la documentación de los estándares de la compañía o

terminología no es compatible con los estándares ampliamente aceptados se debería realizar un

mapeo o una correspondencia que será acordada y anexada al documento de requisitos.

Desde la mirada de [10], los requisitos pueden ser sometidos a procesos tanto de verificación

como de validación. El término “verificación” determina si se han escrito los requisitos bien, es

decir, que cada requisito cumple con las características de un buen requisito. La “validación”

evalúa si se han escrito los requisitos adecuados: están alineados a los objetivos de negocio. Estos

dos conceptos están estrechamente entrelazados.

La validación de requisitos permite a los equipos construir una solución correcta que cumpla

con los objetivos de negocio establecidos.

Gestión de requisitos: La gestión de requerimientos abarca todo lo relacionado con la planeación

del progreso y gestión de cambios durante el ciclo de vida del requerimiento, su principio es que

un requerimiento de un proyecto software puede variar en cualquier momento. Según [12], existen

muchos tipos de proyectos, la gestión es algo común en todos, sin embargo, dependiendo del

proyecto se podría generar mejores resultados si se efectúa de una u otra forma.

La planeación varía su gestión de acuerdo a los resultados obtenidos en etapas anteriores. Estos

resultados, deberían ser aprobados antes de realizar cualquier actividad acorde por el experto del

negocio, con el fin de establecer si las soluciones realmente satisfacen las necesidades de los

usuarios. En desarrollos de software, esta aprobación es cuando aceptan el documento SRS. [13]

La gestión de cambios usa como principal herramienta el versionamiento de los diferentes

documentos y artefactos generados durante cada actividad [12]. Un error en el manejo de

versiones, podría afectar el tiempo, costo, cronograma, errores de diseño, o en el peor de los casos

la cancelación del proyecto [13]

De acuerdo a todo lo anterior, las herramientas para la gestión de requerimientos son

fundamentales para el éxito del proyecto, pues además de facilitar el desarrollo de los requisitos,

de organizar y gestionar las versiones del proyecto. Por tanto, se considera importante estudiar las

herramientas que de este tipo se encuentran comúnmente en el mercado, un breve resumen de las

mismas se presenta en el apartado siguiente.

Page 19: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

19

5.2.Herramientas para la Gestión de Requerimientos (Fase 2)

Una de las etapas más importantes en el desarrollo de un producto software es el desarrollo de

los requerimientos, dado que allí se conoce a profundidad el problema a resolver y por defecto se

precisa el parámetro bajo el cual se cumplirán o no las expectativas del cliente. Una buena práctica

para garantizar que esta etapa tan fundamental se realice de manera adecuada es usar herramientas

que faciliten la gestión de los requerimientos y las tareas propias del desarrollo de software. Estas

son denominadas herramientas CASE (Ingeniería de software asistida por computador), y sirven

de apoyo para los desarrolladores desde el principio hasta el final del proceso [14]. Existen diversas

herramientas, tanto de pago3 como gratuitas (software libre4), que persiguen este objetivo.

Pese a lo anterior, se vislumbra como hipótesis que ninguna de estas herramientas satisface al

cien por ciento las necesidades de las MiPymes desarrolladoras de software del eje cafetero, pues

cada una presenta características, funcionalidades y limitaciones diferentes que no permiten lograr

un cubrimiento completo de las necesidades del proyecto y de la empresa. Así por ejemplo, algunas

herramientas son de uso libre, pero ofrecen capacidad limitada; otras, son de pago, pero el costo

de la licencia es muy elevado para las características de las empresas desarrolladoras pues, según

[15] no todas las empresas de la industria del software están en la capacidad financiera y operativa

para implementar algunos procesos y/o modelos que les permitan asegurar la calidad tanto de sus

procesos como de sus productos, pues en su mayoría, son pequeñas y medianas empresas

(PYMES) que poseen ciertas características específicas. Algunas de ellas, como lo mencionan [16]

son las siguientes:

El equipo de trabajo es poco calificado, suelen ser grupos menores a diez personas y sus

proyectos no son de más de medio año.

Cuentan con escasos recursos.

El proceso de desarrollo y gestión del proyecto (planeación, organización, monitoreo) se

basa en técnicas informales.

No se encuentra una estructura organizacional clara y no se definen roles dentro de la

organización.

Algunos ejemplos de herramientas que permiten la gestión de requerimientos, tanto de pago

como de uso libre, analizadas en el presente proyecto, son las presentadas en la Tabla 1, aclarando

que no todas se presentan en este documento:

Tabla 1. Herramientas CASE para gestión de requisitos

DE PAGO GRATUITAS

Case complete REM

Enterprise Architect Rmtoo

Jama software Let’s req

Visual paradigm REMAS

Caliber RETO

Rational IBM DRES

3 “Se pagó por el programa y se puede instalar en una o varias computadoras, dependiendo de una licencia. El usuario tiene garantía de que

el programa funcionará y, normalmente, el derecho a tener asistencia técnica si no es así. Está prohibido copiar el programa y distribuirlo

(pidiendo o no dinero a cambio)” Fuente especificada no válida.. 4 “Es el software que respeta la libertad de los usuarios y la comunidad. A grandes rasgos, significa que los usuarios tienen la libertad de

ejecutar, copiar, distribuir, estudiar, modificar y mejorar el software”Fuente especificada no válida..

Page 20: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

20

Visure Requirements Gatherspace

Case Spec TopTeam Analyst

Las herramientas de pago contienen mejores funcionalidades y son mucho más robustas, sin

embargo, como se mencionó anteriormente el alto costo de sus licencias hace que sea difícil su

adquisición por las MiPymes. Otro aspecto desfavorable identificado es que generalmente éstas

solo funcionan en plataformas Windows, limitando en gran medida su utilización.

A continuación, se nombran herramientas para la gestión de requisitos como resultado de la

investigación, pero, por motivos de licencia no se logró instalar satisfactoriamente el software:

Rational Requisite Pro from IBM

Gestione el desarrollo de requerimientos basados en documentos (ej: Especificación

de casos de uso) en paralelo con IBM Rational RequisitePro

“IBM Rational RequisitePro fue diseñado para dar soporte a un enfoque serializado

de la ingeniería de requerimientos. Debido a los ciclos de vida y a los enfoques de múltiples

equipos, existe una demanda de trabajo sobre requerimientos en paralelo.” [17]

InsCo Requisite

“InSCo Requisite es una herramienta basada en web para la gestión de requisitos en

proyectos de desarrollo de software híbrido.” [18]

Caliber

“Caliber® (anteriormente, Borland Caliber) es una solución de requisitos completa

que garantiza la conformidad normativa y la coherencia del desarrollo con sus necesidades

empresariales. Calibre facilita la colaboración de las partes interesadas, unas funciones de

visualización completas, una sólida gestión y el seguimiento de los requisitos en los planes

de entrega de Agile. Distribuya el software con una gran precisión, sin necesidad de repetir

el trabajo, con ciclos de lanzamiento más cortos y con la garantía del cumplimiento de las

normativas internas y externas, todo ello para conseguir mejorar la satisfacción de los

clientes.” [19]

IBM Rational Doors

Es un software propio de IBM que gestiona los requerimientos y requisitos, permite

capturar, rastreas, analizar, y gestionar cambios a la información. [20]

Este software está diseñado como una aplicación de base de datos cliente/servidor.

Enterprise Architec

Este software no solo ayuda a gestionar los requerimientos si no que permite hacer

diseño de software, arquitectura de empresas, gestión de requisitos, testing, etc.

Está basado en estándares abiertos como lo son UML, BPMN.

Puede gestionar los requisitos, modelos estratégicos y modelos de análisis.

Page 21: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

21

Realiza debug al software lo que permite inspeccionar la ejecución del software. [21]

Quality center Enterprise (QC)

Permite observar todo el desarrollo del ciclo de vida del software al igual que la

actividad de los desarrolladores, desde la gestión de los requisitos hasta las pruebas y

resolución de los defectos.

En este software existen 2 tipos de pruebas manuales o automatizadas, se pueden combinar

y así dar una flexibilidad y capacidad de respuestas óptimas en las pruebas. [21]

Se presentaron varios inconvenientes con esta herramienta en su versión de prueba

(TRIAL).

1. Solo funciona con el navegador internet explorer 11.

2. La ventana siempre presenta que existe un error.

Visure Requirements

Es un software muy flexible a la hora de hablar ingeniería de requerimientos. Capaz

de racionalizar y gestionar los procesos de gestión de requerimientos por ende es posible

alcanzar una excelente calidad.

Al igual que otro software permite gestionar (requisitos, pruebas, solicitudes de

cambio, etc) y está diseñado para un fácil uso con excelentes resultados.

Inicialmente se debe realizar un registro en su página web, al terminar este registro ellos

enviarán un nuevo correo informando los pasos a seguir para realizar una instalación

correcta. Se debe contar con correo empresarial o institucional.

Por lo general tardan para enviar la licencia y correos necesarios para poder iniciar

con la versión trial. La versión trial genera un gran inconveniente es que no todas las

funciones están activadas, es muy mínimo lo que permite realizar. Solo permite observar 2

ejemplos existentes.

Case spec

Permite especificar, gestionar y realizar seguimiento a los requisitos, casos de uso,

casos de prueba y todo en un entorno de trabajo unificado. Además de la gestión de

requisitos permite trazar relaciones entre los requisitos.

Admite personalizar los metadatos con vistas para que se adapten al proceso. [22]

Con Case spec, aunque dan la opción de probar la herramienta a la hora de intentar

descargarla no permite sin antes comprar mínimo una licencia.

Case complete

“Es una herramienta para la gestión de los requisitos de manera muy ágil para

reducir el esfuerzo de capturar los casos de uso y generar su documentación de forma

automática.” [23]

Page 22: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

22

Esta herramienta es muy completa, con gran usabilidad y contiene todo lo

relacionado a requerimientos y casos de uso, para gestionarlos y observar su trazabilidad.

Para esta herramienta, el requisito tiene una serie de entradas las cuales son

obligatorias para crearse, esta herramienta, tiene un menú principal, una pestaña

suplementaria, la trazabilidad del requisito que es muy importante y la prueba del mismo.

Raquest

Es una herramienta sobre la gestión de requerimientos para el modelado UML. Se

puede realizar un seguimiento a los requisitos con una serie de características.

Las características principales de este software son:

o Definir y gestionar elementos de requisitos.

o Crear paquetes para gestionar artículos de requisito.

o Generar documentos para una parte o todo el proyecto en los siguientes formatos

(HTML, CSV, Word, Excel, RTF) [19]

En su última actualización, Raquest de Sparx Systems se volvió una herramienta de

Enterprise architec.

No solo se encuentra software de pago, también existen herramientas gratuitas y de

código libre que se pueden reemplazar siempre y cuando satisfagan las necesidades, esto

ayudaría a la empresa a reducir costos ya que no se tendría que comprar licencias costosas.

Algunas de esas herramientas son:

DRES (Requirements Engineering Support)

“Es un software libre (WEB) de código abierto que permite la gestión de requisitos

de un proyecto” [24]

Let’s req

Es una aplicación WEB que permite gestionar proyectos y requisitos de sistemas de

software de manera gratuita.

Open Source Requirement Mangement Source

“Herramienta de gestión de requisitos de código libre, diseñado para lograr una

trazabilidad completa SDLC para las características, requisitos, diseño, implementación y

pruebas.” [25]

Rmtoo

“Software para la gestión de requerimientos, es de código libre y abierto. Es una

herramienta sin interfaz de usuario todo es a base de comandos.” [26]

Una herramienta poco amigable con el usuario, muy difícil de usar ya que todo se basa en

comandos.

Page 23: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

23

REM (Requirements Management)

“Es una herramienta gratuita para la gestión de los requisitos de software, su última

actualización fue en el año 2004.” [27]

A pesar de ser una herramienta gratuita, tiene muchos factores positivos para la gestión de

los requisitos.

Esta herramienta no solo se centra en los requisitos si no con todo lo relacionado a la

ingeniería del software.

REMAS (RElease MAnagement System)

Es un sistema para la gestión de requerimientos del lado de la web. Es de código

abierto y libre. [28]

Esta herramienta es de una mala interfaz con el usuario, poco amigable y su

ejecución es algo compleja.

Reqtify

Es una aplicación interactiva de fácil uso para la gestión de requisitos, trazabilidad

y análisis de impacto entre diferentes sistemas, programas y niveles de proyectos en todo

el ciclo de vida de desarrollo del software y el hardware.

Reqtify ofrece una completa lista de interfaces con varias herramientas de

ingeniería de sistemas. Reqtify puede capturar datos desde cualquier fuente (archivos,

bases de datos) de cualquier proveedor en una amplia variedad de formatos de datos y

archivos. Es una plataforma abierta y ampliable que cuenta con interfaces de más de 60

herramientas habituales de ingeniería de sistemas. Reqtify también permite a las

organizaciones gestionar eficazmente sus procesos de ingeniería de requisitos y garantizar

el cumplimiento de normas como ISO61508, ISO26262, Spice, DO178C, DO254, FDA,

GAMP, CMMI y muchas más.

Principales ventajas y beneficios:

o Captura de requisitos a cualquier nivel

o Captura de requisitos intuitiva, rápida y sencilla desde documentos de Word o PDF

o Análisis de cobertura y trazabilidad

o Gestión de cambios de requisitos e información de ciclo de vida

o Análisis de impacto ascendente y descendente para la gestión del riesgo de

regresión. [29]

Jama Software:

“Jama es una moderna solución de gestión de requisitos para el desarrollo de

sistemas complejos.” [30]

Con Jama se pueden gestionar proyectos de toda magnitud, desde pequeños hasta de gran

escala. Permite realizar trazabilidad, asignar responsable, hasta añadir descripción acerca

del requisito.

Page 24: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

24

Accept 360:

“Con Accept360 Requirements Management ™ puede cubrir los requerimientos de

fugitivos y crear un plan de producto coherente y priorizado con la colaboración de todas

las partes interesadas. Desplaza las necesidades de fuentes dispersas e inaccesibles y las

coloca en un único repositorio empresarial. Todos sus interesados - ingenieros,

desarrolladores, probadores, así como gerentes de productos y ejecutivos de productos -

ahora tienen acceso fácil y basado en roles a la información que necesitan para crear

productos ganadores.” [31]

No se puede extraer mucho de esta herramienta ya que en su página principal es muy

limitada y no brinda mucha información acerca de cómo poder probar o descargar la

herramienta. Para poder obtener la herramienta es necesario contactarlos por llamada

telefónica y están ubicados en Texas, USA

Gather Space:

Es una herramienta WEB poco intuitiva y de difícil manejo, tiene poca coherencia y poco

entendimiento a la hora de crear un proyecto y realizar seguimiento a los requerimientos.

Es muy poco amigable con el usuario y la documentación que tiene es extensa y compleja

de entender.

5.2.1. Pruebas a las herramientas

Las pruebas realizadas a las herramientas consistieron principalmente en implementar una

especificación de requisitos de software a través de las diferentes plataformas, identificando

principalmente los elementos de entrada requeridos por la misma, las restricciones, detalles del

proceso a seguir, atributos que permite definir, ventajas y desventajas, entre otros. A continuación,

se muestran a manera de ejemplo, algunas de las evidencias del proceso con algunas de las

herramientas.

Case Complete

“Es una herramienta para la gestión de los requisitos de manera muy ágil para reducir el

esfuerzo de capturar los casos de uso y generar su documentación de forma automática.” [23]

Desarrollada por SERLIO SOFTWARE, esta herramienta presenta diversas funcionalidades, es

intuitiva y está enfocada en el desarrollo de los requerimientos y casos de uso.

Inicialmente, la herramienta solicita ingresar algunos detalles del requerimiento a especificar,

tales como nombre, prioridad, descripción, tipo, responsable, estado, documentos relacionados y

notas, entre otros atributos.

Page 25: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

25

Ilustración 3. Datos de entrada solicitados para un requerimiento

De igual forma, se presenta una trazabilidad del requerimiento que es muy importante para

gestionar el control de versiones, los requerimientos asociados a este y las consecuencias de su

modificación en cualquier momento.

Enterprise Architec

Desarrollado por Sparxsystems, este software no solo ayuda a gestionar los requerimientos si

no que permite hacer diseño de software, plantear la arquitectura, gestionar los requisitos, realizar

testing, entre otras. Está basado en estándares abiertos UML, BPMN y puede gestionar los

requisitos, modelos estratégicos y modelos de análisis.

Ilustración 4. Datos solicitados por la herramienta

Esta herramienta presenta una gran variedad de atributos a la hora de crear los requerimientos.

Entre ellos se pueden destacar el tipo, estado, alias, palabras clave, autor, dificultad del

requerimiento, prioridad, versión, fase. De igual forma, presenta una funcionalidad para una mejor

Page 26: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

26

especificación del requerimiento relacionada con las reglas, restricciones y su relación con otros

requerimientos.

Jama Software

Jama es una moderna solución de gestión de requisitos para el desarrollo de sistemas complejos

[30]. Con Jama se pueden gestionar proyectos de toda magnitud, desde pequeños hasta de gran

escala. Permite realizar trazabilidad, asignar responsables, añadir descripciones de los requisitos,

entre otras.

Ilustración 5. Datos solicitados por Jama Software

Esta herramienta es muy concreta a la hora de documentar los atributos de los requerimientos.

Algunos de estos son el id, nombre, descripción, responsable, estado, prioridad y lanzamiento.

Además, Jama Software permite compartir información entre los interesados del proyecto para que

todos tomen decisiones y realicen un seguimiento “trazabilidad” a los requerimientos.

Visual Paradigm

Visual Paradigm tiene un conjunto de ayudas para el desarrollo de programas informáticos,

desde la planificación, pasando por el análisis y el diseño, hasta la generación del código fuente

de los programas y la documentación. Visual Paradigm ha sido concebida para soportar el ciclo de

vida completo del proceso de desarrollo del software a través de la representación de todo tipo de

diagramas. Una de sus principales ventajas es que funciona en tanto en plataforma Windows como

en Linux y tiene una amplia gama de versiones (Enterprise, Community Edition, Professional,

entre otras).

Page 27: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

27

Ilustración 6. Datos solicitados por Visual Paradigm

Esta herramienta es una de las más completas y más enfocadas a la gestión de requerimientos,

permite generar documentación sobre estos, trazabilidad a los requerimientos, realizar gráficas y

diagramas de requerimientos, vincular a los miembros del equipo para agilizar, compartir y realizar

seguimiento a los requerimientos. De igual forma, la herramienta tiene unos atributos clave a la

hora de crear los requerimientos. Algunos de ellos son id, nombre, tipo, riesgo, descripción.

REM

Es una herramienta gratuita para la gestión de los requisitos de software presentada por [32]

como parte de una tesis doctoral. Su última actualización fue en el año 2004 y a pesar de ser una

herramienta gratuita, tiene muchos factores positivos para la gestión de los requisitos.

Ilustración 7. Datos solicitados por REM

La herramienta tiene como factor desfavorable, que su última actualización fue en el año 2004,

quedando con algunos errores que afectan su funcionamiento. Sin embargo, cuenta con una

característica que permite generar documentación sobre requerimientos en HTML.

De igual forma, REM es una herramienta muy limitada por los pocos tipos de requerimientos

que pueden ser creados, alguno de sus atributos puede ser id, nombre, versión, fecha de creación,

responsable y autor. Así pues, pese a ser gratuita cuenta con funciones importantes que permiten

profundizar a la hora de crear los requerimientos como son la descripción, prioridad, trazabilidad,

historia y comentarios.

5.3.Análisis comparativo de las herramientas (Fase 3)

Page 28: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

28

Una vez estudiadas las herramientas para la gestión de requerimientos identificadas, se realiza

una tabla comparativa en la que se pretende determinar las principales diferencias entre cada una

de las herramientas, considerando además los aspectos que mayor relevancia tiene cada una, sus

principales ventajas y falencias. Algunas de ellas, se presentan a continuación:

Tabla 2 Tabla comparativa entre herramientas para la gestión de requerimientos

De igual forma, [33] presentan un análisis de otras herramientas que también son objeto de

estudio de esta investigación. Las mismas se muestran a continuación:

Herramienta De pago /

Libre Plataforma Ventajas Desventajas

Enterprise Architec De Pago Windows

Modelado completo para el ciclo de vida. Repositorio escalable para el trabajo en equipo.

Veloz, estable y efectivo. Genera documentación. Generación e ingeniería a la

inversa del código fuente.

Solo funciona en plataforma Windows.

Visure Paradigm De Pago

Windows,

Linux, MAC OS

Genera modelos VP-UML instantáneamente a partir

de código binario .Net. Generación de documentación en formatos HTML y

PDF.

Generación de documentación: brinda la posibilidad de documentar todo el trabajo sin necesidad de

utilizar herramientas externas.

Las imágenes y reportes generados, no

son de muy buena calidad.

Case Complete De Pago Windows Interfaz amigable. Permite trazabilidad entre los

requerimientos. Rápido y de fácil manejo Solo funciona en plataforma Windows.

Jama Software De Pago Windows

Disponer de requisitos de calidad en un entorno compartido.

Implicar a todos los interesados en el proyecto y

fomentar la revisión y validación. Optimización de la gestión de requisitos óptima.

Gestión de Pruebas.

Interfaz con una experiencia de usuario excelente.

Adaptación a cualquier tipología y ciclo de vida de

requisitos.

Generación de todo tipo de vistas y reportes.

Solo funciona en plataforma Windows.

REM Libre Windows Permite exportar el documento HTML.

Difícil manejo

Última actualización fue en el 2004

Siempre presenta un error pero no afecta su funcionalidad

Interfaz poco amigable

Page 29: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

29

Ilustración 8: Herramientas para la gestión de requerimientos [33]

Ilustración 9: Herramientas para la gestión de requerimientos [33]

Page 30: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

30

Ilustración 10: Herramientas para la gestión de requerimientos. [33]

En el anterior análisis, es evidente que las herramientas de pago son mucho más robustas y

permiten implementar mayor número de funciones. Sin embargo, esto representa costos elevados

que hacen más difícil su adquisición por parte de pequeñas y medianas empresas. De igual forma,

se puede apreciar, con base en el estudio realizado, que el cien por ciento de estas herramientas de

pago solo pueden ser usadas en plataforma Windows.

Por otro lado, las herramientas libres tienen funciones y características importantes a la hora de

crear requerimientos, las mismas pueden ser elegidas por personas o empresas que no cuenten con

capital suficiente para este tema o recién comiencen en el ámbito laboral, pues con sus capacidades

pueden satisfacer ampliamente las necesidades de pequeñas empresas desarrolladoras de software

al momento de gestionar sus requerimientos.

El ejercicio permite también determinar los datos de entrada que con comunes entre las

herramientas, así como aquellos que son de obligatorio diligenciamiento o son más importantes.

Esto contribuirá significativamente al análisis de las necesidades principales para el modelo

automatizado que permita asegurar la calidad de los requerimientos, planteado como trabajo

futuro.

Otros aspectos como la trazabilidad, integración con otras plataformas, documentación

relacionada requerida y validación de la especificación obtenida son vitales para la investigación,

pue permiten dar una idea de la completitud con la que un sistema de gestión de requerimientos

debe operar.

Finalmente, el análisis realizado entrega información relevante para la siguiente etapa del

proyecto, relacionada con el diseño conceptual del modelo antes mencionado.

5.4.Entradas para el modelo conceptual

Las entradas son los elementos que necesita un requerimiento para poder ser creado. En este

apartado, se presentan las entradas que deberán ser tenidas en cuenta para el desarrollo de un

modelo automatizado para el aseguramiento de la calidad de los requisitos, identificadas a partir

de la consulta de las herramientas de desarrollo y gestión de requisitos estudiadas en el capítulo

anterior, así como en los resultados de la aplicación de un instrumento que indagó a las empresas

desarrolladoras de software de la región cafetera “Caracterización del aseguramiento de la calidad

de los requerimientos en la industria del software” sobre la forma en la que llevan a cabo el proceso

Page 31: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

31

con los requisitos. Esto, busca determinar un instrumento que reúna las principales características

a considerar en el desarrollo de una herramienta para la elicitación, especificación y validación de

los requisitos que logre asegurar la calidad de los mismos.

De acuerdo a lo anterior, se presentan en la ilustración 22 los atributos principales a tener en

cuenta para el desarrollo de la herramienta propuesta:

Ilustración 11: Elementos de entrada de un requerimiento

ID

Versión

Fecha Creado Aprobado Modificado

Aceptado Diseñado Desarrollado Implantado Eliminado En espera Fecha

Funcional No funcional Usuario Sistema

Descripción Describir de manera detallada el requerimiento

Palabras clave

Suposiciones y dependencias Descripción de aquellos factores que si cambian, pueden afectar la realización de los req.

Pre-Condición Qué se debe cumplir antes de invocar el req.

Post-Condición Qué altera el sistema de manera posterior al ser realizado el req.

Alcance Describe en detalle los límites del proyecto, mencione las acciones que realizará el sistema

Restricciones Restricciones del sistema como tal, lenguajes de programación, hardware, software, entre otros.

Título del proyecto

Propósito Mencione los objetivos a los cuales debe dar solución el sistema

Fecha liberado

Nombre del requerimiento

Autor

Responsable

Muy alto

Muy alto

Estado

Tipo

Dificultad Bajo Medio Alto

Prioridad Bajo Medio Alto

Page 32: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

32

6. ELICITACIÓN Y ESPECIFICACIÓN DE REQUISITOS (Fase 4)

Para el desarrollo de esta fase de la metodología, se realizaron actividades tendientes a dar

cumplimiento a las fases del ciclo de vida de los requisitos propuesto por [34, p. 45], expresadas

en la siguiente figura:

Ilustración 12. Proceso iterativo de desarrollo de requisitos [34, p. 45]

6.1.Elicitación de requisitos

Para la identificación de los requisitos para la plataforma automatizada que permita asegurar la

calidad de los requisitos se establecieron por los investigadores del proyecto los siguientes 4

escenarios, de los cuales se obtuvieron 32 requisitos funcionales y 3 requisitos no funcionales:

Estado de la técnica: Es la recopilación de todo el trabajo realizado sobre el análisis de las

herramientas. Observar cuáles entradas se solicitaban para la creación del requerimiento y

las funciones relevantes que puede brindar una herramienta CASE para la gestión de

requerimientos.

Trabajos previos: Información recopilada de trabajos anteriores, en los cuales se utilizó

información necesaria para la creación del requerimiento, tal que este, tenga una estructura

adecuada y concisa para así, asegurar la calidad del mismo.

Encuesta: Información recolectada sobre el instrumento diligenciado por las empresas

desarrolladoras de software de la ciudad de Pereira, donde plasman lo necesario para el

aseguramiento de la calidad de los requerimientos software.

Análisis del grupo de trabajo: Requerimientos resultantes en las reuniones del grupo de

trabajo.

A continuación, en la Tabla 3 (Ver Anexo D – Requisitos herramienta) se listan los requisitos

identificados para la herramienta:

Page 33: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

33

Tabla 3: Requisitos identificados

Identificador Descripción

REQF000 El sistema debe permitir al administrador crear un usuario

REQF001 El sistema debe permitir al administrador consultar un usuario

REQF002 El sistema debe permitir al administrador modificar un usuario

REQF003 El sistema debe permitir al administrador eliminar un usuario

REQF004 El sistema debe permitir al administrador crear un proyecto

REQF005 El sistema debe permitir al administrador eliminar un proyecto

REQF006 El sistema debe permitir a los usuarios modificar un proyecto al que pertenezca

REQF007 El sistema debe permitir a los usuarios consultar un proyecto

REQF008 El sistema debe permitir a los usuarios crear un requisito

REQF009 El sistema debe permitir a los usuarios modificar un requisito

REQF010 El sistema debe permitir a los usuarios eliminar un requisito

REQF011 El sistema debe permitir a los usuarios consultar un requisito

REQF012 El sistema debe permitir a los usuarios describir un requisito

REQF013 Al crear un requisito el sistema debe asignar fecha al requerimiento según la hora del sistema

operativo o servidor

REQF014 Al modificar un requisito el sistema debe asignar una nueva fecha al requerimiento según la

fecha del sistema operativo o servidor

REQF015 El sistema debe permitir a los usuarios priorizar un requisito

REQF016 Al crear un requerimiento el sistema debe versionar el requisito

REQF017 El sistema debe permitir a los usuarios observar el historial del requisito

REQF018 El sistema debe permitir a los usuarios agrupar los requisito

REQF019 El sistema debe permitir a los usuarios asignar un requisito

REQF020 El sistema debe permitir a los usuarios clasificar un requisito

REQF021 El sistema debe permitir a los usuarios escalar un requisito

REQF022 El sistema debe permitir a los usuarios consultar un reporte de los requisitos por: Estado, fecha,

versión, tipo.

REQF023 El sistema debe permitir a los usuarios recuperar su contraseña

REQF024 Al validar las credenciales el sistema debe permitir a los usuarios ingresar al sistema

REQF025 El sistema debe permitir al administrador agregar participantes a un proyecto

REQF026 El sistema debe permitir a los usuarios enviar mensajes a otros miembros del proyecto

REQF027 El sistema debe permitir a los usuarios ver quien está conectado en el proyecto

REQF028 El sistema debe permitir a los usuarios ver cómo redactar los requerimientos

REQF029 Cuando se crea un requerimiento el sistema debe permitir a los usuarios administrar diagramas

REQF030 Cuando se crea un proyecto el sistema debe permitir a los clientes comentar el proyecto

REQF031 Cuando se crea un proyecto el sistema debe permitir a los usuarios generar la documentación de

los requerimientos

REQNF000 Si un usuario malicioso intenta acceder a funciones para las cuales no tiene autorización, el

sistema debe denegar el acceso a las funciones del sistema y el 100% de las acciones son

registradas

REQNF001 El sistema debe ejecutar todas las funciones para las cuales está diseñado en los siguientes

navegadores: IE, Chome y Firefox.

Page 34: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

34

REQNF002 Si ocurre una falla que produce que el sistema se detenga el sistema debe reiniciar el servicio en

un tiempo no mayor a 5 minutos

Los requisitos anteriores fueron producto de reuniones del grupo de investigación, trabajos previos

realizados, respuestas del instrumento o resultado de la investigación

A continuación, se presenta en la Tabla 4 una clasificación de los requisitos identificados de

acuerdo al escenario del cual fueron obtenidos:

Tabla 4: Origen requisitos

ORIGEN

Identificador

Estado de la

técnica Trabajos previos Encuesta

Análisis del grupo

de trabajo

REQF000 X

REQF001 X

REQF002 X

REQF003 X

REQF004 X

REQF005 X

REQF006 X

REQF007 X

REQF008 X

REQF009 X

REQF010 X

REQF011 X

REQF012 X

REQF013 X

REQF014 X

REQF015 X

REQF016 X

REQF017 X

REQF018 X

REQF019 X

REQF020 X

REQF021 X

REQF022 X

REQF023 X

REQF024 X

REQF025 X

REQF026 X

REQF027 X

REQF028 X X

REQF029 X

REQF030 X

REQF031 X

REQNF000 X

REQNF001 X

REQNF002 X

Page 35: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

35

6.2.Análisis de requisitos

Con el fin de dar cumplimiento a la fase de análisis del ciclo de vida de los requisitos, se

usó el Formato para el levantamiento de requerimientos (Ver Anexo A - Formato para el

levantamiento de requerimientos) elaborado por [35], el cual permite asegurar una correcta

identificación de los atributos que debe contener cada uno de los requerimientos identificados.

A continuación se muestra un ejemplo de un requisito funcional y uno no funcional

detallados en el formato.

Page 36: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

36

Ilustración 13:REQNF000

Page 37: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

37

Ilustración 14:REQF000

Page 38: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

38

6.3.Especificación de requisitos

La especificación de requisitos se realizó siguiendo el procedimiento “PEVReS”

(Procedimiento para la Especificación y Validación de Requisitos de Software), elaborado por

[36]

Ilustración 15. Información general sobre PEVReS [36]

El procedimiento establece la aplicación de técnicas y buenas prácticas de Ingeniería de

Requisitos como las siguientes, para asegurar la calidad de los requisitos especificados:

Especificación de requisitos en lenguaje natural

Esquema de clasificación de requisitos

Perspectivas sobre requisitos

Diagramas de Casos de uso

Diagrama Entidad-Relación

Diagrama de Clases

Diagrama de Actividades

Diagramas de Flujo de Datos

Diagrama de Estados

Prototipos

Revisiones guiadas (Walkthroughs)

Inspecciones

Listas de comprobación (Checklist)

En la primera parte del procedimiento se encuentran el título, la descripción, el responsable, las

precondiciones y las entradas, como se ilustra a continuación.

Page 39: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

39

Ilustración 16: Procedimiento para especificar requisitos de software en mipymes desarrolladoras de software de la ciudad de Pereira

Posteriormente, el procedimiento presenta tres actividades y para cada una de ellas las técnicas que permiten llevar a cabo la actividad,

así como el cubrimiento de la técnica (requerida, recomendada, opcional), su responsable, los pasos para ejecutar la técnica y finalmente,

los formatos, guías y herramientas que le sirven de apoyo. La primera actividad, relacionada con el entendimiento del negocio, se muestra

a continuación.

Page 40: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

40

Ilustración 17: Especificación de requisitos

Page 41: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

41

La segunda actividad relacionada con la Especificación de requisitos de usuario se presenta a continuación.

Ilustración 18: Especificación de Requisitos

Page 42: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

42

La tercera actividad hace referencia a Especificación de requisitos del sistema y al final se muestran las salidas del procedimiento en

las que se destaca el Documento de especificación de requisitos (SRS).

Ilustración 19: Especificación requisitos del sistema

Page 43: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

43

6.4.Aplicación del procedimiento

Para la aplicación del procedimiento se seleccionaron las siguientes técnicas, de acuerdo a la

clasificación de los requisitos presentada en [11, p. 34], aclarando que para PEVReS los requisitos

de software (funcionales y no funcionales) se derivan de los requisitos del sistema, entendiendo

que el sistema tiene componentes de software.

Ilustración 20. Técnicas seleccionadas del procedimiento PEVReS para la especificación de requisitos

Para determinar los requisitos a nivel del Negocio, en el cual se encuentran aquellos requisitos

que representan objetivos de alto nivel para la organización o el cliente que requiere el producto y

constituyen finalmente la necesidad principal para la elaboración de la plataforma de

aseguramiento de la calidad de los requisitos, se aplicó la técnica relacionada con la elaboración

de un Diagrama de actividades, en el cual explica el funcionamiento básico del aplicativo web.

Diagrama de actividades

Prototipos

Lenguaje natural

Page 44: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

44

Ilustración 21: Diagrama de actividades

Así mismo, con la intención de establecer los requisitos a nivel del Usuario, los cuales describen

tareas que los usuarios deben estar en capacidad de cumplir con el producto de software que se

está describiendo y buscando satisfacer las expectativas acerca de lo que el sistema debe proveer

al usuario y las restricciones sobre las cuales debe operar, se elaboraron los siguientes Prototipos

como técnica también orientada a facilitar la validación de los requisitos identificados, analizados

y especificados.

El siguiente prototipo hace referencia a los requerimientos funcionales (REQF000, REQF001,

REQF002, REQF003, REQF004, REQF005, REQF006, REQF007). (Ver anexo B – Prototipos)

Page 45: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

45

Ilustración 22: Prototipo REQF000-REQF007

De igual forma, se realizaron los prototipos para todos los requerimientos funcionales del sistema.

Finalmente, para especificar los requisitos del sistema los cuales hacen referencia a la

funcionalidad que debe ser construida para permitir al producto realizar sus tareas, en términos de

las necesidades del sistema, se empleó la técnica de especificación en Lenguaje natural

estructurado (Ver Anexo C – Plantilla lenguaje natural estructurado), la cual entrega una

forma de redactar los requisitos del sistema donde la libertad del redactor de los requisitos está

limitada y donde todos los requisitos se redactan de una forma estándar [37, p. 26]. Para limitar la

terminología al redactar los requisitos, se empleó una plantilla que facilita las notaciones del

lenguaje estructurado. La misma se presenta a continuación:

Page 46: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

46

Ilustración 23: Plantilla para especificar requisitos en lenguaje natural estructurado [36]

Una vez aplicada la técnica a los requisitos identificados, se obtuvo el siguiente resultado.

Requisitos

Identificador Nombre

REQF000 Crear usuario

REQF001 Consultar usuario

REQF002 Modificar usuario

REQF003 Eliminar usuario

REQF004 Crear proyecto

REQF005 Eliminar proyecto

REQF006 Modificar proyecto

REQF007 Consultar proyecto

REQF008 Crear requisito

REQF009 Modificar requisito

REQF010 Eliminar requisito

REQF011 Consultar requisito

REQF012 Describir requisito

REQF013 Crear fecha requisito

REQF014 Asignar fecha requisito

REQF015 Priorizar requisito

REQF016 Versionar requisito

REQF017 Trazabilidad requisito

REQF018 Agrupar requisito

REQF019 Asignar requisito

REQF020 Clasificar requisito

REQF021 Escalar requisito

REQF022 Consultar reporte requisito

REQF023 Recuperar contraseña

REQF024 Ingresar a la aplicación

REQF025 Agregar participantes

REQF026 Enviar mensajes

REQF027 Ver qué persona del equipo está conectado

REQF028 Cómo redactar requisito

REQF029

Administrar diagramas

Page 47: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

47

REQF030 Comentar proyecto

REQF031 Generar documentación requisito

REQNF000 Seguridad

REQNF001 Portabilidad

REQNF002 Disponibilidad

Page 48: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

48

7. ANÁLISIS Y DISCUSIÓN DE RESULTADOS

Una vez estudiadas las herramientas para la gestión de requerimientos identificadas, se realiza

una tabla comparativa en la que se pretende determinar las principales diferencias entre cada una

de las herramientas, considerando además los aspectos que mayor relevancia tiene cada una, sus

principales ventajas y falencias (Tabla 1).

Se encontró que las herramientas de pago contienen mejores funcionalidades y son mucho más

robustas, sin embargo, como se mencionó anteriormente el alto costo de sus licencias hace que sea

difícil su adquisición por las MiPymes. Otro aspecto desfavorable identificado es que

generalmente éstas solo funcionan en plataformas Windows, limitando en gran medida su

utilización.

En el anterior análisis, es evidente que las herramientas de pago son mucho más robustas y

permiten implementar mayor número de funciones. Sin embargo, esto representa costos elevados

que hacen más difícil su adquisición por parte de pequeñas y medianas empresas. De igual forma,

se puede apreciar, con base en el estudio realizado, que el cien por ciento de estas herramientas de

pago solo pueden ser usadas en plataforma Windows.

Por otro lado, las herramientas libres tienen funciones y características importantes a la hora

de crear requerimientos, las mismas pueden ser elegidas por personas o empresas que no cuenten

con capital suficiente para este tema o recién comiencen en el ámbito laboral, pues con sus

capacidades pueden satisfacer ampliamente las necesidades de pequeñas empresas desarrolladoras

de software al momento de gestionar sus requerimientos.

El ejercicio permite también determinar los datos de entrada que con comunes entre las

herramientas, así como aquellos que son de obligatorio diligenciamiento o son más importantes.

Esto contribuirá significativamente al análisis de las necesidades principales para el modelo

automatizado que permita asegurar la calidad de los requerimientos, planteado como trabajo

futuro.

Otros aspectos como la trazabilidad, integración con otras plataformas, documentación

relacionada requerida y validación de la especificación obtenida son vitales para la investigación,

pue permiten dar una idea de la completitud con la que un sistema de gestión de requerimientos

debe operar.

Finalmente, el análisis realizado entrega información relevante para la siguiente etapa del

proyecto, relacionada con el diseño conceptual del modelo antes mencionado.

Page 49: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

49

8. CONCLUSIONES

La Ingeniería de requisitos y, como parte de ella la gestión de los requerimientos, no es la

solución definitiva al problema de producir software de baja calidad, pero ayuda en gran medida

al descubrimiento y solución de falencias en etapas tempranas del desarrollo de proyectos de

software, reduciendo costos y tiempo en el ciclo de vida.

Por lo tanto, las herramientas CASE agilizan y facilitan la gestión de requerimientos software,

ofreciendo apoyo permanente al equipo de trabajo encargado del desarrollo del proyecto. En el

mercado se pueden encontrar herramientas gratuitas y de pago, brindando un abanico de

posibilidades a las empresas y/o personas que las requieren.

Sin embargo, la mayoría de herramientas de pago que se encuentran en el mercado presentan

altos costos en el licenciamiento, lo que representa difíciles para muchas de las pequeñas y

medianas empresas desarrolladoras de software, razón por la cual, en su gran mayoría, utilizan

herramientas gratuitas o no utilizan ninguna de ellas.

Con lo anterior, la gestión de requerimientos es una tarea que aún tiene mucho por explorar,

pues aún requiere optimizar y definir elementos de entradas fundamentales y concisos para cumplir

con las expectativas del cliente y satisfacer las necesidades del proyecto.

Page 50: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

50

9. REFERENCIAS BIBLIOGRÁFICAS

[1] IEEE, SWEBOK, Piscataway: IEEE, 2004.

[2] B. Boehm, Software Engineering Economics, New Jersey: Prentice Hall, 1981.

[3] I. Sommerville, Ingenieria del Software, Séptima Edición ed., Madrid: Pearson Educación

S.A, 2005.

[4] R. S. Pressman, Ingeniería del Software UIn enfoque práctico, Septima edición ed.,

McGraw-Hill, 2010.

[5] R. H. Thayer y M. Dorfman, Software Requirements Engineering, Segunda edición ed.,

1997.

[6] R. S. Pressman, Ingeniería del software, un enfoque práctico, Sexta edición ed., Madrid:

McGraw-Hill, 2006.

[7] R. Oberg, L. Probasco y M. Ericsson, «Applying requirements management with use

cases,» 2003. [En línea]. Available:

http://www.uml.org.cn/RequirementProject/pdf/apprmuc.pdf.

[8] L. Merchan, A. Urrea y R. Rebollar, «Definición de una metodología ágil de ingeniería de

requerimientos para empresas emergentes de desarrollo de software del sur-occidente

colombiano,» Revista Científica Guillermo de Ockham, Universidad de San

Buenaventura, vol. 6, nº 1, pp. 37-50, 2008.

[9] A. Toro, L. E. Peláez y L. Cardona Benjumea, «Revisión de propuestas de ingeniería del

software: una mirada desde las organizaciones internacionales que tratan la disciplina,»

Entre ciencia e ingeniería, pp. 189-191, 2010.

[10] K. Wiegers y J. Beatty, Software Requierements, Third Edition ed., Redmon, Washington:

Microsoft Press, 2013.

[11] IEEE, SWEBOK Guide V3.0, Piscataway: IEEE, 2014.

[12] J. D. Murcia Torres, «Guía para la integración de métodos formales de ingeniería,»

Bogotá, 2014.

[13] K. Jackson, E. Hull y J. Dick, «Requeriments Engineering,» Londrés, 2011.

[14] E. Sandoval y A. Alarcón, «Herramientas CASE para ingeniería de requisitos,» Cultura

científica, Madrid, 2011.

Page 51: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

51

[15] SUPERSOCIEDADES, «Desempeño del sector software 2012-2014,» Superintendencia

de sociedades, Bogotá, 2015.

[16] C. A. De la Cruz Londoño y G. A. Castro Guevara, «Metodología para la adquisición y

gestión de requerimientos en el desarrollo de software para pequeñas y medianas (tesis de

posgrado),» Universidad Tecnológica de Pereira, Pereira, 2014.

[17] J. Moeller, «IBM,» 2010. [En línea]. Available:

https://www.ibm.com/developerworks/ssa/rational/library/10/managedevelopmentofdocu

mentbasedrequirementsinparallelwithrationalrequisitepro/. [Último acceso: Octubre 2017].

[18] Insco, «Insco Requisite,» 2007. [En línea]. Available:

http://www.dkse.ual.es/es/insco/index.do. [Último acceso: Noviembre 2017].

[19] Sparx Systems, «RaQuest,» 2017. [En línea]. Available: http://www.raquest.com. [Último

acceso: Octubre 2017].

[20] IBM, «IBM,» 2016. [En línea]. Available: http://www-

03.ibm.com/software/products/es/ratidoor. [Último acceso: Octubre 2017].

[21] Sparx Systems, «Enterprise Architec,» 2016. [En línea]. Available:

http://www.sparxsystems.com.ar. [Último acceso: Octubre 2017].

[22] Goda software, «Case Spec,» 2017. [En línea]. Available: http://casespec.net. [Último

acceso: Noviembre 2017].

[23] Case Complete, «Casecomplete,» 2014. [En línea]. Available: www.casecomplete.com.

[Último acceso: Noviembre 2017].

[24] SourceForge, «DRES - Requirements Engineering Support,» 2017. [En línea]. Available:

https://sourceforge.net/projects/dres/. [Último acceso: Noviembre 2017].

[25] Martinig & Associates, «Open source,» 2016. [En línea]. Available:

http://www.requirementsmanagementtools.com/opensource.php. [Último acceso: Octubre

2017].

[26] A. Florath, «rmToo,» 2015. [En línea]. Available: http://rmtoo.florath.net. [Último acceso:

Octubre 2017].

[27] A. D. Toro, «Herramienta REM,» 2014. [En línea]. Available:

http://www.lsi.us.es/descargas/descarga_programas.php?id=3. [Último acceso: Noviembre

2017].

[28] REMAS, «Release Management System,» 2016. [En línea]. Available:

https://sourceforge.net/projects/remas/. [Último acceso: Noviembre 2017].

Page 52: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

52

[29] REQTIFY, «REQTIFY,» 2015. [En línea]. Available: https://www.3ds.com/es/productos-

y-servicios/catia/productos/reqtify/. [Último acceso: Noviembre 2017].

[30] Jama Software, «Jama,» 2017. [En línea]. Available: https://www.jamasoftware.com.

[Último acceso: Octubre 2017].

[31] Accept360, «Accept360,» 2015. [En línea]. Available:

http://www.accept360.com/solutions/requirements-management/. [Último acceso:

Noviembre 2017].

[32] A. Durán, «Un Entorno Metodológico de Ingeniería de Requisitos para Sistemas de

Información,» 2000. [En línea]. Available: http://www.lsi.us.es/. [Último acceso: 27 10

2017].

[33] E. Pérez Rodríguez y K. Pérez Teruel, «Tool for Requirements Management in Cuban’s

Small and Medium Enterprises,» La Habana, 2013.

[34] K. Wiegers y J. Beaty, Software Requierements, Third Edition ed., Redmon, Washington:

Microsoft Press, 2013.

[35] L. E. Pelaez, D. C. Lopez y D. L. Carvajal, «Formato para elicitación de requerimientos,»

Pereira, 2010.

[36] A. Toro y J. G. Galvez, «Procedimiento para la Especificación y Validación de Requisitos

de Software,» Pereira, 2016.

[37] A. N. Camacho Zambrano, «Herramienta para el análisis de requerimientos dentro de la

pequeña empresa desarrolladora de software en Bogota,» Bogota, 2005.

[38] R. Thayer y M. Dorfam, Software Requirements Engineering, Segunda edición ed., Los

Alamitos, California: IEEE Computer Science Press, 2000.

[39] L. E. Peláez Valencia, «SWEBOK – IEEE | Guide to the Software Engineering Body of

Knowledge; Un resumen ejecutivo,» Pereira, 2010.

[40] R. S. Pressman, Ingenieria del Software. Un enfoque práctico, Quinta edición ed., Madrid:

McGraw-Hill, 2002.

[41] IEEE, «Swebok,» Washington, 2004.

[42] A. N. Camacho, «HERRAMIENTA PARA EL ANÁLISIS DE REQUERIMIENTOS

DENTRO DE LA PEQUEÑA EMPRESA DESARROLLADORA DE SOFTWARE EN

BOGOTÁ,» Bogotá, 2005.

[43] M. Rodríguez, «¿Qué debe esperar realmente como resultado de su inversión en un

Sistema de Gestión de la Calidad (SGC) ISO 9001:2015?,» [En línea]. Available:

Page 53: MODELO CONCEPTUAL PARA EL ASEGURAMIENTO DE LA CALIDAD DE

53

http://www.normas9000.com/Company_Blog/tomar-la-decision-de-certificarse-en-ISO-

9001-2015.aspx.

[44] F. D'Angelo, Norma ISO 9000-3, 2017.

[45] EntlT Software, «Quality Center Enterprise (QC),» 2016. [En línea]. Available:

https://saas.hpe.com/es-mx/software/quality-center. [Último acceso: Noviembre 2017].

[46] GNU, «GNU,» 2014. [En línea]. Available: https://www.gnu.org/philosophy/free-

sw.en.html. [Último acceso: Octubre 2017].

[47] L. Cardona Benjumea, A. Toro y L. E. Pelaez, Revisión de Propuestas de Ingeniería del

Software: una mirada desde las organizaciones internacionales que tratan la disciplina.,

Pereira: Entre Ciencia e Ingeniería, 2010.

[48] I. Lasso, «Proyecto Autodidacta,» 2015. [En línea]. Available:

http://www.proyectoautodidacta.com/comics/software-propietario-de-pago-demo-

shareware-y-freeware/. [Último acceso: Octubre 2017].

[49] E. Perez Rodríguez, Tool for Requirements Management in Cuban’s Small and Medium

Enterprises, Bogotá, 2017.