연습 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: 구조적 문제점 해결을 시작할 준비가 되었습니다.