- 사용자는 회원 가입을 할 수 있다.
- 필요 정보: 이메일, 나이, 비밀번호, 비밀번호 확인 정보
- 나이는 1 ~ 200 이하의 숫자여야 한다.
- 이메일은 이메일 형식이여야 한다.
- 공백은 입력 할 수 없다.
- 비밀번호는 최소 4글자에서 최대 20 글자여야 한다.
- 가입시 이미 가입한 이메일인지 중복 확인
- 필요 정보: 이메일, 나이, 비밀번호, 비밀번호 확인 정보
- 사용자는 가입한 계정으로 로그인을 할 수 있다.
- 로그인에 실패한 경우 실패한 이유를 확인할 수 있어야 한다.
- 사용자는 로그인 할 때 서버를 선택할 수 있다.
- 사용자는 로그인하여 지하철 노선도 관리 페이지에 접근할 수 있다.
- 사용자는 지하철 역을 추가할 수 있다.
- 역 이름: 2자 이상 20자 이하의 한글 (숫자 포함. 공백 허용 X)
- 사용자는 지하철 역을 삭제할 수 있다.
- 노선에 등록되어 있는 역인 경우 삭제할 수 없어야 한다.
- 사용자는 등록되어 있는 전체 지하철 역 목록을 조회할 수 있다.
- 사용자는 지하철 역 이름을 수정할 수 있다.
- 사용자는 지하철 노선을 추가할 수 있다.
- 필요 정보: 노선 이름, 상행역, 하행역, (최초 상행역과 하행역 구간의)거리, 색상
- 노선 이름: 2자 이상 10자 이하의 한글 (숫자 포함. 공백 허용 X)
- 상행역, 하행역: 기존에 등록되어 있는 지하철 역 목록 중에서 선택
- 상행역과 하행역을 동일할 수 없다.
- 색상: 미리 지정되어 있는 10가지 색상 중 한 색상 선택.
- 다른 노선에서 사용하는 색은 선택 불가능
- 사용자는 등록되어 있는 지하철 노선을 삭제할 수 있다.
- 사용자는 등록되어 있는 전체 지하철 노선 목록을 조회할 수 있다.
- 사용자는 특정 노선의 전체 구간 목록을 확인할 수 있다.
- 사용자는 특정 지하철 노선에 구간을 추가할 수 있다.
- 하나의 역은 여러 개 노선에 중복되어 포함될 수 있음
- 역과 역 사이에 새로운 역 추가 가능
- 하나의 노선에서 갈래길은 생길 수 없음
- 사용자는 노선에 등록되어 있는 구간을 삭제할 수 있다.
- 사용자는 노선에 등록되어 있는 구간의 거리를 수정할 수 있다.
- 사용자는 등록된 모든 노선과 역 정보를 확인할 수 있다.
- 환승역은 별도의 표시를 한다.
- 환승역에 마우스를 올리면 환승 노선에 대한 정보를 보여준다.