기능적 모델링 - 유스케이스, 액티비티 다이어그램

2022. 10. 24. 07:08

기능적 모델링 과정

현재 시스템을 기능의 관점에서 파악하여 새로운 시스템의 전반적인 밑그림 그리는 작업

  • 기능적 모델 - 사용자와 환경 ~ 외부 (유스케이스, 액티비티 다이어그램)

 

유스케이스 작성

유스케이스 : 시스템이 사용자에게 눈에 보이는 결과를 생성하기 위하여 수행하는 작업 순서대로 잘 정리해 놓은 것

유스케이스 다이어그램 : 시스템과 관련된 외부요소들, 어떤 역할의 사용자가 있고 어떤 외부 시스템이 있는지 나타냄

시스템 외부 요소들이 어떤 서비스를 받게 되는지 기능적인 측면 표현

 

테스트 시나리오

유스케이스에 입출력 데이터 값이 포함된 실행 버전

유스케이스에 입력값의 범위, 초기 상태, 예상되는 결과값 추가

 

비즈니스 프로세스

요구분석 단계에 파악한 비즈니스 프로세스는 액티비티 다이어그램으로 모델링

액티비티 다이어그램 : 비즈니스 프로세스 안에 있는 소작업을 액티비티 단위로 파악하여 이들의 순차, 선택 흐름 및 병령 관계를 그래프로 표현

비즈니스 워크플로우 파악하기 용이

 

명세 검토

설계단계로 넘어가기 전 관련자가 참석하여 워크스루 회의 통한 검토

 


유스케이스

외부에서 본 시스템의 뷰 (시스템 내부 고려 X)

시스템에 무슨 서비스가 있는지 사용자의 관점에서 본 것

시스템이 사용자에 의하여 사용되는 케이스

 

시스템과 외부 액터 사이에서 일어나는 목표지향적 상호작용(인터랙션)의 집합

액터 : 시스템과 상호작용하는 외부의 요소

 

> 작성 목적

  • 시스템의 범위 지정
  • 개발 과정을 계획
  • 요구를 개발하고 검증
  • 테스트 케이스 정의
  • 사용자 매뉴얼 구성
  • 인터페이스 결정
  • 시스템이 무엇을 하는지, 누가 사용하는지 관점 제공

 

유스케이스 : 일반적인 이벤트 흐름 모아놓은 것

 

> 시나리오 

유스케이스의 인스턴스 

구체적인 유스케이스의 실제 케이스

시나리오 작성이유

  • 유스케이스를 파악
  • 테스트에 도움

 

유스케이스 다이어그램

유스케이스에 대한 목차 성격의 그림

  • 액터 (막대사람)
  • 유스케이스 (타원)
  • 관계 (선)

● 액터

시스템으로부터 서비스를 받을 필요가 있는 외부 요소

사람 -> 역할, 시스템, 조직...

 

● 유스케이스

액터에게 서비스를 제공하기 위하여 시스템이 수행하는 중요 프로세스

사용 사례 이름 = 작업 의미

 

● 관계

- 커뮤니케이션 관계

액터와 유스케이스 사이

액터는 작업을 시작시키는 외부신호의 원천

양방향 다이얼로그 포함

 

- 포함관계 <<include>>

함수호출처럼 다른 유스케이스를 호출

공통되는 유스케이스를 별도로 정의

중복제거, 여러부분에 사용되는 공통기능 캡슐화

기준 유스케이스의 이벤트 흐름이 영향 받음

구동되는 조건이나 위치 : 출발 유스케이스

 

- 확장관계 <<extend>>

존재하는 유스케이스를 조건적으로 확장

유스케이스 안에 기술된 사건의 흐름 변경 x -> 어떤 조건이 만족될 때 그 동작의 추가 버전을 별도의 유스케이스로 정의

이벤트의 추가 / 예외적인 케이스 / 조건이 맞았을 때 예외적으로 수행

