You are on page 1of 28

Metodologas de

Desarrollo de Software
1. Introduccin.
2. Caractersticas principales.
3. Clasificacin de las metodologas.
4. Principales metodologas de desarrollo.
METODOLOGIAS DE DESARROLLO DE SOFTWARE
4.010
CONCEPTOS GENERALES
CONCEPTOS GENERALES
-Metodologa: Conjunto de procedimientos, tcnicas,
herramientas y un soporte documental que ayuda a los desarrolladores
a realizar nuevo software.
-Tarea: Actividades elementales en que se dividen los procesos.
-Procedimiento: Definicin de la forma de ejecutar la tarea.
-Tcnica: Herramienta utilizada para aplicar un procedimiento.
Se pueden utilizar una o varias.
-Herramienta: Para realizar una tcnica, podemos apoyarnos
en las herramientas software que automatizan su aplicacin.
-Producto: Resultado de cada etapa.
METODOLOGIAS DE DESARROLLO DE SOFTWARE
4.015
METODOLOGA
METODOLOGA
Vs
Vs
CICLO DE VIDA
CICLO DE VIDA
Una metodologa 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 cmo hacerlo.
La metodologa indica cmo hay que
obtener los distintos productos parciales y
finales
METODOLOGIAS DE DESARROLLO DE SOFTWARE
4.018
GENERACIONES DE METODOLOGA
GENERACIONES DE METODOLOGA
-Desarrollo Convencional (Sin Metodologa) .
-Desarrollo Estructurado.
-Desarrollo Orientado a Objetos.
METODOLOGIAS DE DESARROLLO DE SOFTWARE
4.020
DESARROLLO CONVENCIONAL
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
DESARROLLO ESTRUCTURADO
EProgramacin estructurada
EDiseo estructurado
EAnlisis estructurado
EEspecificaciones funcionales:
EGrficas
EParticionadas
EMnimamente redundantes
4.030
METODOLOGIAS DE DESARROLLO DE SOFTWARE
EJEMPLO DE PROGRAMACIN CONVENCIONAL
EJEMPLO DE PROGRAMACIN CONVENCIONAL
4.033
METODOLOGIAS DE DESARROLLO DE SOFTWARE
10 CLS
20 A=10
30 INPUT B
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
EJEMPLO DE PROGRAMACIN ESTRUCTURADA
EJEMPLO DE PROGRAMACIN ESTRUCTURADA
4.037
METODOLOGIAS DE DESARROLLO DE SOFTWARE
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+1
ELSE B:= B - 1
END
RELACION HISTORICA DE LAS PRINCIPALES
RELACION HISTORICA DE LAS PRINCIPALES
METODOLOGIAS
METODOLOGIAS
AO METODOLOGA
1968 Conceptos sobre la programacin estructurada de DIJKSTRA
1974 Tcnicas de programacin estructurada de WARNIER y JACKSON
1975 Primeros conceptos sobre diseo estructurado de MYERS y YOURDON
1977 Primeros conceptos sobre anlisis estructurado GANE y SARSON
1978 Anlisis estructurado: DEMARCO y WEINBERG
Nace MERISE
1981 SSADM (versin inicial)
Information Engineering (versin inicial)
1985 Anlisis y Diseo estructurado para sistemas de tiempo real de
WARD y MELLOR
1986 SSADM Versin 3
1987 Anlisis y Diseo estructurado para sistemas de tiempo real de
HATLEY y PIRHBAY
1989 METRICA (versin inicial)
1990 SSADM Versin 4
1993 METRICA Versin 2
1995 METRICA Versin 2.1
4.040
METODOLOGIAS DE DESARROLLO DE SOFTWARE
DESARROLLO ORIENTADO AL OBJETO
DESARROLLO ORIENTADO AL OBJETO
4.050
METODOLOGIAS DE DESARROLLO DE SOFTWARE
La esencia del desarrollo orientado a objetos
es la identificacin y organizacin de
conceptos del dominio de la aplicacin y no
tanto de su representacin final en un lenguaje
de programacin.
METODOLOGIAS DE DESARROLLO DE SOFTWARE
4.053
CONSIDERACIONES SOBRE METODOLOGIAS OO
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 programacin y su uso al incorporarse bibliotecas
de clases y otros componentes reutilizables.
+ Hay un alto grado de iteracin y solapamiento, lo
que lleva a una forma de trabajo muy dinmica.
METODOLOGIAS DE DESARROLLO DE SOFTWARE
4.057
ASPECTOS POSITIVOS DE LAS METODOLOGAS OO
ASPECTOS POSITIVOS DE LAS METODOLOGAS OO
+Son interactivas e incrementales.
+Fcil de dividir el sistema en varios
subsistemas independientes.
+Se fomenta la reutilizacin de componentes.
IMPACTO DE LA METODOLOGIA
IMPACTO DE LA METODOLOGIA
EN EL ENTORNO DE DESARROLO
EN EL ENTORNO DE DESARROLO
METODOLOGIA
DE
DESARROLLO
PROCEDIMIENTOS
DE GESTION
TECNICAS
SOPORTE
AUTOMATIZADO
soportan
mtodos
determinan
las herramientas
necesarias
Coordinan
y guan
Dan una
estructura visible
Seleccionan las
herramientas
Da informes
a la direccin
ENTORNO DE DESARROLLO DE SOFTWARE
ORGANIZACION DE DESARROLLO DE SOFTWARE
EQUIPO DE DESARROLLO DE SOFTWARE
4.060
METODOLOGIAS DE DESARROLLO DE SOFTWARE
CARACTERISTICAS DESEABLES
CARACTERISTICAS DESEABLES
DE UNA METODOLOGIA
DE UNA METODOLOGIA
Existencia de reglas predefinidas
Cobertura total del ciclo de desarrollo
Verificaciones intermedias
Planificacin y control
Comunicacin efectiva
Utilizacin sobre un abanico amplio de proyectos
Fcil formacin
Herramientas CASE
Actividades que mejoren el proceso de desarrollo
Soporte al mantenimiento
Soporte de la reutilizacin de software
4.070
METODOLOGIAS DE DESARROLLO DE SOFTWARE
CLASIFICACION DE LAS METODOLOGIAS
CLASIFICACION DE LAS METODOLOGIAS
METODOLOGIAS DE DESARROLLO DE SOFTWARE
4.080
Estructuradas
+Orientadas a Procesos
+Orientadas a datos
+Jerrquicas
+No Jerrquicas
+Mixtas
Orientadas a Objetos
Para Sistemas de Tiempo Real
METODOLOGIAS ESTRUCTURADAS
METODOLOGIAS ESTRUCTURADAS
4.090
METODOLOGIAS DE DESARROLLO DE SOFTWARE
METODOLOGIAS ORIENTADAS A PROCESOS
Especificacin estructurada:
Diagramas de Flujo de Datos
Diccionario de Datos
Especificaciones de procesos
METODOLOGIAS ESTRUCTURADAS
METODOLOGIAS ESTRUCTURADAS
4.100
METODOLOGIAS DE DESARROLLO DE SOFTWARE
METODOLOGIAS ORIENTADAS A PROCESOS
FASES DEL ANALISIS ESTRUCTURADO
Mtodo de DeMarco Mtodo de Gane y Sarson
1. Construir el modelo fsico
actual (DFD fsico actual)
2. Construir el modelo lgico
actual (DFD lgico actual)
3. Crear un conjunto de modelos
fsicos alternativos
4. Estimar los costes y tiempos
de cada opcin
5. Seleccionar un modelo
6. Empaquetar la especificacin
1. Construir el modelo lgico actual
(DFD lgico actual)
2. Construir el modelo del nuevo
sistema: elaborar una especificacin
estructurada y construir un modelo
lgico de datos en tercera forma
normal que exprese el contenido de
los almacenes de datos.
3. Seleccionar un modelo lgico
4. Crear el nuevo modelo fsico del
sistema
5. Empaquetar la especificacin
METODOLOGIAS ESTRUCTURADAS
METODOLOGIAS ESTRUCTURADAS
METODOLOGIAS ORIENTADAS A PROCESOS
Metodologa de Yourdon/Constantine
Realizar los DFD del sistema
Realizar el diagrama de estructuras
Evaluar el diseo
Preparar el diseo para la implantacin
4.110
METODOLOGIAS DE DESARROLLO DE SOFTWARE
METODOLOGIAS ESTRUCTURADAS
METODOLOGIAS ESTRUCTURADAS
4.120
METODOLOGIAS DE DESARROLLO DE SOFTWARE
METODOLOGIAS ORIENTADAS A DATOS JERARQUICOS
La estructura de control del programa debe ser jerrquica y se
debe derivar de la estructura de datos del programa
El proceso de diseo consiste en definir primero las estructuras
de los datos de entrada y salida, mezclarlas todas en una
estructura jerrquica de programa y despus ordenar
detalladamente la lgica procedimental para que se ajuste a
esta estructura
El diseo lgico debe preceder y estar separado del diseo fsico
METODOLOGIAS ESTRUCTURADAS
METODOLOGIAS ESTRUCTURADAS
4.130
METODOLOGIAS DE DESARROLLO DE SOFTWARE
METODOLOGIAS ORIENTADAS A DATOS NO JERARQUICOS
Metodologa Ingeniera de la Informacin
Planificacin: construir una arquitectura de la Informacin
y una estrategia que soporte los objetivos de la organizacin
Anlisis: comprender las reas del negocio y determinar los
requisitos del sistema
Diseo: establecer el comportamiento del sistema deseado
por el usuario y que sea alcanzable por la tecnologa
Construccin: construir sistemas que cumplan los tres niveles
anteriores
METODOLOGIAS ORIENTADAS A OBJETOS
METODOLOGIAS ORIENTADAS A OBJETOS
4.140
METODOLOGIAS DE DESARROLLO DE SOFTWARE
Revolucionarios o puros
Sintetistas o evolutivos
METODOLOGIAS PARA SISTEMAS DE TIEMPO REAL
METODOLOGIAS PARA SISTEMAS DE TIEMPO REAL
4.150
METODOLOGIAS DE DESARROLLO DE SOFTWARE
Manejo de interrupciones
Comunicacin y sincronizacin entre tareas
Gestin de procesos concurrentes
Respuesta oportuna ante eventos externos
Datos continuos o discretos
Se est produciendo una evolucin de las metodologas orientadas
a objetos para desarrollos de sistemas de tiempo real
PRINCIPALES METODOLOGIAS DE DESARROLLO
PRINCIPALES METODOLOGIAS DE DESARROLLO
4.160
METODOLOGIAS DE DESARROLLO DE SOFTWARE
METODOLOGIA MERISE
Fases de la Metodologa:
Estudio Preliminar
Estudio Detallado
Implementacin
Realizacin y puesta en marcha
PRINCIPALES METODOLOGIAS DE DESARROLLO
PRINCIPALES METODOLOGIAS DE DESARROLLO
METODOLOGIA SSADM
4.170
METODOLOGIAS DE DESARROLLO DE SOFTWARE
Administracin y Control
Planificacin
Estratgica
E
s
t
u
d
i
o

