Introducción

En esta unidad se describen los elementos y acciones necesarios para analizar los requerimientos de manera adecuada. Para el estudio de estos elementos y acciones, la presente unidad se divide en cinco temas: introducción, principios y dominio de la información, modelado, partición o divisiones del problema y negociación.

En la primera parte se introduce la relación entre los elementos más importantes para el análisis de requerimientos y la resolución de conflictos; en la segunda, se mencionan los principios y el dominio de la información como una técnica importante para analizar los requerimientos, y en la tercera parte se describen los modelos conceptuales en los que lo principal es entender la situación donde el problema ocurre.

En la cuarta parte se explica el proceso de partir o dividir el problema y el manejo de iteraciones para los requerimientos y para el desarrollo de los mismos, y finalmente, en la quinta parte, se mencionan las técnicas y esquemas de priorización para la negociación de requerimientos.

Propósitos de aprendizaje

Propósito general

Identificar los elementos necesarios para analizar y resolver conflictos en los requerimientos.

Propósitos específicos

  • Conocer la relación que existe entre los elementos básicos del análisis y la resolución de conflictos.
  • Conocer la técnica de principios y dominio de la información para el análisis de requerimientos.
  • Identificar el modelo que representa la situación donde ocurre el problema.
  • Conocer el esquema iterativo para analizar los requerimientos basado en prioridades y en el desarrollo de los mismos.
  • Conocer las técnicas de negociación de requerimientos.

Introducción al análisis y negociación de requerimientos

El análisis de requerimientos es importante para detectar y resolver los conflictos e identificar los límites del software, la interacción con la organización y la relación entre los requerimientos del sistema y los del software. Por otra parte, la negociación hace referencia a la resolución de conflictos derivados de dos requerimientos que buscan solucionar el mismo problema por medio de procesos distintos.

Recuerde que la negociación se entiende como el proceso de selección de requerimientos.

Conozca en la siguiente interactividad, los pasos o elementos que constituyen el análisis de requerimientos.

Principios y dominio de la información

Los principios y el dominio de la información es una técnica que permite a los especialistas en requerimientos conocer los conceptos básicos y los aspectos importantes para hacer el análisis de los requerimientos.

Esta técnica cuenta con dos herramientas: el BPM (business process modeling) o modelado de procesos de negocio y las ontologías, que consisten en la especificación del vocabulario en diferentes fuentes de conocimiento.

El análisis de requerimientos tiene por objetivo determinar el beneficio de elaborar el requerimiento en el modelo de negocio y compararlo con otros requerimientos. Así las cosas, los especialistas de requerimientos deben dominar muchas áreas del conocimiento debido a que las necesidades informáticas se presentan en cualquier contexto, razón por la cual resulta indispensable tener una guía para adquirir los principios y el dominio de la información.

Principios y dominio de la información

BPM

El modelado de procesos de negocio es una herramienta que permite conocer los procesos de negocio y la interacción entre estos por medio de una representación gráfica.

Debido a la variedad de estándares de facto y de jure que existen en la industria, un conjunto de compañías de software entre las que se destacan Microsoft, Dell, SAP y Oracle creó un consorcio llamado Object Management Group (OMG), el cual se estableció un conjunto de estándares para la elaboración de análisis de requerimientos. En la actualidad, estos estándares y especificaciones son los más utilizados en proyectos de software.

La ventaja principal de los BMP es que proveen un conocimiento importe y básico sobre los procesos de negocio y sobre el software que se está especificando en los requerimientos.

BMP

Consulte un ejemplo del BPM de Amazon, una de las compañías de comercio electrónico más importante del mundo.

Principios y dominio de la información

Ontologías

En el contexto del análisis y negociación de requerimientos el término «ontologías» busca definir los términos y significados a todos los involucrados en un proyecto de software. Esta herramienta permite facilitar el proceso de transmisión de conocimiento y, en general, el común entendimiento entre todos los integrantes del proceso.

En virtud de lo anterior, las ontologías hacen referencia a un lenguaje unificado para un área del conocimiento e incluso unifican las palabras y su significado en un entorno de conocimiento para solucionar un problema. Además existen lenguajes de ontologías como el OWL (web ontology language) o lenguaje de ontologías para la web.

