104.도서관리프로그램 – 클래스다이어그램

전문가) 프로그램에 정의할 형식을 역할에 맞게 결정하고 관계를 정의하세요. 그리고 클래스 다이어그램으로 표현하세요. 학생1,2) Go Go

도서 관리 프로그램에서는 장르별로 도서를 관리하게 할거예요.
따라서 사용자 정의 형식으로 프로그램, 장르, 도서로 역할을 구분하여 정의하기로 해요.

클래스 다이어그램에서는 프로그램에 정의할 형식을 클래스로 표시하고 클래스 간의 관계를 추가로 표시해요.
프로그램은 장르들의 집합체이고 장르는 도서의 집합체죠.
이와 같은 관계를 집합 관계(실선과 빈 다이아몬드)라 불러요.

App와 Genre는 집합 관계, Genre와 Book은 집합 관계

 

이 외에도 클래스 간의 관계는 직접 연관 관계, 연관 관계, 집합 관계, 일반화 관계, 의존 관계, 실현 관계가 있어요.
C++, Java, C# 처럼 OOP 프로그램에서는 이와 같은 관계에 어울리는 문법이 있어요.
여기에서는 이들에 관한 설명은 하지 않을게요.

도서는 Book 구조체로 정의할게요.
도서 데이터에는 제목, 저자, 도서 번호를 멤버가 있어야겠죠.

◈ Book.h

 

장르에는 장르명, 장르번호, 최근에 부여한 도서 번호, 도서를 보관할 EHArray 개체가 있어야겠죠.

◈ Gerne.h

 

App에는 최근에 생성한 장르 번호와 장르를 보관하는 Array 개체가 필요하겠죠.

◈ App.h

 

EHArray.h 는 사용자 정의 배열 게시글을 참고하세요.

88. 사용자 정의 배열 개요

89. 동적 배열 헤더 작성

90. 동적 배열 소스 작성

91. 동적 배열 사용 예

92. 동적 배열 사용 예 – 순차 보관

93. 동적 배열 사용 예 – 인덱스로 보관


[C언어 무료 동영상 강의] 104. 도서 관리 프로그램 – 클래스 다이어그램