유스케이스 다이어그램
1. 유스케이스의 구성요소
유스케이스 다이어그램 반영사항
- 액터: 누가 시스템을 사용할 것인가?(클라이언트, 관리자)
- 기능: 시스템은 사용자를 위해 무엇을 해야 하는가?(함수 기능 요약)
- 사용자와 상호작용을 하기 위해서 시스템이 제공해야 할 인터페이스는 무엇인가?
1.1. 액터(사람, 시스템)
유저와 관리자 같은 사람이나 카드결제시스템과 같은 기계/소프트웨어가 표시되기도 한다.
액터를 식별하기 위한 질문
- 시스템의 주요 기능을 사용하는 사람은 누구인가?
- 시스템을 지원하기 위해 필요한 사람은 누구인가?
- 시스템을 유지하고 관리하는 사람은 누구인가?
- 시스템에 필요한 하드웨어 장치는 무엇인가?
- 시스템과 상호작용하는 다른 시스템은 무엇인가?
- 시스템의 처리 결과에 연결되는 사람 또는 사물은 무엇인가?
1.2. 시스템/시스템 범위
사각형으로 묶어서 시스템 범위 표시(시스템 스코프)
1.3. 유스케이스
시스템에 대한 시나리오의 집합/기능의 집합 표시
주로 발생하는 이벤트를 흐름으로 표시하며 주요기능을 요약
2. 유스케이스 관계
유스케이스간 관계: <<include>>/<<extend>>
include(포함관계): 반드시 실행되어야 하는 기능
extend(확장관계): 추가/확장된 기능. 선택적으로 실행되는 기능
포함 관계 | 확장 관계 | |
목적 | 여러 유스케이스에 공통적인 기능을 표현 | 기준 유스케이스에 부가적으로 추가된 기능을 표현 |
이벤트 흐름 | 포함 유스케이스로 분기되는 이벤트 흐름 필수 기준 유스케이스 이후의 이벤트 흐름이 포함 유스케이스의 수행 결과에 의존 |
기준 유스케이스에 기술된 조건에 따라 분기가 선택적으로 수행 기준 유스케이스 이후의 이벤트 흐름이 확장 유스케이스의 결과에 의존하지 않는다. |
클래스 다이어그램
1. 클래스 다이어그램 기본 구성
1.1. 클래스다이어그램이란?
정적 구조 다이어그램의 한 종류
시스템의 클래스들의 관계를 표현하고 구조를 보여주는 UML(Unified Modeling Language) 다이어그램의 일부
사용 목적
- 시스템 구조 이해
- 효율적 의사소통
- 문서화: 설계 단계에서의 결정사항 문서화
- 설계 오류 발견
1.2. 클래스 다이어그램 작성 순서
1) 요구사항 분석(컨트롤러, 비즈니스, DAO)
2) 클래스 식별
3) 속성 정의(변수)
- 접근제어자
- public: +
- private: -
- default:
- protected: #
- name: String
String 타입의 private 변수 name
4)메서드 정의
접근제어자(변수와 동일)
+ setName(num: int): void
리턴값이 없고 파라미터값으로 int 변수 num을 받는 setName 함수
5) 클래스 관계 설정
클래스들 사이의 관계가 표현되도록 연결
2. 클래스 다이어그램 표현

위에서부터 차례대로 클래스, 변수, 함수 표현
클래스 연결
1)연관관계(Association)
클래스1이 클래스2의 객체를 전역 변수로 가지고 있음
클래스1이 존재하는 동안 관계 지속

실선과 꺾쇠 화살표로 표현
2)의존관계: Dependency
클래스1이 클래스2의 객체를 지역 변수로 가지고 있음
메서드를 사용할 때만 관계 지속

점선과 꺾쇠 화살표로 표현
3)상속관계: Inheritance
클래스1이 클래스2를 상속받은 관계

실선과 빈 세모 화살표로 표현
4)구현관계: Realization
클래스 1이 클래스 2를 구현한 관계

점선과 빈 세모 화살표로 표현
5)집합관계: Aggregation
연관관계의 일부
클래스 1이 클래스 2를 포함하지만 생명주기가 독립적인 경우
ex) ArrayList와 dao
점선과 빈 다이아몬드 화살표로 표현
6)복합관계: Composition
연관관계의 일부
클래스 1이 클래스 2를 포함하며 생명주기가 같은 경우
ex)클래스 1의 생성자에서 클래스 2를 생성함
점선과 꽉 찬 다이아몬드 화살표로 표현

시퀀스 다이어그램
1. 시퀀스 다이어그램
객체 지향 프로그램에서 시스템의 행동을 시각적으로 표시할 때 사용되는 대화형 다이어그램, UML의 일부
시스템 객체간에 교환되는 메시지를 시간 순서에 따라 보여줌
함수만 표현
주요 구성 요소
- 객체(Object): 수직선 상단에 위치. 시스템의 구성 요소
- 라이프라인(Lifeline): 객체 아래로 뻗어 내려가는 수직선. 객체의 생명주기 표현
- 메시지(Message): 객체간에 송수신되는 정보, 수평 화살표로 표시.
- 활성바(Activation bar): 객체가 메시지를 처리하는 동안 활성화 상태를 나타내는 직사각형


'정리노트' 카테고리의 다른 글
[Git/GitHub] 브랜치, 깃허브 (0) | 2024.01.10 |
---|---|
[Git/GitHub] 깃 시작하기, 깃으로 버전 만들기 (0) | 2024.01.09 |
[SQL] 인덱스, 스토어드 프로시저 (0) | 2024.01.05 |
[SQL] SQL 고급 문법 (0) | 2024.01.04 |
[SQL] SQL 기본 문법, SQL 고급 문법 (0) | 2024.01.03 |