# uml
[정보처리기사] UI 설계 - UML ( Unified Modeling Language )
UI 설계를 위한 UML UML(Unified Modeling Language)의 개념 객체지향 소프트웨어 개발 과정에서 산출물의 명세화, 시각화, 문서화할 때 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화된 범용 모델링 언어 UML의 특징 가시화 언어 개념 모델 작성 시 오류가 적고 의사소통이 용이 구축 언어 다양한 프로그래밍 언어로 실행 시스템의 예측 가능 UML을 소스 코드로 변환하여 구축 가능, 역 변환하여 역공학 가능 명세화 언어 정확한 모델 제시, 완전한 모델 작성 가능 문서화 언어 시스템에 대한 평가 및 의사소통의 문서 > UML의 구성요소 사물, 관계, 다이어그램으로 구성 > 사물(Things) 추상적인 개념으로, 주제를 나타내는 요소 단어 관점에서 '명사' 또는 '동사'를 의미 관계(Relationships) 사물의 의미를 확장하고 명확히 하는 요소 사물과 사물을

[소프트웨어공학] UML 다이어그램
📌 UML (Unified Modeling Langueage) 프로그램 설계를 표현하기 위해 사용하는 표기법 요구분석, 시스템 설계, 시스템 구현 등의 시스템 개발 과정에서 개발자간의 의사소통을 원할하게 이루어지게 하기 위하여 표준화한 모델링 언어 📌 Swimlanes 시스템이 적용될 업무의 흐름을 나타내는 다이어그램 UML에 속하지는 않지만, 업무 흐름을 표현하는데 주로 사용된다. (액티비티 다이어그램과 유사) 업무의 흐름이 엔티티(대상, Entity)들 간에 완벽히 분리되어 있다. 📌 Swinlanes Symbols 시작/종료 심볼 : 업무의 시작과 종료를 나타낸다. <img src='https://velog.velcdn.com/images/ryu4219/post/722b8a7f-dc4a-455d-93d0-d259e6e69502/image

yuml로 uml 쉽게 그리기
yuml https://yuml.me/ 무료로 uml을 그릴 수 있는 사이트가 있다. 디자인도 나쁘지 않고 코드로 작성할 수 있어서 개인적으로는 편하게 그릴 수 있는 거 같다. class diagram 그리는 일이 보통이기 때문에 class diagram만 살펴보겠다. 설정 빨간색 네모친 부분을 통해 스타일을 바꿀 수 있다. 처음부터 각각은 아래와 같다. diagram 타입 diagram 스타일 크기 diagram이 표시될 방향 어렵지 않으니 직접 바꿔보면 쉽게 알 수 있을 것이다. 코드 왼쪽에 있는 코드를 통해 다이어그램을 생성할 수 있다. 간단한 예제 https://yuml.me/diagram/scruffy/class/samples 위 링크를 통해
클래스 다이어그램

클래스 다이어그램
본격적으로 디자인 패턴을 학습하기에 앞서 설명을 위해 자주 사용되는 클래스 다이어그램에 대해 가볍게 정리한다. > UML(Unified Modeling Language) 개발 프로젝트를 위한 설계도이다. 모델링을 위한 표준 언어로 개발자들 사이 생각의 불일치를 줄여 작업 효율을 높이기 위해 등장했다. 종류(14 中 3) 행위 다이어그램 Use Case UML : 사람과 역할을 중심으로 서비스를 시각화 Sequence UML : 데이터의 흐름, 순서를 시각화 구조 다이어그램 Class UML : 정보들 간의 관계를 시각화 클래스 다이어그램 Element Class | 이름(클래스이름) | | --- | | 속성(변수) : 자료형 | | 기능(메서드) : 반환값 | 보통 이름, 속성, 기능의 세 구획을 사용하지만
[정보처리기사 필기] UML (Unified Modeling Language)
7월 20일에 있을 정보처리기사 필기 시험을 위해서 공부하던 중 매번 비슷하게 틀리는 문제가 있어서 제대로 공부할 겸 포스팅 해보기로 했다. 정보시스템이랑 DB, 프로그래밍 쪽은 어느정도 완성이 됐는데 소프트웨어 계획과 개발 쪽이 계속 오답이 나온다. 우선 내가 틀린 문제는 시나공 2023년도 3회 대비 모의고사의 17번 문제였다. > Q. UML에서 활용되는 다이어그램 중 시스템의 동작을 표현하는 행위 다이어그램에 해당하지 않는 것은? 유스케이스 다이어그램 시퀀스 다이어그램 활동 다이어그램 배치 다이어그램 1번과 3번은 알고 있었는데, 뭔가 배치 다이어그램도 행위 다이어그램에서 본 기억이 있던 것 같아서 바보같이 2번을 선택했었다. 정답은 4번 배치 다이어그램이었다. 워낙에 다이어그램의 종류가 많기도 하고 이름이 헷갈려서 매번 풀 때마다 오답률이 꽤 높았기에 이번에 다시 정리해보려 한다. UML(Unified Modeling Language)

