why not
시스템 설계3 (15일차) 본문
1. 클래스 다이어그램(Class diargram)이란?
- 한 시스템을 구성하는 클래스들의 구조를 나타내고 클래스 내의 속성(attribute)이나 메소드(method)를 시각화 한 diagram이다.
- 클래스의 구조 및 클래스 간의 상호 작용 방법이나 클래스의 구성 방법을 표현하는데에 촛점을 맞춘 structural diagram이다.
- 클래스는 정적이어서 동적인 객체와 다르다.
- 정적이라는 것은 시간과 조건이 고려되지 않은 것을 말한다.
- 클래스 다이어그램에서는 sequence diagram과 다르게 조건이나 순차적인 것들이 들어가지 않는다.
- 철저하게 클래스가 어떤 의존성을 가지고 있는지 그 관계를 나타내기 위한 다이어그램이다.
CreateGroup과 AddMembers 그리고 ExpenseMain이라는 클래스가 각각 있고
이 CreateGroup과 AddMembers는 CenterOverlay로 구성이 되어 있다.
2. 클래스 다이어그램을 사용하는 이유?
- 클래스 간의 관계와 의존성을 빠르게 파악할 수 있다.
- 새로운 요구사항이 들어왔을 때, 재사용하거나 확장할 만한 클래스가 어떤 것이 있는지 빠르게 파악 가능하다.
- 새로운 팀원이 왔을 때에 빠르게 시스템의 구조를 파악할 수 있다.
- 처음부터 완벽하게 다이어그램을 그리기는 어렵고 조금씩 업데이트 되기 때문에, 소프트웨어가 완성된 후에는 구현 설명을 위해 사용할 수 있다.
- ex) 한 시스템에 50개의 클래스가 있다고 가정할 때, 이 클래스들의 의존 관계도를 파악하기 위해서 50개의 클래스 파일을 다 열어두고 비교하면서 구조를 파악하는 것은 비효율적이기 때문에 구조를 한눈에 파악할 수 있게 시각화가 필요하다.
3. 언제 사용하나요?
- 요구사항이 수집되고, 한 시스템 내의 어떻게 클래스를 설계할 것인지 설계 단계에서 사용
- 클래스 간의 관계가 복잡할 때 (상속과 조합이 많을 때를 말함)
- 시스템에서 사용되는 클래스들의 구조를 시각화 해야 할 때
- 새로운 시스템을 설계하거나 기존의 시스템을 확장할 때 참고용으로 사용
4. 어떻게 사용하나요?
4-1. 구성 요소
- 클래스 -> GroupExpense(클래스명)
- 속성 (Attribute)
- payer, description, amount, paisAt... (속성의 이름)
- string, integer, date, boolean (타입)
- 메소드 (Method)
- 속성 (Attribute)
- 관계
- 상속 (Inheritance)관계
Vehicle(parent)이라는 클래스와 Airplane, Boat, Car(children)이라는 Vehicle을 상속한 클래스들이 있다.
- 조합
- 화살표가 아닌 다이아몬드로 표시
ExpenseList가 부모격이라 GroupExpense를 사용을 하고 있다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
* 필수 삽입 링크 : http://bit.ly/3Y34pE0
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
'Today I Learn > 환급 챌린지' 카테고리의 다른 글
시스템 설계 2 (17일차) (1) | 2023.03.08 |
---|---|
[실전] 시스템 설계1 (16일차) (0) | 2023.03.07 |
시스템 설계2 (14일차) (0) | 2023.03.05 |
시스템 설계 1 (13일차) (1) | 2023.03.04 |
시스템 설계가 필요한 이유? (12일차) (0) | 2023.03.03 |