1. 소프트웨어 개발과 모델링
모델링
- 해석의 공유 및 타당성 검토
- 개발할 시스템 구체화 / 가시화
- 시스템의 구조와 행위 명세
- 시스템 구축 틀 제공
2. UML
UML이란?
대표적인 시스템 모델링 언어(unified modeling language)
시스템을 상호작용하는 객체들로 모델링
분석 모델(문제 영역)과 설계 모델(해결 영역)이 동일
다이어그램(diagram) 종류
- 행위 다이어그램: 활동, 상태 머신, 유스케이스(UseCase)
- 구조 다이어그램: 클래스, 객체, 복합체 구조, 배치, 컴포넌트 패키지
- 상호작용 다이어그램: 순차, 상호작용 개요, 통신, 타이밍
유스케이스 다이어그램
- 사용자 관점에서 시스템 사용 목적 기술
- 목적 달성을 위한 사용자와 시스템 간의 상호작용
- 시스템의 기능 서비스 정의, 시스템의 범위 결정
- 흐름도가 아님
- 구성 요소
- 액터, 유스케이스, 관계
- 시스템 범위
- 시스템 내부의 유스케이스와 시스템 외부 환경 구분
액터(Actor)
- 시스템과 상호작용하는 외부 개체
- 사람: 졸라맨 모양으로 표시, 사용자, 관리자 등
- 외부 시스템: 박스 내에 <actor>로 표시, 인증 시스템, 은행 시스템 등
- 주 액터(Primary)
- 목적 달성을 위해 시스템의 서비스가 필요한 액터
- 부 액터(Secondary)
- 주 액터의 목적 달성을 위해 시스템에 서비스를 제공하는 외부 개체
유스케이스(UseCase)
- 액터와 시스템 간에 수행하는 일련의 상호작용
- 요구사항 만족을 위해 시스템이 제공하는 기능
- 시스템 구동 / 종료, 사용자 인증, 계좌조회 및 이체
- 상호작용의 목적을 단순명료하게 기술한 이름
- 타원형으로 표시
- 유스케이스의 명칭은 사용자가 사용하는 명칭
- 요구사항 만족을 위해 시스템이 제공하는 기능
관계(Relationship)
- 액터-유스케이스 간의 관계
- 유스케이스 목적 달성을 위해 액터가 시스템과 상호작용할 때 발생, 실선으로 연결
- 유스케이스-유스케이스 간의 관계
- 포함 관계 (선행 -> 후속): 필수적 수행
- 시스템 구동을 하려면 사용자 인증을 해야함
- 확장 관계 (특정한 조건): 선택적 수행
- 고객목록조회는 고객정보조회를 하려면 필요함 = 고객정보조회를 하려면 고객목록조회를 해야함
- 일반화 관계 (그룹): 보편적, 구체적
- 트랜잭션을 구체화 하면 계좌 조회, 계좌 이체로 구체화 가능
UML 예시
시스템 구동을 위해 관리자가 ATM과 상호작용할 때, 외부 인증시스템(부 액터)의 서비스를 제공받아 사용자 인증이 필요하다.
유스케이스 다이어그램 작성 절차
- 액터 식별
- 사용자, 관리자, 인증 시스템, 은행 시스템
- 액터별 유스케이스(기능/서비스) 식별
- 관리자: 시스템 구동/종료, 인증(인증 시스템)
- 사용자: 계좌 조회/이체, 트랜잭션(은행 시스템)
- 관계 식별
- 액터-유스케이스: 관리자 - 시스템 구동/종료
- 유스케이스-유스케이스: 포함 관계, 일반화 관계
- 정리및 조정 작업
유스케이스 기술서
- 유스케이스명
- 액터명
- 개요
- 사전 조건, 사후 조건
- 기본 흐름, 대체 흐름(예외 처리)
'CS' 카테고리의 다른 글
[소프트웨어 공학] Maven (0) | 2022.09.26 |
---|---|
[소프트웨어 공학] 객체지향 개발 프로세스 (0) | 2022.09.19 |
[소프트웨어 공학] 순차 다이어그램(Sequence Diagram) (0) | 2022.09.19 |
[소프트웨어 공학] 패키지 다이어그램 (0) | 2022.09.19 |
[소프트웨어공학] 클래스 다이어그램 (2) | 2022.09.15 |