Metodologías de
Desarrollo de Software
1.
Introducción.
2.
Características principales.
3.
Clasificación de las metodologías.
4.
Principales metodologías de desarrollo.
CONCEPTOS GENERALES
..Metodología:
Conjunto de procedimientos, técnicas,
herramientas
y un soporte documental que ayuda a los desarrolladores
a
realizar nuevo software.
..Tarea:
Actividades elementales en que se dividen los procesos.
..Procedimiento:
Definición de la forma de ejecutar la tarea.
..Técnica:
Herramienta utilizada para aplicar un procedimiento.
Se
pueden utilizar una o varias.
..Herramienta:
Para realizar una técnica, podemos apoyarnos
en
las herramientas software que automatizan su aplicación.
..Producto:
Resultado de cada etapa.
METODOLOGIAS
VS CICLO DE VIDA
Una
metodología puede seguir uno o varios
modelos
de ciclo de vida, es decir, el
ciclo
de vida indica qué es lo que hay que
obtener
a lo largo del desarrollo del
proyecto
pero no cómo hacerlo.
La
metodología indica cómo hay que
obtener
los distintos productos parciales y
finales
GENERACIONES
DE METODOLOGIA
Desarrollo
Convencional (Sin Metodología)
Desarrollo
Estructurado.
Desarrollo
Orientado a Objetos.
DESARROLLO
CONVENCIONAL
Los
resultados finales son impredecibles
No
hay forma de controlar lo que está sucediendo
en
el Proyecto
Los
cambios organizativos afectan negativamente
al
proceso de desarrollo
DESARROLLO
ESTRUCTURADO
Programación
estructurada
Diseño
estructurado
Análisis
estructurado
Especificaciones
funcionales:
Gráficas
Particionadas
Mínimamente
redundantes
EJEMPLOS
DE PROGRAMACION CONVENCIONAL
10
CLS
20 A=10
30 INPUT
40 IF B=A THEN GOTO 50 ELSE GOTO 70
50
PRINT “A Y B SON IGUALES”
60 GOTO 100
70 IF A>B THEN GOTO 80 ELSE GOTO 90
80 B= B + 1; GOTO 40
90 B= B -1; GOTO 40
100
END
EJEMPLOS
DE PROGRAMACION ESTRUCTURADA
PROGRAM
NUMEROSIGUALES
BEGIN
CLEARSCREEN;
A :=10
INPUT B;
REPEAT
IF B=A THEN PRINT “A Y B SON IGUALES”
ELSE REDUCEDIFERENCIA(A,B)
UNTIL B=A;
END;
PROCEDURE REDUCEDIFENCIA(A,B)
BEGIN
IF A>B THEN B:= B+
ELSE
B:= B -
END
RELACION
HISTORICA DE LAS PRINCIPALES METODOLOGIAS
AÑO
METODOLOGÍA
1968
Conceptos sobre la programación estructurada de DIJKSTRA
1974
Técnicas de programación estructurada de WARNIER y JACKSON
1975
Primeros conceptos sobre diseño estructurado de MYERS y YOURDON
1977
Primeros conceptos sobre análisis estructurado GANE y SARSON
1978
Análisis estructurado: DEMARCO y WEINBERG
Nace
MERISE
1981
SSADM (versión inicial)
Information
Engineering (versión inicial)
1985
Análisis y Diseño estructurado para sistemas de tiempo real de
WARD
y MELLOR
1986
SSADM Versión 3
1987
Análisis y Diseño estructurado para sistemas de tiempo real de
HATLEY
y PIRHBAY
1989
METRICA (versión inicial)
1990
SSADM Versión 4
1993
METRICA Versión 2
1995
METRICA Versión 2.1
DESARROLLO
ORIENTADO AL OBJETO
La
esencia del desarrollo orientado a objetos
es
la identificación y organización de
conceptos
del dominio de la aplicación y no
tanto
de su representación final en un lenguaje
de
programación.
CONSIDERACIONES
SOBRE METODOLOGIAS OO
Se
eliminan fronteras entre fases debido a la
naturaleza
iterativa del desarrollo orientado al
objeto.
Aparece
una nueva forma de concebir los lenguajes
de
programación y su uso al incorporarse bibliotecas
de
clases y otros componentes reutilizables.
Hay
un alto grado de iteración y solapamiento, lo
que
lleva a una forma de trabajo muy dinámica.
ASPECTOS
POSITIVOS DE LA
METODOLOGIAS OO
Son
interactivas e incrementales.
Fácil
de dividir el sistema en varios
subsistemas
independientes.
Se
fomenta la reutilización de componentes.
CARACTERISTICAS
DESEABLES DE UNA METODOLOGIA
Existencia
de reglas predefinidas
Cobertura
total del ciclo de desarrollo
Verificaciones
intermedias
Planificación
y control
Comunicación
efectiva
Utilización
sobre un abanico amplio de proyectos
Fácil
formación
Herramientas
CASE
Actividades
que mejoren el proceso de desarrollo
Soporte
al mantenimiento
Soporte
de la reutilización de software
CLASIFICACION
DE LAS METODOLOGIAS
Estructuradas
Orientadas
a Procesos
Orientadas
a datos
Jerárquicas
No
Jerárquicas
Mixtas
Orientadas
a Objetos
Para
Sistemas de Tiempo Real
METODOLOGIAS
ESTRUCTURADAS
METODOLOGIAS
ORIENTADAS A PROCESOS
•
Especificación estructurada:
..Diagramas
de Flujo de Datos
..Diccionario
de Datos
..Especificaciones
de procesos
METODOLOGIAS
ESTRUCTURADAS
METODOLOGIAS
ORIENTADAS A PROCESOS
FASES
DEL ANALISIS ESTRUCTURADO
Método
de DeMarco Método de Gane y Sarson
1.
Construir el modelo físico
actual
(DFD físico actual)
2.
Construir el modelo lógico
actual
(DFD lógico actual)
3.
Crear un conjunto de modelos
físicos
alternativos
4.
Estimar los costes y tiempos
de
cada opción
5.
Seleccionar un modelo
6.
Empaquetar la especificación
1.
Construir el modelo lógico actual
(DFD
lógico actual)
2.
Construir el modelo del nuevo
sistema:
elaborar una especificación
estructurada
y construir un modelo
lógico
de datos en tercera forma
normal
que exprese el contenido de
los
almacenes de datos.
3.
Seleccionar un modelo lógico
4.
Crear el nuevo modelo físico del
sistema
5.
Empaquetar la especificación
METODOLOGIAS
ESTRUCTURADA
METODOLOGIAS
ORIENTADAS A PROCESOS
•
Metodología de Yourdon/Constantine
..Realizar
los DFD del sistema
..Realizar
el diagrama de estructuras
..Evaluar
el diseño
Preparar
el diseño para la implantación
METODOLOGIAS
ESTRUCTURADA
METODOLOGIAS
ORIENTADAS A DATOS JERARQUICOS
La
estructura de control del programa debe ser jerárquica y se
debe
derivar de la estructura de datos del programa
El
proceso de diseño consiste en definir primero las estructuras
de
los datos de entrada y salida, mezclarlas todas en una
estructura
jerárquica de programa y después ordenar
detalladamente
la lógica procedimental para que se ajuste a
esta
estructura
El
diseño lógico debe preceder y estar separado del diseño físico
METODOLOGIAS
ESTRUCTURADA
METODOLOGIAS
ORIENTADAS A DATOS NO JERARQUICOS
•
Metodología Ingeniería de la
Información
Planificación:
construir una arquitectura de la
Información
y
una estrategia que soporte los objetivos de la organización
..Análisis:
comprender las áreas del negocio y determinar los
requisitos
del sistema
Diseño:
establecer el comportamiento del sistema deseado
por
el usuario y que sea alcanzable por la tecnología
..Construcción:
construir sistemas que cumplan los tres niveles
anteriores
METODOLOGIAS
ORIENTADA A OBJETOS
“Revolucionarios”
o “puros”
“Sintetistas”
o “evolutivos”
METODOLOGIAS
PARA SISTEMAS DE TIEMPO REAL
Manejo
de interrupciones
Comunicación
y sincronización entre tareas
Gestión
de procesos concurrentes
Respuesta
oportuna ante eventos externos
Datos
continuos o discretos
Se
está produciendo una evolución de las metodologías orientadas
a
objetos para desarrollos de sistemas de tiempo real
PRINCIPALES
METODOLOGIAS DE DESARROLLO
METODOLOGIA
MERISE
Fases
de la Metodología:
•
Estudio Preliminar
•
Estudio Detallado
•
Implementación
•
Realización y puesta en marcha
PRINCIPALES
METODOLOGIAS DE DESARROLLO
METODOLOGIA
METRICA
FASE
0: Plan de Sistemas de Información
FASE
1: Análisis de Sistemas
FASE
2: Diseño de Sistemas
FASE
3: Construcción de Sistemas
FASE
4: Implantación de Sistemas