Uml

Definición

Lenguaje Unificado de Modelado (UML1, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad. Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema de software. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocios y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes de software reutilizables.

Lista de diagramas de clase

Diagrama de clases general

En este diagrama aparecen representadas todas las clases de la aplicación, incluso algunas que no han sido desarrolladas por estar fuera del alcance.
class-backend-daemon.png

Diagrama de clases de GUI

En este diagrama aparecen representadas todas las clases de la interfaz gráfica del usuario (GUI).

class-gui-sin-flechas.png

Diagrama de clases del backend

En este diagrama aparecen representadas todas las clases que forman parte del backend (que incluye a los módulos Watcher, SnapshotManager, Logger y Database).

class-backend-daemon2.png

Diagrama de componentes

En él se muestran los componentes que forman la aplicación.

component-diagram.png

Diagrama de estado

Diagrama de estados del demonio HDLorean. En él se muestran los distintos estados en que se puede encontrar la aplicación.

state-diagram.png

Diagrama de despliegue

Diagrama de despliegue de la aplicación. Se muestran los distintos equipos que estarían implicados en el proceso, los clientes y el servidor.

deployment-diagram.png

Lista de diagramas de actividad

Diagrama de actividad de añadir carpeta a indexar.

El usuario elige una carpeta para añadir a las ya vigiladas. El caso para un archivo sería similar.

activity-añadirCarpInd.png

Diagrama de actividad de eliminar una carpeta indexada

El usuario elige una dejar de vigilar una carpeta previamente añadida. El caso para un archivo sería similar.

activity-eliminarCarpInd.png

Diagrama de actividad de excluir una carpeta a indexar.

El usuario elige una carpeta para excluir de las vigiladas. El caso para un archivo sería similar.
Es útil para el caso en que se ha añadido una carpeta de la cual se quiere vigilar casi todo su contenido excepto una parte, que sería lo excuído.

activity-excluirCarpInd.png

Diagrama de actividad de borrar una versión.

El usuario elige borrar una versión.

activity-deleteOne.png

Diagrama de actividad de restaurar una versión sin sobreescribir.

El usuario elige restaurar una versión sin borrar la actual.

activity-restWithoutOver.png

Diagrama de actividad de crear una versión.

El usuario, cron o inotify crean una versión en ese momento.

activity-makeSnapshot.png

Diagrama de actividad de preferencias.

El usuario decide cambiar una preferencia. Este es el caso general.

activity-preferences.png

Lista de diagramas de secuencia

Diagrama de secuencia de makeSnapshot cuando lo llevan a cabo cron o inotify.

Cron o inotify detectan un evento que les indica que deben crear una versión.

sequence-cron-inotifySnapshot.png

Diagrama de secuencia de makeSnapshot cuando lo lleva a cabo el usuario.

El usuario elige crear una nueva versión.

sequence-userSnapshot.png

Diagrama de secuencia de getPeriodically.

El usuario da al botón preferencias. La aplicación crea está ventana, para lo cual necesita recuperar los datos almacenados en el fichero de configuración. Este es un caso genérico.

sequence-getPeriodically.png

Diagrama de secuencia de setPeriodically.

El usuario elige cambiar la periodicidad con que se harán las copias de seguridad. Ha de modificarse, por tanto, el fichero de configuración. En este caso, también habrá que actualizar el crontab.

sequence-setPeriodically.png

Diagrama de secuencia de setEveryChange.

El usuario elige crear una nueva versión cada vez que se produzcan cambios (activar inotify). Es el caso genérico de cambiar una preferencia.

sequence-setEveryChange.png

Diagrama de secuencia de restWithoutOverwrite.

El usuario elige recuperar una versión sin borrar la actual.

sequence-restWithoutOver.png

Diagrama de secuencia de scheduler.

Scheduler es el planificador del programa. Atendiendo a varios aspectos de la configuración elige el momento idóneo para llevar a cabo los distintos procesos del sistema, como puede ser crear nuevas versiones.

sequence-scheduler.png
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License