Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción
A través de este material, se tratan con detalle los pasos que se deben seguir en el proceso
de recolección de datos, el uso de técnicas y los instrumentos para tal fin.
En ese sentido, los analistas utilizan una variedad de métodos para recopilar los datos
sobre una situación existente, como entrevistas, cuestionarios, inspección de registros
(revisión en el sitio) y observación. Cada uno tiene ventajas y desventajas; es por ello que,
por lo general, se utilizan dos o tres simultáneamente, para complementar el trabajo y
asegurar una investigación completa.
Elicitación de requisitos
“Un problema puede ser definido como la diferencia entre las cosas como se
perciben y las cosas como se desean” -(Gause y Weinberg 1989)
● Conocer el dominio del problema para poder comunicarse con clientes y usuarios y
entender sus necesidades.
● Conocer el sistema actual (manual o informatizado) y sus aspectos positivos y
negativos.
● Identificar las necesidades, tanto explícitas como implícitas, de clientes y usuarios y
sus expectativas sobre el sistema a desarrollar.
1.1. Planeación
La planeación busca definir las tareas a realizar para elegir y planificar las técnicas a
emplear durante la actividad de elicitación de la fase de ingeniería de requisitos del
desarrollo de software. En la siguiente tabla se presenta una relación de estas tareas y sus
correspondientes procesos.
A continuación, se describen los procesos relacionados con las tareas para elicitación de
requisitos:
Las fuentes de requerimientos incluyen los propietarios del problema, los stakeholders,
documentos y otros sistemas (Pearson, 2002). En ese sentido, los requerimientos pueden
obtenerse en diversas fuentes que pueden clasificarse en gente (people), productos o
documentos, pero cualquiera sea la fuente de esos requerimientos deben ser chequeados
con los stakeholders.
Fuentes primarias
Aportan material de primera mano (es protagonista o testigo de los hechos), estas fuentes
contienen información original, que ha sido publicada por primera vez y que no ha sido
filtrada, interpretada o evaluada por nadie más.
Fuentes secundarias
Toman y reproducen la información que le aportó una fuente primaria. Son las que
contienen información primaria, sintetizada y reorganizada y están especialmente diseñadas
para facilitar y maximizar el acceso a las fuentes primarias o sus contenidos. Parten de
datos pre elaborados, como pueden ser datos obtenidos de anuarios estadísticos, internet,
medios de comunicación, bases de datos procesadas con otros fines, artículos y
documentos relacionados con un tema, libros, tesis, informes oficiales, etc.
Fuentes terciarias
Son guías físicas o virtuales que contienen información sobre las fuentes secundarias.
Forman parte de la colección de referencia de una biblioteca; facilitan el control y acceso a
toda la gama de repertorios de referencia, como las guías de obras de referencia, o a un
solo tipo, como las bibliografías.
Por otra parte, las fuentes de información, pueden ser orales, escritas o de otro tipo,
dependiendo de cómo se transmitan los datos. A continuación, se pueden revisar algunos
ejemplos de fuentes de información.
En resumen, son grupos o individuos que están interesados en el producto de software que
se está desarrollando y necesitarán estar informados acerca del progreso, conflictos,
cambios y prioridades del proceso de desarrollo del producto.
Secundarios
Son los entes que no participan directamente de la compañía, pero también son afectados
por sus resultados. En este círculo se encuentran los competidores, el mercado y las
personas en general.
A continuación, se listan roles más generales de las personas involucradas con sus
términos similares, aunque cabe resaltar que existen leves diferencias entre ellos
(Sommerville y Sawyer, 2005)
Algunas de las técnicas que se pueden emplear para llevar a cabo la labor de análisis de los
stakeholders incluyen entrevistas con los expertos, lluvia de ideas en grupo y lista de
chequeo. Se espera que este grupo de personas identifiquen y caractericen a los
stakeholders objetivamente, por tal motivo es recomendable involucrar a personas de
diferentes contextos (Karisen, 2002 citado en Wessinger, 2012).
C. Matriz de stakeholders.
La utilización de esta herramienta de análisis permite clasificar a los involucrados en el
proyecto según sus niveles de interés y poder sobre él, lo que facilita la priorización de
los stakeholders más importantes para desarrollar las estrategias de gestión
correspondientes
Tipo
Objetivo o resultados
En este campo se enlistan los objetivos o resultados en los que el stakeholder muestra
interés o en aquellos en los que puede influir positiva o negativamente con sus acciones.
Esta información puede ser suministrada por el acta de constitución de proyectos, la
estructura de la organización, la estructura de desglose de trabajo, los diferentes planes que
conforman el proyecto, entrevistas a los mismos interesados, etc
Son las acciones que puede emprender el stakeholder y que pueden influir, negativa o
positivamente, en los objetivos del proyecto en los que muestra su interés o en aquellos en
los que puede influir debido a su jerarquía, estatus, recursos de los que dispone, entre
otros.
Estrategias
Conclusiones
Es la síntesis sobre puntos clave a considerar para gestionar de manera efectiva las
expectativas de los stakeholders. Las conclusiones se obtienen de relacionar, analizar y
sintetizar toda la información vertida en la matriz de stakeholders.
La categorización de los stakeholders se lleva a cabo una vez que la información sobre
éstos esté completa. Para ello se puede utilizar una matriz de 2x2 en la que se pueda
graficar el grado de poder e interés que tiene el involucrado en el proyecto, coadyuvando
así a clasificar a cada stakeholder dentro del grupo para el cual se definen diferentes
estrategias (figura 2).
Hay una variedad de técnicas propuestas para ingeniería de requerimientos (Herrera, 2003.
p. 12), por lo que es primordial resaltar que estas técnicas pueden ser aplicables a las
distintas fases del proceso de la ingeniería de requerimientos (IR), teniendo en cuenta las
características propias del proyecto en particular que se esté desarrollándose para
aprovechar al máximo su utilidad.
1.2.1. Entrevista.
“La entrevista es una forma de recoger información de otra persona a través de una
comunicación interpersonal que se lleva a cabo por medio de una conversación
estructurada.” - (Braude, 2003)
1. Preparación
2. Realización
Dentro de la realización de las entrevistas se distinguen tres etapas, tal como se expone en
Piattini et al. (1996):
b. Desarrollo: cumplir las reglas del protocolo, hay que llegar a un acuerdo sobre cómo se
va a registrar la información obtenida.
3. Análisis
Consiste en leer las notas, pasarlas en limpio, reorganizar la información, contrastarlas con
otras entrevistas o fuentes de información, evaluar cómo ha ido la entrevista.
Entrevista estructurada
Las preguntas en esta entrevista se deciden, previamente, de acuerdo con el detalle de la
información requerida.
● Recoge de forma sistemática y precisa la mayor información sobre los aspectos que
quiere explorar.
● Las preguntas son prefijadas y definidas, las respuestas son esperadas e incluso se
le dan al entrevistado en forma de varias opciones.
● Las etapas son planificadas.
● La interpretación de las respuestas se realiza de acuerdo con unos criterios
establecidos.
Entrevista semiestructurada
Esta presenta un grado mayor de flexibilidad que la estructurada, debido a que parten de
preguntas planeadas, que pueden ajustarse a los entrevistados. Su ventaja es la posibilidad
de adaptarse a los sujetos con enormes posibilidades para motivar al interlocutor, aclarar
términos, identificar ambigüedades y reducir formalismos.
Entrevista no estructurada
1.2.2. Encuesta.
Los datos que se obtienen a través de los cuestionarios suelen estar clasificados en dos
categorías: hechos y opiniones (Denscombe, 2010, p. 156). La información relacionada con
los hechos no requiere el juicio o la actitud personal de los sujetos participantes, pero la
información obtenida a través de las opiniones implica creencias, puntos de vista y
preferencias de los sujetos participantes
Tipos de preguntas
La distinción más general entre los tipos de preguntas de los cuestionarios, además de
hechos y opiniones, es la de preguntas abiertas y cerradas; las preguntas abiertas son
aquellas en las que no se especifica ninguna respuesta para elegir y se deja abierta a la
elección del participante para que escriba en ella. Las preguntas cerradas son las que
ofrecen ya unas respuestas predeterminadas para su elección.
Tipos de respuestas
Las respuestas de escala son las más comunes en los cuestionarios de investigación ya
que implican al participante en una valoración o evaluación de las respuestas objetivo por
medio de varias opciones en las que tienen que marcar dentro de una escala la importancia
de cada una. Esa escala de valoración indica diferentes grados en una categoría y puede
ser de diversa naturaleza; por ejemplo, puede valorar una categoría indicando si es
“bueno” o “malo”, “frecuente” o “infrecuente”, “importante” o “poco importante” o
también pueden valorar opiniones: “completamente de acuerdo” o “en desacuerdo”. El
número de opciones más común es el de cinco, por ser un número impar, ya que existe una
tendencia generalizada a seleccionar la opción intermedia (Dornyei, 2010)
1.2.3. Observación.
Esta permite la obtención de datos para emprender una investigación de tipo cualitativo, no
desde el punto de vista de lo que los sujetos dicen, sino que es la evidencia directa de lo
que ve y percibe el investigador en un escenario de primera mano (Denscombe, 2010).
Por su parte, Selltiz (citado por Hernández, Fernández y Baptista, 2006, p. 229), al referirse
a la observación, recomienda que para que esta se convierta en una técnica como tal, debe
cumplir con cuatro condiciones:
Para el caso de obtención de requerimientos del software la observación nos sirve para
estudiar el entorno de trabajo de los usuarios, clientes e interesados de proyecto
(stakeholders) y para documentar la situación actual de procesos de negocio.
Ahora bien, para llevar a cabo la observación, el observador puede utilizar como
instrumento la guía de observación, la cual le permite situarse de manera sistemática en
aquello que realmente es objeto de estudio para la investigación; también es el medio que
conduce la recolección y obtención de datos e información de un hecho o fenómeno.
3. Temporalidad de la observación.
Es un proceso por el cual se llevan a cabo reuniones en grupo altamente estructuradas que
convocan, en una misma sala, a los usuarios de un sistema, los propietarios del sistema y a
los analistas durante un amplio periodo de tiempo. Los objetivos de esta técnica son
esencialmente los mismos que los de las entrevistas, con la salvedad de necesitar más
analistas para llevarlos a cabo.
Dentro de las sesiones de trabajo en grupo se encuentran técnicas como la lluvia de ideas,
las sesiones JAD y el método Delphi
Lluvia de ideas
Método Delphi
Actor: se representa mediante un “hombre de palo”. Este se emplea para indicar el tipo de
usuario del sistema que podrá ejecutar alguna función.
Caso de uso: se representa mediante un óvalo e indica una función que el sistema debe
proveer.
Representación gráfica
Identificación de actores
Los actores son los usuarios que podrán ejecutar los casos de uso, en el ejemplo anterior, se
identificaron dos actores (médico y empleado)
Documentación
La técnica de casos de uso requiere además de construir el diagrama de casos de uso, la descripción
de estos. Esta descripción permite detallar el flujo de eventos que se da entre el Sistema y el Actor
para llevar a cabo el caso de uso. A continuación, se presenta el formato diligenciado de acuerdo con
el ejemplo del centro médico (Revisar la documentación sobre el caso del centro médico en PDF que
tiene la página)
Las historias de usuario son utilizadas en los métodos agiles para la especificación de requisitos, son
una descripción breve de una funcionalidad software tal y como la percibe el usuario (Cohn, 2004)
El formato para las historias de usuario Scrum se basan en una regla de tres palabras:
Así, el <rol> que se escoja que va a utilizar la aplicación software, requiere de una <Acción> /
<evento> que ocurra, porque se desea cubrir una <funcionalidad>. Corto y conciso, directo y claro.
Como se mencionó anteriormente, las historias de usuario son una frase sencilla y concisa, sin
embargo, eso no impide que se pueda abrir un diálogo (conversación) entre todos los miembros del
equipo. De hecho, esta conversación se debe llevar a cabo para explicar mejor la propia historia de
usuario y conseguir objetivos como:
Estas conversaciones llevarán a alcanzar acuerdos sobre los distintos puntos tratados, que quedarán
reflejados en los criterios de aceptación y que permitirán validar cuando una historia de usuario está
terminada.
Los criterios de aceptación, es decir, la confirmación. Se trata de criterios claros y específicos que
todo el equipo debe comprender y que permitirán avaluar en el futuro si la implementación que se
está desarrollando o las pruebas que se realicen están terminadas.
1.3.3. Storyboard.
Los storyboards son un tipo de prototipos muy utilizados, consiste básicamente en ir mostrando en
una secuencia de imágenes un proceso, acción o ejercicio que se puede realizar en el sistema una vez
terminado, las imágenes van mostrando la evolución del sistema conforme el usuario interactúa con
el sistema.
Con esta técnica se pretende crear diferentes vistas del sistema en las primeras etapas de su
implementación de la manera más rápida y barata posible [SUT02].
Una forma muy común de ejemplificar los storyboards es con las revistas de cómics, ya que van
mostrando una secuencia de imágenes en cuadros con un orden establecido que permiten entender
la línea de la historia contada. La técnica storyboard permite generar modelos o esquemas visuales
como esbozos de interfaces gráficas de usuario (GUI).
Las dos figuras siguientes muestran el ejemplo de un storyboard que representa un escenario de
situación de vendedores de una empresa para explicar el cambio que sufrirá el trabajo, el primero
representa la situación actual y el segundo como quedará con la implantación del sistema.
1.4. Herramientas de modelado
El Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified Modeling Language) es el
lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; UML es
un lenguaje gráfico que permite especificar, modelar, construir y documentar los elementos que
forman un sistema software.
De otra parte, las herramientas CASE son un conjunto de programas y procesos “guiados”, que
ayudan a los analistas, desarrolladores, ingenieros de software y diseñadores en una o todas las
etapas que comprende un ciclo de vida, con el objetivo de facilitar el desarrollo de software. El
objetivo general de estas herramientas es acelerar el proceso para el que han sido diseñadas, es
decir, para automatizar o apoyar una o más fases del ciclo de vida del desarrollo de sistemas. CASE
proporciona un conjunto de herramientas semiautomatizadas y automatizadas que están creando
una nueva cultura de ingeniería en muchas empresas. Las herramientas CASE se diseñaron para
aumentar la productividad en el desarrollo de software y reducir su costo.
Existen muchas herramientas para modelado tanto en libres como con derechos comerciales; a
renglón seguido se listan las herramientas CASE más utilizadas:
- ER win. - MagicDraw.
- ArgoUML - Lucidchart.
- Gliffy (https://www.gliffy.com/).
Gliffy
La aplicación en línea Gliffy es una herramienta de diagramas UML basada en la nube. Apareció por
primera vez en 2006 y se trata de una herramienta de modelado que crea todo tipo de diagramas,
tales como diagramas de flujo, diagramas de Venn y, por supuesto, diagramas UML. La herramienta
en línea fue escrita en HTML5 y es bastante popular gracias a su rapidez de reacción. Es de anotar
que antes de que Gliffy pasara por la fase beta en 2007, la empresa homónima cooperó con el grupo
de software australiano Atlassian. Ya en 2006, su software de colaboración Confluence integró un
plugin de Gliffy y, más tarde, el equipo de Gliffy desarrolló un plugin para Jira. Google Workspace y
Drive de Google también integran esta herramienta UML.
ArgoUML
Ha sido durante mucho tiempo una de las herramientas UML gratuitas de código abierto más
populares para el escritorio y aunque ya no se mantiene, muchos modeladores continúan usando el
programa para tareas más pequeñas. Su software es multiplataforma, cuyo el requisito mínimo es
Java 5 ArgoUML soporta todos los tipos de diagramas de la versión 1.4 de UML y perfiles UML. El
programa también ofrece algunas formas decorativas que no forman parte del estándar UML.
Además, aunque esta herramienta UML está disponible como descarga gratuita, ArgoUML soporta
una amplia gama de lenguajes de programación cuyo código puede generarse a partir de un
diagrama. La ingeniería inversa también es posible para Java, C++, PHP, C# y SQL. El programa
reconoce otros idiomas como Delphi o Ruby cuando los agrega como extensiones a la carpeta de
archivos ArgoULM
MagicDraw
Esta aplicación de escritorio destaca por su diseño moderno y claro, así como por su variedad de
funciones y la facilidad de su uso. Esta herramienta de diagramas UML ofrece además SysML,
representación gráfica de procesos de negocio con BPMN (Business Process Model and Notation) y el
marco de arquitectura UPDM (United Profile for DoDAF/MODAF).
MagicDraw también ofrece lenguaje de especificación OCL (Object Constraint Language), y XMI, que
se puede usar para exportar diagramas a otros programas sin pérdidas de información.
StarUML
Es una herramienta para el modelamiento de software basado en los estándares UML (Unified
Modeling Language) y MDA (Model Driven Arquitecture).
Lucidchart
Herramienta para hacer diagramas UML online que permite comprender las complejidades en el
código de forma más rápida y sencilla, pues automatiza el proceso de generación de un diagrama de
clases. Simplemente elabora y personaliza los diagramas de secuencia en línea a partir del texto. Al
ingresar el marcado en el diálogo emergente, Lucidchart generará automáticamente un diagrama de
secuencia que cumple el estándar de PlantUML.