소프트웨어 개발에서의 다이어그램 종류: 정적 다이어그램, 동적 다이어그램, 물리적 다이어그램
소프트웨어 개발은 복잡한 과정이며, 다양한 요소들이 조화롭게 동작해야 합니다. 이를 위해 다이어그램은 소프트웨어 개발자들 사이에서 많이 사용되는 시각적인 도구입니다. 다이어그램은 시스템의 구조와 동작을 이해하고 설계하는 데 도움을 주는 강력한 수단입니다. 이번 블로그에서는 소프트웨어 개발에서 자주 사용되는 다이어그램 중 정적 다이어그램, 동적 다이어그램, 물리적 다이어그램에 대해 자세히 알아보겠습니다. 1. 정적 다이어그램 정적 다이어그램은 시스템의 구조와 정적인 관계를 표현하는 데 사용됩니다. 즉, 클래스, 객체, 데이터 구조와 이것들의 관계를 그림으로 표현해서 소프트웨어 요소에서 변하지 않는 논리적인 구조를 보여줍니다. 주로 클래스 다이어그램과 패키지 다이어그램이 있습니다. 1.1 클래스 다이어그램 클래스 다이어그램은 시스템의 클래스들과 그들 간의 관계를 시각적으로 표현합니다. 이 다이어그램은 소프트웨어의 객체 지향적인 구조를 이해하는 데 매우 유용합니

UML (23.06.27)
📝 모델링 > 모델을 만드는 작업 -> 즉, 현실 세계를 단순화 시켜 표현하는 기법 📌 모델링의 필요성 1. 의사소통 하기 좋다. 다양한 형태들의 모델을 가시화 시켜 고객-개발자, 개발자-개발자 간의 의사소통을 원활히 하며 요구사항에 부합한 시스템을 개발할 수 있도록 해 줌 2. 대규모 프로젝트 구조의 로드맵(길잡이)을 만들 때 유용하다. 로드맵을 통해 클래스와 클래스 간에 의존하는 관계 등을 개발자가 빠르게 파악 가능함 3. 개발할 시스템 구축에 대한 기초를 마련할 수 있다. 프로세스 과정 상 분석/설계 후 구현 단계로 진행하게 되는데, 모델링 단계에서 만들어낸 산출물을 통해 CASE도구에서 소스 코드 생성 기능 같은 것들을 제공 4. 백엔드 문서용으로 제격이다. 프로젝트를 다른 팀에게 넘기거나 이어서 맡는 경우 그 팀에게 유용함 📝 <span st

