martes, 8 de diciembre de 2015

metodologías mixtas de la administración


Las administraciones públicas, que también desarrollan aplicaciones software, ¿qué metodología
utilizarán? ¿Sería conveniente disponer de una metodología estándar para toda la administración
pública?
Con la intención de estandarizar los diferentes proyectos informáticos que utilizaban y desarrollaban diferentes administraciones del mismo país, los organismos públicos comenzaron a desarrollar a finales de los años 70 y principios de los 80, metodologías de desarrollo software
basadas en el método estructurado. Sin embargo, como las distintas administraciones necesitaban dar respuesta a proyectos de desarrollo muy diferentes, modificaron y ampliaron las metodologías existentes para adaptarlas a sus necesidades.
Vamos a ver varios ejemplos de este tipo de metodologías, la metodología francesa Merise, la británica
SSADM, la española Métrica, y el Eurométodo propuesto por la Unión Europea para dar homogeneidad a
los proyectos ligados a su organización.

Metodologías orientadas a objetos: RUP



Vimos cómo evolucionaron las metodologías para responder al paradigma de la programación orientada a objetos. Ha habido varias metodologías, pero la que se ha consolidado actualmente y tiene más presencia en la ingeniería del software es el Proceso Unificado (RUP) que utiliza las técnicas proporcionadas por el Lenguajede Modelado Unificado (UML). RUP ha unificado
distintas metodologías y técnicas en una sola metodología. Así, RUP constituye la metodología
estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos.
Sus principales características son:
• Forma disciplinada de asignar y organizar tareas y responsabilidades (quién, cómo, qué, cuándo).
• Desarrollo iterativo e incremental.
• Proporciona mecanismos de gestión del proyecto administrando horarios y recursos.
• Facilita la gestión de requisitos a través de un proceso completo para su recogida y
documentación guiado por casos de uso.
• Centrada en la arquitectura para buscar su robustez con un producto que tenga el
comportamiento deseado.
• Basada en componentes reutilizables.
• Modelado visual del software utilizando el estándar UML (asegura el uso de herramientas CASE).
• Resulta fácil dividir el sistema en varios subsistemas independientes.
Metodologías Mixtas


 que toman en consideración tanto los procesos como los datos, añadiendo el factor tiempo según un modelo de eventos. Aunque fundamentalmente las metodologías estructuradas respondieron inicialmente a un ciclo de vida de cascada, algunas metodologías estructuradas han evolucionado con el tiempo hacia otros modelos de ciclos de vida incluyendo la posibilidad de realizar prototipos.
Metodologías estructuradas orientadas a datos no jerárquicos


En esta metodología se analizan los datos para crear un modelo que integre las entidades y las relaciones entre ellas. Estas entidades representan los elementos de la organización, por ejemplo una entidad podría ser un proveedor de la empresa. En este caso, los datos no tienen por qué responder a una estructura jerárquica sino que pueden relacionarse de cualquier otra forma, como por ejemplo en la figura, donde no hay una
estructura jerárquica.
Un ejemplo de este tipo de metodología es “Information Engineering” (IE) desarrollada por Martin y
Finkelstein en 1981.
Metodologías estructuradas orientadas a datos jerárquicos

En este caso la estructura de los datos es jerárquica y la estructura de control del programa que se
deriva del estudio de los datos también es jerárquica. Esto significa que hay una relación de jerarquía
entre los datos y pueden ser representados mediante árboles. Por ejemplo, como puede verse en la
figura, una estructura de datos jerárquica sería la representación del árbol genealógico de una familia.
En esta metodología, el procedimiento a seguir consiste en definir primero
las estructuras de los datos de entrada y salida (análisis de los datos),
mezclarlas todas en una estructura jerárquica de programa y después
ordenar detalladamente la lógica procedimental del programa (análisis de
los procesos) para que se ajuste a esta estructura jerárquica. Por tanto, en
esta metodología se crea en primer lugar el diccionario de datos y luego se
estudian las actualizaciones y modificaciones que deben realizarse a esos
datos para obtener las salidas definiendo de esta manera los procesos.
Como ejemplos de este tipo de metodologías tenemos las propuestas por Jackson (1975), Cameron
(1989), Warnier (1974) y Warnier/Orr (1981).
Metodologías estructuradas orientadas a datos


Dentro del modelo básico Entrada-Proceso-Salida, estas metodologías se centran en el estudio de los
datos a la entrada y de los resultados a la salida. Para ello definen cómo son esos datos, los agrupan
en estructuras de datos, y posteriormente describen los procesos.
La razón para hacer esto está en la creencia de que los datos son más estables que los procesos en
las empresas y sus sistemas, por lo que si identifico con éxito la estructura y naturaleza de estos datos
podré desarrollar posteriormente, a partir de esa estructura de datos, un modelo de procesos más estable
que si lo hago al contrario. En realidad, esto no siempre es cierto, sino que depende de cada
organización o empresa.
Metodologías estructuradas orientadas a procesos


Estas metodologías orientadas a procesos estudian cómo son transformados los flujos de datos por los
procesos, desde la entrada hasta la salida. Por tanto, hacen más hincapié en los procesos que en los
datos.
¿Cómo vamos a analizar estos flujos de información?
Siempre recurrimos a representaciones gráficas porque son las más útiles y fáciles de interpretar.
Estas representaciones gráficas son acompañadas por documentos de texto desarrollando lo que se
denomina especificación estructurada.
La especificación estructurada incluye estas técnicas:
Diagramas de Flujo de Datos (DFD): son una
representación gráfica que representa los procesos que
debe llevar a cabo el sistema informático y los datos que
hay a la entrada y salida de cada proceso. Utilizando el
concepto de abstracción, los procesos se van
describiendo al principio como procesos amplios y
complejos, para ir posteriormente descomponiéndolos
en procesos más simples. Este proceso se irá
repitiendo para realizar un refinamiento progresivo del
sistema. En la imagen podemos ver una herramienta
informática de ayuda para desarrollar DFD. En concreto se trata de la modelización de un almacén,
en la que aparece un proceso de gestión de compras y unas entidades de proveedores y almacén.
Entidad
Externa
Proceso
Proceso Proceso
Proceso
Proceso
Entidad
Externa
• Diccionario de Datos (DD): son las descripciones de todos los datos del sistema y de los elementos
que aparecen en el DFD.
• Especificaciones de procesos: es la descripción detallada de los procesos, es decir, explican cómo
se obtienen las salidas a partir de las entradas.
Para la realización de estas técnicas dispondremos de una serie de herramientas informáticas de ayuda
que permitan facilitar la realización de los DFD y automatizar parte del proceso. En la imagen anterior
tenemos un DFD con procesos, entidades y un almacén de datos.
􀂄 Fases de la especificación estructurada.
Pero, ¿cuáles son las fases de esta metodología?, ¿qué tareas y procedimientos asociados deben
realizarse? Vamos a verlo a continuación:
1. Fase de planificación inicial.
2. Fase de análisis:
• Descripción del modelo físico actual: se trata de describir el sistema actual del cliente que
podrá estar informatizado o no. Para ello, se realizan una serie de DFD que describen los
sistemas actuales.
• Elaboración del modelo lógico actual: a partir del modelo anterior, se realiza un nuevo
modelo que no dependa de elementos físicos, por ejemplo la organización actual de la
empresa o las ubicaciones en una u otra planta del edificio. Para ello, se realizan también
DFD.