가이드라인: 액터
주제
시스템 용도를 완전히 이해하려면 누구를 위한 시스템인지 즉,
누가 시스템을 사용할 것인지 알고 있어야 합니다. 여러 가지 사용자 유형은
액터로 표시됩니다.
시스템을 사용하여
데이터를 교환하는 것이면 무엇이든 액터입니다. 액터는 사용자, 외부 하드웨어 또는
또 다른 시스템일 수 있습니다.
액터와 개별 시스템 사용자와의 차이점은 액터는 실제 사용자와 달리
사용자의 특정 클래스를 나타낸다는 것입니다.
몇 명의 사용자가 동일한 역할을 수행할 수 있는 데 이는 그들이 한 명이거나
동일한 액터일 수 있음을 의미합니다. 이 경우 각 사용자가 액터 인스턴스를 구성합니다.

Ivar와 Mark는 재활용 시스템의 조작원입니다. 이들이
시스템을 사용할 때 각각은 액터 조작원 인스턴스로 표시됩니다.
그러나 어떤 경우 한 사람만 액터로 모델링된 역할을 수행합니다. 예를 들어,
소형 시스템의 경우 한 사람만 시스템 관리자 역할을 수행할 수 있습니다.
동일한 사용자가 여러 액터로 활동할 수도 있습니다. (동일한 사람이
여러 가지 역할을 가질 수 있습니다.)

Charlie는 기본적으로 저장소 핸들링 시스템을 저장소 관리자로
사용하지만 가끔 저장소 핸들링 시스템을 일반 저장소 인력으로 사용합니다.

시스템 상황에서 시스템의 액터는 무엇이 되겠습니까?
시스템을 사용할 사람부터 생각해봅시다. 이들을 어떻게 분류할 생각입니까? 종종 소수의 사람(2명 또는 3명)만 염두에 두고 식별된 액터가 요구사항을
다룰 수 있는지 확인하는 것이 좋습니다. 액터를 식별할 때 다음 질문사항을
기억하면 유용합니다.
- 누가 정보의 제공, 사용 또는 제거를 수행합니까?
- 누가 이 기능을 사용합니까?
- 누가 특정 요구사항에 관심을 가지고 있습니까?
- 조직에서 사용되는 시스템의 위치는 어디입니까?
- 누가 시스템을 지원하고 유지보수합니까?
- 시스템의 외부 자원은 무엇입니까?
- 이 시스템과 상호작용해야 하는 기타 시스템은 무엇입니까?
다음과 같이 별도의 액터로 표시할 시스템 환경의 몇 가지 다른 측면이 있습니다.
예:
저장소의 작업을 지원하는 저장소 핸들링 시스템의 경우
몇 가지 사용자 범주가 있습니다(저장소 인력, 주문 등록 직원, 저장소
관리자). 이러한 모든 범주는 시스템에 특정 역할을 가지고 있으므로
각각을 별도 액터로 표시해야 합니다.
- 시스템 관리와 같은 시스템의 보조 기능을 실행하는 사용자.
예:
캔, 병 및 나무 상자 재활용에 사용되는 재활용 시스템에서
기본적으로 시스템 빌드의 목적이 되는 기본 액터는 고객입니다. 그러나 누군가
시스템을 관리해야 합니다. 이 역할은 조작원 액터로 표시됩니다.
예:
빌딩에서 온도를 제어하는 환기 시스템은 빌딩의 센서로부터 측정된 데이터를 끊임없이 받습니다. 따라서
센서가 액터입니다.
예:
자동 금전 출납 시스템은 은행 계좌를 가지고 있는 중앙 시스템과
통신해야 합니다. 중앙 시스템은 외부에 있기 쉬우며 이것이 액터입니다.
인터넷 기반 어플리케이션을 빌드하는 경우 어느 정도까지 기본 액터는
익명이 됩니다. 실제로 그들의 존재를 알지 못하므로 그들의 기술 및 배경에 관해
추측할 수 없습니다. 그러나 시스템에 대해 수행하도록 예상되는 역할은 설명할 수 있습니다.
예:
정보를 제공하는 시스템(예: 검색 엔진)은 순수하게
특정 주제에 관한 정보를 찾기만 하는 어플리케이션에 액세스하는 익명의 액터를 갖습니다.
예:
시민이나 '네티즌'에게 법률, 규정, 관례, 양식 등에 관한
정보를 제공하는 정보용 정부 사이트. 예를 들어, 미국에서 Internal Revenue Service는
납세 신고서를 완성하는 방법에 대한 정보를 제공하는 페이지입니다. 여기에는
전자적으로 사용 가능한 모든 양식을 구비하고 있을 뿐만 아니라 개인이 전자적으로
납세 신고서를 정리할 수도 있습니다. 이 경우 기본 액터 역할은 미국에서
납세 신고서 정리 방법에 관심을 가진 모든 사람입니다. 물론 일단 개인이
납세 신고서 정리를 시도하면 더 이상 익명일 수 없습니다.
액터를 찾는다는 것은 시스템의 용도와 범위에 대한 이해를 도와주는
시스템 경계를 설정하는 것을 의미합니다. 시스템과 직접 통신하는 사람만
액터로 고려해야 합니다.
시스템 환경에 있는 것보다 많은 역할을 포함하는 경우 시스템 자체가 아니라
시스템이 사용할 비즈니스를 모델링하려고 시도하는 것입니다.
예:
항공권 예약 시스템에서 액터는 누구이겠습니까? 이것은
여행사에서 사용할 항공권 예약 시스템을 빌드하는지 또는 탑승객이 인터넷을 통해
직접 연결할 수 있는 시스템을 빌드하는지에 따라 달라집니다.

