Skip to content

jiwoonkim00/ClubManagementSystem

Repository files navigation

청주대학교 동아리 관리 시스템

1. 개요

1.1 목적

본 프로그램은 청주대학교 내 동아리 관리를 디지털화하여 효율성을 높이고, 사용자 간 상호작용을 원활하게 돕는 것을 목적으로 합니다.
관리자, 학생, 동아리 회장이 각자의 역할에 맞는 기능을 이용할 수 있도록 설계되었습니다.

1.2 대상

  • 관리자: 동아리 추가/삭제 및 데이터 관리를 담당합니다.
  • 학생: 동아리에 가입 신청을 하고, 가입 여부를 확인합니다.
  • 동아리 회장: 가입 신청서를 확인하고 승인합니다.

2. 프로그램의 중요성 및 필요성

2.1 중요성

  • 효율적인 관리: 동아리 데이터를 중앙에서 관리하여 정보의 일관성을 유지하고, 중복 및 오류를 방지합니다.
  • 접근성 강화: GUI 기반 인터페이스를 통해 누구나 쉽게 사용할 수 있습니다.

2.2 필요성

  • 종이 기반의 동아리 가입 및 관리 방식의 비효율성을 해결합니다.
  • 동아리 관련 데이터 관리가 디지털화되어 검색 및 처리 속도가 향상됩니다.
  • 관리자와 학생 간 상호작용을 체계화하여 사용자 경험을 향상시킵니다.

3. 프로그램 수행 절차

3.1 다이어그램

클래스 다이어그램

## 프로그램 순서도

[프로그램 시작]
       ↓
 [메인 메뉴 표시]
       ↓
 [로그인 화면으로 이동]
       ↓
 [로그인 성공 여부 확인]
  ↙              ↘
[실패]         [성공: 역할별 메뉴]
                ↙      ↓       ↘
          [관리자] [학생] [동아리 회장]

절차 설명

  1. 프로그램 실행

    • ClubManagementSystem 클래스가 초기화됩니다.
    • 사용자 및 동아리 데이터를 로드합니다.
  2. 메인 메뉴

    • 사용자는 "관리자 모드", "학생 모드", "동아리 회장 모드" 중 하나를 선택하거나 프로그램을 종료할 수 있습니다.
  3. 로그인

    • 각 역할에 따라 로그인 창이 표시되며, 사용자는 아이디와 비밀번호를 입력하여 인증합니다.
    • 권한이 맞지 않거나 정보가 올바르지 않은 경우 오류 메시지가 표시됩니다.
  4. 역할별 메뉴

    • 관리자: 동아리 추가, 삭제, 목록 조회를 수행할 수 있습니다.
    • 학생: 동아리 목록을 조회하거나, 특정 동아리에 가입 신청서를 제출할 수 있습니다.
    • 동아리 회장: 가입 신청서를 확인하고 승인할 수 있습니다.
  5. 데이터 저장

    • 동아리 데이터는 clubs_data.txt 파일에 실시간 저장됩니다.

느낌 점

프로그램 개발을 통해 배운 점

1. 객체 지향 설계의 중요성

  • 클래스를 설계하면서 책임 분리와 재사용성의 중요성을 배웠습니다.
  • 특히 ClubManager 클래스를 통해 동아리 데이터를 효율적으로 관리할 수 있었습니다.

2. GUI 설계의 복잡성

  • Swing을 사용하여 사용자 친화적인 인터페이스를 만드는 데 주안점을 두었습니다.
  • 레이아웃 조정을 통해 가독성과 사용성을 크게 향상시킬 수 있었습니다.
  1. 데이터 저장
    • 동아리 데이터는 clubs_data.txt 파일에 실시간 저장됩니다.

4. 느낀 점

프로그램 개발을 통해 배운 점

  1. 객체 지향 설계의 중요성

    • 클래스를 설계하면서 책임 분리와 재사용성의 중요성을 배웠습니다.
    • 특히 ClubManager 클래스를 통해 동아리 데이터를 효율적으로 관리할 수 있었습니다.
  2. GUI 설계의 복잡성

    • Swing을 사용하여 사용자 친화적인 인터페이스를 만드는 데 주안점을 두었습니다.
    • 레이아웃 조정을 통해 가독성과 사용성을 개선할 수 있었습니다.
  3. 에러 처리

    • 파일 읽기 실패 및 잘못된 입력을 처리하면서 예외 처리가 프로그램 안정성에 미치는 영향을 체감했습니다.
  4. 협업 및 버전 관리

    • Git을 통한 협업은 코드 관리 및 팀 간 의사소통을 원활히 하는 데 매우 유용했습니다.
  5. 사용자 중심 설계

    • 초기 설계 단계에서 사용자 요구사항을 더 구체적으로 정의했다면 프로그램 사용성을 더욱 높일 수 있었을 것이라는 점을 깨달았습니다.

기여

  • 개발자: Ji Woon Kim
  • 버전: 1.0
  • 최초 배포일: 2024-12-26

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages