Skip to content

hiwhwnsgh/Book_Managerments.Java

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

도서관리 프로그램 설계 및 구현
(Library management program design and implementation as Java)

  • 기여자: 이승진(팀장), 조준호(부팀장), 이동호(팀원)

서론

  • 본 프로젝트는 컴퓨터 소프트웨어 개발 언어 중 JAVA를 이용하여 도서관리를 할 수 있는 기능을 제공하는 컴퓨터 소프트웨어를 구현하는 것이 목표임
  • ‘도서관리’기술은 도서관의 정보를 전산화하면서 나온 산물이며, 다른 업무 프로세스와 비교하면 많이 공유되어 있음
  • 새로운 아이디어보다 해당 수업시간에 배운 것을 위주로 해당 주제의 컴퓨터 소프트웨어를 구현하는 시간을 가져 프로젝트가 수행할 때 팀원 전원이 지금까지 스스로 학습한 내용을 복습하는 시간을 가짐
  • 관계형 데이터베이스(MySQL)를 이용해 데이터 저장소를 구현하고, JAVA에서 제공하는 SQL 라이브러리를 이용해 해당 주제의 컴퓨터 소프트웨어 구현
  • 버전 관리 시스템(Git)을 도입해 온라인에서 협업해 프로젝트를 수행하는 기회를 마련하고 해당 시스템에서 제공하는 기능을 사용하는 방법을 익힘

요구사항 정의

  • 도서관리

    • 도서를 등록, 수정, 삭제 할 수 있어야 한다.
    • 도서 정보는 제목, 저자, 출판사, 가격, 관련링크, 사진, ISBN, 도서설명을 포함해야 한다.
    • 도서 중복 등록 시 “이미 등록된 도서입니다.” 메시지가 표시되어야 한다. (ISBN으로 중복 체크)
    • 사진은 PC에 저장된 사진을 선택 등록할 수 있어야 한다.
    • 도서별 대여 여부를 확인할 수 있어야 한다.
    • 대여중인 도서는 삭제할 수 없어야 한다. (반납 후 삭제 가능)
    • “제목, 저자"를 대상으로 검색어가 포함된 도서를 검색할 수 있어야 한다.
  • 회원관리

    • 회원을 등록, 수정, 탈퇴 할 수 있어야 한다.
    • 회원 정보는 이름, 생년월일, 성별, 전화번호, 휴대전화번호, 이메일 주소, 사진을 포함해야 한다.
    • 이름과 생년월일 그리고 휴대전화번호가 중복되는 회원을 등록할 수 없어야 한다.
    • 도서를 대여 중인 회원은 탈퇴할 수 없어야 한다. (반납 후 탈퇴 가능)
    • 탈퇴 회원을 확인할 수 있어야 한다.
    • “이름, 전화번호"를 대상으로 검색어가 포함된 회원을 검색할 수 있어야 한다.
  • 대출관리

    • 등록된 도서를 회원이 대출할 수 있어야 한다.
    • 대출 정보는 도서 정보, 회원정보, 대여일, 반납예정일, 반납 여부가 포함돼야 한다.
    • 대출할 때 도서 정보, 회원 정보는 기존 정보에서 선택할 수 있어야 한다.
    • 도서, 회원 선택 시 검색 기능을 제공해야 한다. (검색어가 포함된 항목을 검색할 수 있어야 한다.)
    • 이미 대여 중인 도서는 대출할 수 없어야 한다.
    • 도서 반납예정일은 도서 대여 후 2주로 한다.
    • 도서 반납은 대출된 도서를 대상으로 진행한다.

소프트웨어 구현

메인 화면

메인 화면

image
image image image

  • 메뉴의 세부 항목 클릭 시 그에 해당하는 윈도우 창이 실행
  • 다른 윈도우 창을 종료해도 메인 화면은 종료되지 않음

회원관리

회원 조회

image

  1. ‘회원 검색’란에 이름 또는 전화번호 입력 → [검색] 버튼 또는 [Enter] 키 입력
    • 이름 또는 전화번호의 일부분으로 검색 가능
    • 아무것도 입력하지 않으면 전체 목록 확인 가능
  2. 검색 결과 리스트에서 원하는 회원 클릭 시 세부 정보 및 대여 도서 확인 가능
회원 등록

image

  1. 등록할 회원의 이름, 생년월일, 성별, 전화번호, 이메일 입력
  2. [이미지 변경] 버튼을 눌러 원하는 이미지 파일 선택
  3. [등록] 버튼 클릭 → 아래 알림창에서 [Yes] 버튼을 클릭하면 회원 등록 완료
    image
  4. 등록한 정보들은 DB의 USER 테이블에 등록됨(회원 조회에서 확인 가능)

전화번호는 회원 식별자입니다. 입력한 전화번호가 다른 회원과 중복되면 등록할 수 없습니다.(탈퇴 후 ‘미등록’ 상태인 회원의 전화번호도 포함)
한 번 등록한 회원은 탈퇴하여도 정보가 삭제되지 않으니 등록 시 주의 바랍니다.

회원 정보 수정

image

  1. 회원 검색 후 리스트에서 수정을 원하는 회원 클릭
  2. 이름, 생년월일, 성별, 전화번호, 이메일 중 원하는 정보를 수정 이미지 변경은 [이미지 변경] 버튼 눌러 원하는 이미지 파일 선택
  3. [수정] 버튼 클릭 → 아래 알림창에서 [Yes] 버튼을 클릭하면 회원 정보 수정 완료
    image

전화번호는 회원 식별자입니다. 수정 후 전화번호가 다른 회원과 중복되면 수정할 수 없습니다.

회원 탈퇴

image

  1. 회원 검색 후 리스트에서 탈퇴를 원하는 회원 클릭
  2. [탈퇴/재등록] 버튼 클릭
    • 등록여부가 ‘등록’인 경우, [Yes] 버튼 클릭 시 ‘미등록’으로 변경(도서 대여 불가)
      image
    • 등록여부가 ‘미등록’인 경우, [Yes] 버튼 클릭 시 ‘등록’으로 변경(도서 대여 가능)
      image

대여 중인 도서가 있으면 탈퇴할 수 없으니, 먼저 모든 도서를 반납하시기 바랍니다.
회원 탈퇴를 하여도 ‘미등록’ 상태로 변경될 뿐, 기존 회원 정보는 삭제되지 않습니다.

도서관리

도서 조회

image

  1. ‘도서 검색’란에 제목, 저자 또는 ISBN 입력 → [검색] 버튼 또는 [Enter] 키 입력
    • 제목과 저자는 일부 키워드만으로 검색 가능
    • 아무것도 입력하지 않으면 전체 목록 확인 가능
  2. 검색 결과 리스트에서 원하는 도서 클릭 시 세부 정보 확인 가능
도서 추가

image

  1. 위 화면의 예시와 같이 ISBN, 제목, 저자, 출판사, 가격, 관련링크, 도서설명 입력
  2. [이미지 추가] 버튼을 눌러 원하는 이미지 파일 선택
  3. [추가] 버튼 클릭 → 아래 알림창에서 [Yes] 버튼을 클릭하면 도서 추가 완료
    image
  4. 등록한 정보들은 DB의 BOOK 테이블에 등록됨(도서 조회에서 확인 가능)

ISBN은 도서 식별자입니다. 입력한 ISBN이 다른 도서와 중복되면 수정할 수 없습니다.

도서 수정

image

  1. 도서 검색 후 리스트에서 수정을 원하는 도서 클릭
  2. ISBN, 제목, 저자, 출판사, 가격, 관련링크, 도서설명 중 원하는 부분을 수정 이미지 변경은 [이미지 변경] 버튼 눌러 원하는 이미지 파일 선택
  3. [수정] 버튼 클릭 → 아래 알림창에서 [Yes] 버튼을 클릭하면 도서 정보 수정 완료
    image

ISBN은 도서 식별자입니다. 수정 후 ISBN이 다른 도서와 중복되면 수정할 수 없습니다.

도서 삭제

image

  1. 도서 검색 후 리스트에서 삭제를 원하는 도서 클릭
  2. [삭제] 버튼 클릭 → 아래 알림창에서 [Yes] 버튼을 클릭하면 도서 삭제 완료
    image

대여 중인 도서는 삭제할 수 없으니, 먼저 해당 도서를 반납해 주시기 바랍니다.

삭제 완료한 도서의 정보는 복구할 수 없으니 주의하시기 바랍니다.

대출관리

도서 대여

image

  1. ‘회원 검색’란에 이름 또는 전화번호 입력 → [검색] 버튼 또는 [Enter] 키 입력
  2. 회원 검색 결과 리스트에서 원하는 항목 하나(대여자)를 클릭
  3. ‘도서 검색’란에 제목, 저자 또는 ISBN 입력 → [검색] 버튼 또는 [Enter] 키 입력
  4. 도서 검색 결과 리스트에서 원하는 항목 하나(대여할 도서)를 클릭
  5. [대여] 버튼 클릭 → 도서 대여 완료
    image

‘미등록’ 상태의 회원은 도서를 대여할 수 없습니다.

도서 반납


image

  1. ‘도서 검색’란에 제목, 저자 또는 ISBN 입력 → [검색] 버튼 또는 [Enter] 키 입력
  2. 도서 검색 결과 리스트에서 원하는 항목 하나(반납할 도서)를 클릭
  3. [반납] 버튼 클릭 → 도서 반납 완료
    image

개선사항 및 향후 연구 방향

  • 디버깅이 필요한 오류 사항

    • 회원 등록 및 회원 정보 수정 후 성별이 잘못 출력되는 오류 디버깅
    • RENT 테이블의 BOOK_ISBN 필드를 외래키에서 제외하여, 참조 무결성에 의하여 도서가 삭제되지 않는 오류 디버깅
    • 이미지 데이터 로드 과정에서 NULL 포인터 예외를 올바르게 처리하여 이미지 변경 없이도 회원 정보를 수정할 수 있도록 오류 디버깅
  • 사용자의 편의성 향상을 위해 개선이 필요한 부분

    • 성별을 텍스트로 입력하지 않고 선택할 수 있도록 라디오버튼 또는 콤보박스 구현
    • 회원 탈퇴 오류 메시지에 대여 중인 도서가 몇 권인지 출력
    • 도서 설명란의 텍스트가 길어도 볼 수 있도록 스크롤바 추가
    • 도서 반납 프레임에 회원 정보와 도서 정보를 함께 출력
    • 기타 프로그램 UI의 직관성 및 통일성 향상
  • 프로그램에 추가하면 좋을 만한 기능

    • 회원별로 한 번에 대여할 수 있는 최대 도서 권수 제한
    • 도서를 연체한 회원에게 연체 기간만큼 도서 대여를 제한시키는 기능
    • 관리자 모드(관리자가 아닌 사용자는 조회, 대여, 반납만 가능)

About

자바프로그래밍(003) 2팀

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%