Barra Superior

PMOinformatica.com
La oficina de proyectos de informática
La web sobre gerencia de proyectos de informática, software y tecnología.
Síguenos en:     

miércoles, 10 de agosto de 2016

8 Técnicas de análisis de requerimientos de software

Esta página incluye parte del contenido del Curso Online de Ingeniería de requisitos. Identifica y analiza requisitos de software de manera integrada, para elaborar especificaciones de calidad. Para mayor información visita la página del curso.

Designed by Freepik
En la Ingeniería de requisitos, el análisis de los requerimientos del software es la etapa que sigue después que estos han sido levantados y documentados en un registro o matriz de trazabilidad.

La especificación de requerimientos, es una actividad que cada vez toma mayor preponderancia en la gerencia de proyectos, dado que se ha demostrado que una causa recurrente en su fracaso se origina de una inadecuada especificación de requisitos.

Con este artículo, continuamos nuestra serie de Ingeniería de requisitos, continuando con los conceptos desarrollados en el artículo anterior de 7 Técnicas para el levantamiento de requerimientos de software.

El análisis de requerimientos consiste en aplicar una serie de técnicas para desglosar y analizar los requisitos y sus partes, algunas de estas técnicas son: Modelado de procesos, Modelado de dominio, casos de uso, inspecciones, listas de chequeo y prototipos.

PMOInformatica presenta: 8 Técnicas para analizar requerimientos de software

8 Técnicas para analizar requerimientos de software

Las técnicas de análisis de requerimientos expuestas a continuación parten de la especificación de requisitos o matriz de trazabilidad de requerimientos del proyecto.

¿Buscas una plantilla para elaborar la matriz de trazabilidad de requisitos?

> Descarga nuestra plantilla de trazabilidad de requisitos

1.- Descomposición funcional
  • La descomposición funcional se refiere al proceso de identificar y resolver las relaciones funcionales en sus partes constituyentes, de tal forma que la función global pueda ser reconstruida a partir de sus partes.
  • Por lo general, la descomposición funcional se realiza para identificar y entender los componentes o partes que constituyen un todo (o función global).
  • En este proceso, es vital identificar las interacciones entre componentes.
  • Aplicado a la Ingeniería de requisitos, consiste en tomar los requerimientos de software, dividirlos en partes y analizarlos individualmente. De ser necesario, se pueden descomponer en más partes hasta lograr un nivel adecuado de detalle.
  • En Ingeniería de sistemas, la descomposición funcional consiste en definir un sistema en términos funcionales, para luego definir funciones de más bajo nivel y establecer las relaciones con estas funciones de alto nivel.
  • La intención es dividir un sistema de tal forma que cada componente se pueda describir sin necesidad de referir a otro componente.
  • De esta forma, cada parte del sistema tendrá funciones independientes, que pueden reusarse y reemplazarse.

2.- Especificación vía Sentencias Textuales

  • Es la forma tradicional de la especificación de requerimientos de software.
  • Se usan especificaciones textuales en lenguaje natural, que se documentan en matrices de trazabilidad de requerimientos o definiciones del alcance.
  • No usa herramientas visuales como los flujogramas o estructura como los casos de uso, es simplemente una descripción más detallada del requerimiento en lenguaje natural.

Formación en Ingeniería de requisitos

Curso de Ingeniería de requisitos

Se ha hecho muy evidente que una especificación deficiente de los requisitos del software puede conducir a proyectos fallidos, de allí que esta disciplina cada vez adquiera mayor importancia.

El curso de Ingeniería de requisitos esta diseñado para enseñarte a identificar y analizar requisitos de manera integral, con el cual garantizaras la elaboración de especificaciones funcionales de calidad.

Conocerás técnicas de levantamiento de requisitos como la revisión de documentación, observación y entrevistas, técnicas para el análisis como la descomposición funcional, modelado de procesos, MoSCoW, TimeBoxing, así como actividades de gestión de requisitos para su organización, priorización y gestión de alcance.


3.- Modelado del proceso


  • Comprende la elaboración de diagramas de flujo de procesos (Flujogramas) a partir de los requerimientos del software.
  • Existen diversas herramientas de modelado de procesos, cada una de las cuales posee sus propios símbolos y reglas.
  • Es muy útil para entender el trabajo realizado en múltiples pasos, tareas, roles y departamentos intervinientes.
  • Los procesos son iniciados por eventos y pueden abarcar actividades automatizadas, manuales o combinación entre ambas.
  • Su naturaleza visual ayuda a la comprensión y comunicación a terceros.
  • Cuando los procesos son complejos, deben desglosarse en componentes (subprocesos).

4.- Modelo de dominio

Imagen de: Wikipedia
  • En Ingeniería de software, en análisis de dominio consiste en analizar sistemas o software relacionados en un dominio, con la finalidad de encontrar sus partes comunes y partes que los diferencian.
  • Produce un modelo de contexto de negocio para todo el sistema.
  • Un modelo de dominio comprende diagramas conceptuales que incluyen tanto el comportamiento de un sistema como sus datos.
  • Un tipo de modelo de dominio son los diagramas de funcionalidades (Features Diagrams), que es una representación “compacta” del sistema o aplicación en términos de sus características.
  • El análisis de dominio produce modelos orientados a objetos o modelos relacionales de datos, que pueden ser usados por los desarrolladores de software como base de arquitecturas de software y aplicaciones.

