Índice

Análisis


Detalle de HH.UU.

Caso de uso REQ-38 Como CAEQ quiero tener una lista de candidatos que cumplan con los requisitos para determinar quién puede votar.
Actores Administrador CAEQ
Tipo MVP
Referencias N/A
Precondición El usuario debe estar registrado en la plataforma y contar con su información actualizada en el sistema para cumplir con los requisitos.
Postcondición Mostrar únicamente los posibles candidatos a ser presidente o votar.
Descripción El usuario de tipo administrador del CAEQ accede al directorio donde se muestra la lista de los colegiados que tienen la posibilidad de votar (Derechos vigentes).
Resumen Administrativo del CAEQ consulta lista de arquitectos candidatos a votar.

Diagrama de Actividades

@startuml
start
  :Usuario selecciona la pantalla de lista de candidatos;
  if (Lista de candidatos) then (Sí)
    :Sistema muestra Lista completa de colegiados candidatos;
  else (No)
    :Sistema muestra mensaje de error "No hay datos disponibles";
  endif
  :Usuario cierra la pantalla de lista de candidatos;
stop
@enduml

Untitled

MER

Untitled

MockUp

Untitled

Reglas de negocio para el requisito

Diseño


Diagrama de paquetes

@startuml
database "Mongo DB" {
  folder "Architect Users" {
    [architect.users]
  }
}

node "Backend" {
  folder "models" {
    [architect.users.model.js]
  }
  folder "controllers" {
    [architect.user.controller.js]
  }
  folder "routes" {
    [architect.users.routes.js]
  }
  folder "Backend utils" {
    [apiFeatures.js]
    [catchAsync.js]
  }
  [App.js]
}

node "Frontend" {
  folder "screens" {
    [Directory.js]
  }
  folder "components" {
    folder "inputs" {
      [DropdownInput.js]
    }
  folder "Table" {
      [InteractiveTable.js]
    }
  }
  folder "client" {
    folder "ArchitectUser" {
      [ArchitectUser.GET.js]
    }
  }
  folder "utils" {
    [alertHandler.js]
  }
}

[Directory.js] --> [ArchitectUser.GET.js]
[Directory.js] --> [BaseButton.js]
[Directory.js] --> [DropdownInput.js]
[Directory.js] --> [InteractiveTable.js]
[Directory.js] --> [alertHandler.js]
[ArchitectUser.GET.js] --> [architect.users.routes.js]
[architect.users.routes.js] --> [architect.user.controller.js]
[architect.user.controller.js] --> [apiFeatures.js]
[architect.user.controller.js] --> [catchAsync.js]
[architect.user.controller.js] --> [architect.users.model.js]
[architect.users.model.js] --> [Mongo DB]
@enduml

Untitled

Diseño de la API