연습 1.3: 구조적 제어 규칙 정의
이 연습에서는 연습 1.1: 필수 자원 가져오기를 완료했다고 가정합니다. 연습 1.3에서는
먼저 사용자 시나리오를 읽습니다. 그런 다음, 사용자 시나리오에 설명된 소프트웨어 설계자의 역할을 가정하고 연습 1.1에서
가져온 프로젝트를 사용하여 연습을 완료합니다.
사용자 시나리오
외부 종속성을 방지하기 위해 설계자는 응용프로그램을 절대 방해할 수 없는 위치에 안전 장치를
배치합니다. 이를 수행하기 위해 설계자는 제공된 마법사에서 규칙을 작성합니다. 규칙은 유틸리티 패키지가
응용프로그램 패키지에 대한 종속자가 될 경우 경고하는 것입니다.
규칙을 작성한 후, 설계자는 코드 베이스에 이 규칙을 적용하여 코드 검토를 실행합니다. 발견사항은 응용프로그램의
모든 외부 종속성을 표시합니다.
연습
이 연습에서는 다음 타스크를 수행합니다.
- 제공된 마법사에 기초하여 규칙을 정의합니다.
- 사용자 정의 규칙이 구조적 분석 코드 검토에 추가되었는지 확인합니다.
- 구조적 분석 코드 검토를 실행합니다.
- 규칙 기준을 준수하지 않는 코드 검토의 발견사항을 봅니다.
규칙 정의
제공된 마법사에 기초하여 구조적 제어 규칙을 정의하려면 다음을 수행하십시오.
- 코드 검토 보기의 도구 모음에서 규칙 관리 아이콘
을
클릭하십시오.

- 환경 설정 창에서 새 규칙을 클릭하십시오. 새 코드 검토 규칙 마법사가 열립니다.
다음 화면 캡처에 표시된 대로 새 코드 검토 규칙 마법사는 고유 규칙을 정의할 몇 가지 단계를
수행합니다. 이 연습에서 두 개의 컴포넌트 사이에 종속성이 도입되었는지를 경고하는 구조적 제어 규칙을
디자인합니다.
- 구조적 제어 규칙 목록에서 컴포넌트 [종속성]이 도입됨을 클릭하십시오. 이 선택사항을
선택할 때 두 개의 컴포넌트 사이에 종속성을 허용하지 않도록 이 템플리트를 사용하도록 표시하는 텍스트가
목록에 있음에 주목하십시오. 다음을 클릭하십시오.

- 기본 특성에서 구조적 분석 카테고리에 규칙을 배치하는 기본값(문제점 심각도 레벨 포함)을
허용하십시오.

- 특정 특성에서 규칙에 대해 다음과 같이 독립자 및 종속자 컴포넌트를 지정하십시오.
- 독립자 컴포넌트: workspace\StructuralAnalysis\src\com.ibm.r2a.rules.rsa.examples.architecturalcontrol\IndependentComponent.java
- 종속자 컴포넌트: workspace\StructuralAnalysis\src\com.ibm.r2a.rules.rsa.examples.architecturalcontrol\DependentComponent.java.
- 완료를 클릭하십시오.
코드 검토에 추가된 규칙 보기
- 규칙을 정의하면 환경 설정 창이 표시됩니다. 코드 검토 선택 목록에서 코드 검토가 선택된 코드
검토가 아닐 경우 전체 코드 검토를 클릭하십시오. 모든 코드 검토 카테고리가 표시됩니다.
- 구조적 분석 폴더를 펼쳐 방금 작성한 규칙을 확인하십시오.
- 해당 규칙을 클릭하여 다음 화면 캡처에 표시된 대로 설정한 특성을 확인하십시오.

규칙을 적용하는 코드 검토만 선택
규칙에 대한 코드 검토만 실행하려면 이전 화면 캡처에 표시된 대로 구조적 분석 폴더를 제외한 모든 폴더를
목록에서 지우십시오. 확인을 클릭하십시오.
검토할 코드 베이스 선택
작업공간을 검토할 코드 베이스로 선택하려면 다음을 수행하십시오.
- 코드 검토 보기의 도구 모음에서 검토 아이콘(
) > 작업공간
검토를 클릭하십시오.
코드 검토 실행
검토할 코드 베이스를 선택하면 코드 검토가 실행됩니다. 보기의 오른쪽 하단에서 진행상태 표시줄을 선택하여
해당 상태를 트랙할 수 있습니다.
코드 검토의 발견사항 보기
코드 검토가 완료되면 다음 화면 캡처에 표시된 대로 발견사항이 코드 검토 보기에
표시됩니다. 탭 아래의 통계 행에는 검토가 요약되어 있습니다.

- 구조적 분석 폴더를 펼쳐 발견사항을 확인하십시오.

- 세 번째 발견사항을 두 번 클릭하여 다음 화면 캡처에 표시된 대로 편집기에서 해당 소스 코드를 확인하십시오.

연습 1.3: 구조적 제어 규칙 정의가 완료되었습니다.
사용자 정의 규칙 기능의 활용
고유 규칙을 작성하여 디자인 구현을 모니터하도록 올바른 위치에 사용자 정의 안전 장치를
배치합니다. 다음과 같이 측정할 수 있습니다.
- 규칙 기준을 지정합니다.
- 규칙에 심각도 레벨(문제점, 경고 또는 권장사항)을 지정합니다.
- 규칙에 대한 코드 검토만 실행합니다.
연습 1.3 요약
연습 2: 구조적 제어 규칙 정의가 완료되었습니다. 이 연습에서 다음 타스크를 수행했습니다.
- 제공된 마법사에 기초하여 규칙을 정의했습니다.
- 사용자 정의 규칙이 구조적 분석 코드 검토에 추가되었는지 확인했습니다.
- 구조적 분석 코드 검토를 실행했습니다.
- 규칙 기준을 준수하지 않는 코드 검토의 발견사항 보기를 수행했습니다.
이제 연습 1.4: 구조적 문제점 해결을 시작할 준비가 되었습니다.