본문 바로가기

# 미사용

[2-3-2]: 정보 요구 사항 상세화

01. 비기능적 정보 요구 사항 추가

분석 결과물에 비기능적 정보 요구 사항을 추가하여 통합된 문서를 만든다.

추가해야 할 비기능적 정보 요구 사항은 다음과 같다.

  • 시스템의 기술적/물리적/논리적 제약
  • 시스템의 성능 판단 기준
  • 신뢰성, 확장성, 이식성, 보안

02. 프로세스 관점에서의 정보 요구 사항 상세화

분해되지 않는 최소의 업무 단위를 프로세스(Process)라고 한다.

프로세스 관점에서의 상세화는 다음 과정을 거쳐야 한다.

  • 프로세스 계층도, 프로세스 정의서 작성
  • 각 프로세스의 정보를 표준화하여 정리.
  • 검토 후, 개별 프로세스를 통합/분리
  • 만족된 정보 요구 사항을 목록화.

프로세스 계층도란 기능분류에 따른 순서를 트리(계층)구조로 가시화한 것.

하위 프로세스가 많고, 분리 가능한 프로세스를 찾는 것에 목적이 있다.

계층도 분석 시 다음과 같은 사항에 주의한다.

  • 높은 응집도(Cohesion) 및 낮은 결합도(Coupling)을 만족하는 방향으로 분석한다.
  •      => 즉, 하위 프로세스가 많으면 분리하는 것을 고려한다.
  • 프로세스 설명은 이해하기 쉽도록 상세하게 작성한다.
  • 계층도에 모든 업무 조건이 반영되었는지 검토한다.
  • 더욱 상세하게 재분석한다.

여러개의 기본 프로세스로 구성된 프로세스는 분해가능하다.

기본 프로세스란 데이터의 상태를 조회/변화(추가/수정/삭제)시키는 프로세스로 해석한다.

다음 사항에 주의하며 분해한다.

  • 초기 작업시, 모든 프로세스를 균형있게 분해한다.
  • 단위 업무(하위 업무가 없는) 프로세스가 도출되도록 분해한다.
  • 너무 많이 분해하지 않는다. (단위 업무 수준, 최대 3차 까지)

유사한 프로세스가 있다면 통합가능하다.

다음 사항에 주의하며 통합한다.

  • 적당한 통합은 관리 효율성을 증가시킨다.
  • 무리한 통합은 정보를 심각하게 추상화 시킬 수 있음.

도출된 프로세스 정보를 표준화하여 기록한다.

다음 사항에 주의하며 기록한다.

  • 프로세스의 기능에 따라 분류한다. (삽입/조회/갱신/삭제)
  • 관련된 정보 요구 사항을 기입한다.
  • 정보 요구 사항을 기준으로 프로세스를 분류한 문서도 작성한다.

03. 객체지향 관점에서의 정보 요구 사항 상세화

객체지향 방법론에서는 유즈케이스(Use-case) 다이어그램을 적용하여 

기능적 정보 요구 사항을 정의한다.

유즈케이스의 구성요소는 다음과 같다.

  • 액터          : 정보 시스템과 관련된 주체
  • 유즈케이스 : 정보 시스템이 제공해야하는 서비스
  • 릴레이션    : 각 구성요소간의 관계. (액터-유즈케이스 / 유즈케이스-유즈케이스)
  1. 확장    :  하나의 유즈케이스가 실행되었을 때, 선택적으로 실행되는 유즈케이스와의 관계. Extneds
  2. 포함    :  하나의 유즈케이스가 실행되었을 때, 절대적으로 실행되는 유즈케이스와의 관계. Include
  3. 소통    :  행위자가 유즈케이스에 참가함을 나타내는 관계. Communicates

유즈케이스 작성 후, 다음과 같이 상세화한다.

  • 각 유즈케이스에 대한 설명을 기입한다.
  • 사전, 사후 조건 및 프로세스 흐름을 기술한다.
  • 비기능적인 정보 요구 사항
  • 대체가능한 메인 프로세스 흐름과 대안을 기입.
  • 예외 처리 사항.

유즈케이스를 바탕으로 다음과 같이 클래스 다이어그램을 작성한다.

  • 의미가 모호한 객체를 제거한다.
  • 관심 영역과 관련이 없는 객체를 제거한다.
  • 유사한 구조와 행위를 가진 객체들을 클래스로 그룹핑한다.
  • 각 클래스 간의 관계를 도출한다.
  • 각 클래스의 속성(명사로 정의되는 특징)을 도출한다.