작성된 설계 내용을 특정 프로그램 언어를 통해 어떻게 코딩으로 옮길 것인가
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 |
댓글