Está en la página 1de 88

Tutorial

Cmo definir un ciclo de vida


SPIN-CHILE Noviembre 2000
Relator : Guillermo A. Leyton Garca
gleyton@elqui.cic.userena.cl

Agenda
1. Definiciones
2. Modelos de Ciclo de Vida
3. Estndares para Procesos del Ciclo de Vida
del software
4. Casos prcticos de Ciclos de Vida
5. Resumen final
6. Modelo OSO : Ciclo de Vida para
aplicaciones web - Relator C.Bravo

1. Definiciones

Ciclo de Vida
Todo esfuerzo de desarrollo de software conlleva
un CICLO DE VIDA que consiste en realizar
todas las actividades comprendidas entre el
momento en que se inicia la VERSION 1.0 de un
producto de software(desde la idea de una
persona) hasta el momento en que la VERSION
X.Z exhala su ltimo aliento en la mquina del
ltimo cliente

Ciclo de Vida
Actividades principales del Ciclo de Vida
Estados en el Proceso de Desarrollo
primero ?
Anlisis Sistema
Prueba

segundo ?
mantencin

tercero ?
Diseo

Construccin

Anlisis de
Requisitos

Modelos de Ciclos de Vida


Describen en qu orden son consideradas
las distintas actividades del ciclo de vida.
Definen un plan bsico de actividades.

Cmo determinan un Plan ?


Planificar :
Regular un proceso productivo conforme a un
modelo determinado, obteniendo un plan.

Plan:
Organizacin de actividades

Actividad
Conjunto de tareas

Tarea
Trabajo realizado en un tiempo determinado

Mtodo
En proyectos de construccin de software es tan importante el
producto final como el proceso por el cual fue obtenido.

Mtodo: como construir sistemas. Abarca estrategias,


definicin de las herramientas y tcnicas a utilizar,
planificar, estimar y procedimientos.
Todo Mtodo ms o menos cientifico reconoce tres reas:
Anlisis
Diseo
Implementacin
Dependiendo del orden que tengan estas reas, es que
describiremos diversos Ciclos de Vida.

Paradigma
Modelo de modelos. En una metodologa implica
la forma en que vamos a combinar las etapas de
anlisis, diseo e implementacin.
1. Anlisis
2. Diseo
3. Implementacin
Por ejemplo: 1, 2, 3 Cascada (sin Retroalimentacin).
1, 3, 2 Prototipo
1, 2, 3, 1, 2, 3, 1, 2, 3, ..., Espiral

Paradigma
Analisis
Requisitos globales a nivel de sistema.
Recopilacin de requisitos para el software.
Comprensin del mbito de la informacin del
software.
Entender la futura factibilidad del sistema.

Paradigma
Diseo
Estructura eficaz del sistema.
Arquitectura del software.
Detalle procedimental.
Caracterizacin de la interfaz
Problemas de adecuacin del software.

Paradigma
Implementacin
Traducir el diseo a un lenguaje que puede
interpretar la mquina.
Probar la lgica interna del software.
Depuracin de la codificacin.
Puesta en marcha del proyecto

2. Modelos de Ciclo de Vida

Ambito de los modelos


Los modelos pueden centrarse en una parte
limitada de todo el ciclo de vida. Cuando se
centran desde la idea hasta la versin inicial
de un producto se denominan modelos de
desarrollo de software.

Modelos
de desarrollo de software
Prueba y Error
Cascada (tradicional)
Evolutivo
Prueba y Error
Reingeniera
Prototipacin rpida
Uso de Lenguajes de alto nivel (4 Generacin.)
Experimental

Modelos
de desarrollo de software
Evaluacin
Ensamblaje de componentes reusables
Espiral
RAD
Rational Unified Process
Modelo de desarrollo para software web
Otros

Modelos
Prueba y Error (orden: I, A, D)
Sirve solo si el proyecto es chico o
manejable.
Depende de la experiencia no
documentada.
Puede malgastar esfuerzos

Modelo tradicional
CASCADA( genrico)
Ing. de
Sistemas
Anlisis
Diseo
Codificacin
Prueba
Mantencin

CASCADA ( orden: A, D, I)
Los proyectos no tienen flujo
secuencial como el que propone.
No es fcil establecer al principio
todos los requisitos con el cliente.
Hasta etapas finales del proyecto no
hay nada funcionando.

