그동안 협업으로 프로젝트를 진행 해본적은 있지만 애자일방법론 같은 정말 협업에 사용되는 방법을 따라 개발해본적은 없어 이번 프로젝트를 통해 기획단계에서 부터 클래스 다이어그램, 시퀸스 다이어그램, 요구사항 명세서등을 어떻게 작성하는 지 익히고 사용해보기로 하였다.

1. 클래스 다이어그램

클래스 다이어그램의 정의를 보자

클래스 다이어그램은 구조 다이어그램으로 클래스 내부 구성요소 및 클래스 간의 관계를 도식화하여 시스템의 특정 모듈이나 일부 및 전체를 구조화한다.

클래스 다이어그램에서 클래스는 이름, 속성(변수), 메소드 순으로 나열하고 속성과 메소드 사이에 선을 그어 분류한다.

변수 선언

+ public
-  private
#  protected 
~  default 
{readonly} final
밑줄 static
[*] or [0..1] 리스트 사이즈 

 

클래스 간 관계

이미지 참조:  https://en.wikipedia.org/wiki/Class_diagram

●Association

Association은 참조 관계일때 사용하고  A -> B 이면 A가 B를 참조 A - B 이면 A가 B를 B가 A를 참조할 수 도 있고 둘 다 참조 이거나 둘 다 참조가 아니다.

 

Inheritance

Inheritance는 상속관계로 부모 클래스와 자식 클래스 간의 상속관계에 사용

 

Realization

Realization은 인터페이스를 상속하여 클래스에서 실제 기능을 구현할 때 사용

 

Dependency

Dependency는 클래스간의 참조관계에서 사용하지만 Association은 변수로 다른 클래스와 연관이 있을 때 사용하지만 Dependency는 메소드의 파라미터나 반환에 사용되는 클래스 관계에서 사용

 

Aggregation

Aggregation은 집합관계에서 사용

 

Composition

Aggregation과 비슷하게 전체 - 부분의 집합 관계를 나타낼 때 사용하지만 Aggregation 보다는 더 강력한 집합을 의미할 때 사용합니다. 합성 관계에서는 부분이 전체에 종속적이고 라이프 사이클을 관리한다 라고 볼 수 있다.

+ Recent posts