요구사항 정의


고객이 SW에 기대하는 기능 및 특징에 대한 요구를 도출해 명세(Specification)∙검증(Verification)∙확인(Validation)하는 활동

고객의 SW에 대한 요구에 따라 Use-Case 모델링을 한다. (건축에서도 건축짓기 전에 모델링하듯이 IT는 고객의 요구에 따라 모델링 함)

그러면 Use-Case 모델링을 어떤 식으로 표현할거냐에 대한 표준이 있어야 되겠지? 그게 바로 Use-Case Diagram !!

 

요구사항은 크게 2가지로 나뉜다.

  1. 기능적 요구사항 : 사용자 관점에서 사용될 직접적인 기능에 대한 정의
  2. 비기능적 요구사항 : 품질(성능, 신뢰성, 보안성, 안전성, 가용성)제약(개발 방법, 플랫폼 등)에 관해 정의

 

 

 

결론적으로 요구사항 정의 단계에서 해야할 사항과 그에 대한 산출물은 다음과 같다.

 

위 표에 나와있듯이, 요구사항 정의 단계에서는 순차적으로 총 4가지를 해야한다.

  1. Use-Case 모델 작성하기
  2. Use-Case 모델 작성한걸 토대로 상세화하기
  3. 작성한 Use-Case 모델을 구조화하기
  4. 구조화한 Use-Case 모델을 조직화하기

 

Use-Case 모델 작성하는 거부터 정리해보자

 

 

 

Use-Case 모델 작성 ( Use-Case Diagram 그리기 )


Use-Case Diagram을 이용해 Use-Case 모델링을 한다고 했다.

자, 그러면 고객의 요구를 어떻게 Use-Case Diagram으로 나타낼까? (이거 나도 헷갈림..)

 

Use-Case Diagram은 크게 2가지 개념만 알면된다. 

  1. 액터 (Actor)
  2. 유스케이스 (Use-Case)

간단한 예제를 통해 위 2가지 개념을 알아보자

참고로 나는 StarUML 도구를 사용해 Use-Case Diagram을 그렸다. (학교에서 이걸로 실습했기 때문)

 

 

위에서 졸라맨 그림을 Actor라고 부른다. ( 되게 중요한 개념임 )

Actor는 시스템과 상호작용하는 시스템 외부의 존재를 나타낸다 ! ( 이 존재는 사람이 될수도 있고, 시스템 | 장치가 될 수도 있음 )

즉, 개발 대상 시스템에 입력을 주는 존재와 개발 대상 시스템의 출력을 받는 존재를 Actor로 나타냄

 

위의 Use-Case Diagram을 보면 SMS전송시스템을 학생과 마찬가지로 졸라맨(Actor)으로 표현했는데,

Actor개발될 시스템의 외부 대상이기 때문 !!

 

Actor의 유형은 크게 3가지로 나뉜다.

  1. 사용자 : 시스템에 입력을 주거나 시스템의 실행 결과를 수신하는 사람 (학생, 사서 등)
  2. 외부 시스템 : 개발 대상이 되는 시스템과 상호작용(입출력)을 하는 타 시스템
  3. 장치 : 개발 대상 시스템에서 입출력을 위해 사용되는 장치. (엘리베이터를 예로 들면 모터, 도착센서, 문 같은 것들 ?)

 

그러면 모든 Actor는 다 졸라맨으로 나타내면 되냐? 그건 아님.

위 3가지 유형 중에서 사용자, 외부 시스템 유형은 항상 졸라맨으로 나타내면되지만,

장치 유형은 해당 장치가 일반적으로 지원되는 장치라면(모니터, 키보드, 프린터 같은 것들?) 졸라맨이 아니라 지원되는 해당 장치 이미지를 그대로 사용한다 !

 

그러면 이제 Use-Case에 대해 알아보자

Use-Case개발 대상이 되는 시스템이 제공하는 개별적인 기능을 뜻함 !

위 예에서 동그라미로 포현된게 Use-Case다. ( 도서대출신청, 신착도서등록 )

 

즉, Use-Case DiagramActor와 Use-Case간의 연관 관계를 이용하여 나타내는 것 !