기능요구사항 정리(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을) 삭제를 할 수 있다.