Programación orientada a objetos
Open-DE
Jose Catalan - Christian Fuentes
Open-DE nace a partir de la necesidad de generar un entorno de trabajo más recreativo y agradable, haciendo que nuestro escritorio tenga un fondo de pantalla animado. Ya existen competencias enfocadas en sistemas windows, mas nuestra solución brinda soporte a sistemas linux con diferentes entornos de escritorio.
El proyecto se puede clonar de GitHub: https://github.com/jcatala/Open-DE
Casos de uso
1
- Nombre: Iniciar programa.
- Propósito: Comienza a cambiar las imágenes de fondo en segundo plano.
- Actores: Usuario en la computadora.
- Pre-condiciones: Modulo con las imágenes de fondo.
- Evento: Comando por terminal.
- Tipo: Manual
- Curso Normal de Eventos:
Usuario | Sistema |
- Usuario ejecuta el comando en terminal incluyendo entorno, módulo y tiempo de refresco.
| 3) Usuario presencia los cambios. |
|
2) El programa evalúa si los parámetros ingresados son correctos. | 4) El programa sigue funcionando hasta que el usuario lo finalice. |
|
- Curso alternativo de eventos:
Variante 1:
1A1. El usuario ingresa mal el entorno y/o módulo y/o tiempo de refresco.
2A1. El programa imprime el error y no arranca.
2
- Nombre: Añadir módulo.
- Propósito: Añadir un nuevo módulo de imágenes al programa.
- Actores: Usuario en la computadora.
- Pre-condiciones: Tener el programa instalado.
- Evento: añadir módulo al directorio correspondiente.
- Tipo: Manual
- Curso Normal de Eventos:
Usuario | Sistema |
- Adquirir módulo.
| 2) Usuario desplaza el módulo al directorio correspondiente. |
|
| 3) Es sistema verifica que el módulo se encuentre en el formato correcto (imagenes: thumbxxx.jpg). Se puede seguir en el caso de uso 1. |
|
- Curso alternativo de eventos:
Variante 1:
3A1. El formato de imágenes no corresponde al solicitado. Se recomienda ocupar módulos oficiales.
3
- Nombre: automatización del programa al inicio del sistema.
- Propósito: Hacer que el programa inicie automáticamente cuando el sistema arranque.
- Actores: Usuario en la computadora.
- Pre-condiciones: Tener el programa correctamente funcionando.
- Evento: Modificar los programas de inicio del sistema.
- Tipo: Manual.
- Curso Normal de Eventos:
Usuario | Sistema |
- El usuario ocupa un programa externo para automatizar el inicio del programa (ej. Alacarte)
| 2) Usuario reinicia el sistema para verificar si se hicieron los cambios correctamente. |
|
| 3) El programa inicia junto al sistema. |
|
- Curso alternativo de eventos:
Variante 1:
1A1. El usuario decide hacer el proceso de modificación manualmente, modificando el archivo de configuración del entorno de escritorio correspondiente.
Diagrama de clases
Environment |
|
- Environment(string name, string command)
- string getCommand()
- string getName()
|
Modules |
- vector<string> images
- double schedule
- int cantidad
|
- Modules(vector<string> im, double sche)
- void setSchedule(double a)
- int getTotal()
- string getNameAt(int a)
|
Diagrama de secuencia
Prueba caso de uso 1
1. Usuario ejecuta el comando en terminal incluyendo entorno, módulo y tiempo de refresco
2. El programa evalúa si los parámetros ingresados son correctos.
3. Usuario presencia los cambios
4. El programa sigue funcionando hasta que el usuario lo finalice.
Dificultades
- Para el entorno KDE no existía soporte directo por lo que se desarrolló un script en python que envía las imágenes de fondo por el BUS directo.
- Para dejar todas las imágenes en el formato correcto se hizo uso de un programa en python (pyRenamer).
- Identificar los comandos necesarios para cambiar el fondo en cada sistema linux.