Modelo CASCADA
Poco realista :
Los proyectos raramente siguen el flujo
secuencial que propone el modelo
El cliente no establece explcitamente al principio
todos los requisitos
Se puede volver atrs, pero es ms difcil !
Mucho rework ( repeticin de trabajo )
Slo hasta llegar a las etapas finales del proyecto, no
estar disponible una versin operativa del software

Modelo CASCADA
Cundo usarlo ?
Para velocidades de desarrollo lentas
Cuando los requerimientos estn muy completos y detallados y
el rea de aplicacin es muy estable
Cuando el software no requiere de interaccin hombre-mquina.

Cundo NO usarlo ?
( todo lo contrario de lo anterior )
HIPOTESIS : Bien implementado, puede resultar mejor que
otros modelos

CASCADA incremental
Incremento 1
Diseo

Requerimientos

Implementacin

Entrega del primer incremento

Prueba

Incremento 2
Requerimientos
Analysis

Diseo

Implementacin

Prueba

Entrega del segundo


incremento

Incremento 3
Requerimientos

Diseo

Implementacin

Prueba

Entrega del tercer


incremento

Hitos
TIEMPO CALENDARIO

Entrega
Incremento 1

Entrega
Entrega
Incremento 2 Incremento 3

Modelo EVOLUTIVO
Inicio

Trmino
Evaluacin
prototipo

Recoleccin
requisitos

Construccin
prototipo

Modelo EVOLUTIVO
Descripcin :
Se va completando el producto de software, a
medida que avanza el proyecto, a partir de un
prototipo.
Se comienza desarrollando el prototipo , con los
requerimientos ms claros o completos.
Exige que cliente y desarrollador se pongan de
acuerdo respecto a cuando el prototipo es lo
suficientemente bueno como para entregarlo
como producto final.

Modelo EVOLUTIVO
Definicin de PROTOTIPO
El prototipo puede ser :
a) Un modelo en papel
b) Un modelo basado en herramientas de PC que
describa la interaccin hombre-mquina
c) Un programa que implemente algunas funciones
del software
d) Un programa ya existente que contenga algunas
de las funciones y que sirva de muestra.

Modelo EVOLUTIVO
Cundo usarlo ?
Cuando los requerimientos cambian con rapidez
Cuando el cliente es reacio a especificar los
requerimientos con ms detalle
Cuando ni el cliente o desarrollador, conocen bien el
rea de aplicacin
Cuando no se est seguro de la arquitectura que tendr
el software
Cuando se requiere una velocidad de desarrollo rpida

Modelo EVOLUTIVO
Principales inconvenientes !
No conocer desde el comienzo las caractersticas del
producto aceptable o final.
No conocer desde el comienzo la cantidad de
iteraciones a realizar, y por ende, los plazos.
Se ignoran aspectos de calidad y mantencin del
software.

Modelo
PROTOTIPACION(orden:A, I, D)
Hay prototipos que se construyen
para desecharse.
El cliente una vez que ve
funcionando el prototipo quiere
que lo mejoren y no que hagan un
nuevo sistema.
El programador comunmente
adquiere vicios por desarrollar
rpidamente.

Modelo
PROTOTIPACION RAPIDA
Construir prototipos sucios y desechables, utilizando
distintas herramientas para su utilizacin : generadores
de informes, generadores de ventanas, herramientas de
productividad como Word o Excel,etc.

Modelo
PROTOTIPACION RAPIDA
Cundo usarlo ?
Para evitar un ataque cardaco debido a la presin
del cliente por ver algo funcionando.
Cundo NO usarlo ?
No se debe usar en lo posible.

Modelo
USO DE LENGUAJES DE ALTO NIVEL
4 Generacin (orden: D, I, A)
Descripcin :
Abarca el uso de una amplia gama de herramientas de
software que especifican el software a alto nivel y luego
la convierten automticamente al cdigo fuente.
Se orienta a la posibilidad de especificar el software a un
nivel ms prximo al lenguaje natural.
Idealmente el cliente describe los requerimientos que
son traducidos a un prototipo operativo (casi on-line).

Modelo
USO DE LENGUAJES DE ALTO NIVEL
4 Generacin (orden: D, I, A)
Las herramientas no son ms
fciles de usar que los lenguajes de
programacin.
El cdigo producido por las
herramientas es ineficiente (rgido).
El diseo inicial queda desvirtuado
(intercalaciones, otras).

