Cargando ...

Proceso de descubrir, analizar, documentar y verificar los servicios que debe brindar un
sistema y sus restricciones.. Especificación del software Proceso de descubrir, analizar, documentar y verificar los servicios que debe brindar un
sistema y sus restricciones.. Especificación del software

Por Mauricio Costanzo 3 minutos de lectura

Especificación del software


La especificación del software o la ingeniería de requerimientos consisten en el proceso de comprender y definir qué servicios se requieren del sistema, así como la identificación de las restricciones sobre la operación y el desarrollo del sistema.

Requerimientos del software

La ingeniería de requerimientos es un área de conocimiento tan grande e importante que hoy en día se la considera una sub disciplina de la ingeniería de software. Es una etapa particularmente crítica del proceso de software, ya que los errores en esta fase conducen de manera inevitable a problemas futuros tanto en el diseño como en la implementación del sistema.

Hay Estudios realizados que indican que más del 52% de los proyectos de software se entregan con retrasos y un 16.2% fracasan. Y los problemas en la fase especificación del software representan el 39.2% de la causas de tales demoras y fracasos

Reporte CHAOS de Standish Group `94 • 350 orgs., 8000 proyectos (Standish Gr.1994)

El proceso de ingeniería de requerimientos se enfoca en producir un documento de requerimientos convenido entre el cliente y la empresa que especifique los requerimientos que cumplirá el sistema. Es usual que los requerimientos se presentan en dos niveles de detalle. Un informe de requerimientos de alto nivel (sin detalles técnicos) para los usuarios finales y el cliente y otro informe para los desarrolladores el cual tiene una descripción más detallada de lo que el sistema tiene que hacer.

Actividades de la ingeniería de requerimientos

Existen cuatro actividades principales en el proceso de ingeniería de requerimientos:

Estudio de factibilidad

Se realiza una estimación sobre si es posible cubrir las necesidades del usuario con las actuales tecnologías de software y hardware. También el estudio debe analizar si el sistema propuesto tendrá un costo-beneficio desde un punto de vista empresarial, y si este puede desarrollarse dentro de las restricciones presupuestales existentes. Un estudio de factibilidad debe ser rápido y relativamente barato. El resultado debe informar la decisión respecto a si se continúa o no continúa con un análisis más detallado.

Obtención y análisis de requerimientos

Esta es la fase de descubrir los requerimientos del sistema mediante observación de los sistemas existentes, discusiones con los usuarios, cliente y proveedores potenciales, análisis de tareas, etcétera. Esto puede incluir el desarrollo de uno o más modelos de sistemas y prototipos, lo que ayuda a entender el sistema que se va a especificar.

Especificación de requerimientos

Consiste en la actividad de transcribir la información recopilada durante la actividad de análisis, en un documento que define un con- junto de requerimientos. En este documento se incluyen dos clases de requerimientos. Los requerimientos del usuario son informes abstractos de requerimientos del sistema para el cliente y el usuario final del sistema; y los requerimientos de sistema son una descripción detallada de la funcionalidad a ofrecer.

Validación de requerimientos

Esta actividad verifica que los requerimientos sean realistas, coherentes y completos. Durante este proceso es inevitable descubrir errores en el documento de requerimientos. En consecuencia, deberían modificarse con la finalidad de corregir dichos problemas.

Desde luego, las actividades en el proceso de requerimientos no se realizan simplemente en una secuencia estricta. El análisis de requerimientos continúa durante la definición y especificación, y a lo largo del proceso salen a la luz nuevos requerimientos; por lo tanto, las actividades de análisis, definición y especificación están vinculadas. En los métodos ágiles, como programación extrema, los requerimientos se desarrollan de manera incremental según las prioridades del usuario, en tanto que la obtención de requerimientos proviene de los usuarios que son parte del equipo de desarrollo.

Sobre el autor
Mauricio Costanzo es programador e impulsor de proyectos online. Inició su carrera como programador en el año 2014 y al día de hoy se dedica a desarrollar las ideas que empresas e instituciones desean convertir en realidad. También es fundador de Worldmaster (ecommerce de tecnología) y de EasySocio (Web/App para administrar gimnasios).
Artículos relacionados
El ambiente de un gimnasio va más allá de las máquinas y las pesas. Es un espacio donde las personas buscan alcanzar sus objetivos de salud y bienestar mientras encuentran motivación y camaradería. Para mantener a tus miembros comprometidos y entusiasmados, es crucial ir más allá de las rutinas de ejercicios tradicionales. Aquí te presentamos ideas para eventos exclusivos y actividades que mantendrán a tus miembros inspirados y conectados.

Manteniendo la Pasión por el Fitness: Eventos Exclusivos y Actividades para Miembros Comprometidos

El ambiente de un gimnasio va más allá de las máquinas y las pesas. Es un espacio donde las personas buscan alcanzar sus objetivos de salud y bienestar mientras encuentran motivación y camaradería. Para mantener a tus miembros comprometidos y entusiasmados, es crucial ir más allá de las rutinas de ejercicios tradicionales. Aquí te presentamos ideas para eventos exclusivos y actividades que mantendrán a tus miembros inspirados y conectados.

Leer más

Existen cuatro grupos de actividades fundamentales que están presentes en todos los procesos de software (se trate de un simple programa o de un gran sistemas).

Actividades de la ingeniería de software

Existen cuatro grupos de actividades fundamentales que están presentes en todos los procesos de software (se trate de un simple programa o de un gran sistemas).

Leer más

Modelo de Desarrollo Incremental. Harlan Mills en el año 1980. Se basa en el
desarrollo a partir del incremento de la funcionalidades del programa, se puede considerar un precursor de las modernas metodologías iterativas.

Qué es el desarrollo incremental

Modelo de Desarrollo Incremental. Harlan Mills en el año 1980. Se basa en el desarrollo a partir del incremento de la funcionalidades del programa, se puede considerar un precursor de las modernas metodologías iterativas.

Leer más

Es un ejemplo de un proceso dirigido por un plan; en principio, se debe planear y programar todas las actividades del proceso, antes de comenzar a trabajar con ellas.

Modelo en cascada Waterfall ¿Qué es?

Es un ejemplo de un proceso dirigido por un plan; en principio, se debe planear y programar todas las actividades del proceso, antes de comenzar a trabajar con ellas.

Leer más

Un proceso de software es una serie de actividades relacionadas que conducen a la elaboración de un producto de software.

Qué es un proceso de software

Un proceso de software es una serie de actividades relacionadas que conducen a la elaboración de un producto de software.

Leer más

Definición y explicación del proceso de construcción de un sistema aplicando la Ingeniería de Software

Qué es la ingeniería de Software

Definición y explicación del proceso de construcción de un sistema aplicando la Ingeniería de Software

Leer más

¿Realmente sabes lo qué es el Software?

Qué es el software

¿Realmente sabes lo qué es el Software?

Leer más

Todos los derechos reservados {{empresa.name}} © 2020 |
Desarrollado por Mauricio Costanzo