study/Challenge

[Challenge / day-20] 시스템 이론(3) class diagram

creatorAron 2023. 3. 11. 00:03

오늘의 공부범위 : 강의 27강(Part3. ch1. 4강)

 

목차

1. class diagram

2. class diagram 실습

 

오늘은 특별히 강의를 건너뛰어서 수강해보려고 한다..!! 순서대로 웬만하면 듣겠지만 이론을 듣고 바로 실습을 안하면 기억에서 하루만에도 빨리빨리 사라지는 것 같아 오늘 클래스 다이어그램을 듣고 실습한 뒤 내일 시퀀스 다이어그램과 아키텍쳐 다이어그램을 실습해보려고 한다.

 

오늘도 성실하게 필기하면서 시작해보자.

 

 

#1. Class diagram

개념

 

클래스 다이어그램(class diagram)은 객체 지향 프로그래밍(OOP)에서 시스템이나 응용 프로그램의 구조를 설명하는 데 사용되는 다이어그램의 한 유형이라고 한다. 


클래스 다이어그램에서 클래스는 유사한 특성과 동작을 가진 개체의 그룹을 나타낸다. 우리가 배운 바로 그 클래스 개념으로 생각하면 된다. 예를 들어, 클래스는 자동차, 사람 또는 은행 계좌와 같은 객체의 유형을 나타낼 수 있다. 각 클래스에는 이름이 있으며 클래스 box 안에는 다음과 같은 세 개의 구역이 있다:

속성: 이 구획은 클래스에 속하는 개체의 속성 또는 특성을 나열한다. 예를 들어, 자동차 클래스는 "만들기", "모델", "연도" 및 "색상"과 같은 속성을 가질 수 있다.

Methods: 이 섹션에는 개체가 수행할 수 있는 작업 또는 동작이 나열된다. 예를 들어, 자동차 클래스에는 "시작", "정지", "가속" 및 "브레이크"와 같은 방법이 있을 수 있다.

relations: 이 섹션은 클래스 간의 연결 또는 연결을 보여준다. 예를 들어, 자동차 클래스는 각 자동차에 운전자가 있음을 나타내는 운전자 클래스와 관계가 있을 수 있다.

클래스 다이어그램에서 다음과 같은 여러 유형의 관계가 설명될 수 있다:

Inheritance(상속): 이 관계는 클래스 간의 부모-자녀 관계를 나타낸다. 자식 클래스는 부모 클래스의 속성 및 메서드를 상속받는다.

Association: 이 관계는 두 클래스 간의 연결을 나타내며, 한 클래스의 개체가 다른 클래스의 개체와 연결될 수 있음을 나타낸다.

Aggregation: 클래스 하나하나 전체 단위로 서로의 관계를 나타내며, 한 클래스의 개체가 다른 클래스의 개체를 포함할 수 있음을 나타낸다.

Composition(조합): 이 관계는 Aggregation과 유사하지만, 한 클래스의 객체가 다른 클래스의 객체의 존재에 필수적인 것을 나타내는 더 강력한 형태의 포함관계를 나타낸다.

언제사용할까?

 

다음은 클래스 다이어그램이 일반적으로 사용되는 몇 가지 상황을 강의내용과 함께 정리해 본 것이다:

요구사항 분석: 소프트웨어 개발의 초기 단계에서 클래스 다이어그램을 사용하여 시스템 요구사항을 모델링할 수 있다. 이를 통해 이해 관계자는 주요 주체(사용자 등), 속성 및 관계를 시각화할 수 있다.

설계: 소프트웨어 개발의 설계 단계에서 클래스 다이어그램을 사용하여 시스템 아키텍처의 밑그림을 만들 수 있다. 클래스 다이어그램을 사용하여 클래스, 속성 및 방법을 정의할 수 있다.

구현: 클래스 다이어그램은 소프트웨어 개발의 코딩 단계에서 참조로 사용될 수 있다. 개발자는 클래스 다이어그램을 사용하여 클래스 간의 관계를 이해하고 이러한 관계를 구현하는 코드를 작성할 수 있다.

테스트: 클래스 다이어그램을 사용하여 시스템 기능을 검증하는 테스트 사례를 생성할 수 있다. 테스터는 클래스 다이어그램을 사용하여 서로 다른 클래스가 상호 작용할 때 시스템이 예상대로 작동하는지 확인할 수 있다.

유지보수: 시스템이 전개된 후 클래스 다이어그램을 사용하여 시스템을 유지보수 및 수정할 수 있다. 개발자들은 클래스 다이어그램을 사용하여 시스템의 아키텍처를 이해하고 전체 구조를 방해하지 않고 시스템을 변경할 수 있다.

사용하는 과정에서 디자인패턴을 사용하며, use context를 사용하지도 않고 바로 리덕스를 사용해본 나로서는 use context 내용을 벨로퍼트가 쓴 리다기 축약버전? 온라인버전을 통해 실습해보려고 했는데 마침 때가 된 것 같아서 그 부분을 실습해보고 다시 글을 쓰러 왔다.

더보기

실습 링크 : (up to date...)

 class diagram의 본격적인 실습은 내용이 방대해서 다음시간에 다뤄보도록 하자!!

블로깅하는 모습

 

 

 

 

 

관련링크

패스트캠퍼스 : http://bit.ly/3Y34pE0

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

#패스트캠퍼스 #패캠챌린지 #수강료0원챌린지 #환급챌린지 #직장인인강 #직장인자기계발 #패캠인강후기 #패스트캠퍼스후기 #오공완 #사이드프로젝트10개기술스택으로구현하는풀스택서버리스프로젝트withReact