d
e

V
i
a
b
i
l
i
d
a
d
A
n

l
i
s
i
s

d
e
R
e
q
u
i
s
i
t
o
s
E
s
p
e
c
i
f
i
c
a
c
i

n

d
e
R
e
q
u
i
s
i
t
o
s
E
s
p
e
c
i
f
i
c
a
c
i

n

L

g
i
c
a
d
e
l


S
i
s
t
e
m
a
Estudio completo
D
i
s
e

o

F

s
i
c
o
C
o
n
s
t
r
u
c
c
i

n

y

P
r
u
e
b
a
s
Produccin
SSADM
Desarrollo
PRINCIPALES METODOLOGIAS DE DESARROLLO
PRINCIPALES METODOLOGIAS DE DESARROLLO
METODOLOGIA METRICA
4.180
METODOLOGIAS DE DESARROLLO DE SOFTWARE
EFASE 0: Plan de Sistemas de Informacin
EFASE 1: Anlisis de Sistemas
EFASE 2: Diseo de Sistemas
EFASE 3: Construccin de Sistemas
EFASE 4: Implantacin de Sistemas
4.190
METODOLOGIAS DE DESARROLLO DE SOFTWARE
Ejercicio 1
Sealar las respuestas correctas.
El anlisis estructurado se diferencia del clsico en:
a) Emplear un mtodo de particin efectivo.
b) Construir un modelo lgico del sistema.
c) Definir los procesos.
d) Definir las lneas del diseo.
En el anlisis estructurado:
a) El texto se introduce en todos los detalles inmediatamente.
b) Se va de lo abstracto al detalle, es grfico y unidimensional.
c) Se usa un mtodo para particionar exclusivamente problemas
complejos.
d) Ninguna de las anteriores.
4.200
METODOLOGIAS DE DESARROLLO DE SOFTWARE
Ejercicio 2
Proponer y discutir las principales actividades y productos
resultantes de una metodologa de anlisis estructurado.
Ejercicio 3
Indquese qu metodologa utilizara para realizar una
aplicacin que controle el funcionamiento de un conjunto de
ascensores de un gran edificio.
Ejercicio 4
Indquese qu metodologa utilizara en el caso de realizar una
aplicacin que consista en la gestin y mantenimiento de una
gran base de datos.
METODOLOGIAS DE DESARROLLO DE SOFTWARE
4.210
Ejercicio 5
Ejercicio 5
Intenta realizar una clasificacin de los
tipos de metodologa de desarrollo del
Software existentes indicando brevemente
sus principales caractersticas.

You might also like