Modelo
USO DE LENGUAJES DE ALTO NIVEL
Principales inconvenientes !
El tipo de herramientas utilizadas slo est disponible
para mbitos de aplicacin especficos
( generalmente para sistemas de gestin )
El cliente puede no estar seguro de lo que necesita, o ser
ambiguo al plantear lo que desea. Las herramientas de
alto nivel actuales no son an tan sofisticadas como
para entender el lenguaje natural.
Induce a saltarse la actividad de Diseo (slo esbozos).

Modelo
USO DE LENGUAJES DE ALTO NIVEL
Cundo usarlo ?
Si un alto % de los requerimientos es de :
clasificacin, consulta y presentacin de datos.
Cmo usarlo ?
Efectuando un diseo global del sistema
Efectuando una prueba completa y elaborando la
documentacin necesaria, para transformar la
implementacin de 4gl 5gl en un producto de
software.

Modelo
Ensamblaje de Componentes Reusables
El proceso de desarrollo se focaliza (centrado) en
integrar partes del sistema ya existentes ms que
en desarrollarlas (obviamente se debe tener o al
menos conocerlas).
El ensamblaje de componentes es una tecnologa
emergente.

Modelo
Ensamblaje de Componentes Reusables
Qu significa realmente ensamblar
componentes de software ?
Analoga : Un Ingeniero Electrnico debe construir
el hardware de control para un producto basado en
microprocesador. Disea el circuito digital, hace
algunos anlisis para asegurar que la funcin
deseada ser realizada y busca en un catlogo de
componentes digitales, lo que necesita.

Modelo
Ensamblaje de Componentes Reusables
Componentes reusables :
Componente : parte del producto que encapsula
datos y proceso. Puede ser una unidad mnima,
mdulo o sub-sistema.
Permiten que el diseador pueda concentrarse en
los aspectos innovativos de un diseo (es decir,
las partes que representan algo nuevo).
Deben ser diseados e implementados, de modo
que puedan ser usados en distintos productos.

Modelo
Ensamblaje de Componentes Reusables
Cmo se identifica un componente en un
catlogo ?
Componente : PART_876_A
Funcin
: XXXXXXXXXXXXX
Interfaz
: (parmetros ubicacin, parmetros
componente A, parmetros componente B)
Set de guas de integracin o ensamble.

Modelo
Ensamblaje de Componentes Reusables
Identificar
componentes
candidatos

Buscar
componentes
en libreras

Extraer
componentes
disponibles
Construir
componentes no
existentes

Catalogar
nuevos
componentes
Construir iteracin
n-sima del producto

Modelo ESPIRAL
( Barry Boehm )

Planificacin

Ciclo 4

Anlisis de Riesgos

Ciclo 3
Ciclo 2
Punto de entrada
del proyecto

Ciclo 1

Evaluacin Cliente
Ingeniera

Modelo ESPIRAL
(orden: A, D, I)
Puede alargar innecesariamente el
proyecto.
La funcin de anlisis de riesgo debe
ser clara.
La sucesivas aproximaciones pueden
ser divergentes.

Modelo ESPIRAL
Modelo EN ESPIRAL : el ms realista !
Cubre las mejores caractersticas del modelo cascada y
del evolutivo, agregando dos actividades que faltan en
aquellos : Planificacin y Anlisis de Riesgos
Divide un proyecto en mini-proyectos.Cada proyecto se
centra en uno o ms riesgos hasta que todos estn
controlados
Despus de controlar todos los riesgos, recin el proyecto
termina.

Modelo ESPIRAL
Principales marcos de actividades o
regiones de actividades
1. Planificacin : Determinar objetivos, alternativas y
restricciones
2. Anlisis de Riesgos : Identificar riesgos y analizar
alternativas de resolucin
3. Ingeniera : Desarrollar el producto del sgte. nivel
4. Evaluacin del Cliente : Someter a comprobacin
del cliente el producto de ingeniera.

Modelo ESPIRAL
Cada iteracin contempla los sgtes. cinco
pasos :
1. Determinar objetivos, alternativas y restricciones
2. Identificar y resolver riesgos
3. Evaluar alternativas y decidir si continuar o no
4. Generar los productos de esta iteracin y comprobar
que son correctas
5. Planificar la siguiente iteracin (si se decide
continuar)

