초록
관점지향 소프트웨어 개발방법론(Aspect-Oriented Software Development)에서 가장 중요한 고려사항중 하나는 요구사항 분석단계에서 횡단관심사(Crosscutting Concerns)를 식별하는 것이다. 이는 개발 초기단계에 횡단관심사를 식별함으로써 요구사항의 일관성(consistency)을 증진시켜 시스템의 유지보수를 쉽게 하고, 개발단계의 산출물들 사이의 추적성(traceability)을 제공하여 체계적인 변경관리를 지원할 수 있기 때문이다. 따라서 소프트웨어 개발 초기단계에 횡단관심사를 식별하고, 이를 독립적인 모듈로 구현하는 것을 지원하기 위해서는 다음과 같은 사항들을 고려해야 한다. 첫째, 복잡하게 분산되고 엉킨 요구사항의 관심사를 분리되어야 한다. 둘째, 횡단관심사가 시스템을 횡단하는 시점이 식별되어야 한다. 셋째, 횡단관심사를 구현한 모듈과 이것이 횡단하는 다른 모듈들 사이에 발생할 수 있는 요구사항 충돌을 통합 이전단계에 관리할 수 있는 방법이 지원되어야 한다. 이를 위해 본 논문에서는 목표와 시나리오 기반의 요구사항 분석 방법을 기반으로 횡단관심사를 식별하는 방법을 제안한다. 그리고 제안된 방법을 지능형 로봇 소프트웨어 개발 사례에 적용하여 그 유용성을 검증한다.
Identifying crosscutting concerns during requirements engineering phase is one of the most essential parts in Aspect-Oriented Software Development. Considering crosscutting concerns in the earlier phase of the development improves consistency among requirements so that it can help maintain software systems efficiently and effectively. It also provides a systematic way to manage requirements changes by supporting traceability throughout the software lifecycle. Thus, identifying tangled and scattered concerns, and encapsulating them into separate entities must be addressed from the early phase of the development. To do so, first, functional and non-functional concerns must be clearly separated. Second, a pointcut where a main concern meets crosscutting concerns should be defined and specified precisely. Third, it is required to detect conflicts being occurred during composition of crosscutting concerns from the earlier phase. Therefore, this paper proposes a systematic approach to identifying and specifying crosscutting concerns using goal-scenario based requirements analysis. And we demonstrate the applicability of the approach by applying it into the intelligent service robot system.