Modelos software
Enviado por leidy2108 • 10 de Noviembre de 2014 • 1.660 Palabras (7 Páginas) • 145 Visitas
INTRODUCCIÓN
En el proceso de desarrollo de software un sistema informático está compuesto por
hardware y software. El buen funcionamiento del hardware es, en principio, comparable a
la de cualquier otro equipo de cómputo existente. Sin embargo, respecto al software, su
construcción y resultados han sido en el pasado cuestionados debido a los problemas
asociados a ellos:
Los sistemas no responden a las expectativas de los usuarios.
Los programas “se caen” con cierta frecuencia.
Los costes del software son difíciles de prever y normalmente superan las
estimaciones propuestas con anterioridad.
La modificación del software es una tarea difícil y costosa.
En el desarrollo de software, se establece algunas particularidades como los modelos de
ciclo de vida del software, uno de estos modelos es el llamado “El Modelo Evolutivo
Espiral” cuyo autor es Barry Boehm (1988), este tipo de modelo permite tener en cuenta el
riesgo que aparece al momento de desarrollar software, se comienza analizando las
diferentes alternativas de procesos en el diseño del software, se selecciona el riesgo más
asumible y se hace un ciclo de la espiral. Si el usuario requiere hacer avances en el
software, se evalúa las diferentes alternativas y riesgos y se realiza un nuevo giro a la
espiral, así hasta que llegue un momento en el que el software diseñado sea aceptado y
no necesite mejorarse con un nuevo ciclo.
PROCESO DE DESARROLLO DE SOFTWARE
El desarrollo de un software en sí es complejo, es usualmente no viable conseguir un
100% de confiabilidad de un programa por pequeño que sea. Existe una gran
combinación de factores que imposibilitan realizar una verificación minuciosa de todas las
posibles situaciones de ejecución que se puedan presentar. Poniendo como ejemplo la
creación de un sistema operativo, esto es una tarea que requiere proyecto, gestión,
numerosos recursos y todo un equipo disciplinado de trabajo.
Un desarrollo de software es imperceptible y por lo general muy abstracto, esto pone
trabas en la definición del producto y sus requisitos, más que nada cuando no se tiene
precedentes definidos de un desarrollo de software similar. Esta situación va hacer que
los requisitos sean difíciles de consolidar con anterioridad. Es por esto que ahora los
cambios en los requisitos son inevitables, no sólo después de entregado el producto sino
también durante el proceso de desarrollo.
Sea cual fuere el proceso utilizado y aplicado al desarrollo del software, casi siempre
libremente de este proceso, se debe aplicar un modelo de ciclo de vida. Según varias
fuentes consultadas se estima que, del total de proyectos software grandes emprendidos,
un 28% fracasan, un 46% caen en severas modificaciones que lo retrasan y un 26% son
totalmente exitosos.
Cuando un proyecto de desarrollo de software “fracasa” (28% estadísticamente), muy rara
vez es causado por fallas técnicas, principalmente el origen de los fallos y fracasos es la
falta de aplicación de una buena metodología o procesos de desarrollo. Una fuerte
tendencia, desde hace pocos años, es mejorar las metodologías y procesos, o crear
nuevas e incentivar a los profesionales de la informática en su aplicación adecuada, normalmente utilizan sus conocimientos especializados con modelos, paradigmas y
procesos obsoletos que ya fueron diseñados.
DEFINICIÓN DE UN MODELO PARA EL DESARROLLO DE SOFTWARE
Un modelo para el desarrollo de software es una perspectiva de las actividades que
ocurren durante el diseño y el desarrollo del software, se pretende determinar el orden de
las etapas implicadas en el sistema y los criterios de transición asociadas entre estas
etapas. Un modelo de ciclo de vida del software:
Describe las etapas primordiales del desarrollo de software.
Define las etapas primarias esperadas para ser aplicadas durante esas etapas.
Ayuda a administrar el progreso del desarrollo, y
Provee un espacio de trabajo para la definición de un detallado proceso de desarrollo
de software.
Así, los modelos por una parte proveen una guía a los ingenieros de software con el fin de
establecer las diversas actividades técnicas en el proyecto, por otra parte suministran un
marco para la administración del desarrollo y el mantenimiento del software, en el sentido
en que permiten estimar recursos, definir puntos de control intermedios, monitorear el
avance, etc.
ALTERNATIVAS DE MODELOS PARA EL DESARROLLO DE SOFTWARE
MODELO ESPIRAL
El modelo espiral en el desarrollo del software es un modelo meta del ciclo de vida del
software donde el esfuerzo del desarrollo es iterativo, tan pronto culmina un esfuerzo del
desarrollo por ahí mismo comienza otro; además en cada ejecución del desarrollo se
sigue cuatro pasos principales:
1. Determinar o fijar los objetivos.
En este paso se definen los objetivos específicos para posteriormente identifica las
limitaciones del proceso y del sistema de software, además se diseña una
planificación detallada de gestión y se identifican los riesgos.
2. Análisis del riesgo.
En este paso se efectúa un análisis detallado para cada uno de los riesgos
identificados del proyecto, se definen los pasos a seguir para reducir los riesgos y
luego del análisis de estos riesgos se planean estrategias alternativas.
3. Desarrollar, verificar y validar.
En este tercer paso, después del análisis de riesgo, se eligen un paradigma para el
desarrollo del sistema de software y se lo desarrolla.
4. Planificar.
En este último paso es donde el proyecto se revisa y se toma la decisión si se debe
continuar con un ciclo posterior al de la espiral. Si se decide continuar, se desarrollan
los planes para la siguiente fase del proyecto.
Ver fig1 anexos Con cada iteración alrededor de la espiral, se crean sucesivas versiones del software,
cada vez más completas y, al final, el sistema de software ya queda totalmente funcional.
La diferencia principal entre el modelo espiral y los modelos
...