Modelo ESPIRAL
RIESGO
Definicin :
Hecho que pueda ocurrir en el futuro
Pueden referirse a :
Planificacin
Requerimientos poco comprensibles
Entorno de desarrollo
Personal contratado
etc.

Modelo ESPIRAL
Riesgo

Probabilidad
que ocurra

Magnitud
de la prdida
(semanas )
5

Exposicin a
riesgo
( semanas )
2,5

Planificacin demasiado
optimista

50 %

Aprobacin del proyecto 25 %


tarda ms de lo esperado

1,0

La nuevas herramientas
de programacin no
producen el ahorro
prometido

30 %

1,5

Modelo ESPIRAL
( extensin del modelo para el Ciclo de Vida completo )
Planificacin
Comunicacin
con el Cliente

Ciclo 4
Ciclo 3
Ciclo 2
Ciclo 1

Anlisis de Riesgos

Ingeniera

Evaluacin
del Cliente
Construccin & Release

Proyectos de desarrollo de
requerimientos
Proyectos de Desarrollo
de nuevos productos
Proyectos de Evolucin
de productos
Proyectos de Mantencin
de productos

Modelo ESPIRAL
( extensin del modelo para el Ciclo de Vida completo )
Regiones :
Comunicacin con el cliente
Tareas para establecer efectiva comunicacin entre
desarrollador y cliente
Planificacin
Anlisis de Riesgos
Ingeniera
Construccin & Release
Tareas para construir,probar, instalar y proveer soporte al
usuario(documentacin y capacitacin)
Evaluacin del Cliente

Modelo ESPIRAL
Principales inconvenientes !
Es un modelo complicado
Requiere de una buena gestin
Requiere de conocimientos sobre Gestin de
Riesgos
Puede ser difcil convencer a los clientes : es un
modelo relativamente nuevo y no se ha usado tanto
como los otros

RAD : Rapid Development Model


Es un modelo secuencial que enfatiza un
ciclo de desarrollo extremadamente corto :
es un modelo de alta velocidad.
El desarrollo rpido se alcanza con la
construccin basada en componentes

RAD : Rapid Development Model


Modelamiento del
negocio
Modelamiento de
datos
Modelamiento de
procesos
GENERACION
APLICACION

Prueba &
60 - 90 das

Vuelta atrs

Ensamblaje de
componentes
reusables, en base a
especificacin de
componentes
Componentes ya
estn probados ,
slo se prueban las
interfaces

RAD : Rapid Development Model


Usado principalmente para aplicaciones de
negocios.
Enfatiza la Reusabilidad (basada en tecnologa
orientada al objeto)
No es apropiado cuando los riesgos tcnicos son
altos.
Para proyectos grandes y escalables, RAD
requiere suficientes recursos humanos para crear
un alto nmero de equipos RAD.

Rational Unified Process


Enfatiza una Arquitectura del Software robusta y modelos,
ms que una extensa documentacin.
Basado en el Modelo en Espiral para los aspectos dinmicos
(ciclos, fases, iteraciones e hitos )
Basado en el Modelo Cascada para los aspectos estticos
( componentes del proceso : Requisitos,Anlisis y
Diseo,Implementacin y Testing )
Soporta totalmente tcnicas orientadas al objeto
Soporta desarrollo basado en componentes
Actividades son conducidas por Casos de Uso.

Rational Unified Process


(proceso en dos dimensiones)
Aspectos dinmicos : Organizacin a lo largo del tiempo
Componentes del Proceso
Incepcin
Aspectos
estticos :

Elaboracin Construccin Transicin

Captura de requerimientos
Anlisis&Diseo
Implementacin

Organizacin
en base a los
contenidos,
Testing
flujos de
Componentes de soporte
trabajo,
Gestin
productos de
Ambiente de desarollo
trabajo y
Liberacin
equipo de
trabajo

Iteracin
preliminar

It.

It.

N+1

Iteraciones

Modelo de Desarrollo para Web


( modelo genrico basado en Cascada )
Caractersticas de un WEB-SOFTWARE :
Integracin de informacin de distintas fuentes:
bases de datos, documentos escritos, fotografas,etc.
Trabajo interdisciplinario : profesionales de la
informacin(biblioteclogos), profesionales de la
comunicacin(periodistas), profesionales
informticos(ingenieros en computacin), profesionales de
reas de marketing(ingenieros comerciales) y otros.
Requerimientos de altas velocidades de desarrollo y
alta usabilidad del producto
Un WEB-SOFTWARE ESTA SIEMPRE EN
CONSTRUCCION

