이번 단원에서는 이 표의 대해서 조금 더 구체적으로 배웠다.
저번 단원과 같은 내용을 다루지만 전의 글은 개념을 설명했고 이번 단원은 인터넷 쇼핑몰을 예로 들어서 심화된 내용을 배울 수 있었다.
* 유스케이스 : 사용자가 어떤 용도로 시스템을 시용하는가 / '사용 예'의 해당
유스케이스 모델링이 필요한 이유
: 앞서 설명했다시피 기능 모델링은 사용자가 '무엇'을 요구하는 지에 초점을 두고있다. 유스케이스 모델링은 고객의 요구가 무엇인지 빠르게 파악할 수 있다.
유스케이스 다이어그램
: 유스케이스와 행위자, 그 관계를 나타낸 다이어그램
① 유스케이스
→ 타원으로 표현
② 행위자
→ 사람의 형태 혹은 허수아비로 표현 (때때로 하드웨어나 다른 시스템의 행위자가 될 수 있음)
관계 유형
③ 일반화 관계
→ 기본적인 목적이 같지만 수행방법이 여러가지일때 쓰는 관계유형
④ 포함 관계
→ 하나의 유스케이스를 실행할 때 다른 유스케이스의 행동을 포함하는 관계
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 |
댓글