Clic Lo Vida 2008

Post on 08-Dec-2015

13 views 2 download

description

Clic Lo Vida DE UN SOFTWARE

Transcript of Clic Lo Vida 2008

1

Ciclo de Vida del Software

Temario

A. Modelo de desarrollo orientado a objetos

1. Ciclo de vida del software1.1.Ciclo de vida del software (ingeniería del

sistema, análisis, diseño, codificación, pruebas y mantenimiento)

Software

• Conjunto de programas

• Tipos:

– Programas de control

– Programas de proceso

– Programas de aplicación

• Software de sistema:

– Control + Proceso

• Desarrollo de programas

– Para software de aplicación

– Proceso de ingeniería

• Ingeniería del Software

– Crisis del software (años 60)

– Objetivo

Ciclo de Vida Clásico

Planificación

Desarrollo

Mantenimiento

Ingeniería delSistema

Análisis Req. Software

Diseño

Codificación

Pruebas

Mantenimiento

Ingeniería del Sistema

• Objetivo: análisis global, viabilidad

• Hay tareas manuales

• Productos:

– Especificación del Sistema:

Objetivos, Requisitos de cada elemento, Análisis Técnico, Análisis Económico, Viabilidad, Arquitectura, Pruebas globales

– Plan software:

Objetivos, R. Software, R. BD, Arquitectura

MP

CD

ARSIS

Análisis Req. SoftwareMP

CD

ISARS

• Proceso de descubrimiento, refinado, modelado y especificación

• Producto:

– Especificación de Requisitos Software:

1. Descripción de la Información

2. Descripción Funcional

3. Descripción del Comportamiento

4. Criterios de Validación (del software)

2

DiseñoMP

C

ARSIS

D

• Objetivo: modelo detallado de la implementación

• Parte central del desarrollo

• Diseño preliminar:

– Est. de datos + estructura modular + interfaz

– Producto: Doc de Diseño General:

Diseño de datos, Diseño arquitectónico (módulos), Diseño de la interfaz hombre-máquina, Pruebas de integración

• Diseño Detallado:

– Detalles de módulos + refinamiento

– Producto: Doc. De Diseño Detallado (o final)

Diseño detallado de los datos, Diseño arquitectónico, Diseño de interfaz hombre-máquina, Diseño procedimental de cada módulo, Pruebas para cada módulo

CodificaciónMP

DARS

IS

C

• Objetivo:

– Creación de programas

– Aplicando un paradigma

– Utilizando lenguaje de programación

• Producto:

– Código fuente

• Comprensible

• Bien comentado y documentado

• Siguiendo convenciones de la organización

PruebasM

CD

ARSIS

P

• Objetivo: descubrir errores en el software

• Elemento crítico para calidad

• Tipos (por ámbito):

– Sistema

– Validación

– Integración

– Unidad

• Tipos (por diseño):

– Caja negra (funcionales)

– Caja blanca (estructurales)

Desarrollo y pruebas

Proceso de desarrollo

Proceso de pruebas

Codificación

Diseño

Especificación derequisitos del Sw

Ingeniería del Sistema

Prueba del sistema

Prueba de validación

Prueba de integración

Prueba de unidadPU

PV

PI

C

D

ERS

IS

PS

M

CD

ARSIS

P

Desarrollo y pruebas

Proceso de desarrollo

Proceso de pruebas

Codificación

Diseño

Especificación derequisitos del Sw

Ingeniería del Sistema

Prueba del sistema

Prueba de validación

Prueba de integración

Prueba de unidadPU

PV

PI

C

D

ERS

IS

PS

M

CD

ARSIS

P

Implementación = codificación + pruebas

MantenimientoIS

ARSD

CP

M

• Realización de cambios en el software

• Motivos:

– Errores encontrados

– Cambios en el entorno

– Ampliaciones o mejoras

Correctivo

Adaptativo

Perfectivo

3

Complejidad de desarrollo• Yourdon, 1979:

– Trivial (1.000, 1p, pocos m) Ayudan

– Simple (10.000, 3-4 p, 6-12m) Mantenible

– Difícil (100.000, 6-12p, 2-3a) Terminar en tiempo y plazo

– Complejo (1M, 50-100p, 3-5a) Terminar

– Casi imposible (10M, ...) Objetos

– Imposible (>10M)

• Programación en pequeño – Fase de desarrollo

– Desarrollo de programas

• Programación en grande – Fases de planificación, mantenimiento y gestión

– Desarrollo de software

M.D.P

• Modelo de desarrollo:

– Filosofía para obtener un software de unas determinadas características

• Metodología de desarrollo:

– Proceso concreto que implementa el modelo de desarrollo

• En este curso:

1. Modelo orientado a objetos

• Metodología básica de desarrollo orientado a objetos

2. Modelo orientado a procedimientos y datos

• Metodología orientada al flujo de datos