실시간 다중 사용자 공동 작업 및 공유 링크를 통한 즉각적인 정보 전달
텍스트 입력으로 자동 생성 및 스타일 최적화
사전 제작 테마 및 완전한 사용자 지정
아이콘, 이미지, 라벨, LaTeX 수식, 코드 블록, 링크, 첨부 파일 지원
내보내기: PNG, VISIO, PDF, SVG | 가져오기: VISIO, Mermaid
실시간 클라우드 저장, 다중 기기 동기화, 버전 기록 및 데이터 보안
클래스는 일반적으로 이름, 속성 및 작업으로 구성되며, 사각형 상자로 표시됩니다. 사각형 상자는 세 층으로 나뉩니다: 첫 번째 층은 클래스의 이름, 두 번째 층은 클래스의 속성, 세 번째 층은 클래스의 작업입니다.
하지만 실제 사용에서는 '클래스의 이름', '클래스의 이름' + '클래스의 속성', '클래스의 이름' + '클래스의 작업' 세 가지 표현 형식이 존재합니다.
클래스의 이름은 명사여야 하며, 각 단어의 첫 글자는 대문자로 해야 하고, 정체 글자로 인스턴스화 가능한 클래스를 표시하고, 이탤릭체로 추상 클래스를 표시합니다.
클래스의 속성 정의 구문: [가시성] 속성 이름 [:데이터 타입] [=초기값] [{속성 문자열}]
여기서, [] 안의 내용은 선택 사항을 나타냅니다.
클래스의 제약 조건은 클래스가 만족해야 하는 하나 이상의 규칙을 지정하며, UML에서 제약 조건은 중괄호로 묶인 텍스트 정보로 표시됩니다.
구현 관계: 빈 삼각형+점선으로 표시되며, 구현 클래스에서 인터페이스 클래스로 향합니다.
일반화 관계: 빈 삼각형+실선으로 표시되며, 자식 클래스에서 부모 클래스로 향합니다.
연관 관계: 실선 화살표로 표시되며, 참조 클래스에서 참조되는 클래스로 향합니다.
집합 관계: 빈 다이아몬드+실선으로 표시되며, 부분 클래스에서 전체 클래스로 향합니다.
합성 관계: 실 다이아몬드+실선으로 표시되며, 부분 클래스에서 전체 클래스로 향합니다.
의존 관계: 점선 화살표로 표시되며, 참조 클래스에서 의존되는 클래스로 향합니다.
클래스 다이어그램은 완전히 독립적이지 않으며, 클래스 다이어그램은 유스케이스 다이어그램에서 엔티티, 컨트롤 및 경계 클래스를 추상화해야 하며, 유스케이스 다이어그램, 활동 다이어그램, 시퀀스 다이어그램 등과 의미적 협력을 유지해야 합니다.
클래스는 단일 책임을 유지해야 하며, 큰 클래스를 분할하고 책임을 여러 클래스에 합리적으로 배분하여 높은 결합을 피하고 경계를 명확히 하며 객체 지향 설계 원칙을 준수해야 합니다.