El OWL es un lenguaje soportado por W3Schools, que es una de las organizaciones de mayor reconocimiento en la creación de tutoriales y manuales para el manejo de protocolos web como html, css y javascript, entre otros.

Modelado

El modelado es una técnica que tiene como objetivo representar el problema en el contexto, independiente del lenguaje o de la forma de representar los componentes y su interacción. Esta técnica es una ayuda ideal para entender el contexto operativo y organizacional donde se presenta la necesidad.

El modelado se relaciona y es una técnica complementaria de los principios y dominio de la información debido a que al entender y dominar la información se procede a representar el contexto donde ocurre la necesidad.

Modelado

La naturaleza del problema

Como su nombre lo indica este factor hace referencia a que debido al origen de ciertos tipos de problemas es importante que se analice un conjunto de aspectos con particular rigurosidad.

A pesar de la gran cantidad de lenguajes que existen para modelado y específicamente para modelado conceptual se recomienda seleccionar un lenguaje de uso masivo y con gran variedad de herramientas como el SysML.

Modelado

Experiencia del especialista de requerimientos

Es importante que el modelado conceptual del problema use un lenguaje de amplia difusión y con una gran variedad de herramientas, sin embargo existe otro aspecto a tener en cuenta y es la experiencia del especialista de requerimientos, pues es él quien se encarga de usarlo y socializarlo entre los integrantes.

El especialista de requerimientos debe conocer los estándares, lenguajes y herramientas que faciliten el trabajo y permitan hacer un seguimiento durante el ciclo de vida de un proyecto de software. Este conocimiento permite disminuir los tiempos y tomar decisiones a tiempo.

Herramientas para SysML

Conozca las herramientas que brindan soporte a este lenguaje.

Modelado

Restricciones del cliente

Con el paso del tiempo las organizaciones han integrado cada vez más los desarrollos de software a sus procesos, incluso algunas de ellas proveen en sus normas organizacionales las especificaciones del modelado conceptual a usar.

Teniendo en cuenta lo anterior es importante entender que el software no se limita a los programas que se usan en las organizaciones, sino que incluye los procedimientos, datos, normas y hardware que utilizan. Desde este punto de vista las organizaciones asumen normas y guías para todo el proceso y el manejo adecuado de estos elementos.

Partición o divisiones del problema

Tras implementar el modelado conceptual se recomienda dividir los problemas en dos partes a partir del concepto de dividir y conquistar, con el fin de manejarlos de una manera más adecuada. Estas dos partes son los mapas mentales y las metodologías.

Los mapas mentales permiten identificar, seleccionar y relacionar las partes necesarias para solucionar un problema, mientras que las metodologías son una guía de los pasos necesarios para llegar a la solución de un proyecto. En este contexto, la metodología unificada de desarrollo es una de las más usadas debido a que permite elaborar los requerimientos de forma iterativa a partir de las prioridades.

Partición o divisiones del problema

Mapas mentales

Los mapas mentales son una forma de clasificar los términos importantes relacionados con un tema. Esta técnica permite incluir una serie de elementos en una representación gráfica para seleccionar las partes más adecuadas.

Existe una gran cantidad de herramientas para crear mapas mentales. Uno de los más utilizados es GoConqr, que permite «crear, compartir y descubrir mapas mentales, fichas de estudio, apunes online y tests» (GoConqr, 2016).

Partición o divisiones del problema

Iteraciones en la metodología unificada de desarrollo

Debido a la complejidad de los proyectos de software se recomienda dividir el problema en partes y es en cada una de estas partes que transcurre el ciclo de vida del desarrollo para no tener que esperar a trabajar todos los requerimientos en cada fase de la metodología unificada de desarrollo.

Es por esta dinámica de trabajar grupos de requerimientos en cada fase que resulta importante iterar hasta lograr los objetivos. Por lo tanto, el objetivo de una iteración es la resolución de un grupo de requerimientos de trabajo en las diferentes fases de la metodología unificada de desarrollo.

