오늘의 공부범위 : 강의 25,26강 내용(Part3. ch1. 2-3강)
목차
1. Architecture diagram
2. Sequence diagram
오늘은 내용이 꽤 많으므로 간략하게 요약해서 정리해보도록 하겠다.
오늘도 필기하면서 시작해보자.
#1. 아키텍처 다이어그램 (Architecture diagram)이란?
- 시스템 간의 상호 작용 및 의존성을 높은 수준의 레벨에서 가시화 한 다이어그램
- 각 시스템이 어떻게 동작 하는지, 어떤 데이터를 어떻게 다루는지 등의 구체적인 상호작용 내용은 생략하고, 전체적인 맥락 관점에서 기술하는 것을 말함. 시스템 전체 구조를 일컫는 용어이다.
간단히 말해 시스템 전체 구조를 짜고 들어가는건데, 온라인에 이런 사이트도 있었다.
이런 사이트를 이용할 수도 있겠지만 이론을 조금 배워서 강의를 따라가면서 나는 만들어볼 것이고 아마 AWS에도 관련 서비스도 있었던 것 같다.
필요성
시스템 전체의 구조는 코드만으로 구조를 파악하기 힘드므로 효율적으로 소프트웨어를 파악하기 위해 필요함
언제 사용할까?(시기)
주로 초기 개발단계에서 사용하거나 새로운 팀원이 합류 시 빠르게 프로그램의 구조를 파악하기 위해서는 이러한 설계가 존재해야 함. 그리고 추가적인 기능이 생기는 경우에 참고 및 업데이트 용으로 필요함.
예시
아까 전에 살펴본 다이어그램을 쉽게 그리게 도와주는 웹서비스에서 쇼핑몰에 사용되는 아키텍쳐 다이어그램의 탬플릿을 찾을 수 있었다. 시스템 전반적으로 어떻게 연결되어있는지 잘 표현이 되어있다.
#2. Sequence diagram
시퀀스 다이어그램은 한 마디로 어떤 순서로 작용하는지에 초점을 맞춘 다이어그램이다. 구조에 초점을 맞춘 것이 아니라 시스템이 어떤 순서로 누구와 상호작용 하는지에 촛점을 맞춘 behaviour diagram의 종류이다.
왜 사용하는지는 아키텍쳐 다이어그램과 비슷하고 언제 사용하는지 살펴보면 더 비교하기 좋다.
언제사용하나?
요구사항이 수집되고난 후, 각 시스템 혹은 객체 간의 메시징을 정의하는 설계 단계에서 사용하는데 각각 다음과 같은 상황에서 사용한다.
- 요청을 처리하기 위해 여러 시스템/외부 서비스 간의 상호 작용이 여러 차례 일어날 때 - 내가 만든 구성요소와 외부 서비스 간의 상호작용이 여러 번 일어나는 경우에 사용한다.
- 요청을 처리하기 위해 시스탬 내에서 여러 객체 간의 메시지 전달이 여러 차례 일어날 때 - 내가 만든 구성요소 간의 상호작용이 여러 번 일어나 복잡한 경우 알기 쉽게 표현하고 싶을 때 사용한다.
- 요청의 흐름을 공유해야 할 때
- 새로운 시스템을 설계하거나 기존의 시스템을 확장할 때
구성 요소
- 생명선 (Lifeline) - 점선으로 표현되며 객체가 메모리 상에 얼마나 오래 살아있는지를 의미한다.
- 객체/참여자 - 사용자, 데이터베이스, 시스템, 클래스 등이 있다.
- 메시지
- 활성상자
- Guard
- Sequence Fragment
더 자세한 내용은 실제 다이어그램을 그리는 실습부분에서 알아보도록 하자..!!
관련링크
패스트캠퍼스 : http://bit.ly/3Y34pE0
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
#패스트캠퍼스 #패캠챌린지 #수강료0원챌린지 #환급챌린지 #직장인인강 #직장인자기계발 #패캠인강후기 #패스트캠퍼스후기 #오공완 #사이드프로젝트10개기술스택으로구현하는풀스택서버리스프로젝트withReact
'study > Challenge' 카테고리의 다른 글
[Challenge / day-21]Architecture diagram, Sequence diagram 실습 (0) | 2023.03.12 |
---|---|
[Challenge / day-20] 시스템 이론(3) class diagram (0) | 2023.03.11 |
[Challenge / day-18] 시스템 설계의 필요성 (0) | 2023.03.09 |
[Challenge / day-17] 원하는 기능 추가 및 AWS 둘러보기 (3) | 2023.03.08 |
[Challenge / day-16] 파트 복습 (0) | 2023.03.07 |