본문 바로가기
소프트웨어공학론

Coding - UML and Coding - Class diagram

by 학식러 2023. 5. 19.

 

 

작성된 설계 내용을 특정 프로그램 언어를 통해 어떻게 코딩으로 옮길 것인가

 

1. UML 설계를 구현하는 방법

1) Class diagram (Association) : 클래스 다이어그램에서 association들을 어떻게 코딩으로 옮길 것인가

2) Sequence diagram : 객체 행동에 대한 설계를 하는 시퀀스 다이어그램을 어떻게 코딩으로 옮길 것인가

3) State diagram : 스테이트 다이어그램을 어떻게 코딩으로 옮길 것인가

 

 

1) Class diagram 구현

protected : 상속관계가 있는 클래스들끼리만 공유함

 

일대일 대응, 직관적이다.

 

밑줄이 그어져 있는 것은 static 속성을 부여하라는 의미이다.

: 클래스에 속하는 전체속성

<-> dynamic : 객체 각각의 개별속성

 

 

a) 상속관계

상속관계 또한 같은 방식으로 구현.

다만 자바에서 상속관계를 표시하는 extends로 상속관계를 알려줌.

 

 

b) association관계 : A클래스가 B클래스를 참조(has a)하고 있다.

Person클래스 안에 멤버변수로 Phone클래스를 가짐.

Person클래스 안에 멤버변수로 work, mobile phone클래스를 가짐.

 

 

b-1) 자기 자신과의 Association

자기 자신과의 연관관계도 표현할 수 있다.

 

 

b-2) Aggregation

컴퓨터 클래스의 객체가 사라져도 CPU, Memory, Main board클래스의 객체는 남아 있을 수 있다.

컴퓨터 클래스의 객체가 생길때 마다 컴퓨터 객체만 따로 생성되는 것이 아니라

CPU, Memory, board객체를 외부로부터 받아서 설정을 하고 컴퓨터 객체를 만든다.

 

 

b-3) Composition

컴퓨터의 객체가 없어지면 CPU, Memory, Main board의 객체도 함께 사라진다.

인자가 없기 때문에 외부에서 받는것이 아니라 내부에서 만든 것이다.

=>컴퓨터 객체가 사라질 때 CPU, Memory, boeard객체도 사라진다.

 

 

c) Dependence

Car가 의존하는 GasPump클래스를 인자로 받아들였다.

fillGas를 부를 때만 GasPump클래스의 일시적인 기간동안 의존관계가 생긴다.

'소프트웨어공학론' 카테고리의 다른 글

State Diagram의 구현  (0) 2023.05.23
Sequence Diagram의 구현  (0) 2023.05.20
Behavioral Pattern  (0) 2023.05.18
Structural Pattern  (0) 2023.05.11
Design patterns - Creational Pattern  (1) 2023.05.10

댓글