5.- Casos de Uso

Imagen de: Microsoft Developer Network (MSDN)
  • En el Lenguaje de Modelado Unificado (UML), un caso de uso es una secuencia de interacciones entre un sistema y alguien o algo que usa alguno de sus servicios.

> Plantilla para elaborar casos de uso

  • En el ámbito académico y profesional, es una de las técnicas de mayor difusión para especificar el comportamiento del Sistema.
  • Formato simple y estructurado que puede ser compartido entre usuarios y desarrolladores.
  • Además de usarse para analizar los requerimientos de software, también pueden usarse en el diseño del sistema e inclusive para definir pruebas de caja negra (Testing).
  • Son útiles en sistemas informáticos orientados a la funcionalidad (transacciones con el usuario), que se van a implementar orientados a objetos y con UML.

6.- Checklists

  • La lista de chequeo (Checklist) consiste en una serie de preguntas o revisiones que se realizan sobre los requerimientos de software, que nos sean presentados de forma escrita.
  • Una lista de chequeo puede realizar preguntas como:
    • ¿Se han especificado los requisitos de hardware y software?
    • ¿Se han realizado consideraciones de seguridad?
    • ¿El nivel de granularidad del requerimiento se ha incluido?
    • ¿Se ha incluido el código de referencia en para identificar el requisito en el desglose de requerimientos?
    • ¿Está escrito el requerimiento en un lenguaje claro y conciso?
    • ¿El requerimiento es único? (no existe duplicidad con otro requerimiento).
    • Y muchas preguntas más.
  • La lista de chequeo sirve de marco de trabajo y procedimental para revisar el requerimiento, facilitando su análisis de forma estructurada.
  • Los requerimientos se pueden revisar sobre la matriz de trazabilidad de requerimientos o sobre la definición del alcance.

7.- Inspección

  • Revisión no destructiva de los requerimientos de software. Por ejemplo:
    • Examinar un software visualmente para constatar que las pantallas solicitadas se encuentran incluidas.
    • Verificar la inclusión de los campos necesarios para el ingreso de datos.
    • Verificar la existencia de los botones necesarios para iniciar la funcionalidad que ha sido requerida.
    • Verificar que el requerimiento se apega a los estándares definidos para la aplicación. Por ejemplo estándares de navegación entre pantallas y estándares de interfaz gráfica.
  • De forma similar al uso de la lista de chequeo, la inspección consiste en tomar el requerimiento definido en la matriz de trazabilidad o definición de alcance, leerlo y producir un resultado para su corrección.

8.- Prototipos

Designed by Freepik
  • Consiste en elaborar representaciones visuales (interfaz gráfica con el usuario) de los requerimientos de software.
  • Es una herramienta muy útil para validar con los usuarios, clientes e interesados de proyecto que el diseño funcional corresponde con los requerimientos de software (Que existe entendimiento común entre desarrolladores de software y usuarios).
  • Permite a desarrolladores y usuarios entender mejor los requerimientos, determinar cuáles son indispensables y cuales deseables, e identificar riesgos de forma temprana.
  • Puede enfocarse en toda la solución o sólo en áreas específicas.
  • Puede extenderse innecesariamente en el tiempo si las discusiones se realizan en torno al como en lugar de en torno al que.
  • La elaboración de prototipos conlleva iteraciones entre desarrolladores y usuarios, en los cuales se van elaborando varios prototipos y sometidos a evaluación del cliente.

¿Buscas formación en Ingeniería de requisitos y análisis de negocio? visita la página del Curso Online de Ingeniería de requisitos. Identifica y analiza requisitos de software de manera integrada, para elaborar especificaciones de calidad.

¿Y qué opinas tú?

¿Sabías que el levantamiento y el análisis son dos procedimientos diferentes dentro de la ingeniería de requerimientos? Cada uno con sus técnicas y herramientas ¿Lo llevas de esta manera en tu organización? (por separado) ¿Cuáles técnicas de análisis de requerimientos se aplican en tu organización? ¿Agregarías alguna a esta lista?

<< Artículo anterior: 7 Técnicas de levantamiento de información de requerimientos

¿Buscas más información de gerencia informática?

¿Quieres obtener completamente gratis y directamente en tu correo electrónico plantillas, artículos y otros recursos de gerencia informática?, entonces presiona "suscríbete" a continuación.

Suscríbete a la lista de correo electrónico:


Vía FeedBurner, se abrirá una nueva ventana

También puedes seguirnos vía Twitter, Facebook o Linkedin:

   

Otros artículos relacionados
Requerimientos No Funcionales: Porque son importantes

Flujograma de procesos y gerencia de proyectos


Plantilla de matriz de trazabilidad de requisitos

Referencia

No hay comentarios :

Publicar un comentario en la entrada

Pmoinformatica.com," La Oficina de Proyectos de Informática ", es un participante en el Programa de Servicios de Amazon Associates LLC, un programa de publicidad de afiliación diseñado para proporcionar un medio para que sitios web puedan ganar honorarios por la publicidad y enlaces a amazon.com y amazon.es.