Bloque 3.- Modelos del Proceso Sw.
Tema 6. El proceso Software. Paradigmas de Ciclo
de Vida.
Departamento de Informática y Sistemas
Facultad de Informática
Campus Universitario de Espinardo - Murcia
Índice de contenidos
1.- El proceso software
2.- Estándares en Ingeniería del Software
Utilidad de los estándares
Tipos de estándares
3.- Estándares relacionados con el proceso software
SEI’s CMM.
De procesos estándar del ciclo de vida:
ISO 9000
Estándar IEEE 1074-1998
Estándar IEEE/EIA (ISO/IEC) 12207
4.- Paradigmas y Modelos del Ciclo de Vida
Profesor: Juan Antonio López Quesada 2
Bibliografía
(Hilera et al. 97) José R. Hilera, José A. Gutiérrez, J. Javier Martínez.
“Estándares en la Ingeniería del Software”. Novática. Nov./dic. 1997.
Número 130.
(Piattini et al. 96) Cap. 3. Aptdos. 3.1 y 3.2.
(Esteban Piattini 95) J. L. Esteban, M. Piattini. “Procesos del ciclo de
vida del software”. Novática, Nov./dic. 1995.
International Standard ISO/IEC 12207. “Information technology-
Software life cycle processes”. 1995.
IEEE Standards Collection. Software Engineering. 1998 Edition.
Published by the Institute of Electrical and Electronics Engineers, Inc.
(Pressman 2002) pp.16-18 y pp.146-147.
(Sommerville 2002) pp. 8-9.
Profesor: Juan Antonio López Quesada 3
1.- El Proceso Software.
Es un conjunto de actividades y resultados
asociados que producen un producto de software.
Es uno de los componentes de un método de
desarrollo de software.
Existen 4 actividades fundamentales de proceso,
comunes para todos los procesos de software:
Especificación del software.
Desarrollo del software.
Validación del software.
Evolución del software.
Profesor: Juan Antonio López Quesada 4
1.- El Proceso Software.
Distintos procesos de software organizan las
actividades de diferentes formas, y las describen
con diferente nivel de detalle.
El tiempo de cada actividad varía, así como los resultados.
Organizaciones diferentes usan procesos diferentes para
producir el mismo producto.
Sin embargo, para algunos tipos de aplicación,
algunos procesos son más convenientes que otros.
Profesor: Juan Antonio López Quesada 5
1.- El Proceso Software.
Alternativamente, a veces se usan los
términos:
“Ciclo de vida”, y
“Modelo de ciclo de vida”
⇒ Sucesión de etapas por las que atraviesa un
producto software a lo largo de su existencia
(durante su desarrollo y explotación)
Profesor: Juan Antonio López Quesada 6
2.- Estándares en la Ingeniería del Sw.
Estándar: Conjunto de criterios aprobados,
documentados y disponibles para determinar
la adecuación de una acción (estándar de
proceso) o de un objeto (estándar de
producto).
Guía: Conjunto de criterios bien definidos y
documentados que encaminan una actividad
o tarea.
⇒ es más flexible que un estándar
Profesor: Juan Antonio López Quesada 7
2.- Estándares en la Ingeniería del Sw.
2.1.- Utilidad de los estándares.
Según Sommerville, los estándares son útiles porque:
Agrupan lo mejor y más apropiado de las buenas
prácticas y usos del desarrollo de software.
Engloban los “conocimientos” que son patrimonio
de una organización.
Proporcionan un marco para implementar
procedimientos de aseguramiento de la calidad.
Proporcionan continuidad entre el trabajo de
distintas personas.
Profesor: Juan Antonio López Quesada 8
2.- Estándares en la Ingeniería del Sw.
2.2.- Tipos de estándares.
Tipos de Estándares: Ejemplo Estándares:
IEEE Standards Collection Software
Engineering – 1998 Edition
Estándares para datos: IEEE Std. 610.12-1990, Glossary of Software Engineering
[Link]., SQL2, SQL1999, ODMG 2.0 Terminology
Estándares de codificación: IEEE Std. 829-1983, Standard for Software Test
Documentation
Estándares estructurales: IEEE Std. 830-1993, Recommended Practice for Software
Políticas de división del software en
módulos Requirements Specifications.
IEEE Std. 990-1987, Recommended Practice for Ada as a
Estándares de documentación Program Design Language.
Estándares de proceso IEEE Std. 1045-1992, Standard for Software Productivity
software Metrics
Estándares para otras IEEE Std. 1062-1987, Recommended Practice for
Software Acquisition
actividades: Seguridad, Auditoría,
Planificación, Seguimiento, Control de IEEE Std. 1063- 1987, Standard for Software User
Calidad... Documentation
IEEE Std. 1219-1992, Standard for Software Maintenance
etc. etc. etc.
Profesor: Juan Antonio López Quesada 9
3.- Estándares relacionados con el Proceso
Software.
SEI’s CMM (Capability Maturity Model)
El enfoque SEI “Software Engineering
Institute”, proporciona una medida de la
eficacia global de las prácticas de ingeniería
del sw de una compañia y establece para
ello, cinco niveles de madurez del proceso.
Los cinco niveles definidos por el SEI se
obtienen como consecuencia de evaluar las
respuesta del cuestionario de evaluación “El primer paso para consolidar y
basado en el CMM (Capability Maturity Model). mejorar un proceso es valorarlo”
Los resultados se filtran en un único grado
numérico que proporciona una indicación de
la madurez del proceso en la organización.
Profesor: Juan Antonio López Quesada 10
3.- Estándares relacionados con el
proceso software.
SEI’s CMM (Capability Maturity Model)
1. Inicial: El éxito depende de 4. Gestionado: La calidad del
esfuerzos heroicos y personales producto y del proceso es medida,
más que de procesos predecible y cuantificable. Se
adecuadamente definidos. pueden usar dichas medidas
2. Repetible: Se establecen (“métricas del software”) para
políticas y procedimientos para detectar situaciones excepcionales
llevar a cabo un proyecto. Una y corregirlas.
función de calidad asegura que se
cumplen dichos procedimientos. Se 5. Optimizado: El proceso es
obtienen niveles de calidad continuamente mejorado usando las
parecidos a proyectos anteriores. medidas obtenidas de procesos
anteriores.
3. Definido: Se adopta un
proceso sw. estándar, y se adapta a
cada proyecto.
Profesor: Juan Antonio López Quesada 11
3.- Estándares relacionados con el
proceso software.
SEI’s CMM (Capability Maturity Model)
A partir de noviembre de 1986 el SEI, a requerimiento del Gobierno Federal de
los Estados Unidos de América, desarrolló una primera definición de un modelo
de madurez de procesos en el desarrollo de software, que se publicó en
septiembre de 1987. Este trabajo evolucionó al modelo CMM o SW-CMM (CMM
for Software), cuya última versión (v1.1) se publicó en febrero de 1993.
Este modelo establece un conjunto de prácticas o procesos clave agrupadas en
Areas Clave de Proceso (KPA - Key Process Area). Para cada área de proceso
define un conjunto de buenas prácticas que habrán de ser:
Definidas en un procedimiento documentado.
Provistas (la organización) de los medios y formación necesarios.
Ejecutadas de un modo sistemático, universal y uniforme(institucionalizadas).
Medidas.
Verificadas.
A su vez estas áreas de proceso se agrupan en cinco "niveles de madurez", de
modo que una organización que tenga institucionalizadas todas las prácticas
incluidas en un nivel y sus inferiores, se considera que ha alcanzado ese nivel
de madurez.
Profesor: Juan Antonio López Quesada 12
3.- Estándares relacionados con el proceso
software.
SEI’s CMM (Capability Maturity Model)
Los niveles son:
1.- Inicial. Las organizaciones en este nivel no disponen de un ambiente estable para
el desarrollo y mantenimiento de software. Aunque se utilicen técnicas correctas de
ingeniería, los esfuerzos se ven minados por falta de planificación. El éxito de los
proyectos se basa la mayoría de las veces en el esfuerzo personal, aunque a menudo
se producen fracasos y casi siempre retrasos y sobre costes. El resultado de los
proyectos es impredecible.
2.- Repetible. En este nivel las organizaciones disponen de unas prácticas
institucionalizadas de gestión de proyectos, existen unas métricas básicas y un
razonable seguimiento de la calidad. La relación con subcontratistas y clientes está
gestionada sistemáticamente.
3.- Definido. Además de una buena gestión de proyectos, a este nivel las
organizaciones disponen de correctos procedimientos de coordinación entre grupos,
formación del personal, técnicas de ingeniería más detalladas y un nivel más avanzado
de métricas en los procesos. Se implementan técnicas de revisión por pares (peer
reviews).
4.- Gestionado. Se caracteriza por que las organizaciones disponen de un conjunto de
métricas significativas de calidad y productividad, que se usan de modo sistemático
para la toma de decisiones y la gestión de riesgos. El software resultante es de alta
calidad.
5.- Optimizado. La organización completa está volcada en la mejora continua de los
procesos. Se hace uso intensivo de las métricas y se gestiona el proceso de
innovación.
Profesor: Juan Antonio López Quesada 13
3.- Estándares relacionados con el proceso software.
SEI’s CMM (Capability Maturity Model)
Bibliografía
Gonzalo Cuevas Agustín: Una Guía del CMM. Para Comprender el Modelo de Madurez de
Capacidad del Software. Traducción del Inglés "A Guide to the CMM" de Kenneth M. Dymond.
1998.
Mary Beth Chrissis: Libro con la descripción de las Areas de Procesos del Modelo CMMI.
"CMMI : Guidelines for Process Integration and Product Improvement de SEI.
Enlaces externos
SEI - Software Engeniering Institute - [Link]
ESI - European Software Institute - [Link]
System Security Engineering CMM - [Link]
Finkelstein's Capability Immaturity Model paper (PDF file) -
[Link]
Capt. Tom Schorsch's Capability Immaturity Model study -
[Link]
Introducción a los niveles CMM CMMI - [Link]
[Link]
[Link]/informas/ene05/articulos/Modelo_de_Madurez_de_la_Capacidad_del_Software.html
Profesor: Juan Antonio López Quesada 14
3.- Estándares relacionados con el proceso software.
3.2.- Proceso Estándar del Ciclo de Vida.
Multitud de estándares, Software usado en
métodos, técnicas, y multitud de sistemas
entornos para desarrollar y diferentes: militar,
gestionar software finanzas, medicina, etc.
Dificultades para gestionar la
producción de software,
integrando productos y servicios
Profesor: Juan Antonio López Quesada 15
3.- Estándares relacionados con el proceso software.
3.2.- Proceso Estándar del Ciclo de Vida.
Necesario conseguir un marco común para
“hablar el mismo lenguaje” en el desarrollo y
gestión de software
Objetivo: Definir los procesos de desarrollo y
mantenimiento del software, y de gestión del
mismo, de forma genérica y abstracta
Marco común ⇒ Estándares del ciclo de vida
Profesor: Juan Antonio López Quesada 16
3.- Estándares relacionados con el proceso software.
3.2.- Proceso Estándar del Ciclo de Vida.
Familia ISO 9000 ⇒ CALIDAD
IEEE 1074-1998 - IEEE Standard for Developing Software
Life Cycle Processes
ISO/IEC 12207:1995 (E) Information technology – Software
life cycle processes (posteriormente adoptado por IEEE/EIA)
IEEE – Institute of Electrical and Electronics Engineers.
ISO – International Organization for Standardization.
IEC – International Electrotechnical Commission.
Profesor: Juan Antonio López Quesada 17
3.- Estándares relacionados con el proceso
software.
3.2.- Proceso Estándar del Ciclo de Vida.
3.2.1.- ISO 9000.
Familia de estándares para la gestión de la calidad de
cualquier proceso de producción.
La organización debe tener un sistema de calidad que
supervise todas las fases de la producción y entrega del
producto:
Audita los proyectos para asegurar que se cumplen los
controles de calidad.
Mejora la calidad del propio sistema de calidad.
Proporciona entradas al grupo de desarrollo (como nuevas
notaciones, procedimientos, estándares).
Produce informes para la dirección.
Para cada proyecto se define un plan de calidad.
Profesor: Juan Antonio López Quesada 18
3.- Estándares relacionados con el proceso
software.
3.2.- Proceso Estándar del Ciclo de Vida.
3.2.1.- ISO 9000.
ISO 9001. Quality Systems - Model for Quality Assurance in
Design, Development, Production, Installation and Servicing.
Describe el sistema de calidad utilizado para mantener el desarrollo de un
producto que implique diseño
Aplicable a cualquier proceso de producción: cojinetes, automóviles, TVs,
equipamientos deportivos, etc.
Se está convirtiendo en el ppal. medio con el que los clientes pueden juzgar
la competencia de un desarrollador de software (aceptado en más de 130
países).
Se han desarrollado varios documentos que relacionan el estándar con la
industria del software, pero no entran en muchos detalles.
No impone ciclo de vida.
Puede adoptarse por contrato o voluntariamente.
Estándar de calidad: ISO 9000 para la producción de sw (Pressman 2002) p.146
Profesor: Juan Antonio López Quesada 19
3.- Estándares relacionados con el proceso
software.
3.2.- Proceso Estándar del Ciclo de Vida.
3.2.1.- ISO 9000
ISO 9000-3. Guidelines for Application of ISO 9001
to the Development, Supply and Maintenance of
Software
Contiene directrices que implementa ISO 9001 para el
desarrollador de software
ISO 9004-2. Quality Management and Quality
Systems Elements - Part 2.
Contiene guías para proporcionar servicios de software,
como por ejemplo el soporte de usuario.
Estándar de calidad: ISO 9000 para la producción de sw (Pressman 2002) p.146
Profesor: Juan Antonio López Quesada 20
3.- Estándares relacionados con el proceso software.
3.2.- Proceso Estándar del Ciclo de Vida.
3.2.1.- ISO 9000
1. ESTRUCTURA PRINCIPAL
Introducción
Planificación de Sistemas de Información (Proceso PSI)
Estudio de Viabilidad del Sistema (Proceso EVS)
Análisis del Sistema de Información (Proceso ASI)
Diseño del Sistema de Información (Proceso DSI)
Construcción del Sistema de Información (Proceso CSI)
Implantación y Aceptación del Sistema (Proceso IAS)
Mantenimiento del Sistema de Información (Proceso MSI)
2. INTERFACES
Aseguramiento de la Calidad
Seguridad
Gestión de Configuración
Gestión de Proyectos
Profesor: Juan Antonio López Quesada 21
3.- Estándares relacionados con el proceso software.
3.2.- Proceso Estándar del Ciclo de Vida.
3.2.1.- ISO 9000
El objetivo de la interfaz de Aseguramiento de la Calidad de MÉTRICA
Versión 3 es proporcionar un marco común de referencia para la definición y
puesta en marcha de planes específicos de aseguramiento de calidad
aplicables a proyectos concretos. Si en la organización ya existe un sistema
de calidad, dichos planes deberán ser coherentes con el mismo,
completándolo en los aspectos no contemplados relativos a normas
particulares del cliente, usuario o sistema concreto.
La calidad se define como “grado en que un conjunto de características
inherentes cumple con unos requisitos” [ISO 9000:2000]. El
Aseguramiento de la
Calidad pretende dar confianza en que el producto reune las características
necesariaspara satisfacer todos los requisitos del Sistema de Información.
Estándar de calidad: Interface de Calidad pag 1 , [Link]
Profesor: Juan Antonio López Quesada 22
3.- Estándares relacionados con el proceso software.
3.2.- Proceso Estándar del Ciclo de Vida.
3.2.1.- ISO 9000
Una vez tomada la decisión de llevar a cabo un plan de
aseguramiento de calidad en las alternativas propuestas, se define
el contenido de dicho plan, de acuerdo a los estándares de calidad,
si existen en la organización, sino se recomienda acudir a los
estándares UNE-EN-ISO 9001:2000 Sistemas de Gestión de la
Calidad – Requisitos y UNE-EN-ISO 9000:2000 Sistemas de Gestión
de la Calidad – Fundamentos y vocabulario. El plan de
aseguramiento de calidad debe cubrir todas las necesidades
establecidas de modo que, aquellas normas impuestas por los
usuarios o clientes que difieran de las existentes en el sistema de
calidad, deben quedar también reflejadas en el plan.
Estándar de calidad: Interface de Calidad pag 2, [Link]
Profesor: Juan Antonio López Quesada 23
3.- Estándares relacionados con el proceso software.
3.2.- Proceso Estándar del Ciclo de Vida.
3.2.2.- Estándar IEEE 1074-1998
[Link]
Define:
Las actividades que constituyen los procesos necesarios
para el desarrollo y el mantenimiento de software, ya sea
parte de un sistema mayor o autónomo (stand-alone).
Los procesos de gestión y de soporte a lo largo de todo el
ciclo de vida.
IEEE Standard for Developing
[Link] Software Life Cycle Processes
Superseded by 1074-1995
IEEE Standard for Developing
[Link] Software Life Cycle Processes
Superseded by 1074-1998
IEEE 1074-1998. Developing Software Life Cycle Processes
Profesor: Juan Antonio López Quesada 24
3.- Estándares relacionados con el proceso software.
3.2.- Proceso Estándar del Ciclo de Vida.
3.2.2.- Estándar IEEE 1074-1998
Ciclo de vida: “una aproximación lógica a
la adquisición, el suministro, el desarrollo,
la explotación y el mantenimiento del
software”
El estándar requiere la definición de un
ciclo de vida.
pero no implica ninguno determinado
IEEE 1074-1998. Developing Software Life Cycle Processes
Profesor: Juan Antonio López Quesada 25
3.- Estándares relacionados con el proceso software.
3.2.- Proceso Estándar del Ciclo de Vida.
3.2.2.- Estándar IEEE 1074-1998
Cada organización debe asociar las actividades
definidas en el estándar a su propio ciclo de vida
del software.
Si no lo ha definido, debe hacerlo
El seguimiento del estándar no implica el uso
de ningún método específico, ni la creación de
determinados documentos.
prescribe los procesos del ciclo de vida,
no los productos del mismo.
IEEE 1074-1998. Developing Software Life Cycle Processes
Profesor: Juan Antonio López Quesada 26
3.- Estándares relacionados con el proceso software.
3.2.- Proceso Estándar del Ciclo de Vida.
3.2.2.- Estándar IEEE 1074-1998
Sección Título Procesos
2 Procesos de modelo de ciclo de vida Modelo del Ciclo de vida del software
del software
3 Procesos de gestión del proyecto Inicio del proyecto
Monitorización y control del proyecto
Gestión de la calidad del software
4 Procesos pre-desarrollo Exploración de conceptos
Asignación del sistema
5 Procesos de desarrollo Requisitos
Diseño
Implementación
6 Procesos post-desarrollo Instalación
Operación y soporte
Mantenimiento
Fin de uso
7 Procesos integrales Verificación y validación
Gestión de la configuración del software
Desarrollo de la documentación
Entrenamiento
IEEE 1074-1998. Developing Software Life Cycle Processes
Profesor: Juan Antonio López Quesada 27
3.- Estándares relacionados con el proceso software.
3.2.- Proceso Estándar del Ciclo de Vida.
3.2.2.- Estándar IEEE 1074-1998
Procesos divididos en actividades (obligatorias y
opcionales):
Información de entrada
Descripción
Información de salida
Antes de empezar un proyecto, revisar las
actividades para ver si son aplicables, y establecer
un orden.
Conformidad con el estándar: realización de
todas las actividades obligatorias.
IEEE 1074-1998. Developing Software Life Cycle Processes
Profesor: Juan Antonio López Quesada 28
3.- Estándares relacionados con el proceso software.
3.2.- Proceso Estándar del Ciclo de Vida.
3.2.2.- Estándar IEEE/EIA (ISO/IEC) 12207
[Link]
Establece un marco común para los
procesos de ciclo de vida.
Emplea términos bien definidos.
Describe el ciclo de vida.
Desde la definición de requisitos
hasta el fin de uso, y contiene procesos para
adquirir y suministrar productos y servicios
software.
[Link]
[Link]
[Link]
[Link]
IEEE/EIA (ISO/IEC) 12207. Information technology – Software life cycle processes.
Profesor: Juan Antonio López Quesada 29
3.- Estándares relacionados con el proceso software.
3.2.- Proceso Estándar del Ciclo de Vida.
3.2.2.- Estándar IEEE/EIA (ISO/IEC) 12207
“Un marco de referencia que contiene los
procesos, las actividades y las tareas
involucradas en el desarrollo, la explotación y
el mantenimiento de un producto de software,
abarcando la vida del sistema desde la
definición de los requisitos hasta la
finalización de su uso”
Proceso: conjunto de actividades.
Actividad: conjunto de tareas.
Tarea: acción que transforma entradas en salidas.
IEEE/EIA (ISO/IEC) 12207. Information technology – Software life cycle processes.
Profesor: Juan Antonio López Quesada 30
3.- Estándares relacionados con el proceso software.
3.2.- Proceso Estándar del Ciclo de Vida.
3.2.2.- Estándar IEEE/EIA (ISO/IEC) 12207
Indica los procesos, actividades y tareas que
se necesitan durante la adquisición de
un sistema que contiene software,
un producto software autónomo,
un servicio software,
y durante el suministro, desarrollo, operación
y mantenimiento de productos software.
IEEE/EIA (ISO/IEC) 12207. Information technology – Software life cycle processes.
Profesor: Juan Antonio López Quesada 31
3.- Estándares relacionados con el proceso software.
3.2.- Proceso Estándar del Ciclo de Vida.
3.2.2.- Estándar IEEE/EIA (ISO/IEC) 12207
También proporciona procesos para definir,
controlar y mejorar los procesos de ciclo de vida
software.
El marco descrito por el estándar está diseñado
para ser adaptado a cada organización y proyecto.
El proceso de adaptación consiste en la
eliminación de procesos, actividades y tareas no
aplicables (tb. se pueden añadir).
IEEE/EIA (ISO/IEC) 12207. Information technology – Software life cycle processes.
Profesor: Juan Antonio López Quesada 32
3.- Estándares relacionados con el proceso software.
3.2.- Proceso Estándar del Ciclo de Vida.
3.2.2.- Estándar IEEE/EIA (ISO/IEC) 12207
PROCESOS PRINCIPALES PROCESOS DE SOPORTE
ADQUISICIÓN DOCUMENTACIÓN
SUMINISTRO GESTIÓN DE CONFIGURACIÓN
EXPLOTACIÓN ASEGURAMIENTO DE CALIDAD
DESARROLLO
MANTENIMIENTO
VERIFICACIÓN
VALIDACIÓN
PROCESOS DE LA ORGANIZACIÓN
GESTIÓN INFRAESTRUCTURA REVISIÓN CONJUNTA
AUDITORÍA
MEJORA FORMACIÓN
RESOLUCIÓN DE PROBLEMAS
PROCESO DE ADAPTACIÓN
IEEE/EIA (ISO/IEC) 12207. Information technology – Software life cycle processes.
Profesor: Juan Antonio López Quesada 33
3.- Estándares relacionados con el proceso software.
3.2.- Proceso Estándar del Ciclo de Vida.
3.2.2.- Estándar IEEE/EIA (ISO/IEC) 12207
Procesos principales:
Útiles a las personas que inician o realizan el desarrollo, la explotación o el mantenimiento
del software durante su ciclo de vida
compradores, suministradores, personal de desarrollo, operadores y personal de mantenimiento del
software
Procesos de soporte:
Sirven de apoyo al resto.
Contribuyen al éxito y calidad del proyecto software.
Se aplican en cualquier momento del ciclo de vida.
Procesos de la organización (procesos generales):
Objetivo: establecer, implementar y mejorar la organización
(gestión, formación del personal, mejora del proceso, etc.)
Se realizan fuera de proyectos específicos, a nivel organizativo.
Proceso de adaptación:
Permite adaptar el estándar a cada proyecto y organización.
Factores que influencian la forma de adquirir, desarrollar, explotar o mantener un sistema:
Tamaño y complejidad del proyecto.
Requisitos del sistema.
Métodos de desarrollo.
Variaciones en las políticas y procedimientos de la organización…
IEEE/EIA (ISO/IEC) 12207. Information technology – Software life cycle processes.
Profesor: Juan Antonio López Quesada 34
4.- Paradigmas y Modelos del Ciclo de Vida
Ciclo de vida.
Sucesión de etapas por las que atraviesa un producto software a lo
largo de su existencia (i.e. durante su desarrollo y explotación).
“Una aproximación lógica a la adquisición, el suministro,
el desarrollo, la explotación y el mantenimiento del software”
IEEE 1074
“Un marco de referencia que contiene los procesos, las actividades
y las tareas involucradas en el desarrollo, la explotación y el
mantenimiento de un producto de software, abarcando la vida del
sistema desde la definición de los requisitos hasta la finalización de
su uso”
ISO 12207-1
Profesor: Juan Antonio López Quesada 35
4.- Paradigmas y Modelos del Ciclo de Vida
Paradigma clásico:
Paradigma “en cascada” o paradigma
“orientado a fases”
Primer modelo empleado (1970).
Ejecución secuencial de una serie de fases.
Cada fase genera entradas y documentación
para la siguiente.
Profesor: Juan Antonio López Quesada 36
4.- Paradigmas y Modelos del Ciclo de Vida
Análisis: ASI
Diseño: DSI
CSI - IAS
MSI
Profesor: Juan Antonio López Quesada 37
4.- Paradigmas y Modelos del Ciclo de Vida
Críticas al modelo de Cascada:
Los proyectos reales raramente pueden seguir
el flujo secuencial que se propone.
Dificultad para establecer todos los
requerimientos al principio del proceso.
El mantenimiento recae sobre el código.
Se tarda mucho tiempo en pasar por todo el
ciclo (hasta que no termina una fase no
empieza la siguiente).
Profesor: Juan Antonio López Quesada 38
4.- Paradigmas y Modelos del Ciclo de Vida
Paradigma clásico deformado.
ESPECIFICACION
INFORMAL DISEÑO
ANALISIS Y PRODUCTO
DISEÑO IMPLEMENTACION
ESPECIFICACION ACABADO
VALIDACION
MANTENIMIENTO
Profesor: Juan Antonio López Quesada 39
4.- Paradigmas y Modelos del Ciclo de Vida
PLANIFICACION
PROTOTIPADO ANALISIS Y
(MANUAL) ESPECIFICACION
INFORMAL
ESPECIFICACION
VALIDADA
DISEÑO
DISEÑO
Paradigma clásico con IMPLEMENTACION
prototipado: VALIDACION
Realimentación. MANTENIMIENTO
Profesor: Juan Antonio López Quesada 40
4.- Paradigmas y Modelos del Ciclo de Vida
Prototipo:
Primera versión de un nuevo tipo de producto, en el que se han incorporado
sólo algunas características del sistema final, o no se han realizado
completamente.
Características de los prototipos:
Funcionalidad limitada.
Poca fiabilidad.
Características de operación pobres.
Utilidad de los prototipos:
Ayuda al cliente a establecer claramente los requerimientos.
Ayuda a los desarrolladores a:
Verificar corrección de la especificación.
Aprender sobre problemas que se presentarán durante el diseño e
implementación del sistema.
Mejorar el producto.
Examinar viabilidad y utildiad de la aplicación.
Profesor: Juan Antonio López Quesada 41
4.- Paradigmas y Modelos del Ciclo de Vida
Modelo Incremental.
Incremento 1
Entrega
Análisis Diseño Código Prueba Incremento 1
Entrega
Incremento 2 Análisis Diseño Código Prueba Incremento 2
Entrega
Incremento 3 Análisis Diseño Código Prueba Incremento 3
Entrega
Incremento 4 Análisis Diseño Código Prueba Incremento 4
Tiempo
Cada secuencia produce un “incremento” del software.
Con cada incremento, se entrega un producto operacional.
Profesor: Juan Antonio López Quesada 42
4.- Paradigmas y Modelos del Ciclo de Vida
Profesor: Juan Antonio López Quesada 43
4.- Paradigmas y Modelos del Ciclo de Vida
El modelo de desarrollo en espirales actualmente uno de los más conocidos y fue propuesto por
Boehm. El ciclo de desarrollo se representa como una espiral, en lugar de una serie de
actividades sucesivas con retrospectiva de una actividad a otra.
Cada ciclo de desarrollo se divide en cuatro fases:
Definición de objetivos: Se definen los objetivos. Se definen las restricciones del proceso y del producto. Se
realiza un diseño detallado del plan administrativo. Se identifican los riesgos y se elaboran estrategias
alternativas dependiendo de estos.
Evaluación y reducción de riesgos: Se realiza un análisis detallado de cada riesgo identificado. Pueden
desarrollarse prototipos para disminuir el riesgo de requisitos dudosos. Se llevan a cabo los pasos para
reducir los riesgos.
Desarrollo y validación: Se escoge el modelo de desarrollo después de la evaluación del riesgo. El modelo
que se utilizará (cascada, sistemas formales, evolutivo, etc.) depende del riesgo identificado para esa fase.
Planificación: Se determina si continuar con otro ciclo. Se planea la siguiente fase del proyecto.
Este modelo a diferencia de los otros toma en consideración explícitamente el riesgo, esta es una
actividad importante en la administración del proyecto.
El ciclo de vida inicia con la definición de los objetivos. De acuerdo a las restricciones se
determinan distintas alternativas. Se identifican los riesgos al sopesar los objetivos contra las
alternativas. Se evalúan los riesgos con actividades como análisis detallado, simulación,
prototipos, etc. Se desarrolla un poco el sistema. Se planifica la siguiente fase.
Profesor: Juan Antonio López Quesada 44
4.- Paradigmas y Modelos
del Ciclo de Vida
Id e n tific a r
c o m p o n e n te s
P la n ific a c ió n A n á lisis d e r ie sg o
c a n d id a to s
C o n s tru ir n B u scar
ite r a c io n e s c o m p o n e n te s
d e l s is te m a e n b ib lio te c a
Poner E x tra e r
c o m p o n e n te s c o m p o n e n te s
n u e v o s e n la s i e s tá n
b ib lio te c a d is p o n ib le s
E v a lu a c ió n d e l c lie n te In g e n ie r ía
E x tra e r
c o m p o n e n te s
s i e s tá n
d is p o n ib le s
Ligado a la OO, Promueve reutilización del software
Modelo de Ensamblaje de Componentes
Profesor: Juan Antonio López Quesada 45
4.- Paradigmas y Modelos del Ciclo de Vida
I d e n tif ic a r
c la s e s
P la n ific a c ió n A n á lis is d e r ie s g o
c a n d id a ta s
C o n s tr u ir
B u sc a r c la se s
n - é s im a
e n b ib lio te c a
ite r a c ió n d e l
s iste m a
E x tra e r
A ñ a d ir la s n u e v a s c la se s
n u e v a s c la s e s si e x iste n
E v a lu a c ió n d e l c lie n te I n g e n ie r ía a la
b ib lio te c a
D e s a rro lla r
la s c la s e s s i
n o e x is te n
A n á lis is O O
Ciclo de vida OO. D is e ñ o O O
P r o g r a m a c ió n O O
P ruebas O O
Profesor: Juan Antonio López Quesada 46
4.- Paradigmas y Modelos del Ciclo de Vida
Agrupamiento n ESPEC DISREA VALGEN
• • •
• • •
• • •
ESPEC DISREA VALGEN Agrupamiento 2
Tiempo
ESPEC DISREA VALGEN Agrupamiento 1
Tiempo
Cluster: conjunto de clases
relacionadas con objetivo común. Ciclo de vida OO: Modelo Cluster
Cada subciclo de vida: Especificación, (agrupamiento)
Diseño y Realización, Validación y
Generalización.
Profesor: Juan Antonio López Quesada 47