국비 47-2
모델링 현실세계를 단순화시켜 표현하는 기법 의사소통하기 좋다 대규모 프로젝트 구조의 로드맵을 만들 때 유용하다 개발할 시스템 구축에 대한 기초를 마련할 수 있다 백엔드 문서용으로 제격이다 > UML 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어로 소프트웨어 개념을 다이어그램으로 그리기 위해 사용하는 시각적인 표기법 📍 클래스 다이어그램 📍 유스케이스 다이어그램 (동적 다이어그램) 
클래스 다이어그램
UML 클래스 다이어그램을 사용하면 클래스 내부의 정적인 내용이나 클래스 사이의 관계를 표기할 수 있다. 클래스 다이어그램으로 클래스의 멤버 변수와 멤버 함수를 보여 줄 수 있으며 해당 클래스가 다른 클래스에서 상속되었는지, 다른 클래스를 참조하는지도 알 수 있다. 다시 말해, 소스코드에 나타나는 클래스 사이의 의존 관계를 모두 표기할 수 있다. 기본 개념 클래스 클래스는 단순한 사각형으로 그린다. 클래스 아이콘을 여러 구획으로 나눌 수도 있는데, 첫째 구획에는 클래스의 이름이, 둘째 구획에는 클래스의 변수, 셋째 구획에는 클래스의 메서드가 들어간다. - : private # : protected + : public 변수나 함수 인자의 타입은 저마다 자기 이름 뒤에 콜론을 찍고 적는다. 함수의 반환값도 비슷하게 함수 뒤에 콜론을 찍고 적는다. 
UML: 개념, 명세, 구현 차원의 이해
UML(Unified Modeling Language) 은 소프트웨어 시스템을 시각화하고, 명세화하며, 구축하고, 문서화하는 표준화된 일반 목적의 모델링 언어입니다. UML은 개념, 명세, 구현의 세 가지 차원에서 시스템을 이해하고 표현하는 데 도움이 됩니다. 이 글에서는 이 세 가지 차원에 대해 자세히 살펴보겠습니다. 1. 개념 차원 개념 차원은 시스템의 가장 높은 수준의 추상화를 나타냅니다. 이 차원에서는 시스템의 주요 구성 요소와 이들 간의 관계를 식별하고 정의합니다. 이는 시스템의 전체적인 구조와 동작을 이해하는 데 도움이 됩니다. 예를 들어, 온라인 쇼핑몰 시스템을 설계한다고 가정해봅시다. 개념 차원에서는 사용자, 상품, 장바구니, 주문 등의 주요 구성 요소와 이들 간의 관계를 식별하고 정의합니다. 이는 클래스 다이어그램을 통해 표현될 수 있습니다. 
[F-Lab 모각코 챌린지 19일차] 시퀀스 다이어그램
UML, 시퀀스 다이어그램은 정보처리기사를 준비할 때 이미 수없이 외웠던 개념이다. 하지만 설명하라면 제대로된 개념을 말할 수 없는, 암기식의 습득이었다. UML에는 구조적 다이어그램 행위적 다이어그램이 있는데 그 중 시퀀스 다이어그램은 행위적 다이어그램, 그걸 외우는 "유시커상활타"중 "시"였다. 에프랩에서 멘토링을 하면서 내가 이때까지 헤매며 거쳐온 쓸모없다고 생각한 잊혀질 경험들을 다시금 되내이게 하면서 쓸모없는 것은 없다고 말해주는 든든함을 느끼고 있다. 직접 깊게 공부하고 적용해보게 해줄 수 있는 경험이 값지다. 시퀀스 다이어그램 Sequence Diagram 통합 모델링 언어(UML, Unified Modeling Language)는 소프트웨어 공학에서 시스템 설계를 시각화하는 표준 방법을 제공하기 위한 범용 모델링 언어이다. UML은 시스템 상호작용, 업무 흐름, 객체간의 메시지 전달, 컴포넌

유데미, 스나이퍼팩토리,10주완성 프로젝트 캠프, 프론트엔드(리액트/react) 2일차 학습 일지 - 서비스기획 (2) 강의 후기
오전에는 1일차 학습 일지를 마무리 하는 시간을 가졌다. 슬랙 팀방을 만들어 팀원들과 소통하며 시간을 보냈다. 서비스 기획 ( 2 ) UML이란 ? Unified Modeling Language 로 복잡한 사람들의 사고와 생각을 표현하는 도구 구축에 대한 소프트웨어, 프로그래밍이 아닌 시스템 자체의 산출물의 역할을 시각화 하여 규정하는데 목적을 두고 있음. 이런 과정을 통해 꼭 필요한 행위를 기반으로 한 객체 지향 모델링이 가능해짐. 사람의 행위를 기반으로 둠. UML에서 정의하는 모델링이란 ? 어떠한 현상들을 단순화, 일반화, 추상화 하는 과정으로 아래와 같은 장점을 가지고 있음. 내부 구조나 동작하는 행위

[UML] 클래스 다이어그램 의존 관계 설정
최근, 디자인 패턴을 학습하며 클래스 다이어그램을 그리며 별 생각없이 화살표를 작성했었는데요.. 🥲 그 화살표에 의미가 있다는건 알았지만 별로 신경쓰지 못하는 저를 발견해서 정리하는 시간을 갖고자 작성하였습니다. UML UML은 통합 모델링 언어(Unified Modeling Language)의 약자입니다. 모델을 만들고 설명하는 표준 언어라고 생각하면 됩니다. 왜 UML을 알아야 하나요?🤔 다른 사람들과의 협업에 필요합니다. UML 형식을 차용해 의사소통하면, 의미가 명확하고 설계에 대한 논의가 순조롭게 이루어질 수 있습니다. 전체 시스템의 구조와 클래스의 의존성을 파악합니다. 다이어그램을 분석하면, 시스템의 구조는 물론 클래스 간의 의존성도 파악하기 쉽습니다. 그 후에 설계를 더 세분화할 수 있겠죠? 유지보수를 위한 백엔드 문서로 사용합니다. 위의 항목과 이어지는 방법입니다. 구조적으로 효율적이지 않거나, 모듈화 또는 구체화해야하는 작업이 필

