View
221
Download
2
Category
Preview:
DESCRIPTION
ciclo de vida de un software (modelos)
Citation preview
Modelos de procesos
de Ciclo de Vida
Agosto 2014
Contenido...
- Concepto de ciclo de vida
- Procesos de ciclo de vida del
software
- Procesos de soporte
- Procesos de Organizaciones
- Procesos de adaptación
Ciclo de vida El concepto de vida
puede ser utilizado en
muchos ámbitos , entre
ellos se encuentra el de
l a i n g e n i e r í a y
la informática, el ciclo de
desarrollo es el periodo
que comienza con la implementación de un
estándar tecnológico y finaliza con el desa-
rrollo de nuevas herramientas más eficien-
tes.
El ciclo de vida de un sis-
tema de información es un
enfoque por fases del análi-
sis y diseño que facilita su
desarrollados mediante el
uso de un ciclo especifico de
actividades del analista y
del usuario.
Según James Senn,
e x i s t e n
tres estrategias para
el desarrollo de siste-
mas: el método clásico
del ciclo de vida de
desarrollo de sistemas,
el método de desarrollo
por análisis estructurado y el método
de construcción de prototipos de sistemas.
Cada una de estas estrategias tienen un uso
amplio en cada una de los diversos tipos de
empresas que existen, y resultan efectivas si
son aplicadas de manera adecuada.
Procesos de ciclo
de vida del
software
En este procesos
se describe el desarrollo
de software, desde la fa-
se inicial hasta la fase fi-
nal. El propósito de este
programa es definir las
distintas fases interme-
dias que se requieren pa-
ra validar el desarrollo de
la aplicación, es decir, pa-
ra garantizar que el soft-
ware cumpla los requisi-
tos para la aplicación
y verificación de los pro-
cedimientos de desarro-
llo: se asegura de que los
métodos utilizados son
apropiados.
Estos programas se origi-
nan en el hecho de que es
muy costoso rectificar los
errores que se detectan tarde
dentro de la fase de imple-
mentación. El ciclo de vida
permite que los errores se
detecten lo antes posible y
por lo tanto, permite a los
desarrolladores concentrarse
en la calidad del software, en
los plazos de implementación
y en los costos asociados.
Un proceso para el desarrollo de software, tam-
bién denominado ciclo de vida del desarrollo de soft-
ware es una estructura aplicada al desarrollo de un
producto de software. Hay varios modelos a seguir
para el establecimiento de un proceso para el desa-
rrollo de software, cada uno de los cuales describe
un enfoque diferente para diferentes actividades que
tienen lugar durante el proceso.
Un modelo de
ciclo de vida define
el estado de las fa-
ses a través de las
cuales se mueve
un proyecto de
desarrollo de soft-
ware.
MODELO CASCADA
Este es el más básico de todos los modelos, y sir-ve como bloque de cons-trucción para los demás modelos de ciclo de vida. La visión del modelo casca-da del desarrollo de softwa-re es muy simple; dice que el desarrollo de software puede ser a través de una secuencia simple de fases.
Cada fase tiene un con-junto de metas bien defini-das, y las actividades den-tro de una fase contribuye a la satisfacción de metas de esa fase o quizás a una subsecuencia de metas de la fase.
Las flechas muestran el flujo de información entre las fases. La flecha de avance muestra el flujo nor-mal. Las flechas hacia atrás representan la retro-alimentación.
El modelo de ciclo de vida cascada, captura algunos principios bási-cos:
Planear un proyecto antes de embarcarse en
él.
Definir el comporta-miento externo deseado del sistema antes de di-seña su arquitectura in-
terna.
Documentar los resul-tados de cada actividad.
Diseñar un sistema antes de codificarlo.
Testear un sistema después de construirlo.
El modelo espiral no es una alternativa del mo-delo cascada, ellos son completamente compa-
tible.
El modelo espiral cap-tura algunos principios básicos:
Decidir qué problema se quiere resolver antes de viajar a resolverlo.
Examinar tus múltiples alternativas de acción y elegir una de las más convenientes.
Evaluar qué tienes he-cho y qué tienes que ha-ber aprendido después de hacer algo.
No ser tan ingenuo pa-ra pensar que el sistema que estás construyendo será "EL" sistema que el cliente necesita, y Cono-cer (comprender) los ni-veles de riesgo, que ten-drás que tolerar.
MODELO ESPIRAL
Es un modelo del ciclo de meta-vida, donde el esfuerzo de desarrollo es iterativo. Tan pronto como uno completa un esfuerzo de desarrollo, otro co-mienza. Además, en cada desarrollo ejecutado, pue-des seguir estos cuatros pasos:
Determinar qué quieres lograr.
Determinar las rutas al-ternativas que puedes to-mar para lograr estas me-tas. Por cada una, anali-zar los riesgos y resulta-dos finales, y seleccionar la mejor.
Seguir la alternativa se-leccionada en el paso 2.
Establecer qué tienes terminado.
MODELO INCREMEN-
TAL
Es el proceso de cons-
trucción que siempre ira in-
crementando subconjuntos
de requerimientos del siste-
ma. El desarrollo incremen-
tal es 100% compatible con
el modelo cascada. El desa-
rrollo incremental no de-
manda una forma específica
de observar el desarrollo
de algún otro incremento.
El modelo de desarrollo
incremental provee algunos
beneficios significativos pa-
ra los proyectos:
Construir un sistema pe-queño es siempre menos
riesgoso que construir un
sistema grande.
Si un error importante es realizado, el incremento
previo puede ser usado.
Al ir desarrollando parte de las funcionali-
dades, es más fá-
cil determinar si los re-
querimientos planea-
dos para los niveles
subsiguientes son co-
rrectos.
Si un error importan-te es realizado, sólo la
última iteración necesi-
ta ser descartada.
Reduciendo el tiem-po de desarrollo de un
sistema decrecen las
probabilidades que
esos requerimientos de
usuarios puedan cam-
biar durante el desa-
rrollo.
Los errores de desa-rrollo realizados en un
incremento, pueden ser
arreglados antes del
comienzo del próximo
incremento.
MODELO EVOLUTIVO
En este los requeri-
mientos son cuidadosa-
mente examinados, y só-
lo esos que son bien
comprendidos son se-
leccionados para el pri-
mer incremento. Los
desarrolladores constru-
yen una implementación
parcial del sistema que
recibe sólo estos reque-
rimientos.
El sistema es enton-
ces desarrollado, los
usuarios lo usan, y pro-
veen retroalimentación a
los desarrolladores. Ba-
sada en esta retroali-
mentación, la especifica-
ción de requerimientos
es actualizada, y una se-
gunda versión del pro-
ducto es desarrollada y
desplegada. El proceso
se repite indefinidamen-
te.
El desarrollo de softwa-
re en forma evolutiva re-
quiere un especial cuida-
do en la manipulación de
documentos, programas,
datos de test, etc. desarro-
llados para distintas ver-
siones del software. Cada
paso debe ser registrado,
la documentación debe
ser recuperada con facili-
dad, los cambios deben
ser efectuados de una ma-
nera controlada.
MODELO CONCURRENTE
Este modelo provee una meta-descripción del pro-
ceso software. Mientras que la contribución primaria del
modelo espiral es en realidad que esas actividades del
software ocurran repetidamente, la contribución del mo-
delo concurrente es su capacidad de describir las múl-
tiples actividades del software ocurriendo simultánea-
mente.
Eligiendo seguir un proyecto usando técnicas de mo-
delación concurrente, se posibilita el conocimiento del
estado verdadero en el que se encuentra el proyecto.
Modelo en v
Permite terminar con algunos de los problemas que
se vieron utilizando el enfoque de cascada tradicional.
Los defectos estaban siendo encontrados demasiado
tarde en el ciclo de vida, ya que las pruebas no se intro-
ducían hasta el final del proyecto. El modelo en v dice
que las pruebas necesitan empezarse lo más pronto po-
sible en el ciclo de vida. En comparación con los otros
ciclos de vida el software se desarrolla durante la fase
de implementación, por lo que no se producen prototi-
pos del software.
Procesos de soporte
Sirven de apoyo al resto de procesos y pueden
aplicarse en cualquier punto del ciclo de vida.
Proceso de documen-
tación: Comprende todas
las actividades que per-
miten desarrollar, distri-
buir y mantener la docu-
mentación necesaria.
Proceso de gestión de
la configuración: Contro-
la las modificaciones y
las versiones de los ele-
mentos de configuración
del software del sistema.
Proceso de asegura-
miento de la calidad:
Comprueba que los pro-
cesos y los productos
software del ciclo de vi-
da cumplen con los re-
quisitos especificados.
Proceso de verifica-
ción: El objetivo es de-
mostrar la consistencia,
completitud y corrección
del software entre las fa-
ses del ciclo de desarro-
llo de un proyecto.
Proceso de validación:
El objetivo es determinar
la corrección del produc-
to final respecto a las ne-
cesidades del usuario.
Proceso de revisión
conjunta: Para evaluar el
estado del software y sus
productos en una deter-
minada actividad del ci-
clo de vida o una fase de
un proyecto. Las revisio-
nes conjuntas se cele-
bran tanto a nivel de ges-
tión como a nivel técnico
del proyecto a lo largo de
todo su ciclo de vida. Un
mecanismo habitual de
revisión son las reunio-
nes y la responsabilidad
es generalmente com-
partida entre un grupo
de personas pertene-
cientes a la organización.
Proceso de auditoría:
Permite determinar, en
los hitos preestablecidos,
si se han cumplido los re-
quisitos, los planes y, en
suma, el contrato.
Proceso de resolución
de problemas: Permite
analizar y solucionar los
problemas, sean éstos di-
ferencias con los requisi-
tos o con el contrato.
Aporta un medio opor-
tuno y documentado para
asegurar que los proble-
mas detectados son anali-
zados y solucionados.
Procesos de organización
Son los utilizados por una organización para llevar
a cabo funciones como la gestión, formación del per-
sonal o procesos de mejora continua.
Proceso de gestión: Contiene
las actividades y las tareas ge-
néricas que puede emplear una
organización que tenga que
gestionar sus procesos. Incluye
actividades como la planifica-
ción, el seguimiento y control, la
revisión y evaluación.
Proceso de infraestructura:
Establece la infraestructura ne-
cesaria para cualquier otro pro-
ceso, para el desarrollo, explo-
tación y mantenimiento.
Proceso de mejora: Para
mejorar los procesos del ciclo
de vida del software.
Proceso de formación: Para
mantener al personal con la
adecuada formación, lo que
conlleva el desarrollo del ma-
terial de formación, así como
la implementación del plan
de formación de la organiza-
Sirve para realizar la
adaptación básica de
la norma ISO 12207-1
respecto a los proyec-
tos software. Como es
sabido, las variaciones
en las políticas y pro-
cedimientos de la or-
ganización, los méto-
dos y estrategias de
adquisición, el tamaño
y complejidad de los
proyectos, los requisi-
tos del sistema y los
métodos de desarrollo,
entre otros, influencian
la forma de adquirir,
desarrollar, explotar o
mantener un sistema.
Dado que los procesos
se aplican durante el ciclo
de vida del software, y
además se utilizan de dife-
rentes formas por las dife-
rentes organizaciones y
con distintos puntos de vis-
ta y objetivos, es preciso
comprender los procesos,
las organizaciones y sus re-
laciones bajo diferentes
puntos de vista:
Procesos de adaptación
Contrato: El comprador
y el proveedor negocian
y firman el contrato, em-
pleando los procesos de
adquisición y suministro.
Gestión o dirección: El
comprador, el proveedor,
el desarrollador, el ope-
rador y el personal de
mantenimiento gestionan
sus respectivos procesos
en el proyecto software.
Explotación: El opera-
dor proporciona el servi-
cio de explotación del
software a los usuarios.
Ingeniería: El desarrolla-
dor o el personal de man-
tenimiento llevan a cabo
sus respectivas tareas de
ingeniería para producir o
modificar los productos de
software.
Soporte: Los grupos de
soporte proporcionan ser-
vicios de apoyo a otros
grupos en el cumplimien-
to de tareas únicas y espe-
cíficas.
Recommended