본문 바로가기
개발/소프트웨어 공학

유스케이스와 UML

by re-hwi 2022. 1. 19.

이번 단원에서는 이 표의 대해서 조금 더 구체적으로 배웠다.

 

저번 단원과 같은 내용을 다루지만 전의 글은 개념을 설명했고 이번 단원은 인터넷 쇼핑몰을 예로 들어서 심화된 내용을 배울 수 있었다.

 

* 유스케이스 : 사용자가 어떤 용도로 시스템을 시용하는가 / '사용 예'의 해당

 

유스케이스 모델링이 필요한 이유 

: 앞서 설명했다시피 기능 모델링은 사용자가 '무엇'을 요구하는 지에 초점을 두고있다. 유스케이스 모델링은 고객의 요구가 무엇인지 빠르게 파악할 수 있다.


유스케이스 다이어그램

 

: 유스케이스행위자, 그 관계를 나타낸 다이어그램

 

유스케이스 

→ 타원으로 표현

 

행위자

→ 사람의 형태 혹은 허수아비로 표현  (때때로 하드웨어나 다른 시스템의 행위자가 될 수 있음)

 

관계 유형 

 

③ 일반화 관계

→ 기본적인 목적이 같지만 수행방법이 여러가지일때 쓰는 관계유형

일반화 관계

④ 포함 관계 

→ 하나의 유스케이스를 실행할 때 다른 유스케이스의 행동을 포함하는 관계

ex) 상품을 주문하기 위해선 로그인을 해야한다.

포함 관계

⑤ 확장 관계

→ 특정한 조건에서 다른 유스케이스 행동으로 확장되는 관계

* 화살표 방향이 확장 유스케이스에서 기본 유스케이스

확장관계

인터넷 쇼핑몰 유스케이스 모델링 

 

- 유스케이스 식별은 문제설명서로부터 시작하는것이 일반적

- 문제 설명서는 시스템이 수행하는 일을 간략하게 소개 → 자세한내용 x

인터넷 쇼핑몰 유스케이스 다이어그램

유스케이스 시나리오에 일반적으로 포함되는 내용

  • 유스케이스 이름
  • 유스케이스를 수행하는 행위자
  • 유스케이스 내용
  • 선행 및 후행조건
  • 이벤트 흐름 (기본흐름, 예외흐름, 대안흐름)

→ 이벤트흐름중에 기본 흐름은 반드시 작성해야하지만, 예외흐름이나 대안흐름은 상황에 따라 작성


클래스 다이어그램 (정보)

 

정적인 정보구조를 나타내는 정보모델로서, 시스템에 필요한 클래스들과 이들 사이의 관계를 나타내는데 사용된다. 

 

- 문제 기술서나 유스케이스 시나리오가 클래스 도출에 사용될 수 있다.

 

- 유스케이스 시나리오를 이용한 클래스 도출 방식을 유스케이스 정적 분석이라고 함.

 

유스케이스 정적 분석 절차

① 클래스 찾기

② 클래스 사이의 관계 찾기

③ 클래스의 속성 및 오퍼레이션 찾기

 

* 유스케이스 시나리오 : 사용자와 시스템의 상호작용을 기술하는 것 

* 클래스 : 값을 갖는 속성들의 집합

 


시퀀스 다이어그램 (동적)

 

: 유스케이스 시나리오를 더욱 확장하여 시스템 내부의 객체들이 상호작용하는 과정까지 나타낸 것 (화이트박스)

 

동적분석

: 시스템을 구성하는 객체의 상태나 동작의 변화 또는 객체들 사이의 상호작용에 관심을 두고 클래스들의 오퍼레이션을 찾는 과정

 

- 시퀀스 다이어그램은 각각의 유스케이스의 대해 작성하는것이 일반적

 

- 객체간 상호작용을 통해 오퍼레이션을 도출할 수 있음 → 어떠한 데이터들을 주고받는지 밝힐 수 있음

 

- 데이터의 송수신은 매개변수와 변환값으로 표현

 

* 사건 추적도 : 시스템을 블랙박스로 보고 행위자와 시스템 사이의 사건 흐름을 쉽게 이해할 수 있도록 나타낸 다이어그램

 

시퀀스 다이어그램


액티비티 다이어그램 (기능)

 

: 클래스 내에서 이벤트를 처리하는 논리적인 과정을 정확히 이해하기 위해 사용되는 다이어그램

→ 복잡한 프로세스의 처리과정을 이해하거나 클래스의 추가적인 오퍼레이션을 식별

 

액티비티 다이어그램을 사용하는 대표적인 예시

 

① 유스케이스 분석 지원

→ 유스케이스 실행과 관련된 활동들의 흐름과 구조를 쉽게 파악할 수 있음

 

② 복잡한 알고리즘 표현

→ 객체의 오퍼레이션을 찾아내기 위해 시퀀스 다이어그램을 사용하지만 시퀀스 다이어그램으로 설명하기 어려운 부분을 액티비티 다이어 그램으로 표현

액티비티 다이어그램


UML 모델의 분석 프로세스 

 

지금까지 공부한 것을 총 복습하는 단원이다. 이제부터는 책의 내용없이 내가 이해한 내용으로만 글을 작성하겠다.

 

- 행위자 : 시스템 밖에서 시스템을 바라보는 사용자/외부객체 

 

유스케이스 단계

: 기능모델링에 해당. 시스템을 블랙박스로 보고 사용자가 무엇을 사용하는지 분석하는 것

 

유스케이스 시나리오

: 동적 모델링에 해당하며 마찬가지로 시스템을 블랙박스로 보고 시스템의 흐름, 사건에 집중하는 단계이다. 

행위자와 시스템 사이의 사건 흐름과 과정을 나타내어 상호작용을 밝힌다.

 

유스케이스 시나리오 정보

: 유스케이스 시나리오를 통해 얻은 정보를 확인. 시스템을 블랙박스로 보고 수행하는 정보 모델링

ex) 객체와 클래스

 

클래스 다이어그램

: 객체가 모여 클래스가 되고 클래스들끼리의 관계, 속성을 알아내어 접점을 연결한다. 시스템을 화이트박스로 보고 수행하는 정보 모델링

 

시퀀스 다이어그램

: 시스템 내부의 객체들이 상호작용하는것을 조사하는 것 시스템을 화이트박스로 보고 수행하는 동적 모델링

 

액티비티 다이어그램

: 시퀀스 다이어그램에서 표현하지 못한 것들을 추가로 표현. 시퀀스 다이어그램이 전체적인 내용을 요약한 것이라면 액티비티 다이어그램은 조금 더 구체적으로 표현


모델의 통합

 

이 파트는 지금까지 배운 v 프로세스의 모든 과정을 하나의 클래스 다이어그램으로 표현하는 것이다.

 

시퀀스 다이어그램으로 얻은 이벤트들을 클래스 다이어그램에 오퍼레이션으로 반영된다.

 

여기서 이해 안가는 부분 : 이 과정을 하는 최종적인 목표는 보다 정확한 클래스 다이어그램을 만들기 위함이다. 그럼 클래스 다이어그램을 마지막 과정으로 만들면 되는거 아닌가??? 왜 일을 두번할까????

ㄴ 알아냄 ㅋ

반응형

'개발 > 소프트웨어 공학' 카테고리의 다른 글

자료 흐름 중심 설계와 데이터베이스 설계  (0) 2022.01.21
소프트웨어 설계 기법  (0) 2022.01.20
객체지향 분석 기법  (0) 2022.01.17
정보 모델링  (0) 2022.01.12
동적모델링(2)  (0) 2022.01.12

댓글