Está en la página 1de 27

Ingeniera del Software

Ingeniera del Software de Gestin

Tema 3
Metodologas de Desarrollo de
Software
Flix scar Garca Rubio
Crescencio Bravo Santos

ndice
1.
2.
3.
4.
5.
6.
7.
8.

Definiciones
Objetivos
Conceptos Generales
Metodologa vs Ciclo de Vida
Evolucin Histrica de las Metodologas
Impacto de las Metodologas en el Entorno de Desarrollo
Clasificacin de las Metodologas
Ejemplos de Metodologas de Desarrollo

Metodologas de Desarrollo de Software

Definiciones
Metodologa de Desarrollo:
1) Conjunto de pasos y procedimientos que deben seguirse
para el desarrollo de software.
2) Conjunto de filosofas, fases, procedimientos, reglas,
tcnicas, herramientas, documentacin y aspectos de
formacin para los desarrolladores de SI [Maddison,
1983]
3) Conjunto de procedimientos, tcnicas, herramientas y
soporte documental que ayuda a los desarrolladores a
realizar nuevo software
Metodologas de Desarrollo de Software

Objetivos
Un metodologa de desarrollo por lo tanto representa el
camino a seguir para desarrollar software de manera
sistemtica.
Objetivos:
Mejores Aplicaciones
Un mejor Proceso de Desarrollo que identifique salidas (o
productos intermedios) de cada fase de forma que se pueda
planificar y controlar el proyecto
Un Proceso Estndar en la organizacin

Metodologas de Desarrollo de Software

Conceptos Generales (i)


Actividades y Tareas
El Proceso se descompone hasta el nivel de Actividades y
Tareas (actividades elementales)

Procedimientos
Define la forma de llevar a cabo las Tareas
Vnculo de Comunicacin entre Usuarios y Desarrolladores

Productos
Obtenidos como resultado de seguir un Procedimiento
Pueden ser Intermedios o Finales
Metodologas de Desarrollo de Software

Conceptos Generales (ii)


Tcnicas
Se utilizan para aplicar un Procedimiento
Pueden ser Grficas y/o Textuales
Determinan el formato de los Productos resultantes en cada
Tarea

Herramientas Software
Proporcionan soporte a la aplicacin de las Tcnicas

Metodologas de Desarrollo de Software

Metodologa vs Ciclo de Vida


Diferencias entre Metodologa, Ciclo de Vida y Mtodo
Una Metodologa puede seguir uno o varios modelos de
Ciclo de Vida
Un Ciclo de Vida indica qu obtener, pero no cmo
Una Metodologa es un concepto ms amplio que Mtodo
Se puede considerar como un conjunto de mtodos.
Una metodologa puede englobar un conjunto de mtodos (de
anlisis, diseo, programacin, etc.) para abarcar el ciclo de vida
completo
Metodologas de Desarrollo de Software

Evolucin Histrica Metodologas (i)


1. Desarrollo Convencional:

Aos 50
Desarrollo artesanal y ausencia de Metodologa
Enfocado en la Tarea de Programacin
Inconvenientes:
/ 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

Metodologas de Desarrollo de Software

Evolucin Histrica Metodologas (ii)


2. Desarrollo Estructurado:
Aos 60 (entorno acadmico), mediados 70 (industria)
Evolucin:
i.

Programacin Estructurada:
9 Facilitar comprensin de Programas
9 Normas para la aplicacin de estructuras de datos y de control

ii. Diseo Estructurado


9 Mayor nivel abstraccin (independencia del lenguaje
programacin)
9 Elemento bsico de diseo: Mdulo
9 Modularidad. Medidas de Calidad de Programas
Metodologas de Desarrollo de Software

Evolucin Histrica Metodologas (iii)


2. Desarrollo Estructurado:
Evolucin:
iii. Anlisis Estructurado
9 Previamente: Descripcin Narrativa Requisitos Especificaciones:
Monolticas
Redundantes
Ambiguas
Imposibles de Mantener

9 Se
;
;
;

obtienen Especificaciones Funcionales:


