Want to create interactive content? It’s easy in Genially!

Get started free

Modelos de proceso de software

Luis Manuel Lescieur

Created on November 17, 2024

Start designing with a free template

Discover more than 1500 professional designs like these:

Transcript

Modelos de proceso de

software

¿Qué es un modelo dedesarrollo de software?

Es una representación abstracta que permite describir un proyecto de software.

Modelo

Abstracción

Representación

¿Para qué sirven los modelos dede sarrollo de software?

Los modelos de desarrollo de software permiten priorizar la calidad orientada al cumplimiento de ciertos estándares, así como las normas que el proyecto requiera.

Conocer diferentes modelos de desarrollo de software permite optimizar los recursos disponibles, lo cual garantiza los productos y la solución a las necesidades.

De acuerdo con Pressman, la definición de la calidad en el software se puede entender como la “concordancia con los requisitos funcionales y de rendimiento explícitamente establecidos, con los estándares de desarrollo explícitamente documentados y con las características implícitas que se espera de todo software desarrollado profesionalmente” (2003, p.125)

El principal objetivo de integrar este conjunto de modelos es brindar herramientas que faciliten el desarrollo de software.

La calidad es un elemento fundamental para emplear un modelo de desarrollo de software.

Modelos de desarrollo de software

Modelos de desarrollo de software

Proceso incremental

También es posible medir la calidad después de haber elaborado un software. Al realizar un modelo, se hace un registro de variaciones de acuerdo con el tipo de programa, de esta manera se cuenta con parámetros de referencia del producto final al producto estimado dentro del modelo de desarrollo de software.

Cascada

Desarrollo concurrente

Espiral

Ágiles

Proceso incremental

El modelo de desarrollo incremental determina una serie de procesos segmentados de las partes del software. De esta manera cada uno de estos procesos proporciona una funcionalidad con respecto a los requisitos. Con esta segmentación se asignan prioridades y cada etapa se entrega con base a esta asignación.

En este modelo se establecen entregas parciales de acuerdo con un calendario de plazos. Conforme se avanza en el desarrollo, el producto final deberá mostrar un avance con respecto a la totalidad.

Proceso incremental

Validación de incrementos

Requerimientos

El modelo de proceso incremental puede adaptarse a las características del proyecto con relativa flexibilidad.Se observan las siguientes etapas:

Definición de las tareas

Integración de incrementos

Diseño de los incrementos

Entrega del producto

Desarrollo de incrementos

Modelos de desarrollo de software

También es posible medir la calidad después de haber elaborado un software. Al realizar un modelo, se hace un registro de variaciones de acuerdo con el tipo de programa, de esta manera se cuenta con parámetros de referencia del producto final al producto estimado dentro del modelo de desarrollo de software.

Modelos de desarrollo de software

Proceso incremental

Cascada

Desarrollo concurrente

Ágiles

Espiral

Cascada

Análisis

Diseño

El modelo de cascada está conformado por un proceso secuencial, es decir, el desarrollo de software es planteado como un conjunto de pasos o etapas que se ejecutan de manera consecutiva.En este modelo, una etapa del proceso inicia cuando la anterior termina.

Desarrollo

Pruebas

Implementación

Mantenimiento

Requisitos del software

Verificación

El modelo de cascada se compone de cinco fases:

Instalación y mantenimiento

Diseño

Implementación

Cascada

Requisitos de software

Se toma en cuenta un análisis de necesidades por parte del cliente o proveedor de requerimiento, es decir, la persona autorizada para dar información que determine las características del software a desarrollar. En este modelo no se deberán añadir nuevos requisitos una vez iniciado el proceso.

Cascada

Diseño

Se describe una estructura del software de forma interna, así como las relaciones entre las diferentes partes. También es posible descomponer y organizar el sistema de elementos que conforman el software y su combinación.

Cascada

Implementación

El software se instala, se configura y se pone a punto, de manera que pueda utilizarse en un entorno real, incluyendo pruebas piloto.

Cascada

Verificación

Permite asegurar la capacidad de concordancia entre los requerimientos y el desarrollo del producto de software. En esta etapa el sistema es probado íntegramente.

Cascada

Instalación y mantenimiento

Finalmente se realiza la completa funcionalidad del software. Durante esta etapa también pueden surgir modificaciones debido a fallas, por lo que será importante continuar con un mantenimiento del sistema desarrollado.

Se describe un ciclo de vida del software, es decir, desde la identificación del programa hasta la implementación, instalación y mantenimiento del software, por medio de espirales, de manera que en cada espiral se evalúa el avance, riesgo y la complejidad del desarrollo. Este modelo puede considerarse como evolutivo y podría resultar iterativo (es de decir por etapas) al construir prototipos y revisar de forma constante el avance.

Espiral

Espiral

Puerto entrada del proyecto.

Desarrollo concurrente

El modelo de desarrollo concurrente genera una serie de acontecimientos que inician puntos de transición o “arranque” de manera que el modelo de análisis permite comenzar con el trabajo de desarrollo en cuanto se tiene el listado de requerimientos.

Puede aplicarse de dos maneras: Las actividades y los componentes ocurren de forma simultanea. Las acciones y los componentes planeados en el modelo se pueden implementar con componentes adicionales.

Algunas de las ventajas del modelo concurrente son:Recomendable para proyectos de desarrollo de software en los que se conforman diferentes grupos de trabajo. Se pueden iniciar actividades paralelamente, pues no dependen una de otra.

Ágiles

Son métodos que permiten desarrollar un software con base en las necesidades del cliente, los modelos ágiles se caracterizan por la posibilidad de llevar a cabo revisiones constantes con el cliente, de esta manera se validan los requerimientos en cada fase del desarrollo. Este tipo de modelos tienen la capacidad de proyectar una relación cercana entre el desarrollador y el cliente. El concepto de metodología ágil surge en el interés de reducir la generación de software.

Ágiles

Cabe destacar que los modelos de software son representaciones que permiten funcionar en determinadas circunstancias. Los procesos utilizados para lograr el objetivo del producto deberán establecerse en la planeación, independientemente del modelo que se utiliza.

El proceso de este modelo tiene como objetivo generar un trabajo colaborativo, de manera que el mejor resultado posible pueda lograrse a través de la retroalimentación constante con el cliente y el equipo de desarrollo.

Ágiles

Liderazgo, trabajo en equipo, autorganización y responsabilidad.

Gestión del desarrollo de software con un alto nivel de disciplina.

Buenas prácticas de ingeniería para el desarrollo de software.

Características generales de un modelo ágil de desarrollo de software.

¡Felicitaciones!

Has concluido la Lección.

Báez C. y Suárez M. (2013). Proceso de desarrollo de software: basado en la articulación de RUP y CMMI priorizando su calidad. Boyacá, Colombia: Universidad de Boyacá. Piattini, M., Vizcaíno, A. y García, F. (2014). Desarrollo global de software. Madrid, España: RA-MA Editorial. [Versión en línea]. Recuperado de la base de datos elibrocatedra. Pressman, R. (2003). Ingeniería de software: Un enfoque práctico (5ª ed.). México: McGraw Hill.