여행사에서 사용할 항공권 예약 시스템을 빌드하는 경우
액터는 여행사가 됩니다. 여행객은 시스템과 직접 상호작용하지 않으므로
액터가 아닙니다.

사용자가 인터넷을 통해 연결할 수 있는 예약 시스템을
빌드하는 경우 여행객이 직접 시스템과 상호작용하므로 액터는 바로 여행객이 됩니다.
액터에 대한 간략한 설명에는 다음에 관한 정보가 들어 있어야 합니다.
- 액터가 나타내는 사람 또는 사항.
- 액터가 필요한 이유.
- 시스템에서 액터가 가진 관심사항.
간략한 설명은 최대 몇 개의 문장 정도의 길이여야 합니다.
예:
재활용 시스템의 유스 케이스 모델에서
3명의 액터는 다음과 같이 간략히 설명됩니다.
고객: 고객은 가정에서 캔과 나무 상자를
수집하여 상점에 다시 가져다주고 환불을 받습니다.
조작원: 조작원은 재활용 시스템의 유지보수를 책임집니다.
관리자: 관리자는 상점에서 고객에게 제공하는 금전과
서비스에 관한 질문을 책임집니다.
액터 특성은 시스템의 개발 방식 및 적절한 사용성을 갖춘 사용자 인터페이스의
시각적인 형태에 영향을 미칠 수 있습니다.
액터에 해당하는 비즈니스 작업자가 이미 비즈니스 객체 모델에 설명된 경우
다음 일부 특성은 이미 파악된 것일 수 있습니다. 액터 특성에는 다음 사항이 포함됩니다.
- 액터의 책임 범위.
- 액터가 시스템을 사용하는 물리적 환경.
이상적인 경우(사용자가 조용한 사무실에서 아무런 방해없이 앉어 있는 경우)와의 편차가
사운드 사용, 글꼴 선택, 적절한 입력 장치 조합(예: 키보드, 터치스크린, 마우스
및 핫키)의 사용에 영향을 미칠 수 있습니다.
- 이 액터로 표시되는 사용자 수. 이 숫자는 액터의 중요성과 액터가 사용하는
사용자 인터페이스 부분의 중요성을 판별하는 상대적 요인입니다.
- 액터가 시스템을 사용하는 빈도. 이 빈도는
액터가 사용자 인터페이스의 세션 사이에 기억되도록 예상할 수 있는 시간을 결정합니다.
대부분의 경우 사용자 수와 사용 빈도에 대한 대략적인 예측만으로 충분합니다. 30과 40의 차이는 사용자 인터페이스 형태에 영향을 미치지 않지만
3과 30의 차이는 영향을 미칠 수 있습니다.
기타 액터 특성에는 다음 사항이 포함됩니다.
- 액터의 영역 지식 레벨. 이 레벨은 필요한 영역 특정 도움말
수와 사용자 인터페이스에서 사용해야 하는 영역 특정 용어 수를
판별하는 데 도움이 됩니다.
- 액터의 일반 컴퓨터 경험 레벨. 이 레벨은 사용자 인터페이스에서
적절한 상호작용 기법의 복잡성과 단순성 정도를 판별하는 데 도움이 됩니다.
- 액터가 사용하는 기타 어플리케이션. 이러한 어플리케이션에서 사용자 인터페이스
개념을 빌려오면 액터는 이미 이러한 개념에 익숙하므로 액터의 학습 시간이 단축되고
메모리 로드가 감소합니다.
- 액터의 일반 특성(예: 전문성(교육) 레벨, 사회적 관계(언어) 및 나이). 이러한 특성은
글꼴 및 언어와 같은 사용자 인터페이스 세부사항에 영향을 미칠 수 있습니다.
이러한 특성은 사용자 커뮤니티와 사용자 인터페이스 설계 간에 최적의
사용성 조화를 위해 경계 클래스 및 프로토타입을 식별할 때 기본적으로 사용됩니다.
예:
다음은 메일 사용자 액터 특성의 한 예입니다. 그 중에서 이것은 들어오는 메일 편지 관리 유스 케이스와 상호작용하는 액터입니다.
|