로봇 소프트웨어 사용 사례가 무엇인지에 관해 말씀드리려고 합니다.

로봇소프트웨어 사용사례 분석

1. 사용 사례

성공적으로 개발된 로봇 소프트웨어는 사용자의 요구 사항을 모두 반영하여야 합니다. 사용자의 요구 사항은 말, 그림, 매뉴얼, 기존의 유사 시스템, 개발 요구서, 사용 사례 등을 통하여 개발자에게 전달됩니다. 개발자는 사용자의 요구 사항을 분석하여 시스템이 제공해야 할 기능들을 구현하고, 구현된 기능들을 확인하는 일을 하게 됩니다.

개발 요구서가 정확하게 주어지지 않는 한 개발자는 사용자의 요구 사항을 분석하기 위하여 여러 방법을 사용합니다. 사용 사례란 시스템이 수행할 것으로 기대되는 기능을 말합니다. 말 그대로, 사용될 사례라고 생각하시면 됩니다. 또 다른 의미로, 사용 사례는 사용자 또는 외부 시스템이나 기타 요소들이 시스템과 상호 작용하는 흐름을 모델링한 것입니다. 사용 사례가 중요한 이유는 시스템 개발을 시작하는 요구 분석 단계에서부터 설계 단계를 거쳐 테스팅에 이르기까지 꼭 필요한 길잡이라고 할 수 있습니다. 즉 모델링 단계에서는 기능적 모델링을 할 수 있는 단초를 제공해주며, 설계 단계에서는 상세한 설계 구성 요소가 되며, 테스팅 단계에서는 테스트 시나리오로 사용할 수 있기 때문입니다.

이처럼 사용사례를 미리 찾아보고 적용시킬 수 있는 부분을 찾으면, 로봇 소프트웨어 개발 진행을 완만하게 진행되게 해줍니다. 요즘은 구글링과 유튜브 검색에서도 찾아볼 수가 있습니다.

 

2. 사용 사례의 용어

1) 액터

액터(actor)란 시스템과 작용하는 외부의 객체로서, 사람 또는 다른 시스템입니다. 재난 구조용 모바일 로봇의 예를 들어보겠습니다. 액터가 사람인 예는 모바일 로봇을 감시하거나 제어하는 사용자가 될 수 있습니다. 액터가 사물인 예는 움직이거나 정지해 있는 장애물이 될 수 있습니다. 액터가 시스템인 경우는 두 대의 모바일 로봇이 상호 협력 작업을 해야되는 경우에서 상대 모바일 로봇이 될 수 있습니다.

2) 시나리오

시나리오는 사용자의 관점에서 액터와 시스템 사이에 일어나는 일들을 기술한 것입니다. 여러 가지 시나리오들을 분석하여 일반화된 사용 사례를 찾습니다. 시나리오는 정삭적인 흐름 외에도 오류, 특정한 장소와 시간 등의 예외적인 흐름도 포함됩니다.

3) 사용 사례

사용 사례는 하나의 시나리오 또는 여러 개의 시나리오를 종합하여 일반화한 것입니다. 그리고 사용 사례는 개발자와 고객 간의 의사소통 수단입니다 예외적인 사건의 흐름에 대하여 개발자가 알 수 있게 하고, 개발된 시스템의 기능에 대하여 고객이 알 수 있게 됩니다.

 

3. 사용 사례의 표현

사용 사례를 가장 편하게 작성하고 볼 수 있는 것은 다이어그램이라고 생각합니다.

사용 사례 다이어그램은 시스템의 기능을 쉽게 알아볼 수 있도록 사용 사례를 그림으로 나타낸 것입니다. 시스템이 커지면 커질수록 각각의 사용 사례들은 중복되거나 복잡해지는데, 사용 사례 다이어그램은 이런 문제를 해결하는 데 도움이 됩니다. 사용 사례 다이어그램은 액터, 사용 사례, 관계세 가지로 구성됩니다.

사용 사례 다이어그램은 사용 사례를 액터의 관점에서 기술하고, 시스템 내부의 동작이 아닌 액터와 사용 사례의 상호 작용을 나타내는 것이 좋습니다.

1) 액터

(1)작업을 수행하기 위하여 시스템의 지원을 받는 객체는 액터가 될 수 있습니다.

(2)시스템의 주요 기능을 사용하는 객체는 액터가 될 수 있습니다.

(3)유지보수와 관리 같은 부수적인 기능을 사용하는 객체는 액터가 될 수 있습니다.

(4)다른 외부 하드웨어나 소프트웨어와 연결되어 동작한다면 그 시스템은 액터가 될 수 있습니다.

2) 사용 사례

사용 사례 다이어그램의 "사용 사례"는 시스템이 제공하는 기능이나 서비스입니다. 그리고 사용 사례는 액터의 입장에서 보는 시스템의 동작을 기술한 것입니다. 사용자가 원격 모니터링 및 제어 장치를 이용하여 위험 상황을 감지하고 정지 버튼을 누르는 기능을 사용 사례의 예라 할 수 있습니다.

3) 관계

(1) 연결 관계

액터와 상호 작용하는 사용 사례는 실선 화살표로 연결됩니다. 하나의 액터는 복수의 사용 사례와 연결할 수 있습니다.

(2) 포함 관계

여러 개의 사용 사례에서 공통적으로 사용되는 사용 사례를 떼어 냄으로써 사용 사례 다이어그램의 복잡도를 줄일 수 있습니다. 이때 여러 개의 사용 사례와 떼어 낸 사용 사례는 서로 포함관계에 있다고 말합니다. 사용 사례 다이어그램에서는 점선 화살표로 표시하고 <<include>>라는 표시를 합니다.

포함된 사용 사례는 포함하는 사용 사례가 수행될 때 반드시 같이 수행되어야 합니다. 예를 들어, 사용자가 정지 버튼을 누르거나, 로봇이 초음파 센서를 이용하여 장애물을 감지하였을 때는 액추에이터를 제어해야 합니다. 이 때 액추에이터를 제어한다는 사용 사례에서는 여러 가지 경우의 수의 따라 정지하는 기능, 왼쪽 또는 오른쪽으로 방향을 전환하는 기능, 후진을 하는 기능 등이 포함될 수 있습니다.

(3) 확장 관계

하나의 사용 사례는 특별한 조건 하에 다른 사용 사례로 확장될 수 있습니다. 포함 관계에 있는 2개의 사용 사례는 반드시 같이 수행되는 반면, 확장된 사용 사례는 예외적으로 이벤트가 추가될 때에만 수행됩니다.

사용 사례 다이어그램에서는 방향이 반대인 점선 화살표로 표시하고 <<extend>>라는 표시를 합니다. 이때 조건을 같이 명시하면 읽기 좋은 사용 사례 다이어그램이 됩니다. 장애물이 감지되어 액추에이터 제어를 할 경우에는 경로 계획을 수행하여 최적의 경로를 생성하게 됩니다. 만약, 감지된 장애물이 맵을 재생해야 할 만큼 중요한 장애물이라면 맵 빌딩을 수행하여야 합니다.

 

내용과 출처는 NCS학습모듈 기반입니다.

19.전기·전자 > 03.전자기기개발 > 08.로봇개발 > 03.로봇소프트웨어개발

https://www.ncs.go.kr/unity/th03/ncsSearchMain.do

 

NCS 국가직무능력표준, NCS 블라인드채용

NCS 메인에서 국가직무능력표준(National Competency Standards) 및 블라인드 채용에 대한 다양한 정보와 유용한 컨텐츠를 만나 보세요

www.ncs.go.kr

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기