En esta división es importante tener en cuenta dos conceptos clave: requerimientos por regresión y requerimientos mock, los cuales se explican en la ampliación temática.

Como pudo haber visto en el estudio de temas como la identificación de requerimientos y los casos de uso, en una descripción detallada existen tres elementos que permiten priorizar los requerimientos: alcance, nivel y frecuencia de ocurrencia. Entonces, si se le diera una escala cuantitativa igual a estos tres elementos, el de mayor suma sería el requerimiento más prioritario.

Lo invitamos a revisar la metodología unificada de desarrollo y sus dos conceptos clave en la ampliación temática.

Negociación

Este término hace referencia a los esquemas de prioridades y a las técnicas para resolver conflictos en los requerimientos. Es normal que se presenten conflictos entre los requerimientos, pues en un proyecto de software suele existir una gran cantidad de involucrados y cada uno de ellos puede tener diferentes o conflictivos puntos de vista frente a una misma necesidad.

La negociación no se trata de poner de acuerdo a los interesados, sino a seleccionar un requerimiento debido a su relación con el modelo de negocio o su aporte a la solución del problema y los recursos que necesita para tal fin. en los siguientes subtemas se exponen las bases para negociar, a saber: esquemas de priorización y técnicas necesarias de negociación.

Las alternativas de negociación más utilizadas son: la priorización por cuantificación de alcance, nivel y frecuencia, y la priorización por relación entre costo y beneficio.

Material
de apoyo

Negociación

Esquemas de priorización

Cuando se presentan conflictos entre los requerimientos se recomienda tomar la decisión en virtud del aporte que ofrezca el cumplimiento del requerimiento en el modelo de negocio y no por el usuario que lo originó.

Es por esta razón que en los esquemas de priorización existen dos alternativas que buscan proveer una guía para la selección: la alternativa por valor y la alternativa por relación. Consulte el esquema interactivo para conocer la explicación de cada una de estas alternativas.

Negociación

Técnicas

Las técnicas que se aplican en la negociación deben considerar las alternativas de priorización para optar por la de mayor valor. Si en las iteraciones se presentan más conflictos se podrían realizar los requerimientos conflictivos, pero teniendo en cuenta el costo de los recursos como tiempo y dinero.

Los criterios de priorización son las guías para asignar tanto el costo como el beneficio y así lograr esta cuantificación. Por lo tanto, entre más alto sea el beneficio y más bajo sea el, más probabilidades habrá de convertir esta priorización en un criterio de decisión para negociar la solución de un conflicto.

Actividad de aprendizaje

Actividad de Aprendizaje

Ejercitese en la aplicación de los conceptos presentados hasta el momento.

Resumen

En esta unidad se identificaron los elementos necesarios para analizar y resolver conflictos en los requerimientos, entre los cuales se profundizó en la relación que existen entre los elementos básicos del análisis y resolución de conflictos, y en los principios y el dominio de la información por medio de modelado de procesos de negocio (BMP) y las ontologías.

De igual manera se expuso la idea de modelado conceptual, en el que siguiendo unas recomendaciones se describe el contexto operativo donde se produce la necesidad, y se habló sobre la división de un problema utilizando mapas mentales o iteraciones en la metodología unificada de desarrollo.

Finalmente se expusieron las técnicas de negociación por prioridades.

Pedagogía activa

Actividad de Aprendizaje

A partir de la información presentada en la actividad de aprendizaje: prioridades empresariales, resuelva el siguiente ejercicio práctico.

Bibliografía ()

  • Larman, C. (2002). Applying UML and patterns: an introduction to object-oriented analysis and design and the unified process. 2. ª ed. EUA: Prentice Hall.
  • Thayer, R., Bailin, S., y Dorfman, M. (1997). Software Requirements Engineerings. 2. ª ed. Los Alamitos, EUA: IEEE Computer Society Press.
  • Sommerville, I. (2002). Ingeniería de Software. 6. ª ed. México: Prentice Hall.
  • Young, R. (2004). The Requirements Engineering Handbook. Norwood, EUA: Artech House.

Referencias Web