[is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
-
Upload
juanacubana17 -
Category
Documents
-
view
221 -
download
0
Transcript of [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
1/40
Ingeniera del Software de Gestin www.kybele.es
Marcos Lpez SanzIngeniera del Software de Gestin
Tema 2:
Ciclo de vida del Software
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
2/40
Ingeniera del Software de Gestin www.kybele.es
ndice
Qu es el ciclo de vida del Software?
La norma 12207-2008
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
3/40
Ingeniera del Software de Gestin www.kybele.es
Qu es el Ciclo de Vida del SW?
Es una sucesin de etapas por las que pasa el software en su
desarrollo, desde que se concibe la idea hasta que el software
deja de utilizarse (obsolescencia)
Cada etapa lleva asociada una serie de actividades y tareas que
se deben realizar, y una serie de documentos que sern la salida
de cada una de estas fases y que servirn de entrada a la fase
siguiente
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
4/40
Ingeniera del Software de Gestin www.kybele.es
Qu es el Ciclo de Vida del SW?
Segn la norma ISO/IEC Standard 12207:2008:Software life-Cycle processes propuesta por la ISO(International Organization for Standardization):
Es un marco de referencia que contiene los procesos, lasactividades y las tareas involucradas en el desarrollo,explotacin y mantenimiento de un producto software,abarcando la vida del sistema desde la definicin derequisitos hasta que se deja de utilizar
http://www.iso.org/iso/home.htm
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
5/40Ingeniera del Software de Gestin www.kybele.es
Qu es el Ciclo de Vida del SW?
Qu es un proceso?Un proceso es un conjunto de actividades que se
suceden siguiendo una ordenacin temporaldeterminada
Qu es una actividad?
Una actividad es un conjunto de tareas
Qu es una tarea?Una accin que transforma unas entradas en unas
salidas
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
6/40Ingeniera del Software de Gestin www.kybele.es
Qu es el Ciclo de Vida del SW?
Fases genricas en el ciclo de vida del SW: Fase de definicin. Tareas:
Ingeniera de sistemas
Planificacin del proyecto del SW
Anlisis de los requisitos
Fase de desarrollo. Tareas: Diseo del SW
Generacin de cdigo
Prueba del SW
Fase de mantenimiento. Cambios:
Correccin Adaptacin
Mejora
Prevencin
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
7/40Ingeniera del Software de Gestin www.kybele.es
ndice
Qu es el ciclo de vida del Software?
La norma 12207-2008
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
8/40Ingeniera del Software de Gestin www.kybele.es
Los procesos del Ciclo de Vida del SWNorma ISO/IEC 12207-2008
Segn esta norma las actividades que se
pueden llevar a cabo durante el ciclo de vida
del SW se pueden agrupar en:
5 procesos principales
8 procesos de soporte
4 procesos de organizacin o generales
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
9/40Ingeniera del Software de Gestin www.kybele.es
Los procesos del Ciclo de Vida del SWNorma ISO/IEC 12207-2008
Procesos de SoporteProcesos de Soporte
Procesos generalesProcesos generales
Adquisicin
Suministro
Explotacin
MantenimientoDesarrollo Gestin de la Config.
Aseg. de la calidadVerificacin
Validacin
Revisin conjunta
Auditora
Documentacin
Resolucin problemas
Gestin
Mejora
Infraestructura
Formacin
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
10/40Ingeniera del Software de Gestin www.kybele.es
Los procesos del Ciclo de Vida del SWNorma ISO/IEC 12207-2008
Proceso de DesarrolloProceso de Desarrollo
Cada una de estas actividades est compuesta por diferentes tareas
Actividadde
Anlisis
ActividaddeAnlisis
Actividadde
Diseo
ActividaddeDiseo
Actividadde
Codificacin
ActividaddeCodificacin
Actividadde
Pruebas
ActividaddePruebas
Actividadde
Integracin
ActividaddeIntegracin
Actividadde
Implantacin
ActividaddeImplantacin
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
11/40Ingeniera del Software de Gestin www.kybele.es
Norma ISO/IEC 12207-2008
Procesos Principales
Adquisicin: Actividades y tareas que el comprador, elcliente o el usuario realizan para adquirir un sistema,un servicio o un producto software:
Preparacin y publicacin de ofertas
Seleccin del suministrador de SW
Suministro: Actividades y tareas del suministrador:
Preparar contratos como respuesta a una peticin de un
comprador de un producto SW Identificar los recursos necesarios para llevar a cabo con
xito el desarrollo del producto SW
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
12/40Ingeniera del Software de Gestin www.kybele.es
Norma ISO/IEC 12207-2008
Procesos Principales
Desarrollo: Actividades y tareas enfocadas a laobtencin de un producto Software
Anlisis
Diseo
Codificacin Pruebas
Integracin
Implantacin
Explotacin: Explotacin del SW y soporte operativo alos usuarios
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
13/40
Ingeniera del Software de Gestin www.kybele.es
Norma ISO/IEC 12207-2008
Procesos Principales
Mantenimiento: Actividades que incluyenmodificaciones del producto, tanto del cdigo comode la documentacin, debido a errores o a la
necesidad de mejora o/y adaptacin.
Migracin hacia un nuevo entorno operativo
Retirada del producto
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
14/40
Ingeniera del Software de Gestin www.kybele.es
Norma ISO/IEC 12207-2008
Procesos de Soporte
Procesos de soporte: dan soporte al resto de procesos y seaplican durante cualquier momento del ciclo de vida delSW
Documentacin: Registrar la informacin producida por
un proceso o actividad del ciclo de vida: Disear, editar, distribuir y mantener los documentos
producidos durante el desarrollo del SW
Gestin de la Configuracin: Actividades que controlanlas modificaciones y versiones de los elementos. Registrar las peticiones de cambios e informar de los estados
de stos.
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
15/40
Ingeniera del Software de Gestin www.kybele.es
Norma ISO/IEC 12207-2008
Procesos de Soporte
Aseguramiento de la calidad: Actividades paraasegurar que los productos cumplen los requisitosespecificados y se ajustan a los planes establecidos
Verificacin: Actividades para determinar el buenfuncionamiento de un producto software
Validacin: Actividades para determinar si el productocumple los requisitos previstos
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
16/40
Ingeniera del Software de Gestin www.kybele.es
Norma ISO/IEC 12207-2008
Procesos de Soporte
Revisin conjunta: Actividades que permiten determinar elestado de los productos en una determinada actividad del ciclode vida o en una cierta fase del proyecto. Puede ser una
reunin conjunta con el cliente, el grupo de desarrollo y los
clientes potenciales para revisar el trabajo hecho
Auditoras: Actividades que permiten determinar en unosmomentos determinados si se han conseguido los objetivos
propuestos: requisitos, cumplimiento del contrato, etc.
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
17/40
Ingeniera del Software de Gestin www.kybele.es
Norma ISO/IEC 12207-2008
Procesos de Soporte
Resolucin de problemas: Actividades que permitenanalizar y resolver los problemas o disconformidadescon los requisitos o con el contrato, que hayan surgido
durante el desarrollo, la explotacin, el
mantenimiento, o en cualquier otro momento.
Disponer de un medio documental que permita asegurar quetodos los problemas se han tratado
/
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
18/40
Ingeniera del Software de Gestin www.kybele.es
Norma ISO/IEC 12207-2008
Procesos Generales
Procesos de soporte a la organizacin: gestin, formacin delpersonal, mejora de los procesos, etc.
Gestin: Actividades de planificacin, seguimiento, control,revisin y evaluacin.
Infraestructura: Actividades para determinar lainfraestructura necesaria para un proceso. Incluye HW, SW,instalaciones
Mejora: Valorar, medir, controlar, evaluar y mejorar todoslos procesos del ciclo de vida.
Formacin: Plan de formacin para los empleados.
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
19/40
Ingeniera del Software de Gestin www.kybele.es
ndice
Qu es el ciclo de vida del Software?
La norma 12207-2008
Modelos de desarrollo
1919
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
20/40
Ingeniera del Software de Gestin www.kybele.es
Modelos de desarrollo
Qu es un modelo de desarrollo? Representacin abstracta de un proceso del software
Son estrategias de desarrollo que ayudan a organizar las
diferentes etapas y actividades del ciclo de vida del softwareModelos de ciclo de vida del software
Estos modelos ayudan al control y a la coordinacin delproyecto
El modelo a utilizar depende del tipo de proyecto
M d l d d ll
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
21/40
Ingeniera del Software de Gestin www.kybele.es
Modelos de desarrollo
Variantes
Modelo en Cascada
Modelo de Prototipos
Modelo en Espiral
Modelo Incremental
Otros
d l d d ll
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
22/40
Ingeniera del Software de Gestin www.kybele.es
Modelos de desarrollo
Modelo en Cascada (Waterfall)
Tambin llamado ciclo de vida bsico o modelo lineal-secuencial
Divide el proceso de desarrollo en un conjunto de etapas secuenciales
Una etapa no puede empezar hasta que no haya terminado la
anterior
Al final de cada fase, el personal de desarrollo y los usuarios revisan elprogreso del proyecto
En cada fase se genera todo un conjunto de documentos. Es unmodelo dirigido por documentos Son los productos principales encada etapa
M d l d d ll
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
23/40
Ingeniera del Software de Gestin www.kybele.es
Modelos de desarrollo
Modelo en Cascada (Waterfall)
Es el modelo ms antiguo y ms utilizado
Ha sido la base de muchos otros modelos
Anlisis y Definicinde Requisitos
Anlisis y Definicinde Requisitos
Diseo de sistemasy software
Diseo de sistemasy software
Implementacin ypruebas (unitarias)
Implementacin ypruebas (unitarias)
Implementacin ypruebas (sistema)
Implementacin ypruebas (sistema)
Operacin y
mantenimiento
Operacin y
mantenimiento
M d l d d ll
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
24/40
Ingeniera del Software de Gestin www.kybele.es
Modelos de desarrollo
Modelo en Cascada (Waterfall)
Anlisis y Especificacin de
Requisitos
Anlisis y Especificacin de
Requisitos
DiseoDiseo
ImplementacinImplementacin
Validacin y verificacinValidacin y verificacin
MantenimientoMantenimiento
Visin profunda del problema desde el puntode vista de los desarrolladores y usuarios.
Especifica la informacin sobre la cual el
software se va a desarrollar.
Permite describir cmo el software va a
satisfacer los requerimientos
Aqu es donde el Software a ser desarrollado
se codifica
Etapa donde el software es probado para
verificar que es consistente con las
definiciones
Modificaciones al software producto de
errores, adecuaciones, etc.
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
25/40
Ingeniera del Software de Gestin www.kybele.es
Modelos de desarrollo
Modelo en Cascada (Waterfall)
Desventajas: Definir todos los requisitos al inicio del proceso no es prctico
ya que el cliente aade y modifica segn le van surgiendonecesidades durante el proceso de desarrollo.
El cliente nunca tiene claro lo que quiere!
El cliente no ve el producto en funcionamiento hasta el finaldel proceso.
La validacin de los requisitos iniciales no se hace hasta elfinal.
Poca o nula flexibilidad a cambios.
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
26/40
Ingeniera del Software de Gestin www.kybele.es
Modelos de desarrollo
Modelo en Cascada (Waterfall)
Cundo es conveniente? (Ventajas): Cuando tenemos proyectos complejos pero que se
entienden y quedan bien definidos desde un comienzo.
Cuando el equipo de desarrollo no est muy cualificadoo es an inexperto porque la estructura de trabajo que
propone es muy ordenada y ayuda a minimizaresfuerzo.
Cuando realizamos una migracin de software desde unentorno tecnolgico obsoleto.
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
27/40
Ingeniera del Software de Gestin www.kybele.es
Modelos de desarrollo
Modelo de Prototipos
Un prototipo es una versin limitada del producto quepermite a las partes responsables de su creacinprobarlo en situaciones reales y explorar su uso
Con este modelo hay un acercamiento al cliente. Gracias
al prototipo, el cliente puede hacerse una idea de cmoest evolucionando el producto y esto ayuda a refinar losrequisitos del sistema
Con los prototipos definimos de forma clara y concretaqu quiere el cliente los requisitos del sistema
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
28/40
Ingeniera del Software de Gestin www.kybele.es
Modelos de desarrollo
Modelo de Prototipos
Diseo
Tcnico
Programacin
y Prueba
Operacin y
Mantencin
Anlisis yEspecificacin
Diseo y
Construccin
Evaluacin
Modificacin
Definicin del problema, efectos
organizacionales. Estudio de
factibilidad. Recoleccin y
refinamiento de requisitos
Diseo detallado. Rediseo del Prototipo y
documentacin para programacin y
mantenimientoLas especificaciones del diseo tcnico son
implementadas y probadas
Instalacin del sistema y modificaciones
posteriores
Especificacin
de
requisitosy
Prototipado
Investigacin
Preliminar
Investigacin
Preliminar Diseo bsico del Prototipo
Construccin prototipo
Verificacin y requerimientos
Modificacin del Prototipo
PRODUCTODE
INGENIERA
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
29/40
Ingeniera del Software de Gestin www.kybele.es
Modelos de desarrollo
Modelo de Prototipos
Desventajas:El diseo rpido del prototipo hace que los
desarrolladores utilicen herramientas que facilitenla rpida generacin de cdigo, dejando a un lado
aspectos de calidad (eficiencia, fiabilidad,mantenibilidad del cdigo, etc.).
Probablemente no se tendr un cdigo ptimo
Exige disponer de las herramientas adecuadas
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
30/40
Ingeniera del Software de Gestin www.kybele.es
Modelo de Prototipos
Cundo es conveniente? (Ventajas): Se recomienda para clientes que quieren ver resultados a corto
plazo Reduce costos y aumenta la probabilidad de xito
Cuando el cliente no sabe lo que quiere y los requisitos no estnbien definidos desde el principio Reduce el riesgo de construir
productos que no satisfagan las necesidades de los usuarios
Cuando los requisitos evolucionan muy rpidamente.
Para sistemas on-line donde es ms importante la parte de lainterfaz con el usuario que las funcionalidades del sistema.
Se recomienda utilizar este modelo slo para la especificacin derequisitos. Mejor continuar el desarrollo utilizando otro modelo
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
31/40
Ingeniera del Software de Gestin www.kybele.es
Modelo en Espiral
Es una combinacin de los dos anteriores (Boehm88)
Es un modelo evolutivo del desarrollo, formado por unconjunto de vueltas de espiral En las primeras vueltas el SW es un modelo en papel, la
especificacin de un producto. An no funciona. En las sucesivas vueltas, se desarrolla un prototipo.
En la ltimas iteraciones se obtienen versiones completas delproducto.
Cada ciclo del espiral representa una fase del proyectosoftware
4 sectores por ciclo:
Definicin de Objetivos Evaluacin y reduccin de riesgos Desarrollo y Validacin Planificacin
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
32/40
Ingeniera del Software de Gestin www.kybele.es
Modelo en Espiral
Con este modelo obtenemos el producto final a partir de
piezas ms pequeas.
El nmero de actividades a realizar se incrementanotablemente a medida que nos alejamos del centro de
la espiral. Las primeras son menos costosas
La evaluacin despus de cada fase permite cambios.
Incorpora el factor Riesgo es un modelo orientado ariesgos Tiene como objetivo vital pensar en las cosas que pueden ir
mal en el desarrollo del software y saber cmo resolverlas
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
33/40
Ingeniera del Software de Gestin www.kybele.es
PLANIFICACIN
Determine objetivos
alternativas y
restricciones
ANLISIS DE RIESGOS
Evale alternativas,identifique y resuelva
riesgosAnlisis de
Riesgos
Anlisis de
Riesgos
Anlisis de
Riesgos
Anlisis
deRiesgos
EVALUACIN DEL CLIENTE
Planea la
siguiente fase
INGENIERA
Desarrolla y verifica
el siguiente nivel
del producto
Prototipo
OperacionalPrototipo3Prototipo
2Prototipo 1
Plan de requerimientosPlan del ciclo de vida
REVISIN
Plan deDesarrollo
Plan de Integraciny Prueba
Concepto de
Operacin
Simulaciones y modelos
Requeri-
mientos de
SWValidacin de
Requerimientos
DiseoV &V
Servicio
Prueba deAceptacin
Prueba deIntegracin
Prueba deUnidades
Codificacin
DiseoDetallado
Diseodel
Producto
Modelo en Espiral
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
34/40
Ingeniera del Software de Gestin www.kybele.es
Modelo en Espiral - Fases
Planificacin
Determinar los objetivos
Determinar las alternativas de desarrollo
Analizar las restricciones de cada alternativa
Anlisis de riesgos
Ver todos los puntos que pueden fallar
Evaluar las diferentes alternativas
Determinar y resolver o minimizar los riesgos Identificacin de los riesgos para cada alternativa, as
como la manera de resolverlos
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
35/40
Ingeniera del Software de Gestin www.kybele.es
Modelo en Espiral - Fases
IngenieraDesarrollo del producto En cada iteracin el proyecto se va completando
Evaluacin del clienteRevisin para ver si est de acuerdo, o no, con los
resultados obtenidos. Si todo va bien, se pasa a lasiguiente fase
En la revisin participan todas las personas yorganizaciones que tienen relacin con el producto
Se planifica la siguiente vuelta. Previsin de los recursosnecesarios
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
36/40
Ingeniera del Software de Gestin www.kybele.es
Modelo en Espiral
Desventajas: Es difcil establecer los hitos para determinar si podemos
pasar a la siguiente vuelta de espiral
La evaluacin de riesgos es una tarea compleja Senecesitan expertos en evaluacin de riesgos
Es difcil convencer a los clientes que un modelo evolutivo escontrolable
No se aconseja para proyectos que tienen pocos riesgos.Demasiado coste
En definitiva, no es un modelo muy real ni claro.
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
37/40
Ingeniera del Software de Gestin www.kybele.es
Modelo en Espiral
Cundo es conveniente? (Ventajas):Cuando tenemos proyectos complejos, donde el
problema no est muy bien definido y conlleva unaserie de riesgos
Proyectos dinmicos
Proyectos innovadores y ambiciosos
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
38/40
Ingeniera del Software de Gestin www.kybele.es
Modelo Incremental
Es un tipo de modelo evolutivo es iterativo: permiten a los ingenieros
desarrollar versiones cada vez ms completas
Combina elementos del modelo en cascada (aplicados repetidamente) con lafilosofa interactiva de la construccin de prototipos
Cada secuencia lineal produce un incremento las entregas de los
incrementos se definen al principio del proceso software
Cada entrega constituye un producto operacional
Es til cuando el personal o los recursos no estn disponibles hasta ciertotiempo dentro del proceso de desarrollo Se adapta a entornos de alta
incertidumbre
El proceso no es visible, documentacin costosa y difcil planificacin
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
39/40
Ingeniera del Software de Gestin www.kybele.es
Modelo en Espiral vs. Incremental
El modelo en espiral: es iterativo e incremental?
Es iterativo (se realizan ciclos repetitivos), pero no necesariamenteincremental.
Para que un modelo se considere incremental los incrementos
deben decidirse durante el anlisis/elicitacin de los requisitos ydeben condicionar las iteraciones que se hacen, y no al revs.
Es decir, durante las iteraciones del modelo de ciclo en espiral losincrementos, de producirse, se establecen en la planificacin de la
propia iteracin, no a priori. Es ms, el incremento lo constituyenlos productos de la iteracin, no conocidos hasta que no seobtienen realmente.
Modelos de desarrollo
-
7/24/2019 [is-LADE-2012-13]TEMA II - Ciclo de Vida Del Sw
40/40
Ingeniera del Software de Gestin www.kybele.es
Otros
Mtodos formales (sntesis automtica del Software)
Desarrollo orientado a la reutilizacin (basado encomponentes)
DRA (Desarrollo Rpido de Aplicaciones) Espiral WINWIN
Desarrollo concurrente Tcnicas de 4 generacin
Modelos para Desarrollo OO:Modelo de Agrupamiento
Modelo fuenteModelo remolinoModelo Pinball, etc.