Grficas
Particionadas
Mnimamente redundantes
Metodologas de Desarrollo de Software

10

Evolucin Histrica Metodologas (iv)


3. Desarrollo Orientado a Objetos:
Aos 80
Trata Procesos y Datos de forma conjunta.
Principios:
9 Abstraccin
9 Ocultacin Informacin
9 Modularidad

Las tcnicas estructuradas han influido en estas


metodologas.

Metodologas de Desarrollo de Software

11

Relacin Histrica Metodologas


AO
1968
1974
1975
1977
1978
1981
1985
1986
1987
1989
1990
1993
1995
1998

METODOLOGA
Conceptos sobre la programacin estructurada de DIJKSTRA
Tcnicas de programacin estructurada de WARNIER y JACKSON
Primeros conceptos sobre diseo estructurado de MYERS y YOURDON
Primeros conceptos sobre anlisis estructurado GANE y SARSON
Anlisis estructurado: DEMARCO y WEINBERG
Nace MERISE
SSADM (versin inicial)
Information Engineering (versin inicial)
Anlisis y Diseo estructurado para sistemas de tiempo real de
WARD y MELLOR
SSADM Versin 3
Anlisis y Diseo estructurado para sistemas de tiempo real de
HATLEY y PIRHBAY
METRICA (versin inicial)
SSADM Versin 4
METRICA Versin 2
METRICA Versin 2.1
MTRICA Versin 3
Metodologas de Desarrollo de Software

12

Impacto de las Metodologas en el Entorno de


Desarrollo (i)
ENTORNO DE DESARROLLO DE SOFTWARE
ORGANIZACION DE DESARROLLO DE SOFTWARE

Metodologa: Ncleo del


Entorno de Desarrollo

EQUIPO DE DESARROLLO DE SOFTWARE


Dan una
estructura visible

Seleccionan las
herramientas
PROCEDIMIENTOS
DE GESTION
Da informes
a la direccin

Coordinan
y guan

METODOLOGIA
DE
DESARROLLO

soportan
mtodos
SOPORTE
AUTOMATIZADO

TECNICAS
determinan
las herramientas
necesarias

Entorno Desarrollo:
La organizacin mantiene un
Equipo de Desarrollo
Procedimientos de Gestin
Influyen y determinan el
soporte automatizado (HW
y SW)
Coordinan y Guan a los
Desarrolladores en el uso
de las Tcnicas
Soporte Automatizado
Mejora la Productividad

Metodologas de Desarrollo de Software

13

Impacto de las Metodologas en el Entorno de


Desarrollo (ii)
Implantacin de Metodologas en los Entornos de
Desarrollo. Opciones:
Seleccionar entre un gran nmero de posibilidades y
combinaciones de mtodos de gestin, tcnicas de desarrollo
y soporte automatizado, para crear y desarrollar una
Metodologa de Desarrollo Software ms apropiada.
Analizar y evaluar las metodologas existentes y seleccionar la
que ms se adapte a las necesidades.

Factores que influyen en las metodologas:


Tamao y estructura de la organizacin
Tipo de aplicaciones a desarrollar
Metodologas de Desarrollo de Software

14

Caractersticas Deseables de una Metodologa

& 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
Metodologas de Desarrollo de Software

15

Clasificacin de las Metodologas

ENFOQUE

TIPO DE
SISTEMA

FORMALIDAD

ESTRUCTURADAS
* Orientadas a Procesos
* Orientadas a Datos
GESTIN

NO FORMAL

- Jerrquicos
- No jerrquicos
* Mixtas

ORIENTADAS A OBJETOS

TIEMPO REAL

Metodologas de Desarrollo de Software

FORMAL

16

Metodologas Estructuradas (i)


Proponen la creacin de modelos del sistema que representan:
Los procesos
Los flujos
La estructura de los Datos

Enfoque Top-Down
De visin general a nivel de abstraccin ms sencillo

Tipos:
Orientadas a Procesos
Orientadas a Datos
Estructuras de Datos Jerrquicas
Estructuras de Datos no Jerrquicas

Mixtas
Metodologas de Desarrollo de Software

