¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
Black Friday: -15 € a partir de 50 € en todos los libros online, eformaciones... con el código BLACK15. Pulse aquí
  1. Libros
  2. Gestión de proyectos informáticos
  3. El análisis
Extrait - Gestión de proyectos informáticos Desarrollo, análisis y control (3ª edición)
Extractos del libro
Gestión de proyectos informáticos Desarrollo, análisis y control (3ª edición) Volver a la página de compra del libro

El análisis

El área del negocio

El área del negocio se centra en la estructuración de los datos que se considere para el sector de actividad, pero independientemente de la aplicación. Es la razón por la que solo nos interesaremos por los diagramas Merise que se centran en los datos, y eliminaremos de esta presentación los relativos a los tratamientos.

El objetivo de este capítulo no es estudiar las bases de datos o la programación orientada a objetos, sino echar un vistazo a la estructuración de los datos que se incluyen en la solución, que poco a poco se formaliza en el análisis. Esto significa que los métodos Merise y UML se tienen que completar en el seno de un proyecto, y no considerarse de manera independiente o exclusiva.

1. Las bases de datos relacionales

Las bases de datos relacionales representan la esencia de los sistemas de información que funcionan actualmente. Su funcionamiento se definió a mediados de los años setenta y prácticamente no ha evolucionado desde entonces, incluso aunque la tecnología que les da soporte haya hecho progresos asombrosos, siempre aportando más potencia y fiabilidad.

a. Las tablas

Se trata de estructuras esenciales de una base de datos; una tabla es una matriz que contiene los registros formateados en sus columnas (que llamamos también campos o fields).

Tabla Persona

Nombre

Apellido

Edad

Registro 1

Ángel

Sánchez

38

Registro 2

María

González-Aller

36

Registro 3

María

Sánchez

32

La tabla es la representación lógica de una entidad de la que toma el nombre. Las propiedades de la entidad se convierten en las columnas de la tabla. Cada campo se caracteriza por su nombre y su tipo.

Tabla Persona

Nombre

Texto

Apellido

Texto

Edad

Número entero

El sistema de gestión de base de datos (SGBD) es el software encargado de organizar el soporte físico de las tablas, en forma de archivos secuenciales o indexados. Ofrece capacidades de búsqueda, inserción, actualización y eliminación de los registros, así como soporte a los accesos concurrentes.

b. Las claves y las relaciones

Las tablas de una base de datos se relacionan gracias a las claves, que definen las correspondencias. Estas relaciones expresan las "reglas de gestión" propias del área funcional.

Tabla suscriptor...

El perímetro funcional

El perímetro funcional delimita las aplicaciones que componen el sistema de información. En el marco de un proyecto, designa el conjunto de módulos que forma una aplicación (o un conjunto de aplicaciones).

Si el nivel de detalle necesario para representar el área del negocio (granularidad) parece ser la unidad, el utilizado para describir el perímetro funcional parece ser mucho más difícil estimar. Esto implica el empleo de una multitud de sinónimos para hacer referencia a los elementos de una solución de software: módulo, control, componente, función (funcionalidad), actividad, aspecto funcional, bloque, subsistema... Se hace evidente que esta imprecisión provoca importantes fluctuaciones en la estimación de un proyecto. La granularidad tiende a simplificar mucho la arquitectura funcional del producto o a complicarla mucho, multiplicando los "submódulos".

Por tanto, nuestro propósito es proponer una descripción con un nivel de detalle compartido normalmente entre el conjunto de los protagonistas habituales de un proyecto. De esta manera, la estimación no será más justa, pero resultará relativamente más probable.

1. Los procesos y los flujos de trabajo (workflows)

Un flujo de trabajo (workflow) es una secuencia de operaciones, automatizada o no, desarrollada por varios actores. Un actor es un usuario o un sistema automatizado. 

Un proceso es la descripción formal de un flujo de trabajo; consideremos que un proceso es una secuencia de operaciones que se desarrollan en el seno de un conjunto de aplicaciones.

En el primer nivel de descripción de un sistema multi-aplicativo, solo cuentan las actividades de un workflow; las transiciones (condiciones para pasar de una actividad a la otra) no tienen interés y no figuran en esta etapa del análisis.

images/5-10.png

2. El mapeo funcional

El mapeo funcional es la división de un sistema de software (de un sistema de información) en módulos, que implementan las actividades de los workflows que soportan las aplicaciones. Una aplicación es, por tanto, una selección "coherente" de módulos desplegados dentro de un sistema de información. La misión del DSI es enriquecer su sistema de aplicaciones, minimizando la introducción de nuevos...

El contexto técnico en fase de análisis

Los autores de la metodología RUP defienden la idea de una influencia mutua entre las funcionalidades de un sistema y los medios responsables de su soporte; se admite que el diseño de la plataforma es posterior al análisis de las especificaciones, y a la inversa también es cierto. Dicho de otra manera, la funcionalidad de un software se puede añadir condicionada por el entorno de ejecución.

Nuestro propósito no es decantarnos por la parte funcional o técnica, sino hacer surgir los elementos del proyecto, responsables de la integración "armoniosa" de estas dos partes.

1. Las herramientas de búsqueda de información

