Cargando ...

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.. Qué es un proceso de software

Por Mauricio Costanzo 3 minutos de lectura

¿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. Estas actividades pueden incluir el desarrollo de software desde cero en un lenguaje de programación determinado como PHP o JavaScript. La realidad es que las aplicaciones de negocios no se desarrollan de esta forma hoy en día. El nuevo software empresarial con frecuencia se desarrolla extendiendo y modificando el software existente, o configurando e integrando el software comercial o componentes del sistema.

Existen diferentes procesos de software, pero todos deben incluir cuatro actividades que son fundamentales:

  • Especificación del software Tienen que definirse tanto la funcionalidad del software como las restricciones de su operación.
  • Diseño e implementación del software Debe desarrollarse el software para cumplier con las especificaciones.
  • Validación del software Hay que validar el software para asegurarse de que cumple lo que el cliente quiere.
  • Evolución del software El software tiene que evolucionar para satisfacer las necesidades cambiantes del cliente.

En la práctica éstas son actividades complejas en sí mismas e incluyen subactividades tales como la validación de requerimientos, el diseño arquitectónico, la prueba de unidad, etc. También existen actividades de soporte al proceso, como la documentación y el manejo de la configuración del software.

Cuando los procesos se discuten y describen, por lo general se habla de actividades como especificar un modelo de datos, diseñar una interfaz de usuario, etcétera, así como del orden de dichas actividades. Pero también las descripciones de los procesos debería incluir:

  • Productos, que son los resultados de una actividad del proceso. Por ejemplo, el resultado de la actividad del diseño arquitectónico es un modelo de la arquitectura de software.
  • Roles, que reflejan las responsabilidades de la gente que interviene en el proceso. Ejemplos de roles: gerente de proyecto, gerente de configuración, programador, etcétera.
  • Precondiciones y postcondiciones, que son declaraciones válidas antes y después de que se realice una actividad del proceso o se cree un producto. Por ejemplo, antes de comenzar el diseño arquitectónico, una precondición es que el cliente haya aprobado todos los requerimientos; después de terminar esta actividad, una postcondición podría ser que se revisen aquellos modelos UML que describen la arquitectura.

Los procesos de software son complejos, se apoyan en personas con capacidad de juzgar y tomar decisiones. No hay un proceso ideal. Los procesos han evolucionado para beneficiarse de las capacidades de la gente en una organización y de las características específicas de los sistemas que se están desarrollando. Para algunos sistemas, como los sistemas críticos, se requiere de un proceso de desarrollo muy estructurado. Para los sistemas empresariales, con requerimientos rápidamente cambiantes, es probable que sea más efectivo un proceso menos formal y flexible.

En ocasiones, los procesos de software se clasifican como dirigidos por un plan (plandriven) o como procesos ágiles.

  • Los procesos dirigidos por un plan son aquellos donde todas las actividades del proceso se planean por anticipado y el avance se mide contradicho plan.
  • En los procesos ágiles, la planeación es incremental y es más fácil modificar el proceso para reflejar los requerimientos cambiantes del cliente.

Cada enfoque es adecuado para diferentes tipos de software. Por lo general, uno necesita encontrar un equilibrio entre procesos dirigidos por un plan y procesos ágiles.

¿Qué es un modelo proceso de software?

Un modelo de proceso de software es una representación simplificada de este proceso. Por ejemplo, un modelo de actividad del proceso muestra las actividades y su secuencia, pero quizá sin presentar los roles de las personas que intervienen en esas actividades. Los modelos no son descripciones definitivas de los procesos de software. Más bien, son abstracciones del proceso que se utilizan para explicar los diferentes enfoques del desarrollo de software. Se pueden considerar marcos del proceso que se extienden y se adaptan para crear procesos más específicos de ingeniería de software .

Existen varios tipo de modelos de procesos, pero los paradigmas actuales serían:

  • El modelo en cascada (waterfall) Éste toma las actividades fundamentales del proceso de especificación, desarrollo, validación y evolución y, luego, los representa como fases separadas del proceso, tal como especificación de requerimientos, diseño de software, implementación, pruebas, etcétera.
  • Desarrollo incremental Este enfoque vincula las actividades de especificación, desarrollo y validación. El sistema se desarrolla como una serie de versiones (incrementos), y cada versión añade funcionalidad a la versión anterior. El desarrollo incremental puede tener un enfoque ágil así como guiado por planes. (En otro artículo hablaré exclusivamente de las metodologías ágiles).

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
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.

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

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