Intelligent Data Analysis RSS 태그 관리 글쓰기 방명록
2022-11-10 22:04:16

프로젝트에 투입되어 소프트웨어를 개발하기 위해 우리는 클라이언트로부터 요구사항을 전달 받아야한다. 

이후 전달 받은 요구사항에 대해서 개발 할 소프트웨어의 개념적인 모델링을 진행한다. 

실제 개발되어야하는 시스템(reality)를 구성하기 위해 시스템에 대한 표현(modeling)이 되어야 하며 프로젝트의 모든 이해관계자가 한눈에 알아볼 수 있도록 진행된다. 마지막으로 구축된 model을 바탕으로 reality를 구현한다.

 

이 과정에서 우리는 Unified Modeling Language(UML)을 통해 모델을 표현한다. UML 2.0 버전의 경우 시스템을 구성하는구조적인 요소를 표현한 구조 다이어그램과 시스템 구성 요소들의 동적인 행위를 표현하는 행위 다이어그램으로 분류된다. 

 

 

UML을 소프트웨어 개발의 전과정에서 사용될 수 있다. 소프트웨어 개발 단계는 아래와 같다.

 

  1. 요구사항 정의: 시스템으로부터 기능적 요구사항 도출
  2. 분석단계: 시스템을 구성하는 논리적 구성 요소 도출
  3. 설계단계: 시스템 구성 요소로서 논리적 컴포넌트 정의 및 설계
  4. 구현 및 테스트: 앞 단계에서 작성된 모델을 바탕으로 세부적 활동 수행
  5. 패키지 다이어그램: 요구사항 정의, 분석, 설계단계에서 사용

 

 

Use Case Diagrams

 

유스케이스 다이어그램은 시스템의 기능적 요구사항을 표현할 때 사용된다. 이는 아래의 컴포넌트로 이루어져 있다.

 

  • 액터: 개발중인 시스템과 상호작용을 하는 시스템 외부의 존재
  • 유스케이스: 시스템이 제공할 기능적 단위.
  • 액터와 유스케이스의 관계: 특정기능을 위하여 어떤 액터들이 상호작용을 하는지 표현

 

유스케이스 다이어그램을 활용하기 위해 아래와 같은 방안이 제시된다.

 

  • 액터의 일반화
    • 상위 액터의 특성을 하위 액터에도 동일하게 적용
  • 유스케이스의 일반화
    • 유사한 유스케이스들을 일반화, 부모 유스케이스를 정의
    • 부모 유스케이스는 실제로 제공하는 기능은 아님
    • 추상 유스케이스는 이텔릭체로 표기
  • 유스케이스의 포함
    • 유스케이스의 공통 기능을 추출, 별도의 유스케이스 정의
  • 유스케이스의 확장
    • 기존 유스케이스에 없는 기능을 별도의 유스케이스로 표현
  • 액터 간의 연관 관계
    • 액터 간의 상호작용

 

아래 그림은 유스케이스 다이어그램의 예시를 보여준다.

 

 

Use case model

유스케이스 모델은 액터와 유스케이스 간의 관계를 보여준다. 액터와 유스케이스 사이의 연관 관계는 해당 유스케이스의 기능과 관련이 있는 액터를 명시함으로 써 생성된다. 액터와 액터 사이의 일반화 관계(상속 관계)는 상위 액터의 특성이 하위 액터에도 적용됨을 뜻한다. 유스케이스 사이의 포함 관계(include)는 하나 이상의 유스케이스에 존재하는 공통적인 기능을 추출해 별도의 유스케이스를 정의하는 것이다. 유스케이스 사이의 확장 관계(extend)는 기존 유스케이스와 성갹이 다른 추가적인 기능을 별도의 유스케이스로 표현하는 것이다. 

 

Use case Specification

유스케이스 명세서는 유스케이스 모델에 기술된 개별 유스케이스에 대한 구체적이고 상세한 기능을 정의한 문서이다. 유스케이스의 명세서를 구성하는 주요 항목은 아래와 같다. 

 

  • 유스케이스 이름: 유스케이스에 대한 가장 간결한 명세서로 유스케이스를 통하여 제공되는 시스템의 기능을 명확한 동사 구 형태로 표현
  • 개요: 모든 이해관계자는 가장 먼저 유스케이스 명세서의 개요 항목을 통해서 유스케이스 이해
  • 관련 액터 항목: 해당 유스케이스가 동작할 때 필요한 주변 액터 이해 가능. 주 액터와 보조 액터를 구분하여 기록
  • 우선 순위: 기능의 중요도와 개발 난이도를 바탕으로 결정. 개발 순서, 자원 투입 등과 같이 프로젝트 관리 측면에서 활용
  • 선행 조건: 유스케이스의 종료 시 만족해야 하는 조건으로 유스케이스의 정상 동작 여부에 대한 최소한의 판단 기준으로 사용 가능
  • 시나리오: 유스케이스의 관련 액터와 시스템 간의 상호작용에 대한 구체적인 정의 포함. 하나의 유스케이스에는 기본 시나리오와 대안 시나리오로 구분하여 기술
  • 비 기능적 요구사항: 성능, 신뢰도, 보안 등 이 유스케이스와 관련된 비 기능적 요구사항 기술

 

 

'Software Engineering > Week 2' 카테고리의 다른 글

Concept of Objected-Oriented Technilogy  (0) 2022.11.10