Modelo de Desarrollo para Web


( modelo genrico basado en Cascada )
Definicin de
contenidos
Recoleccin de
Informacin
Seleccin de
Informacin
Arquitectura de la
Informacin
Diseo funcional
del software
Diseo grfico

Construccin&
Release

Modelo de Desarrollo para Web


( modelo genrico basado en Cascada )
Actividades :
1. Definicin de contenidos
Identificar temas a presentar

2. Recoleccin de informacin
De distintas fuentes y medios de almacenamiento

3. Seleccin de informacin
Del total de informacin recolectada seleccionar la
informacin relevante

4. Arquitectura de la informacin
Existen dos tipos : lineal y jerrquica

Modelo de Desarrollo para Web


( modelo genrico basado en Cascada )
Actividades :
5. Diseo funcional
Funciones concretas del software son la habilitacin de :
tablas de contenidos, banners, links, accesos a bases de
datos, accesos a herramientas, motores de bsqueda,etc.

6.Diseo Grfico
Caractersticas visuales : disposicin de la informacin en
la pantalla, uso de colores, definicin de tipos de letras, uso
de imgenes, definicin de la sealtica(conos).

7. Construccin&Release
Similar a otros modelos

Resumen
Modelos de desarrollo de software
No son modelos alternativos sino complementarios :
pueden combinarse para aprovechar las ventajas de
cada uno en un nico proyecto.
Se deben equilibrar los requerimientos de velocidad
de desarrollo y el COMPROMISO CON LA
CALIDAD.

3. Estndares para Procesos del Ciclo de


Vida del Software

Proceso

Insumos de
entrada

PROCESO
( Conjunto de actividades )

Productos

Descomposicin de un Proceso
PROCESO
Ejemplo : Proceso de Desarrollo

Actividad 1
Ej. Planificacin

Tarea 1
Ej. Narrar
requerimientos

Actividad 2
Ej. Especificacin de
Requerimientos

Tarea 2
Ej. Representar
requerimientos en
modelos

Actividad N
Ej. Prueba

Tarea 3
Ej. Presentar
modelos al cliente

Atributos de un Proceso
1. Objetivos
2. Roles y Responsabilidades
3. Entradas al proceso
4. Actividades y Tareas durante el proceso
5. Salidas desde el proceso
6. Tiempos y consideraciones de manejo de excepciones
7. Recursos
8. Supuestos
9. Restricciones y materiales de soporte
10. Verificacin y mtricas

Paradigma ETVX
Entry

Task

eXit

MODELO ETVX de Ron Radice ( 1996 )


(Dibujo - Gentileza de Olivia Segovia )

Ejemplo de representacin de un Proceso


Proceso de Anlisis de Requerimientos
Customer Requirements Specification (CRS)
CRS-APP

CRS-APP

Analysis

GUI Prototype

Requirements
Software
Requirements
Specification (SRS)

Unified Modeling
Language (UML )
INPUTS

PROCESS

OUTPUTS

Atributos de Calidad
del proceso de desarrollo
Atributos de Calidad :
Entendible
Que est explcitamente definido y sea fcil entender su
definicin
Soportado
Que las actividades sean apoyadas por herramientas
CASE
Visible
Que cada actividad termine con resultados claros , de
modo que el progreso sea externamente visible

Atributos de Calidad
del Proceso de Desarrollo
Atributos de Calidad :
Aceptable
Que sea aceptado y usado por los Ingenieros de Software
responsables por el producto de software

Confiable
Que errores en el proceso sean evitados o corregidos, antes
que influyan en el producto de software.

Robusto
Que el proceso pueda continuar, a pesar de los problemas
inesperados

Atributos de Calidad
del Proceso de Desarrollo
Atributos de Calidad :
Mantenible :
Que el proceso evolucione para reflejar cambios
organizacionales
Rpido :
Que el proceso libere el producto de software lo
antes posible.

CMM - Capability Maturity Model


Area Clave de Proceso Nivel 2 : Planificacin
de proyectos de software
Actividad 5
Un Ciclo de Vida con estados predefinidos y de
tamao administrable es identificado o definido.

