License & Seat
구매자, 라이선스, seat, 사용권, 결제/환불/만료 상황을 사용자에게 설명 가능한 경계로 정리한다.
핵심 결론
License는 구매/소유의 기준이고, seat는 실제 사용 권한을 배정받은 자리다.
결제, 환불, 구매자는 이 경계를 설명하기 위한 사건이지 Architecture 정본의 중심이 아니다. 사용자가 “누가 샀고 누가 쓸 수 있는지” 이해할 수 있어야 한다.
라이선스와 사용권 다이어그램
소유
라이선스는 개인 계정에 남는다
구매 이력, 환불, 추가 사용자 구매의 기준은 개인 계정이다.
배정
사용권은 개인 계정으로 간다
본인 사용권이든 선물 받은 사용권이든 최종 사용 자격은 개인 계정에 붙는다.
설치
앱은 워크스페이스에 설치된다
설치는 앱을 어느 작업 공간에 보여줄지 정하는 상태이며 개인 사용권을 대신하지 않는다.
실행
권한 모델로 내려간다
실행 시에는 역할, 사용권, Operator를 다시 확인해 결과 모드를 정한다.
라이선스와 사용권 다이어그램은 “누가 샀는가”, “누가 쓸 수 있는가”, “어느 워크스페이스에 설치되어 있는가”, “실제로 조작 가능한가”를 분리해서 보여준다.
경계 용어
| 용어 | 의미 | 검수 질문 |
|---|---|---|
| 구매자 | 결제 또는 계약을 수행한 주체 | 구매자와 실제 사용자가 다를 때 안내가 가능한가 |
| 라이선스 | 상품/도구/권한을 사용할 수 있는 소유 기준 | 환불, 만료, 해지 시 무엇이 사라지는지 설명되는가 |
| seat | 특정 사용자에게 배정된 사용 자리 | 누가 seat를 받았고 회수할 수 있는지 보이는가 |
| 사용권 | 현재 사용자가 실제로 실행/접근할 수 있는 권한 | 결제했지만 권한이 없는 상태를 설명할 수 있는가 |
결제/환불 연결
| 상황 | 제품 판단 | UX 표시 |
|---|---|---|
| 구매 완료 | 라이선스가 생기고 seat 배정 가능 상태가 된다 | 구매자와 사용 가능 대상 분리 |
| seat 미배정 | 구매는 되었지만 특정 사용자는 아직 쓸 수 없다 | 관리자에게 배정 요청 |
| 환불/해지 | 라이선스 유지 여부와 seat 회수 조건을 분리한다 | 언제부터 접근이 막히는지 안내 |
| 만료 | 데이터 보존, 읽기 전용, 실행 차단 범위를 별도 판단한다 | Transition Conditions와 연결 |
검수 규칙
- 결제 성공이 곧 모든 사용자의 실행 권한을 뜻하지 않는다.
- 환불/만료/해지는 데이터 보존, 실행 차단, seat 회수로 나누어 설명한다.
- 구매자, 관리자, 실제 사용자 관점이 화면에서 섞이지 않아야 한다.
하위 연결
Pipeline에서는 구매 후 사용 가능 상태, seat 배정, 만료/차단 흐름으로 내려가고 UX UI에서는 권한/전환 안내로 내려간다.