기준 유스케이스 이후의 이벤트 흐름은 확장 유스케이스의 수행결과에 의존

확장 적용되는 조건, 위치 : 시작 조건

 

 

유스케이스 다이어그램 작성 방법

  1. 주요액터 및 유스케이스 파악
  2. 유스케이스 확장 - 부수적인 유스케이스로 확장 (포함관계, 확장관계 정의)
  3. 유스케이스 확인 - 단순화, 합병
  4. 다이어그램 작성

유스케이스 명세 작성

유스케이스 안의 동작 글로 서술

사용자에게 보이는 외부 동작 위주

설계 단계에서 고민할 내용 x

사용자와 시스템 사이의 상호작용 관점에서 묘사

 

사건(이벤트)의 흐름

유스케이스 안에 있는 사건(이벤트)의 흐름 자세히 기술

사건 : 액터의 액션과 이에 따른 시스템의 반응

사건의 흐름 - 기본 흐름 / 확장흐름(비정상적 흐름 포함)

 

시작 조건과 종료 조건

● 시작조건

유스케이스가 실행되기 위하여 참이 되어야 하는 조건

파라미터들에 대한 조건이 참

 

● 종료조건

유스케이스가 완료된 후 참이어야 하는 조건

유스케이스 안에 발생하는 여러 사건의 흐름을 모두 만족 원칙

 

유스케이스 작성 요령

  • 소프트웨어가 제공할 기능에 집중
  • 사용자 관점
  • 목표 지향적
  • 시스템 흐름도와는 다름
  • 읽기 쉽게

 

유스케이스 규모와 수준

● 스카이 레벨 : 아주 높은 추상성을 가진 광범위한 수준, 문제 전체를 개괄적

● 카이트 레벨 : 목표를 성취하기 위하여 좀 더 구체적으로 기술한 수준

                      자세/실용적, 사용자에게 보이는 모든 기능 단위 포함

● 씨 레벨 : 단일 시스템 인터랙션, 완벽한 반응 보일 수 있는 수준

● 머드 레벨 : 시스템이 기능을 어떻게 구현할 것인지 과정 작성


액티비티 다이어그램

분석 단계에 워크플로우 표현하는 방법

유스케이스 안(사이)의 복잡한 흐름 나타냄

액티비티

비즈니스 프로세스를 구성하는 워크플로우 나타냄

액티비티는 더 하위의 액티비티로 쪼갤 수 있음 (액션 집합임)

비즈니스 프로세스의 작업들을 정의하고 이들 작업사이의 복잡한 선후관계와 병렬관계를 흐름도로 표현

 

액션 : 더 이상 쪼갤 수 없는 동작의 단위

  • 시작점(검은색 원) : 활동의 시작
  • 활동 상태(둥근 사각형) : 어떤 일들의 처리와 실행 의미 (액티비티/액션)
  • 종료점(이중 원) : 처리의 종료
  • 전이(화살표)

 

액티비티 다이어그램 작성법

  • 알맞은 제목(범위, 내용 수준)
  • 액티비티, 제어흐름, 객체흐름
  • 서택 흐름 필요성
  • 프로세스 병렬 수행 필요성
  • 시작노드 한개 제한, 맨 위(왼쪽 맨위) 위치
  • 대부분 한 개의 종료 노드(오른쪽 하단)
  • 입력 흐름이 없거나 출력 흐름이 없는 액티비티 재점검

기능적 모델 검증

기능 모델이 비즈니스 프로세스를 잘 나타내고 있는지 검토

빠진 요구 없는지 검토

모델 사이의 연관

워크스루우 : 결과물 동료가 리뷰, 발표 + 질문

인스팩션 : 체크리스트 만들어 모델 검토, 모여서 결함 결정 회의

 

 

 

 

 

 


참고 도서 : 최은만, UML로 배우는 시스템분석설계, 생능출판사, 2020년 3월 (제2판)

반응형

BELATED ARTICLES

more