개발을 진행하다 보면 다 같은 기능인데 사용자 , 기획자 , 개발자가 보는 관점이 모두 다르다. 그런데 이 내용은 기획자 중심으로 정리가 되고 최근에는 유저 중심에서 정리가 되다 보니 개발자와의 기획자간의 잡음이 항상 끊이지 않는다.
그래서 이런 형식은 어떨지 생각을 해 보았다.
각 관점별로 기능에 대한 것들을 정리 하고 그것들에 대한 내용들을 적어 보고 그것들을 기획자 및 개발자가 서로 이야기를 해서 합의를 보는 것에 대해서..
아래는 좀 적다만 SAMPLE 제공 ...
프로젝트명
기능 분류 1
기능 분류 2
기능 코드
작성자
GENIUS
Setting 관련
권한 관리
AT_10001
장운봉
1. 사용자 관점
쉽게 하위 관리자들을 추가,권한을 주고 대회를 운영.
A. WCG는 특정인을 고용해서 특정 리그를 대행할 수 있다.
B. WCG는 특정 SP에게 특정 국가들의 대회를 관리하게 할 수 있다.
C. SP는 특정 Referee에게 특정 리그를 관리하게 한다. (Q&A , Appeal , Match 결과 등 )
D. 각 권한을 주는 프로세스는 간단했으면 한다.
E. 사용자는 관리자를 쉽게 신청할 수 있으면 좋겠다. ( 이메일이 아니라 웹을 통해서 )
2. 기획자 관점
쉽고 직관적인 인터페이스를 통해서 사용자가 관리자를 등록 / 승인.
전제 :
WCG = 모든권한 / OP = Operator (WCG가 고용) / SP=파트너 / Admin = Referee, Moderator 로 분리가 되며 이 권한구조는 하이라키 형태를 갖는다.
Referee의 권한 중에 리그 관리를 하는 기능에 있어 Event 및 League를 생성수정 하는 기능외의 리그가 진행 중일 때 관리하는 Match , Appeal , Q&A처리는 그 기능은 데이터 상에서는 명시가 되어 있으나 화면상에서 따로 권한을 부여하지 않는다. ( 예를 들면 A Referee는 Match만 B Referee는 Appeal만 이런 식으로는 관리하지 않는다. 단 , 데이터에서는 관리를 하고 있어 차후에 상세한 권한관리가 더 필요할 경우 이를 적용할 수 있게 한다. )
각 등급에는 필요한 기능들이 모두 명세되어 데이터화 되어 있으며 만약 추가로 더 필요한 예외의 기능들이 있다면 예외 권한 주기를 통하여 예외로 권한을 주는 방식을 택한다.
권한을 주고 나면 그 사람의 Email 로 권한에 대한 처리 결과를 나타내는 이메일이 자동으로 발송 된다. 권한을 막거나 삭제하게 되면 실시간으로 사용자에게 적용된다.
관리자 화면이라 함은 관리자들이 신청 또는 신청된 Tab으로 분리된 형태로 각 권한등급에 따라 WCG , OP , SP는 접근이 가능하고 자신이 관리하는 국가의 신청된 사용자를 볼 수 있으며 , 하위 등급에 대해서는 수정이 가능하나 , 상위 등급에 대해서는 수정이 불가능하고 , Referee는 이 메뉴자체에 접근이 불가능 하다.
자세한 사항은 # 권한 등급별 하이라키 와 # 권한 구조 의 별첨 문서를 참고 한다. 아래에서 관리자 화면이라고 되어 있는 부분은 관리자들을 신청한
A. 관리자 설정화면에서 권한 등급을 OP로 설정하고 [모든 국가의 리그 관리됨 ] ,이미 OP의 권한 등급에는 사용 가능한 기능들이 명세되어 있다. 특정한 리그에 대해서만 권한을 주려면 권한 등급을 Referee를 선택하고 국가와 리그를 선택한다.
B. 관리자 화면에서 권한 등급을 SP로 선택하고 관리하는 국가를 선택한다.
이미 권한 등급 SP에는 SP가 할 수 있는 권한들이 명세되어 그룹화 되어 있다.
C. 관리자 화면에서 SP가 관리하는 국가의 사용자들이 보이고 사용자 아이디를 클릭하면 관리자인지 신청한 사람인지 보이고 신청을 처리하고 나면 이에 권한을 줄 수 있다. 이에 특정 리그를 선택하여 권한을 주도록 한다.
D. 권한 그룹이라는 개념을 통해 미리 각 권한등급에 대한 권한을 데이터에 명세하고 이를 한번에 데이터에 처리 할 수 있도록 준비 한다.
E. GENIUS Main 에서 Register를 통해서 WCGZONE ID 를 입력하고 필요한 권한 등급을 선택하고 관리할 국가를 선택하면 신청이 되고 이를 관리자는 확인하고 이에 대한 권한을 주도록 한다. 대신 의미 없는 사람이 계속해서 신청할 경우가 있는데 이를 막을 방법을 생각해 본다. (IP BAN / 반려할 경우 데이터에서 삭제되고 , History Table로 이동 )
3. 개발자 관점
기능,권한에 대한 유연성 유지 , 복잡한 구조를 단순하게 표현 및 관리
구조 : 권한 등급을 먼저 설계하고 , 메뉴 및 기능을 분류하고 , 이에 대한 권한 등급에 대한 메뉴 및 기능에 권한들을 미리 정의한 Table을 만들고 승인시 이 테이블에 정리되어 있던 권한들이 데이터에 적용되도록 한다.
관리자 관련
관리자 신청 기능 , 관리자 권한 설정 , 관리자 권한 변경 , 관리자 리스트 , 관리자 정보 뷰 ( 프로필 및 권한 내용 그리고 권한 추가 변경 )
권한 그룹 관리
권한 그룹 생성 , 권한 그룹 수정
댓글 없음:
댓글 쓰기