[유데미x스나이퍼팩토리] 10주 완성 프로젝트 캠프 프론트엔드 3일차
📒배운 것 >#### UML이란? -Unified Modeling Language의 약자. -복잡한 사람들의 사고와 생각을 표현하는 도구 구축에 대해 소프트웨어, 프로그래밍이 아닌 시스템 자체의 산출물의 역할을 시각화하여 규정하는데 목적을 두고 있음. -꼭 필요한 행위를 기반으로 한 객체 지향 모델링이 가능해짐 객체 지향 모델링이란? 모든게 엮여있어 하나를 고치면 모든 기반이 무너지는 게 아닌, 하나 하나 독립적으로 객체를 갖는 것. 한개를 건드려도 다른 부분에 영향을 주지 않는다. #단순화, #일반화, #추상화 >#### UML에서 정의하는 모델링이란? 내부 구조나 동작하는 행위에 대한 표현의 자유 종이에 적든 draw.io같은 툴을 이용하든 핸드폰을 사용하든 도구는 상관없다. 시스템 구성 요소들이 서로 어떻게 연결되어 있는지가 중요. 시스템의 구성 요소들이 서로 어떻게 연결되어 있는지 확인 가능

[UML] UML (Unified Modeling Language) 이란?
Intro 마지막 프로젝트 달리고 한 달만에 찾아온 블로그... 당장 토요일에 정처기 쳐야하는데 아주아주 큰일이 났다. 모의고사만 계속 돌리는데 여기도 UML 저기도 UML 그래서 UML이 뭔데 ㅠㅠ! UML (Unified Modeling Language) 개념 UML은 한국말로 하면 통합 모델링 언어. 소프트웨어 시스템을 개발하는 과정에서 산출물의 명세화, 시각화, 문서화할 때 사용하는 모델링 언어이다. 보기 쉽게 만들어 소프트웨어 개발 과정에 참여하는 사람들 간의 의사 소통을 돕기 위해 만들어졌다. (a 누르면 b가 나온다를 a -> b 로 표현한 느낌) UML의 구성요소 UML의 구성요소로는 사물, 관계, 다이어그램이 있다. 사물(Things) (★★☆☆☆) 사물은 추상적인 개념으로, UML에서 모델링의 대상이 되는 요소들을 의미한다. 관계(Relationships) (★★★★☆) 관계는 사물과 사물 사이의 연

클래스 다이어그램 작성하기
Active Class 독자적인 제어흐름을 갖고 프로그램의 실행을 주도하는 클래스이다.(예를 들어 Main Class, Thread class) 반대의 클래스를 Passive Class라고 한다. Thread를 소유하거나 주소 공간을 소유한다. 프로그램 실행 혹은 코드 실행시 이를 시작하거나 흐름을 제어 할 수 있다. 변수를 조작하거나 프로그램의 행동을 변화시킬 수 있다. 기본클래스형태 양 옆에 ||로 표현 dependency Relationship  의사소통 하기 좋다. 2) 대규모 프로젝트 구조의 로드맵(길잡이)을 만들 때 유용하다. 3) 개발할 시스템 구축에 대한 기초를 마련할 수 있다. 4) 백엔드 문서용으로 제격이다. > ### UML 통합 모델링 언어(UML, Unified Modeling Language)는 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어로 소프트웨어 개념을 다이어그램으로 그리기 위해 사용하는 시각적인 표기법 
[UML] 시퀀스 다이어그램
시퀀스 다이어그램(Sequence Diagram) UML ( Unified Modeling Language ) 객체지향적인 분석과 설계를 위한 모델링 언어 소프트웨어 시스템의 산출물을 정해진 기호와 다이어그램으로 명세화, 시각화, 문서화 하는 도구 구성요소 : 사물, 관계, 다이어그램(Diagram; 사물과 관계를 그림으로 표현한 형태) UML 다이어그램 구분 구조적(정적) 다이어그램(Structure Diagram) 행위적(동적) 다이어그램(Behavior Diagram) 상호작용 다이어그램(InteractionDiagram) - 시퀀스 다이어그램 UML 종류(아래 이미지) 시퀀스 다이어그램 (