타스크: 런타임 동작 분석
이 타스크는 컴포넌트 실행 중 컴포넌트의 동작을 분석하여 개선사항을 식별하는 방법을 설명합니다.
원칙: 구현
목적
  • 컴포넌트 실행 중 컴포넌트의 동작 이해.
  • 변칙 동작과 필요한 정정 조치 식별.
관계
역할기본 수행자: 추가 수행자:
입력필수:
    선택사항:
      출력
        프로세스 사용법
        단계
        필수 실행 시나리오 판별
        목적:  바람직한 런타임 동작을 촉진시킬 실행 경로 식별

        런타임 동작 관찰 및 분석이 소프트웨어 동작에 대한 바람직한 통찰력을 제공할 경우, 응용프로그램을 통하는 실행 경로 중 어떤 경로의 탐색이 중요하며, 그 중 소프트웨어의 런타임 동작을 가장 잘 이해할 수 있게 해주는 경로가 무엇인지 고려해야 합니다.

        일반적으로 탐색하기에 가장 유용한 시나리오는 사용자가 일반적으로 사용할 시나리오의 일부 또는 전부를 반영하는 경향이 있습니다. 따라서 가능하면 도메인 전문가(예: 개발 중인 소프트웨어의 대표적인 사용자)에게 문의하거나 상의하여 시나리오를 식별하는 것이 유용합니다.

        유스 케이스는 유용한 시나리오를 식별하고 탐색할 수 있는 귀중한 아티팩트 세트를 제공합니다. 이 중 개발자에게 가장 익숙한 내용은 유스 케이스 실현입니다(있을 경우 시작점이 됨). 유스 케이스 실현이 없을 경우, 사용자가 유스 케이스에서 다양한 이벤트 플로우를 탐색할 경로에 대한 텍스트 설명을 제공하는 사용 가능한 유스 케이스 시나리오를 식별하십시오. 마지막으로, 유스 케이스 이벤트 플로우를 참고하여 가능한 후보 시나리오를 식별할 수 있는 정보를 제공할 수 있습니다. 대표 유스 케이스 액터 또는 기타 도메인 전문가와 상의할 경우 이 최종 접근 방식의 성공 확률이 높아집니다.

        테스터는 런타임 분석에 유용한 시나리오를 식별하려는 경우 고려할 수 있는 또 다른 유용한 자원입니다. 테스터는 유사 도메인 전문가로 발전하려는 테스트 노력을 통해 도메인에 대한 통찰력과 경험을 보유한 경우가 많습니다. 테스트 노력 자체로 인해 소프트웨어의 런타임 동작을 관찰하려는 자극을 받게 되는 경우가 많습니다.

        보고된 결함으로 인해 이 타스크가 수행되는 경우, 제어된 환경에서 이를 재생하는 데 기본 초점을 맞춥니다. 문제점이 발생했을 때 로그된 정보를 기반으로 다수의 테스트 케이스를 잠재적 후보로 식별하여 결함이 확실히 발생하도록 해야 합니다. 일부 테스트를 조정하거나 새 테스트를 작성해야 할 수도 있지만 결함 재생은 필수 단계이며 가장 어려운 경우 결함을 수정하는 것보다 안정시키는 데 오랜 시간이 걸린다는 사실을 명심해야 합니다.

        런타임 관찰을 위한 구현 컴포넌트 준비
        목적: 런타임 실행이 가능하도록 컴포넌트가 적절한 상태로 준비되었는지 확인

        컴포넌트의 런타임 실행으로 정확한 결과를 얻으려면 주의를 기울여 컴포넌트를 만족스럽게 준비하여 구현, 컴파일 또는 링크 시 오류의 부산물로 변칙 결과가 발생하지 않게 해야 합니다.

        런타임 관찰을 알맞은 방식으로 완료하거나 컴포넌트가 아직 구현되지 않은 다른 컴포넌트에 의존하는 상황에서 실제로 런타임 관찰을 수행할 수 있도록 스텁 컴포넌트를 사용해야 하는 경우가 종종 있습니다.

        컴포넌트를 실행하는 데 필요한 프레임워크나 지원 도구도 준비해야 합니다. 어떤 경우, 이는 컴포넌트 실행을 지원할 수 있도록 드라이버나 하니스 코드를 작성하는 것을 의미합니다. 반면 외부 지원 도구가 컴포넌트 동작을 관찰하고 제어할 수 있도록 컴포넌트를 계측 가능하게 하는 것을 의미하는 경우도 있습니다.

        실행 환경 준비
        목적: 대상 환경의 전제조건 설정이 만족스럽게 완료되었는지 확인

        런타임 분석을 수행할 대상 환경에 대해 처리해야 하는 요구사항과 제한조건을 모두 고려해야 합니다. 궁극적으로 컴포넌트가 실행될 하나 이상의 의도된 배치 환경을 자극해야 하는 경우가 있습니다. 반면, 개발자 시스템에서 런타임 동작 관찰을 수행하면 충분한 경우도 있습니다.

        어떤 경우에서든 런타임 관찰을 위한 대상 환경을 만족스럽게 설정하여 잠재적으로 후속 분석을 무효화할 "오염물질"이 포함되어 연습을 낭비하지 않도록 해야 합니다.

        또 다른 고려사항은 도구를 사용하지 않으면 재생하기 어려운 예외 조건이나 환경 제한조건을 생성하는 도구를 사용하는 것입니다. 그러한 도구는 이러한 상황 하의 런타임 동작에서 발생하는 장애나 변칙을 분리하는 데 매우 귀중합니다.

        컴포넌트 실행 및 작동 관찰 캡처
        목적: 컴포넌트의 런타임 동작 관찰 및 캡처

        컴포넌트와 관찰 환경을 둘 다 준비했으므로 이제 선택한 시나리오를 통해 컴포넌트 실행을 시작할 수 있습니다. 사용하는 기법과 도구에 따라 이 단계는 주로 무인 방식으로 수행되거나 시나리오가 진행됨에 따라 지속적인 주의를 제공(또는 요구)할 수 있습니다.

        동작 관찰 검토 및 초기 찾은 결과 분리
        목적: 컴포넌트 런타임 동작에서의 장애와 변칙 식별

        각 단계가 진행되는 중에 또는 관찰 중인 시나리오 종결 시 예상 동작에서의 장애나 변칙을 찾으십시오. 관찰 결과나 받은 느낌이 변칙 동작과 관련될 수 있습니다.

        근본 원인을 이해하기 위해 찾은 결과 분석
        목적: 장애 및 변칙의 근본 원인 이해

        찾은 결과를 갖고 기본 결함이나 각 장애의 근본 원인을 조사하기 시작하십시오.

        사후 조치 식별 및 커뮤니케이션
        목적: 추가 조사 또는 정정 조치 제안

        찾은 결과를 모두 검토하면 추가 조사 또는 특정 정정 조치의 제안이 필요하다는 생각이나 예감을 갖게 됩니다. 이런 항목에 대해 스스로 즉각적인 조치를 취하지 않을 경우, 적절한 형식으로 제안을 기록하고 제안을 승인하거나 착수할 수 있는 팀 구성원에게 전달하십시오.

        결과 평가
        목적: 타스크가 적절히 완료되었는지 및 그에 따른 중간 산출물이 허용 가능한지 확인합니다.

        작업을 완료했으므로 작업이 충분한 가치가 있었는지 확인하는 것이 좋습니다. 작업 품질이 적합한지 여부 및 차후에 이를 작업의 입력으로 사용할 해당 팀 구성원에게 유용할 정도로 완전한지를 평가해야 합니다. 가능하면 RUP에 제공된 체크리스트를 사용하여 품질 및 완성도가 "충분"한지 확인하십시오.

        다운스트림 타스크 수행 시 해당 작업을 입력으로 사용할 인원들이 중간 작업 검토에 참여하도록 하십시오. 이들의 관심사항을 다루는 조치를 취할 시간 여유가 있으면 이를 수행하십시오. 또한 작업을 주요 입력 중간 산출물과 비교 평가하여 이를 정확하고 충분하게 표시했는지 확인해야 합니다. 입력 중간 산출물 작성자가 이를 기반으로 작업을 검토하도록 하는 것이 유용할 수 있습니다.

        RUP는 반복적 전달 프로세스이며 중간 산출물은 시간이 경과하면서 발전하는 경우가 많다는 사실을 기억하십시오. 그러므로 부분적으로만 사용되거나 직후 작업에서 전혀 사용되지 않을 중간 산출물을 완전히 형식화하는 것은 대개 필요하지 않습니다(또한 보통 비생산적임). 이는 중간 산출물이 사용되기 전에 중간 산출물을 둘러싼 상황이 변경되고 중간 산출물이 작성되었을 때의 가정이 잘못되었다고 증명되어 결과적으로 노력이 수포가 되고 비용을 들여 다시 작업해야 하는 가능성이 높기 때문입니다.

        또한 프리젠테이션 주기가 너무 많아 컨텐츠 가치가 손상되는 함정에 빠지지 않도록 하십시오. 프리젠테이션이 프로젝트 인도물로서 중요성과 경제적 가치를 지니는 프로젝트 환경에서는 관리 또는 하위 자원을 사용하여 중간 산출물에 대한 작업을 수행하여 프리젠테이션을 개선할 수 있습니다.



        자세한 정보