분석 모델 검증

분석 모델 검증

검증 방법

한국정보화진흥원의 “정보시스템 감리지침: 시스템 개발사업 객체지향 컴포넌트 모델 V1.0”에서 사업유형이 시스템 개발, 감리 시점이 요구 분석, 감리 영역이 응용시스템인 경우 “유스케이스 모형 상세화 수준 및 적정성”과 “개념 수준의 분석클래스 도출”에 관한 점검 항목을 기준으로 검증하고 감리 시점이 분석 설계, 감리 영역이 응용시스템인 경우 “유스케이스로부터 분석 클래스 도출 및 상세화”에 관한 점검항목을 기준으로 검증한다.

그림. 분석모델 검증 절차

1. 유스케이스 모델 검증

한국정보화진흥원의 정보시스템 감리지침에서는 시스템 기능에 대한 유스케이스 모형 상세화 수준 및 적정성에 대하여 다음과 같은 사항을 점검하도록 하고 있다.

점검 대상점검 내용
액터– 기능 구현에 관계되는 액터가 모두 도출되었는가?
– 액터 목록에서 액터명이 역할 중심으로 명명되었는가?
– 요구사항 정의서, 요구사항 기술서에 외부/내부 액터가 모두 도출되었는가?
– 액터 목록과 액터 명세서에 기록된 액터가 타당한지 확인
유스케이스– 요구기능 구현에 필요한 유스케이스가 모두 도출되었는가?
– 도출된 유스케이스를 논리적으로 연결하여 누락된 기능을 파악
– 도출된 유스케이스가 유스케이스 목록과 유스케이스 명세서에 반영되었는지 확인
– 도출된 유스케이스의 논리적인 합이 과업 범위와 일치하는지 비교
– 도출된 유스케이스들이 논리적으로 그룹화되었는지 확인(그룹화는 액터 기준, 연관 관계 기준, 동시성 기준이 가능)
– 유스케이스 기능 범위가 다른 유스케이스 기능 범위와 중복되는지 확인
유스케이스 명세서– 유스케이스 명세서 형식에 중요 항목이 누락되지 않았는지 확인 (사전 및 사후 조건, 주요 흐름, 서브 흐름, 예외 흐름 등)
– 유스케이스의 주요 이벤트 흐름이 모두 도출되고 논리적으로 타당한지 확인
– 유스케이스를 구현하기 위하여 필요한 입출력 항목이 모두 도출되었는지 확
유스케이스 모델 검증

2. 개념 수준의 분석 클래스 검증

시스템의 주요 도메인 개념을 분석 클래스로 도출하여 유스케이스 분석에 활용하므로, 개념 수준의 주요 분석 클래스를 적절히 도출하였는지, 관련 정보가 명확한지 점검해야 한다. 주요 점검 항목은 다음과 같다.

  • 개별 유스케이스 단위로 작성하지 않고 시스템 전체를 대상으로 작성하였는가?
  • 중요도가 높은 요구사항 또는 유스케이스에 필요한 엔터티 클래스가 도출되었는가?
  • 도출된 클래스 이름과 설명이 이해관계자 간에 이견이 발생하지 않도록 명확한가?
  • 클래스의 속성은 도출하였는가? 도출된 속성의 이름과 설명이 명확한가?
  • 클래스들 간에 순환적 관계가 불필요하게 정의되어 있는가?
  • 클래스 간의 관계에서 다중성(Multiplicity)이 정의되었는가?
클래스 간 다중성(Multiplicity) 예
표기법설명
0..10 또는 1개의 인스턴스
n..m은 n에서부터 m까지 범위
0..* 또는 *0을 포함한 무한개의 인스턴스
11개의 인스턴스
1..*1개 이상의 인스턴스
클래스 간 다중성

3. 분석 클래스 검증