En esta sección nos interesamos por los lenguajes que el programador tiene disponibles para explotar grandes cantidades de datos. Estos lenguajes se definen teniendo en cuenta la estructura (naturaleza) de los datos y las restricciones de hardware, tales como la capacidad de representación, lectura, búsqueda, modificación transaccional... De una manera general, solo los lenguajes con entornos de ejecución concretos y con buen rendimiento han durado más allá de su primera generación.

Partiendo del principio de que el análisis ha identificado el empleo de componentes orientados a datos (SQL, XML...), vamos a describir cómo se integran estos lenguajes en las aplicaciones en las que intervienen varias tecnologías.

a. El lenguaje SQL

Este lenguaje describe una parte consistente de las aplicaciones del sistema de información. Es cierto que las bases de datos relacionales forman la parte esencial del SI, incluso aunque la aparición de XML haya erosionado ligeramente esta posición.

SQL está organizado en registros de instrucciones especializadas en el manejo de datos, el mantenimiento del modelo relacional y la administración del sistema de gestión de las bases de datos.

Consulta

SELECT

Consulta una tabla o vista.

DML

INSERT, UPDATE, DELETE, BEGIN TRAN, COMMIT, ROLLBACK

Añade, modifica o elimina registros. Inicia una transacción, valida o anula una transacción.

DDL

CREATE (TABLE, VIEW, PROCEDURE, INDEX...), DROP, ADD CONSTRAINT

Crea y elimina una tabla, vista, procedimiento almacenado o índice. Añade una restricción (relacional, de unicidad...).

Administración...

La documentación de proyecto

¿Cómo entender un proyecto cuando lo hemos integrado hace poco al equipo? ¿Cómo evaluar los puntos bloqueantes, los aspectos cruciales, los ejes principales de un proceso en continua evolución? La documentación de proyecto hace "vivir" o "revivir" este proceso. Sirve a lo largo del camino al conjunto de protagonistas y a posteriori, constituye una referencia imprescindible, una memoria que permitirá a los futuros proyectos comenzar y avanzar más rápidamente.

1. Las especificaciones

Como ya hemos comentado, las especificaciones son más a menudo criticadas que ensalzadas. Se trata de un documento imprescindible para la realización de un proyecto.

El principal problema relacionado con su redacción está en que la interpretación pueda ser ambigua, dependiendo de si alguien está en el lado del director de programa o del jefe de producto. De hecho, los clientes algunas veces tienen dificultades para expresar claramente sus necesidades (significa que, algunas veces, la mejor expresión corresponde al software realizado). También sucede que, gracias a la experiencia, los clientes dan respuestas poco claras a las preguntas, buscando de esta manera optimizar su margen de maniobra y posponer sus decisiones. La empresa encargada de la realización, persigue precisamente el objetivo opuesto: cuando más rápido identifique el perímetro de la solución, mejor será el rendimiento del proyecto, a través de la capitalización del know-how.

La situación parece difícil de resolver y, sin embargo, se impone rápidamente, ya que las especificaciones son el principal anexo técnico de un contrato de desarrollo informático.

Parece claro que los malentendidos provienen del carácter "congelado" de las especificaciones. Sería un fin en sí mismo. Pero si no es así, la solución consiste en leer otra vez la observación anterior. Si la mejor expresión de una necesidad de cliente está en el software, esta no es más que una derivación de un conjunto de hechos que tiene su raíz en las especificaciones.

Dicho de otra manera, las especificaciones no son un documento congelado, sino más...

Análisis del proyecto de control de actividad

Ángel sigue la metodología del proceso unificado (basado en UML), con el objetivo de describir el sistema de software que debe desarrollar. En primer lugar, se concentra en los aspectos funcionales (caso de uso) que presentará como una lista de procesos (escenarios). En segundo lugar, Ángel se preocupa de la plataforma técnica y de los problemas de integración.

1. El dossier de integración funcional

En primer lugar, el equipo de analistas lista los procesos del sistema de software. Esta lista se obtiene describiendo los casos de uso (UML) en escenarios. Se reproduce a continuación de manera resumida.

Actor

Caso de uso

Inicio

Proceso

Administrador

Configuración

Manual

Lista de los KPI

Administrador

Configuración

Manual

Permisos de acceso

Administrador

Control

Manual

Supervisión producción de indicadores

Administrador

Control

Manual

Supervisión copia de seguridad

Administrador

Configuración

Manuel

Activa los canales de difusión

Agente

Extracción de datos

Automático (periódico)

Extracción de software financiero

Agente

Extracción de datos

Automático (periódico)

Extracción Excel direcciones

Agente

Extracción de datos

Automático (periódico)

Extracción bases de datos

Agente

Producción

Automático (periódico)

Informe herramienta decisional

Agente

Producción

Automático (periódico)

Informe intranet

Agente

Producción

Automático (periódico)

Informe web TV

Agente

Producción

Automático (periódico)

Correo electrónico moderador

Moderador

Producción

Manual

Valida informes web TV e intranet

Agente

Producción

Automático (periódico)

Actualización de los KPI

Para modelizar los flujos, el equipo se basa en un diagrama de integración funcional entre las aplicaciones.

images/5.png

Después, el equipo mapea los procesos...