[자바 – Java] Builder pattern 모델링 UML 다이어그램 종류 및 설명

1. Builder Pattern

 

1) 동일한 생성 과정에 다른 여러 결과물이 나올 수 있도록 하는 패턴이다.
2) 단계별 생성에 중점을 두는 패턴에 해당한다.
3) 새로운 결과물이 필요한 경우에도 동일한 과정으로 생성할 수 있다.
4) 생성 과정과 구현 방법을 분리하여 동일한 생성에서 여러 다른 표현이 나올 수 있다.

2. Builder Pattern (생성자를 대체하는 방법)


Gitmind

3. 열거형

1) 서로 관련 있는 상수들을 모아놓고 대표할 수 있는 이름을 정의 한 것을 말한다.
2) 클래스처럼 사용되기도 한다.

 

4. UML (Unified Modeling Language)

 

1) 객체지향 분석
– 무엇을 만들 것인가를 추상화하는 과정
– 요구사항으로부터 문제를 만들어가는 과정
2) 분석 vs 설계
– 분석은 발견하는 것이고 설계는 발명하는 것이다.
– 분석은 문제를 만들어가는 것이고 설계는 해답을 만들어 가는 것이다.
– 분석은 (문제가) “무엇인가”에 관심이 있지만 설계는 (문제를) “어떻게 해결할 것인가”에 관심이 있다.
3) 모델링
– 주어진 서술(생각)에서 추상적인 모델을 정의하고 최종적으로 코드를 만들어 내기 위한 장치이다.


* 모델링을 하는 이유

– 시스템을 눈에 보이게 하기 위함이다.
– 프로젝트 참여자(개발자)들의 통신 수단을 제공하기 위함이다.

– 모델 자체가 훌륭한 문서가 될 수 있다.
– 시스템의 구조와 행동을 명확하게 결정하기 위함이다.
– 소프트웨어를 개발하기 위한 뼈대를 제공하기 위함이다.

4) UML
– 그래픽 표기법의 집합이다.
– 소프트웨어 시스템을 표현하고 설계할 수 있도록 돕는다.
– 객체지향 방식 형태를 지원한다.

 

5) 종류
– Diagram
– Structure Diagram
– Class Diagram
– 소프트웨어 기본 구성 단위 클래스와 그들 간의 관계를 정의할 때 사용한다.
– 정적인 관점에서 클래스 구조를 표현한다.
– 기본적인 데이터 모델링을 수행한다. (분석단계)
– 객체지향 언어 코딩을 위한 설계 사양을 제공한다. (설계단계)
– 분석에서 설계까지 일관된 소프트웨어 시스템 도구이다.
– Component Diagram
* Behavior Diagram
– Use Case Diagram
– Sequence Diagram 6) UML을 위한 다이어그램 요소
– Class
– public(+), protected(#), private(-)
– 정적(static) 속성과 메서드 : 밑줄로 표시한다.
– Relationship (관계) : 객체간의 연결(링크)들을 클래스간 관계로 추상화한 것이다.

* 구분
– 연관관계(Association) : 참조하는 클래스는 해당 타입의 필드를 가지게 된다(사용한다).
– 집합, 집약관계(Aggregation) : 전체와 부분의 관계를 명시적으로 나타내고 싶을 때 사용한다.(weak aggregation)
– 구성, 합성관계(Composition) : 전체와 부분의 관계를 명시적으로 나타내고 싶을 때 사용한다.(strong aggregation)
– 상속 (Generalization)
– 구현 (Realization) 7) Use Case Diagram
– 사용자가 하는 행동을 나타낸다.
– 시스템과 사용자 간의 상호작용을 표현한다.
– 사용자 관점에서 논리적인 시스템의 기능을 정의한다.
– 개발자와 사용자, 이해관계자들 간의 이해를 도모할 수 있다.
– 시스템 전체 개발 범위를 결정할 수 있다.
– 시스템 분석, 설계 기준
– 인수 테스트 기준 8) Sequence Diagram
– 객체들 간의 협력 과정을 동적으로 정의한다.
– 객체 간 동적 상호작용을 시간적 개념으로 파악하기 위함이다.
– Use Case 단위로 작성한다.
– 클래스 다이어그램과 병행되며 상호간 일관성이 요구된다.