유스케이스마다 분석 클래스가 적절히 도출되었고, 제어 클래스의 도출 등이 충분하고 상세하게 도출되어 클래스의 역할, 클래스 간의 관계, 메시지 흐름 등을 확인할 수 있는지 검토한다.

(1) 유스케이스 실현(Realization)에 필요한 분석 클래스 도출 확인

  • (가) 하나의 유스케이스를 실현하기 위하여 3개 이상의 클래스가 역할(Role) 기준으로 도출되어야 하며, 유스케이스 별로 실현에 필요한 클래스가 추적 가능해야 클래스 누락 여부를 확인할 수 있다.
  • (나) 유스케이스 별로 도출된 분석 클래스들이 역할(Role) 기준으로 경계(Boundary), 엔터티(Entity), 제어(Control) 클래스가 도출되어 스테레오 타입으로 표시되었는지 확인한다.
분석 클래스의 스테레오 타입

유스케이스 이벤트 흐름에 따라 다르지만 일반적으로 유스케이스 당 1개의 제어 클래스가 존재하고, 연결된 액터마다 1개의 경계 클래스가 존재하는지 확인한다.

분석 클래스 다이어그램 예시

(2) 경계(Boundary)와 제어(Control) 클래스의 도출 여부 및 상세화 정도 확인

유스케이스 실현에 필요한 분석 클래스들이 도출되었는지 확인하기 위하여, 유스케이스 단위로 분석 클래스를 확인한다.

역할 구분검토 사항
경계– 유스케이스와 연결된 액터가 있고, 액터의 유형이 시스템 또는 장비인 경우, 해당 액터를 위한 경계 클래스가 도출되었는지 확인하고, 유스케이스의 이벤트 흐름을 참조하여 관련 기능을 처리하기 위한 연산이 도출되었는지 확인한다.
– 유스케이스 명세서의 이벤트 흐름을 확인하여, 유스케이스에서 필요한 UI를 위한 경계 클래스가 도출되었는지 확인한다.
– UI를 위한 경계 클래스인 경우, 사용자에게 제공할 항목이 속성으로 도출되었는지 확인하고, 화면, 보고서 상의 데이터 타입, 길이가 경계 클래스 속성 정의와 일치하는지 확인한다.
제어– 유스케이스 별로 제어 클래스가 1개 이상 도출되었는지 확인한다.
– 제어 클래스의 연산에 대응하는 엔터티 클래스가 있는지 확인한다.
– 유스케이스 명세서 기술된 이벤트 흐름을 처리하기 위한 연산이 제어 클래스에 정의되어 있는지 확인한다.
경계 및 제어 클래스 도출 및 상세화 정도 확인

(3) 클래스 간의 관계, 클래스 정보의 상세화 정도 확인

역할 구분검토 사항
관계– 유스케이스 명세서를 바탕으로 각 클래스 사이의 관계를 정의하였는지 확인한다.
– 관계의 다중성이 정확하고 모순이 없는지 확인한다.
– 2개의 클래스 간에 1개 이상의 관계가 존재하면, 관계 명 또는 역할명이 정의되었는지 확인한다.
연산 및 속성 상세화– 유스케이스 명세서를 바탕으로 클래스의 속성 및 연산이 도출되었는지 확인한다.
– 도출된 연산의 매개 변수(명, 타입, 길이)와 리턴 타입이 정의되었는지 확인한다.
– 도출된 클래스의 속성(명, 타입, 길이)이 이해관계자 간에 이견이 없도록 명확하게 정의되었는지 확인한다.
– 경계 클래스의 속성과 화면/보고서의 항목, 엔터티 클래스의 속성 정보가 일관성을 가지는지 확인한다.
분석 클래스 간 관계 및 상세화 정도 확인
분석 클래스 다이어그램 예시

출처

NCS 학습모듈: 20.정보통신 > 01.정보기술 > 02.정보기술개발 > 02.응용SW엔지니어링 (일부 수정)

코멘트 제출

컨텐츠 복사 및 출력 방지! - 회원 가능