액티비티 다이어그램은 소프트웨어 개발이나 비즈니스 프로세스 등 다양한 분야에서 사용되는 그래픽 표현 방법입니다. 주로 시스템이나 비즈니스 프로세스의 작업(flow of activities)과 동작을 시각적으로 나타냅니다.
액티비티 다이어그램은 다음과 같은 주요 요소로 구성됩니다.
액티비티(Activity): 프로세스나 동작의 단계를 나타내는 요소입니다. 각 액티비티는 작업이나 활동을 나타내며, 동작을 수행하는 시스템의 일부분을 표현합니다.
시작 및 종료(Start and End): 프로세스의 시작과 종료 지점을 나타냅니다. 보통 시작 지점은 화면 상단에 원 형태로 표시되고, 종료 지점은 화면 하단에 원 형태로 표시됩니다.
흐름(Flows): 액티비티 간의 연결을 나타내는 화살표입니다. 화살표는 액티비티 간의 작업 흐름을 보여줍니다. 보통 화살표는 액티비티 간의 순서를 나타냅니다.
의사 결정(Decision): 조건에 따라 프로세스의 흐름을 제어하는데 사용됩니다. 조건이 만족되면 다른 경로로 흐름을 변경할 수 있습니다.
병합(Merge): 병합 지점에서 여러 경로의 흐름이 하나로 합쳐집니다. 여러 개의 화살표가 하나의 점에서 만나는 것을 통해 나타냅니다.
객체(Objects): 액티비티 다이어그램에는 작업을 수행하는데 필요한 데이터나 자원을 나타내는 객체도 표시될 수 있습니다.
액티비티 다이어그램은 시스템이나 프로세스의 동작을 이해하고 설명하는 데 유용하며, 요구사항 분석, 시스템 설계, 프로세스 개선 등 다양한 단계에서 활용됩니다.
클래스 다이어그램(Class Diagram)은 객체 지향 소프트웨어 개발에서 가장 널리 사용되는 구조적 모델링 도구 중 하나입니다. 클래스 다이어그램은 시스템의 클래스, 그들의 속성과 메서드, 클래스들 간의 관계 등을 시각적으로 표현합니다.
클래스 다이어그램은 다음과 같은 주요 요소로 구성됩니다.
클래스(Class): 시스템의 기본 구성 요소입니다. 클래스는 속성(데이터)과 메서드(행위)를 가지며, 특정 형태의 객체를 나타냅니다. 클래스는 직사각형으로 표시되며, 클래스 이름이 맨 위에 위치하고 그 아래에 속성과 메서드가 포함됩니다.
속성(Attributes): 클래스가 가지는 상태를 나타냅니다. 클래스 내의 데이터 필드로써, 클래스의 특징을 설명하는 변수나 상수를 포함합니다. 속성은 클래스 이름 아래에 표시되며, 일반적으로 이름과 데이터 타입으로 표현됩니다.
메서드(Methods): 클래스의 동작을 나타냅니다. 클래스가 수행할 수 있는 작업이나 기능을 정의하는 함수나 프로시저를 포함합니다. 메서드는 속성 바로 아래에 표시되며, 이름과 매개변수 목록, 반환 값 등으로 표현됩니다.
관계(Relationships): 클래스 간의 관계를 나타냅니다. 다양한 종류의 관계가 있으며, 가장 흔한 것들은 다음과 같습니다.
연관(Association): 클래스들 간의 연결을 나타냅니다. 일반적으로 클래스들 간의 데이터 교환을 나타냅니다.
상속(Inheritance): 상위 클래스와 하위 클래스 간의 관계를 나타냅니다. 하위 클래스는 상위 클래스의 속성과 메서드를 상속받습니다.
의존(Dependency): 한 클래스가 다른 클래스에 의존하는 관계를 나타냅니다. 한 클래스의 변경이 다른 클래스에 영향을 줄 수 있음을 의미합니다.
클래스 다이어그램은 소프트웨어 시스템의 구조를 이해하고 설계하는 데 사용되며, 객체 지향 프로그래밍의 기본 원칙을 시각화하는 데 유용합니다. 클래스 간의 관계와 특성을 명확히 나타내어 소프트웨어 개발자들이 코드를 구현하고 유지보수하는 데 도움이 됩니다.