Skip to content

b. Planificación y Administración del Proyecto.

OscarAraya18 edited this page Jun 12, 2019 · 5 revisions

Historias de usuario:

Historia de usuario Descripción
1 Yo como usuario quiero que MyInvencibleLibrary funcione como un sistema cliente/servidor.
2 Yo como usuario quiero poder almacenar galerías de imágenes.
3 Yo como usuario quiero que el sistema tenga la capacidad de reponerse a fallos.
4 Yo como usuario quiero que el sistema cuente con ServerLibrary, RAID Library, Metadata DB y MyIDE.
5 Yo como usuario quiero que cada galería creada esté conformada por un conjunto de imágenes.
6 Yo como como usuario quiero que el sistema pueda estar conformado por un conjunto de álbumes.
7 Yo como usuario quiero que se implemente una biblioteca que funcione como controlador de RAID 5 dentro del RAID Library, que sea capaz de leer, escribir y buscar datos.
8 Yo como usuario quiero que estas funciones se comporten como las funciones tradicionales de manejo de archivos.
9 Yo como usuario quiero que el controlador del RAID Library gestione los discos virtuales.
10 Yo como usuario quiero que cada uno de estos discos virtuales sea una única carpeta en el sistema de archivos donde se encuentran los bloques de cada archivo.
11 Yo como usuario quiero que si se quiere guardar un imagen de n bytes el controlador active la función de escritura (write) y se divida el archivo en bloques.
12 Yo como usuario quiero que para cada uno de estos bloques se cree un archivo en las carpetas de los discos virtuales.
13 Yo como usuario quiero que cada vez que se almacene una imagen de n bytes se calcule el bit de paridad para cada bloque de información.
14 Yo como usuario quiero que el controlador mantenga información adicional para encontrar los bloques del archivo y para poder recuperar datos en caso de perder alguno de los discos virtuales.
15 Yo como usuario quiero que el sistema de Metadata DB sea una base de datos NoSQL.
16 Yo como usuario quiero que la metadata de Metadata DB se almacene en archivos JSON o XML.
17 Yo como usuario quiero que para cada imágen en el Metadata DB gestione la información de nombre, autor, año de creación, tamaño y descripción.
18 Yo como usuario quiero que MyIDE sea una aplicación que se instale en los cliente, programada en C++ para el sistema operativo Linux.
19 Yo como usuario quiero que MyIDE permita agregar metadata, consultar metadata, elminar metadata y modificar metadata.
20 Yo como usuario quiero que esta operaciones de MyIDE sigan la sintaxis de SQL (INSERT, SELECT, UPDATE Y DELETE).
21 Yo como usuario quiero que se puedan abrir las imágenes asociadas a alguna metadata desde MyIDE.
22 Yo como usuario quiero que se puedan agregar galerías o imágenes desde MyIDE (no por medio de scripts).
23 Yo como usuario quiero que se puedan mostrar las imágenes desde MyIDE, aun cuando se pierda alguno de los discos virtuales que almacenan esta imagen.

Descomposición de cada historia de usuario en tareas:

Historia de usuario 1:

a. Se crea un servidor que maneje los distintos componentes del sistema (MetadataDB, RAID 5, algoritmos de compresión y funcionalidades de rollback y commit).
b. Se crea un cliente que pueda realizar solicitudes al servidor, para almacenar, solicitar, o consultar imágenes desde el servidor.

Historia de usuario 2:

a. Se cifran las imágenes en cadenas de bytes para poder enviarlos desde el cliente hasta el servidor vía JSON.
b. Se envía la información correspondiente a la metadata desde el cliente hasta el servidor vía JSON.
c. Se almacena la imagen recibida por el servidor en el RAID 5, y la metadata en la MetadataDB).