jueves, 12 de febrero de 2009

Metodologías Estructuradas

Definición de metodología
En la literatura sobre este tema existen muchas definiciones sobre lo que es una metodología. Más o menos todas ellas coinciden en que debería tener al menos las siguientes características:
Define como se divide un proyecto en fases y las tareas a realizar en cada una.
Para cada una de las fases está especificado cuales son las entradas que reciben y las salidas que producen.
Tienen alguna forma de gestionar el proyecto.
Teniendo esto en cuenta establecemos la siguiente definición: Metodología es un modo sistemático de producir software.
Taxonomía de las metodologías
Existen dos grupos de metodologías en función de la mentalidad con la que se aborda el problema: metodología estructurada o metodología orientada a objetos. A la que nos vamos a abocar en este tema es a la metodología Estructurada.

Metodología estructurada
Tiene como objetivo emplear las metodologías de análisis y diseño estructurado para su uso con herramientas CASE, incrementando la productividad en el desarrollo e implantación de sistemas de información y entre ellas podemos encontrar a Kendall & Kendall entre otras.

Crea los modelos de forma descendente. Son las orientadas a procesos, a datos y las mixtas. Intentan aplicar formas ingenieriles para solucionar problemas técnicos al obtener un sistema de información, proponen la creación de modelos, flujos y estructuras mediante un top-down.

Es la primera aproximación al problema. Está orientada a procesos, es decir, se centra en especificar y descomponer la funcionalidad del sistema. Se utilizan varias herramientas:
Diagramas de flujo de datos (DFD):
Representan la forma en la que los datos se mueven y se transforman. Incluye:
Procesos
Flujos de datos
Almacenes de datos
Los procesos individuales se pueden a su vez descomponer en otros DFD de nivel superior.
Especificaciones de procesos: Es lo que se escribe para uno de los procesos definidos en el DFD cuando no se puede descomponer más. Puede hacerse en pseudocódigo, con tablas de decisión o en un lenguaje de programación.
Diccionario de datos: Son los nombres de todos los tipos de datos y almacenes de datos junto con sus definiciones.
Diagramas de transición de estados: Modelan procesos que dependen del tiempo
Diagramas entidad-relación: Los elementos del modelo E/R se corresponden con almacenes de datos en el DFD. En este diagrama se muestran las relaciones entre dichos elementos
Los lenguajes de programación también reflejan esta dicotomía que existe entre la metodologías, así existen lenguajes para la programación estructurada.
Los más famosos son: Cobol, Fortran, C, Pascal y Modula 2.