17

Metodologas Estructuradas (ii)


Metodologas Orientadas a Procesos
ENTRADA

PROCESO

SALIDA

Se apoyan en tcnicas grficas para obtener:


ESPECIFICACIN ESTRUCTURADA

Modelo grfico, particionado, descendente y


jerrquico de los procesos del sistema y de los datos
utilizados por stos.
Componentes:
Diagrama de Flujo de Datos
Diccionario de Datos
Especificaciones de Procesos
Metodologas de Desarrollo de Software

18

Metodologas Estructuradas (iii)


Metodologas
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

Metodologas de Desarrollo de Software

19

Metodologas Estructuradas (iv)


Metodologas 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

Metodologas de Desarrollo de Software

20

Metodologas Estructuradas (v)


Metodologas Orientadas a Datos Jerrquicos
ENTRADA

PROCESO

SALIDA

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

Metodologas de Desarrollo de Software

21

Metodologas Estructuradas (vi)


Metodologas Orientadas a Datos No Jerrquicos
ENTRADA

PROCESO

SALIDA

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
Metodologas de Desarrollo de Software

22

Metodologas Orientadas a Objetos


Cambio en los principios de las metodologas estructuradas:
Estructurado: Examinar el sistema desde las funciones y tareas
OO: Modelado del Sistema examinando el dominio del problema como
un conjunto de objetos que interactan entre s
Objetos: Encapsulan Funciones + Datos

Enfoques:
Revolucionarios o Puros
La OO se entiende como un cambio profundo de las metodologas
estructuradas que se ven como obsoletas
OOD (Booch), CRC/RDD (Wirfs-Brock)

Sintetistas o Evolutivos
nalisis y Diseo Estructurado se consideran como la base
para el desarrollo OO
OMT, UML
Metodologas de Desarrollo de Software

23

Metodologas Sistemas Tiempo Real


Sistemas que controlan un ambiente recibiendo datos,
procesndolos y devolvindolos con la suficiente rapidez como
para influir en dicho ambiente en ese momento
Caractersticas:

Gestin de procesos concurrentes


Manejo de interrupciones y prioridades
Comunicacin y sincronizacin entre tareas
Respuesta oportuna ante eventos externos
Datos continuos o discretos

Metodologas:
Ampliaciones a la notacin del anlisis estructurado
Metodologas OO para Sistemas Tiempo Real
Metodologas de Desarrollo de Software

24

Ejemplos de Metodologas de Desarrollo (i)


Metodologa MERISE:
Administracin Pblica Francia
NIVELES

CONCEPTUAL

ORGANIZATIVO

FSICO

DATOS

TRATAMIENTOS

Modelo Conceptual de Datos

Modelo Conceptual de Tratamientos

Modelo Lgico de Datos

Modelo Organizativo de Tratamientos

Modelo Fsico de Datos

Modelo Operativo de Tratamientos

Metodologas de Desarrollo de Software

25

Ejemplos de Metodologas de Desarrollo (ii)


Metodologa SSADM:
Administracin Pblica Reino Unido

Estudio completo

Construccin y Pruebas

Diseo Fsico

Especificacin Lgica
del Sistema

Especificacin de
Requisitos

Anlisis de
Requisitos

Planificacin
Estratgica

Estudio de Viabilidad

SSADM

Desarrollo

Produccin

Administracin y Control

Metodologas de Desarrollo de Software

26

Ejemplos de Metodologas de Desarrollo (iii)


METRICA v.3

Administracin Pblica Espaa

1. Planificacin de Sistemas de Informacin (PSI)


2. Desarrollo de Sistemas de Informacin:
a.
b.
c.
d.
e.

Estudio de Viabilidad del Sistema (EVS)


Anlisis del Sistema de Informacin (ASI)
Diseo del Sistema de Informacin (DSI)
Construccin del Sistema de Informacin (CSI)
Implantacin y Aceptacin del Sistema (IAS)

3. Mantenimiento de Sistemas de Informacin (MSI)

Metodologas de Desarrollo de Software

27

También podría gustarte