기능요구사항 정리(21 07 12) - woowacourse-teams/2021-gpu-is-mine GitHub Wiki

기능 요구사항 정리

Lab

  • 현재 서비스에서는 1개의 lab 만 존재한다고 가정한다.
  • Lab에 관리자는 1명만 존재한다.
  • Lab에 사용자는 여러명이 될 수 있다.

GpuServer

  • GpuServer는 1개의 lab에 등록되어야 한다. (여러개의 lab에 등록 불가)
  • GpuServer는 1개의 GpuBoard만 존재한다고 가정한다.
  • GpuServer 삭제시, 관련있는 모든 GpuBoard, Job이 삭제된다.

GpuBoard

  • GpuBoard에 Job을 예약할 수 있다.
  • GpuServer 없이 GpuBoard는 존재하지 않는다. (GpuServer가 있어야만 GpuBoard가 존재할 수 있다.)

Job

  • 관리자, 사용자가 Job을 등록할 수 있다.
  • GpuBoard 에 등록되지 않은 Job은 존재할 수 없다. (즉, GpuBoard가 있어야 Job이 존재한다.)
  • 관리자, 혹은 해당 Job을 등록한 사용자만이 삭제할 수 있다.
  • 등록시 예상시간을 입력받는다.

GpuUser

  • Manager, Member로 나뉜다.
  • Manager, Member는 Lab에 소속된다.
  • 누구나 소속된 Lab의 GpuServer, GpuBoard, Job을 조회할 수 있다.

Manager

  • Manager는 GpuServer 등록, 삭제, 수정을 할 수 있다.
  • Manager는 Job 등록, 삭제를 할 수 있다.

Member

  • Member는 Job 등록, (등록한 job을) 삭제를 할 수 있다.