Ir al contenido

Semana 1

  1. Entender el enunciado del proyecto.
  2. Identificar los módulos funcionales y distribuirlos (al menos uno por estudiante).
  3. Construir el diagrama de clases del módulo funcional.
  4. Construir los datos de prueba en un gist.
  1. Cada estudiante crea un repositorio individual a través de Classroom50.
  2. Un solo estudiante del grupo crea un repositorio grupal a través de Classroom50 e invita a los demás estudiantes del grupo como colaboradores. Este es el mismo proceso realizado en el taller de Git y GitHub en la sección de Preparación.
  1. De forma individual cada estudiante lee el enunciado del proyecto, construye un prototipo con IA generativa.
  2. Con base en la lectura y el prototipo anota sus dudas o inquietudes.
  3. En reunión con su equipo discuten el entendimiento del enunciado con base en las diferencias entre los prototipos y las dudas de cada uno.
  4. En equipo identifican y distribuyen los módulos funcionales. Por cada módulo se define un propósito claro dentro de la aplicación. Por ejemplo: el módulo de compras, el módulo de manejo de inventario, el módulo de manejo de premios, etc.

Cada estudiante:

  1. Escribe la lista de servicios principales que su módulo ofrece en formato resumen de las historias de usuario.
  2. Construye el diagrama de clases de su módulo utilizando Lucidchart. Cada módulo funcional debe tener al menos 3 entidades relacionadas. Por ejemplo: el módulo de artistas tiene la entidad Artista, la entidad Álbum y la entidad Canción.
  3. Construye el gist con datos ejemplo de sus entidades. Esto lo puede hacer con IA a partir del diagrama de clases.
Aunque el trabajo se hace en el repositorio individual, todo debe quedar visible desde la wiki del grupo, copiado directamente o enlazado desde ahí.
Fecha de entrega: Viernes 14 de agosto 11:59 PM

El estudiante debe subir a su repositorio individual:

  1. En una carpeta docs: su prototipo y el prompt con el cual lo generó.
  2. Realizar el gist con los datos de prueba de su módulo funcional.

El estudiante debe agregar a la wiki de su grupo:

  1. Un enlace a su prototipo (el que subió a su repositorio individual).
  2. La lista de servicios principales de su módulo funcional (resumen de sus historias de usuario).
  3. La imagen del diagrama de clases creado en Lucidchart.
  4. El enlace al gist con los datos de prueba de su módulo funcional.

Entidades del módulo manejo de artistas que contiene las entidades: Artista, Álbum y Canción.

Id Nombre Resumen
HU01 Consultar catálogo de artistas Como usuario visitante quiero navegar el catálogo de artistas para conocer los artistas disponibles en la plataforma.
HU02 Consultar el detalle de un artista Como usuario visitante quiero ver el detalle de un artista, con sus álbumes y las canciones de cada álbum, para conocer toda su discografía.
HU03 Agregar un nuevo artista Como administrador del sistema quiero agregar un nuevo artista para mantener actualizado el catálogo de la plataforma.

Un artista tiene muchos álbumes; cada álbum tiene muchas canciones.

classDiagram
    class Artista {
        +String nombre
        +String foto
        +List~String~ generosMusicales
    }
    class Album {
        +String nombre
    }
    class Cancion {
        +String nombre
        +Number duracion
    }
    Artista "1" --> "0..*" Album : tiene
    Album "1" --> "1..*" Cancion : contiene
  • Artista: nombre, foto (URL de la imagen) y generosMusicales (lista de géneros).
  • Álbum: nombre. Pertenece a un artista.
  • Canción: nombre y duracion (en segundos). Pertenece a un álbum.
{
"artistas": [
{
"id": 1,
"nombre": "Shakira",
"foto": "https://example.com/fotos/shakira.jpg",
"generosMusicales": ["Pop", "Rock latino"],
"albumes": [
{
"id": 1,
"nombre": "Pies Descalzos",
"canciones": [
{ "id": 1, "nombre": "Estoy Aquí", "duracion": 227 },
{ "id": 2, "nombre": "Un Poco de Amor", "duracion": 227 }
]
},
{
"id": 2,
"nombre": "¿Dónde Están los Ladrones?",
"canciones": [
{ "id": 3, "nombre": "Ojos Así", "duracion": 254 },
{ "id": 4, "nombre": "", "duracion": 218 }
]
}
]
},
{
"id": 2,
"nombre": "Bomba Estéreo",
"foto": "https://example.com/fotos/bomba-estereo.jpg",
"generosMusicales": ["Cumbia", "Electrónica"],
"albumes": [
{
"id": 3,
"nombre": "Deja",
"canciones": [
{ "id": 5, "nombre": "Soy Yo", "duracion": 221 },
{ "id": 6, "nombre": "Fiesta", "duracion": 195 }
]
}
]
}
]
}