본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
깃 브랜치 전략 세우기
깃 브랜치를 운영하는 방법론
- gitflow: master, develop, feature, release, hotfix 브랜치를 설정하고 운영하는 방식
- github flow: main(master), feature 브랜치만으로 운영하는 방식
브랜치 전략을 세우는 이유와 요령
- 하나의 프로젝트 소스코드를 여러 개발자가 다루면서 발생하는 각종 부작용을 해결하자
- 개발 협업을 원활하게 하기 위한 약속
- 전략을 세울 때 고려할 수 있는 요소들
- 이 브랜치는 제품으로 내보낼 수 있는가?
- 이 브랜치는 빌드 실패를 허용하는가?
- 이 브랜치는 테스트 실패를 허용하는가?
- 이 브랜치는 임시로 운영하는가? 유지하지 않고 수시로 삭제하는가?
UML
- 시스템 분석, 설계, 구현 등 시스템 개발 과정에서 시스템 개발자와 고객 또는 개발자 상호간의 의사소통이 원활하게 이루어지도록 표준화한 대표적인 객체지향모델링 언어이다
- 시스템의 구조를 표현하는 6개의 구조 다이어그램과 시스템의 동작을 표현하는 7개의 행위 다이어그램을 작성할 수 있다
- 각각의 다이어그램은 사물과 사물 간의 관계를 용도에 맞게 표현한다
- ex)사물(Things), 관계(Relationships), 다이어그램(Diagram)
사물(Things)
- 모델을 구성하는 가장 중요한 기본 요소로, 다이어그램 안에서 관계가 형성될 수 있는 대상들을 말한다
- 구조 사물(Structural Things)
- 시스템의 개념적, 물리적 요소를 표현
- 클래스(Class), 유스케이스(Use Case), 컴포넌트(Component), 노드(Node)
- 행동 사물(Behavioral Things)
- 시간과 공간에 따른 요소들의 행위를 표현
- 상호작용(Interaction), 상태 머신(State Machine)
- 그룹 사물(Grouping Things)
- 요소들을 그룹으로 묶어서 표현
- 패키지(Package)
- 주해 사물(Annotation Things)
- 부가적인 설명이나 제약조건 등을 표현
- 노트(Note)
관계(Relationships)
- 사물과 사물 사이의 연관성을 표현하는 것이다
- 연관(Association) 관계
- 2개 이상의 사물이 서로 관련되어 있음을 표현한다
- 사물 사이를 실선으로 연결하여 표현하며, 방향성은 화살표로 표현한다
- 연관에 참여하는 객체의 개수를 의미하는 다중도를 선 위에 표기한다
- 집합(Aggregation) 관계
- 하나의 사물이 다른 사물에 포함되어 있는 관계를 표현한다
- 포함하는 쪽과 포함되는 쪽은 서로 독립적이다
- 포함되는 쪽에서 포함하는 쪽으로 속이 빈 마름모를 연결하여 표현한다
- 포함(Composition) 관계
- 집합 관계의 특수한 형태로, 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계를 표현한다
- 포함하는 쪽과 포함되는 쪽은 서로 독립될 수 없고 생명주기를 함께한다
- 포함되는 쪽에서 포함하는 쪽으로 속이 채워진 마름모를 연결하여 표현한다
- 일반화(Generalization) 관계
- 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현한다
- 보다 일반적인 개념을 상위(부모), 보다 구체적인 개념을 하위(자식)라고 부른다
- 구체적(하위)인 사물에서 일반적(상위)인 사물 쪽으로 속이 빈 화살표를 연결하여 표현한다
- 의존(Dependency) 관계
- 연관 관계와 같이 사물 사이에 서로 연관은 있으나 필요에 의해 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계를 표현한다
- 하나의 사물과 다른 사물이 소유 관계는 아니지만 사물의 변화가 다른 사물에도 영향을 미치는 관계
- 영향을 주는 사물(이용자)이 영향을 받는 사물(제공자) 쪽으로 점선 화살표를 연결하여 표현한다
- 실체화(Realization) 관계
- 사물이 할 수 있거나 해야 하는 기능(행위, 인터페이스)으로 서로를 그룹화 할 수 있는 관계를 표현한다
- 사물에서 기능 쪽으로 속이 빈 점선 화살표를 연결하여 표현한다
다이어그램(Diagram)
- 사물과 관계를 도형으로 표현한 것
- 여러 관점에서 시스템을 가시화한 뷰(View)를 제공함으로써 의사소통에 도움을 준다
- 정적 모델링에서는 주로 구조적 다이어그램을 사용하고 동적 모델링에서는 주로 행위 다이어그램을 사용한다
스테레오 타입(Sterotype)
- 스테레오 타입은 UML에서 표현하는 기본 기능 외에 추가적인 기능을 표현하기 위해 사용한다
- 길러멧(Guilemet)이라고 부르는 겹화살괄호(≪≫) 사이에 표현할 형태를 기술한다
≪include≫ 연결된 다른 UML 요소에 대해 포함 관계에 있는 경우
≪extend≫ | 연결된 다른 UML 요소에 대해 확장 관계에 있는 경우 |
≪interface≫ | 인터페이스를 정의하는 경우 |
≪exception≫ | 예외를 정의하는 경우 |
≪constructor≫ | 생성자 역할을 수행하는 경우 |
'패스트캠퍼스 강의' 카테고리의 다른 글
[15일차] 50일 포트폴리오 챌린지 (0) | 2023.08.22 |
---|---|
[14일차] 50일 포트폴리오 챌린지 (1) | 2023.08.21 |
[12일차] 50일 포트폴리오 챌린지 (0) | 2023.08.19 |
[11일차] 50일 포트폴리오 챌린지 (0) | 2023.08.18 |
[10일차] 50일 포트폴리오 챌린지 (0) | 2023.08.17 |