UML 클래스 다이어그램

Jeong seulho·2023년 4월 24일
0

소프트웨어 공학

목록 보기
14/25

📌class Diagram

  • 실행하면서 변하지않는 정적인 기능을 서술시 사용하는 다이어그램

📖relationships among classes

  • association : X 클래스의 멤버 변수로 Y 클래스 타입이 존재 => X has a Y
  • inheritance : X 클래스는 Y 클래스의 자식이다 => X is a Y
  • dependecy : X 클래스가 Y 클래스를 사용한다 => X uses a Y

📖표현 방식

  • attribute와 operations을 서술
  • -는 private, +는 public을 나타냄

📖클래스 관계

✏️assocation

  • Student 클래스의 멤버 변수로 Course 클래스의 인스턴스가 존재(학생이 듣는 수업 목록)
  • Course 클래스의 멤버 변수로 Student 클래스의 인스턴스가 존재(해당 수업의 학생 목록)
  • Course 클래스의 멤버 변수로 Course 클래스의 인스턴스가 존재(해당 수업을 듣기위한 선수강 수업이 존재)
  • Customer 클래스의 Video Tape의 ID가 존재, 해당 ID와 맵핑되는 Video Tape 인스턴스가 Rental Info에 존재
  • Video Tape 클래스의 Customer의 ID가 존재, 해당 ID와 맵핑되는 Customer 인스턴스가 Rental Info에 존재
  • Customer, Video Tape 클래스에는 직접적인 인스턴스가 없고 Rental Info에서 구체적인 인스턴스 정보를 확인, Rental Info는 중개 테이블 느낌

✏️Inheritance

✏️Aggregation/Composition

  • 컴퓨터의 일부분(part of)으로 메모리가 존재
  • 사람의 일부분(part of)으로 머리가 존재
  • aggregation : 컴퓨터에 메모리 하나 없어도 돌아감(여러개 있으면), part가 필수가아님
  • composition : 사람에 머리가 없으면 안됨, part가 필수임

📖실제 예시

  • 비디오 렌트 시스템
  • 냉난방 제어 시스템
  • 왼쪽 : 개별 제어 / 오른쪽 : 중앙 제어
  • 운동 선수 팀 시스템

📌class Diagram 작성

📖Identifying Classes

  • 문장으로 서술된 요구사항이 있을때, 클래스 작성 가이드 라인
  • 주요 명사 = class name
  • 주요 명사를 꾸며주는 형용사 = attributes
  • 주요 명사 연관되는 능동태 동사 = operations

📖실제 작성해보기


📌클래스의 타입

  • Entity class : persistent things, 데이터 저장소로 사용되는 타입의 클래스
  • Boundary class : 사용자의 인터페이스를 위한 타입의 클래스
  • Control class : Entity class를 만들고 수정하는 타입, Boundary class를 제어하는 타입

0개의 댓글