Norma IEEE Std-1074


Standard for Developping Software Life Cycle Processes
( ver Tutorial : Adaptacin de las Normas IEEE para IS - Rel. Olivia Segovia)

Contempla ms de 70 actividades que


cibren todas las etapas clsicas de un
proyecto
No est relacionada con ningn modelo de
ciclo de vida en particular, lo que permite
adaptarla fcilmente a cualquiera

Norma IEEE Std-1074


Standard for Developping Software Life Cycle Processes
( ver Tutorial : Adaptacin de las Normas IEEE para IS - Rel. Olivia Segovia)
Modelizacin CVS
Gestion de proyecto

Pre-Desarrollo

Desarrollo

Post-Desarrollo

Procesos Continuos

Norma IEEE Std-1074


Standard for Developping Software Life Cycle Processes
( ver Tutorial : Adaptacin de las Normas IEEE para IS - Rel. Olivia Segovia)

Fase
Proceso 1 : Resumen
Lista de las actividades (de 1 a n)
Por cada actividad (de la lista)
Tabla de Informacin de Entrada y procesos de
donde proviene y la actividad correspondiente.
Descripcin de la actividad
Tabla de Informacin de Salida y procesos hacia
donde se dirige esta informacin especificando la
actividad.

Norma IEEE Std-1074


Standard for Developping Software Life Cycle Processes
( ver Tutorial : Adaptacin de las Normas IEEE para IS - Rel. Olivia Segovia)

Seleccionar un modelo de ciclo de vida


Identificacin de modelos de ciclo de vida.
Eleccin de un modelo de ciclo de vida segn
el proyecto.
Ej. de Ciclos de vida: Cascada, Incremental,
Espiral, etc.

Norma IEEE Std-1074


Standard for Developping Software Life Cycle Processes
( ver Tutorial : Adaptacin de las Normas IEEE para IS - Rel. Olivia Segovia)

Gestin de proyecto
Iniciacin del proyecto
Relacionar las actividades de IEEE-1074 con el ciclo de vida
elegido.
Asignar recursos (humanos, materiales, software)
Elegir ambiente proyecto (metodologas, normas, herramientas,
exigencias contractuales)
Planificar la gestin de proyecto (organizacin del proyecto,
responsabilidades, definicin de los procesos de gestin y de control,
presupuestos, carta Gantt) IEEE 1058.1 Plan de gestin de
proyecto

ISO 12207 (1995)


Ciclo de Vida del Software

4. Casos prcticos de Ciclos de Vida

Se puede copiar un modelo de ciclo de vida ?

Modelo Desarrollo SW
Iniciativa

Requerimientos

Anteproyecto

Anlisis / Diseo

Construccin

Pruebas

Implantacin

Manutencin
Charla SPIN-CHILE 2000 :
Aseguramiento de Calidad de
Software - Banco Sudamericano

Red

= Sales Manager

DEFINITION PHASE : Planning and Requirements

Green = Project Review Board


Black = Architecture Board

Arquitectura

Brown = Project Manager


Blue = Technology and
Operation Management
Pink = Software Development
Management

Integral
Specification
Review
(ISR)

Customer
Requirements
Specification
(CRS-D/F/G/P )

Software
Software
Project
Project
Planning
Planning

Revisio
n
Project Plan
Review

Requireme
Requireme
nt
ntAnalysis
Analysis
and
and
prototype
prototype
generation
generation

Revisio
n
Software
Requirements
Review

Prototype
(pictures)
Software Project Plan (SPP)
Soft.Requirements
Quality Assurance Plan (QAP )
Especification(SRS-D/F/G/P)
Software Configuration Plan (SCP) Draft Users Manual
Software Test Plan ( STP )

DEVELOPMENT PHASE : Design, Implementation and Internal Test

Arquitectura

High Level
Design

Revisio
n

Detailed
Design

Software Design
Review

Software Design
Review

Prototype
Operational
- Architectural Design (SDS-A)
- Data Design ( SDS-D)
- User Interface Design (SDS-I)
- Performance (SDS-P)

Revisio
n
SQA

Impl
ement
ation

Revisio
n
SQA

Source Code
Review

Source Code
Algorithmic Design (SDS-AL)
Components Design(SDS-MO)
Software Test Description (STD)

IMPLEMENTATION AND START-UP PHASE : Quality Assurance


