Planificación y administración del proyecto - Jonathana1106/MPointers GitHub Wiki

➔ Lista de features e historias de usuario identificados de la especificación

Features Primera Iteración

Reservar la memoria de MPointer.

Reservar la memoria del tipo de dato asignado a Mpointer.

Almacenar el dato.

-Sobrecargar el operador “*”.

Verificar el tipo de operandos con el operador “=”.

Si ambos son MPointer, copiar el puntero y el id de MPointer dentro del GC.

Verificar si el tipo del operando es el mismo a lo interno del MPointer.

-Obtener valor guardado con el operador “&”.

Liberar memoria con destructor de MPointer.

Inicializar la clase singleton MPointer.

Guardar la dirección de memoria de la instancia de MPointer en MPointerGC.

Dar un ID autogenerado a MPointer.

-Indicar cuándo la referencia a sido destruida a MPointerGC.

-Implementar QuickSort.

-Implementar BubbleSort.

-Implementar Insertion Sort

Features Segunda Iteración

-Iniciar server.

-Reservar memoria.

-Llamar a MPointerInit.

-Crear un puntero.

-Solicitar memoria el servidor.

-Encontrar espacio en el heap.

-Asignar un valor a MPointer.

-Guardar el valor en memoria del servidor.

➔ Historias de usuario

userStories

userStoriesI

userStoriesII

➔ Distribución de historias de usuario por criticalidad

criticalidad

➔ Plan de iteraciones que agrupen cada bloque de historias de usuario de forma que se vea un desarrollo incremental

1era iteración o minimal sistem spam se realiza para ralizar una version beta, seguidamente del minimal sistem spam se procede la segunda iteración para una obtimización del programa, finalmente se realiza la primera iteración para corregir erres menores en la funcionalidad del programa. A continuación se muestra un esquema del plan de iteraciones:

iteraciones

➔ Descomposición de cada user story en tareas.

  • Historia de usuario: Reservar la memoria de MPointer.

Tarea: Reservar la memoria de la clase de MPointer.

  • Historia de usuario: Reservar la memoria del tipo de dato asignado a Mpointer.

Tarea: Tomar el dato que se desea asignar al valor genérico del objeto MPointer y reservar la memoria.

  • Historia de usuario: Almacenar el dato.

Tarea: Almacenar el valor asignado al MPointer en el espacio reservado.

  • Historia de usuario: Sobrecargar el operador “*”.

Tareas: Sobrecargar el operador “*”. Usar el operador * para almacenar un valor.

  • Historia de usuario: Verificar el tipo de operandos con el operador “=”.

Tareas: Sobrecargar el operador “=”. Verificar el tipo de los operandos que están siendo igualados.

  • Historia de usuario: Si ambos son MPointer, copiar el puntero y el id de MPointer dentro del GC.

Tareas: Copiar el valor del primer MPointer al segundo MPointer. Copiar el valor del ID del primer MPointer a la clase GC.

  • Historia de usuario: Verificar si el tipo del operando es el mismo a lo interno del MPointer.

Tareas: Verificar el tipo interno del MPointer Verificar el tipo del operando Comparar los tipos obtenidos del MPointer y el operando

  • Historia de usuario: -Obtener valor guardado con el operador “&”.

Tarea: Devolver el valor interno del MPointer con el andpersand.

  • Historia de usuario: Liberar memoria con destructor de MPointer.

Tarea: Liberar la memoria utilizada por el MPointer al utilizar el destructor

  • Historia de usuario: Inicializar la clase singleton MPointer.

Tarea: Implementar singleton en MPointer.

  • Historia de usuario: Guardar la dirección de memoria de la instancia de MPointer en MPointerGC.

Tareas: Obtener la dirección de memoria del MPointer. Almacenar la dirección de memoria del MPointer en un nodo del MPointerGC.

  • Historia de usuario: Dar un ID autogenerado a MPointer.

Tareas: Crear un ID. Asignar un ID al MPointer.

  • Historia de usuario: Indicar cuándo la referencia a sido destruida a MPointerGC

Tareas: Verificar que no hay más MPointer en el GC. Informar cuándo está vacío y destruido el MPointerGC.

  • Historia de usuario: Implementar QuickSort

Tarea: Implementar QuickSort

  • Historia de usuario: Implementar BubbleSort

Tarea:Implementar BubbleSort

  • Historia de usuario: Implementar Insertion Sort

Tarea: Implementar Insertion Sort

➔ Asignación de tareas a cada miembro del equipo.

-Greivin Salas:

Tareas:

Copiar el valor del primer MPointer al segundo MPointer.

Copiar el valor del ID del primer MPointer a la clase GC.

Verificar el tipo interno del MPointer.

Verificar el tipo del operando.

Comparar los tipos obtenidos del MPointer y el operando.

Obtener la dirección de memoria del MPointer.

Almacenar la dirección de memoria del MPointer en un nodo del MPointerGC.

Crear un ID.

Asignar un ID al MPointer.

-Elías Arce:

Tareas:

Reservar la memoria de la clase de MPointer.

Tomar el dato que se desea asignar al valor genérico del objeto MPointer y reservar la memoria.

Almacenar el valor asignado al MPointer en el espacio reservado.

Liberar la memoria utilizada por el MPointer al utilizar el destructor.

Implementar singleton en MPointer.

Verificar que no hay más MPointer en el GC.

Informar cuándo está vacío y destruido el MPointerGC.

-Jonathan Guzmán:

Tareas:

Sobrecargar el operador “*”.

Usar el operador * para almacenar un valor.

Sobrecargar el operador “=”.

Verificar el tipo de los operandos que están siendo igualados.

Devolver el valor interno del MPointer con el andpersand.

Implementar QuickSort.

Implementar BubbleSort.

Implementar Insertion Sort.

Hacer malloc en el server y guardar la referencias.

Enviar ID donde se almacena internamente el MPointer.

Buscar en el mapa de memoria el ID indicado y guardar el valor.