Está en la página 1de 1

Planilla Puntajes Primer Obligatorio -P3

Checklist Obligatorio 1 P3 - Fecha de entrega en gestión del obligatorio: 13/10/2022


GRUPOS N3A y N3C Puntaje total: 30 puntos
Estudiantes:

Item Cumple Observaciones


Varios
Datos de prueba (BD o scripts)
Obligatoriamente: Al menos 10 instancias de cada entidad. Datos suficientes para probar todos los
requerimientos. (12 países).
Sugerencia: preparar los json para las operaciones CRUD de País y selección y guardarlos en archivos para
optimizar tiempo de defensa.
Implementado en Visual Studio 2019 con EF Core, C#, EF, Web Api

Presentación de la Documentación (pdf con los diagramas, carátula y tabla contenido)


Carátula con el nombre, número de estudiante y foto de los integrantes del grupo
Tabla de contenido con la página en que se ubica cada ítem de la documentación
Diagrama de los casos de uso detectados, incluyendo los actores para los roles mencionados en la letra
Diagrama de clases de entidades de negocio, repositorios, capa aplicación e interfaces relacionadas.
Además: ASTAH con todos los diagramas entregados.

Arquitectura/Diseño/Estilo de programación
Cada clase cumple con sus responsabilidades, y solo con las que les corresponde.
Incluye al menos proyectos separados para Lógica negocio (dominio),
capa de aplicación con casos de uso, repositorios, webapi y presentación (web MVC o consola)
Cada capa se comunica con la capa correspondiente mediante inyección de dependencias y depende de
interfaces, no de clases concretas.
Cada capa resuelve exclusivamente sus responsabilidades.
Incluye las entidades necesarias
Implementa interfaz de validación
Lanza excepciones para propagar errores de validación, duplicados, etc.
Declara las interfaces apropiadas para los repositorios.
Accede a la BD exclusivamente desde la capa de datos (repositorios).
El dominio no tiene dependencias hacia objetos concretos de otras capas.
Métodos/variables, etc. con nombres apropiados
Métodos que resuelven una sola responsabilidad.
Cadena de conexión no codificada en duro (incluida en appsettings).
Captura las excepciones

CRUD DE PAÍSES

Alta
Implementado en Consola o web a elección.
Nombre, código iso, pbi, población, nombre de imagen, región.
Nombre país caracteres alfabéticos, espacio. Único.
Código iso 3 caracteres y comienza con primera letra del país. Es único.
Regiones: áfrica, américa, asia, europa y oceanía.
Números positivos
Imágenes países precargadas en carpeta y nombre código iso, extensión png.
Queda guardado en la BD utilizando repositorio y EF.

Baja
Implementado en Consola o web a elección.
No da de baja el país si ya tiene selección agregada.
Retorna código http correcto.

Modificación de datos del país.


Permite modificar el nombre, el código iso, datos numéricos, nombre de imagen, región.
Aplica las validaciones consistentemente.

Búsqueda por id
Retorna el país correcto.
Indica si no hay resultados.

Búsqueda por código iso.


Retorna el país correcto.
Indica si no hay resultados.

Obtener los países de una región.


Retorna los países de la región con todos sus datos.
(la imagen no es necesario mostrarla, solo el nombre)
Indica si no hay países de la región.

CRUD DE SELECCIÓN CLASIFICADA

Alta
WebApi
Verifica selección única por país.
Verifica nombre de contacto alfabético o espacio embebido.
Mail válido.
Teléfono 7 caracteres numéricos.
Apostadores > 0
Grupo A-H
Retorna código HTTP apropiado cuando ok y cuando error.

Baja
Permite dar la baja.
No da la baja si tiene objetos relacionados: partidos, incidencias.

Modificación.
Permite modificar los datos de contacto, apostadores y grupo.
Verifica con las mismas reglas que en el alta.
Retorna código HTTP apropiado.

Búsqueda por Id
Retorna la selección dado su Id (con todos sus datos, incluyendo país).
Retorna código apropiado si no encuentra.

Obtener todas las selecciones.


Retorna las selecciones con todos sus datos, incluyendo país
Retorna código apropiado para cada caso.

Registro de fixture (partidos)


WebApi
Las dos selecciones, la fecha, hora.
Controla que ninguna de las selecciones tenga ya 3 partidos.
Controla que no haya jugado ya con la otra selección.
Fecha incluida entre 20/11/2022 y 2/12/2022
Horario: 7,10,13 y 16
No superpone partido el mismo día/horario
La selección no juega contra sí misma.
La selección contrincante pertenece al mismo grupo.
Retorna código HTTP apropiado si la da de alta o si hay error.

Registro de resultados e incidencias de partidos.


WebApi
Cantidad de goles de cada selección.
Rojas, amarillas y rojas directa de cada selección.
Numéricos positivos
Permite calcular el puntaje que obtuvo cada selección (no es necesario guardar puntajes, alcanza con
tener los métodos para calcular a partir de los resultados de partidos).
Para este obligatorio se puede cargar con EF el partido con sus objetos relacionados para calcular el
puntaje (estilo Programación 2), no es necesario hacerlo mediante consulta Linq.
Retorna código HTTP apropiado si la da de alta o si hay error.

Obtener información de grupo y su fixture.


WebApi
Dado el nombre de grupo retorna los partidos de ese grupo:
Fecha - Hora - datos selección 1 - datos selección 2
En partidos jugados incluye goles e incidencias.
Retorna código HTTP apropiado cuando hay partidos registrados en el grupo, si no hay partidos o si hay
error.

TOTAL DE PUNTOS

COMENTARIOS

También podría gustarte