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.

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.

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