Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Modelos de Desarrollo Software: Claridad, Visibilidad y Flexibilidad, Apuntes de Informática

Una comparación de diferentes modelos de proceso de desarrollo software, destacando sus características deseables y sus desafíos. El texto aborda el modelo en cascada o convencional y sus problemas de inflexibilidad, dificultad para realizar prototipos, reutilizar software y realizar pruebas. Además, se discute la importancia de considerar la evolución del sistema y la necesidad de modelos adaptativos.

Tipo: Apuntes

2019/2020

Subido el 21/09/2020

smith-prado-j
smith-prado-j 🇵🇪

3 documentos

1 / 2

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Modelos del Proceso de Desarrollo Software
No existe consenso sobre cuál es el mejor modelo del proceso software. Distintos
equipos de desarrollo pueden utilizar diferentes modelos de proceso software para
producir el mismo tipo de sistema software. Sin embargo, algunos modelos son más
apropiados para producir ciertos tipos de sistemas, de forma que si no se utiliza un
modelo adecuado puede ocurrir que el sistema software resultante sea de menor
calidad.
El reparto de costes entre las distintas fases del proceso de desarrollo es difícil de
determinar dado los distintos modelos de proceso existentes. Sin embargo, en
dependencia del modelo que se adopte, al menos el 60% del coste total se emplea en
la actividad de evolución del sistema. La estimación de este porcentaje es pesimista,
ya que la tasa de crecimiento de nuevos productos software es mucho mayor que la
tasa de productos software que quedan en desuso (no tienen que ser mantenidos),
por lo que el número de operaciones de mantenimiento que se realizan sigue
aumentando. El proceso de diseño software debería, por tanto, tener en cuenta la
posterior evolución del sistema.
Las características deseables de un proceso de desarrollo software son:
Claridad: El proceso de desarrollo es claro cuando se entiende con facilidad.
Visibilidad: Un proceso de desarrollo es visible cuando sus actividades producen
resultados claros identificables externamente.
Facilidad de soporte: Exige disponer de herramientas CASE (Computer-Aided
Software Engineering) que den soporte a todas o alguna de las actividades del
proceso de desarrollo.
Fiabilidad: Un proceso de desarrollo es fiable cuando es capaz de detectar posibles
errores.
Facilidad de mantenimiento: Requiere capacidad para incorporar nuevos requisitos o
modificar alguno o algunos de los existentes.
Rapidez: Un proceso software es rápido cuando se puede obtener, a partir de la
especificación, una implementación del sistema en un tiempo reducido.
Modelo en cascada o convencional
Tomado de otras ingenierías es el primer modelo de desarrollo software propuesto.
Ampliamente usado en la industria por su facilidad de gestión y visibilidad. En la figura
1 se representa el secuenciamiento de las actividades de este modelo de desarrollo.
pf2

Vista previa parcial del texto

¡Descarga Modelos de Desarrollo Software: Claridad, Visibilidad y Flexibilidad y más Apuntes en PDF de Informática solo en Docsity!

Modelos del Proceso de Desarrollo Software

No existe consenso sobre cuál es el mejor modelo del proceso software. Distintos equipos de desarrollo pueden utilizar diferentes modelos de proceso software para producir el mismo tipo de sistema software. Sin embargo, algunos modelos son más apropiados para producir ciertos tipos de sistemas, de forma que si no se utiliza un modelo adecuado puede ocurrir que el sistema software resultante sea de menor calidad. El reparto de costes entre las distintas fases del proceso de desarrollo es difícil de determinar dado los distintos modelos de proceso existentes. Sin embargo, en dependencia del modelo que se adopte, al menos el 60% del coste total se emplea en la actividad de evolución del sistema. La estimación de este porcentaje es pesimista, ya que la tasa de crecimiento de nuevos productos software es mucho mayor que la tasa de productos software que quedan en desuso (no tienen que ser mantenidos), por lo que el número de operaciones de mantenimiento que se realizan sigue aumentando. El proceso de diseño software debería, por tanto, tener en cuenta la posterior evolución del sistema. Las características deseables de un proceso de desarrollo software son: Claridad: El proceso de desarrollo es claro cuando se entiende con facilidad. Visibilidad: Un proceso de desarrollo es visible cuando sus actividades producen resultados claros identificables externamente. Facilidad de soporte: Exige disponer de herramientas CASE (Computer-Aided Software Engineering) que den soporte a todas o alguna de las actividades del proceso de desarrollo. Fiabilidad: Un proceso de desarrollo es fiable cuando es capaz de detectar posibles errores. Facilidad de mantenimiento: Requiere capacidad para incorporar nuevos requisitos o modificar alguno o algunos de los existentes. Rapidez: Un proceso software es rápido cuando se puede obtener, a partir de la especificación, una implementación del sistema en un tiempo reducido.

Modelo en cascada o convencional

Tomado de otras ingenierías es el primer modelo de desarrollo software propuesto. Ampliamente usado en la industria por su facilidad de gestión y visibilidad. En la figura 1 se representa el secuenciamiento de las actividades de este modelo de desarrollo.

Figura 1: Modelo en cascada o convencional. Sin embargo, su principal problema reside en su poca flexibilidad al separar el proceso de desarrollo en etapas totalmente distintas. En la práctica estas etapas no tienen fronteras tan bien definidas, lo que hace que, en no pocas ocasiones, se solapen y compartan información. Los principales problemas de este modelo son: dificultad para realizar prototipos, reutilizar software y realizar pruebas sin disponer de una implementación del sistema.