Tests

OPERATION PHASE :
Post-implementation support

Control de Cambios

Bugs feedback to
previous steps

Unity and
Integration
Tests

Revisio
n
SQA

QAT # 1

Startu
Startu
pp
Phase
Phase

Certificati
on

Maint
enan
ce

Revisio
n
SQA

QAT#3
On site

Beta Version

QAT # 2

Software Test Reports (STR)

Users Manual

Modified
Modified
Source Code Documents

CC61A PROYECTO DE SOFTWARE


CICLO DE VIDA (ACTIVIDADES)
Planificacin
del
Proyecto

Activ idades de
Ingeniera
Activ idades de
Soporte

Dependencia

Requerimientos
Funcionales 1

Requerimientos
Funcionales 2

Requerimientos
Funcionales 3

Especificacin de
la Arquitectura

Especificacin de
la Arquitectura

Especificacin de
la Arquitectura

Especificacin de
Componentes

Especificacin de
Componentes

Especificacin de
Componentes
Empaquetamiento
del Producto

Especificacin
de Pruebas

Rev isin

Especificacin
de Pruebas

CICLO 0

Especificacin
de Pruebas

Construccin
Ciclo 1

Construccin
Ciclo 2

Construccin
Ciclo 3

Ej ecucin de
Pruebas 1

Ej ecucin de
Pruebas 2

Pruebas de
Aceptacin

Instalacin
Producto
Versin 1

Presentacin
Proyecto

Rev isin

Presentacin
Ciclo 1

CICLO 1

CICLO 2

Certificacin
del
Producto

Instalacin
Producto
Versin 2

Instalacin
Producto
Final

Presentacin
Ciclo 2

Presentacin
Ciclo 3

CICLO 3

5. Resumen final

Acciones claves para el Ciclo de Vida


Su definicin es esencial para la planificacin.
Su representacin y documentacin apoya su
difusin, revisin y evaluacin.
Su difusin apoya un lenguaje comn en el
equipo de trabajo, los nombres y responsables de
los productos de trabajo y los entregables al
cliente.

Ningn modelo de Ciclo de Vida es mejor!


No existe un Ciclo de Vida mejor para todos los
proyectos : el mejor modelo de ciclo de vida
para un proyecto particular depende de las
necesidades del mismo.
La efectividad del modelo depender de cmo se
implemente.
Para seleccionar el modelo de Ciclo de Vida ms
conveniente para un proyecto, es til responder un
checklist previo.

Ciclo de Vida: la frmula del xito


El ciclo de vida puede convertirse en el
secreto de produccin de un software o la
frmula del xito de un proyecto de
software:
No. de productos de trabajo
No. de entregables
Esfuerzo y plazos por producto
Costos por producto

Frmula

Algoritmo recomendado para


Ciclo de Vida versin 1.0

Paso 1:Escribir las actividades y tareas actuales para desarrollar un


determinado tipo de producto.
Paso 2:Representarlas en un dibujo (una parte del modelo)
Paso 3:Documentar las actividades y tareas, y todos los atributos, usando
el paradigma ETVX.
Paso 4:Difundir por todos lados el modelo completo versin 1.0
Paso 5:Efectuar una Revisin Tcnica Formal del modelo
Paso 6:Realizar las modificaciones con el feedback de la revisin y obtener
la versin 1.1( iterar hasta que sea necesario)
Paso 7:Aplicarlo a un tipo de proyecto para el cual fue definido
Paso 8:Evaluar al trmino del proyecto
Paso 9:Volver a Paso 1 para implementar mejorar y producir la versin 2.0

Referencias
Libros :
Roger Pressman - Software Engineering : A practitioners approach - 4ta. Edicin.
McGraw-Hill.
Steve McConnell - Desarrollo y Gestin de Proyectos Informticos - McGrawHill.

Papers

Models for Software Evolution : Life Cycle and Process,SEI-CM-10-1.0


Software Process Modeling, CMU/SEI-88-TR-9
Iterative and Incremental Development(IID), Robert C.Martin, Junio 1999
OSO : Un paradigma de desarrollo de software para Web, Cristin Bravo Lillo,
CEIS-PA-02-2000.

Normas internacionales
Norma IEEE 1074 - Standard for Developing Software Life Cycle Processes
ISO 12207 - Information Technology - Software Life Cycle Processes

También podría gustarte