Skip to content
 
 

Repository files navigation

헬스장 관리 시스템 기능 요구사항

1. 개요

헬스장 관리 시스템은 순수 Java 기반의 콘솔 애플리케이션으로, 회원 관리, 출결 관리, 운동 기록, 코인 관리, 쿠폰 시스템 등을 제공한다.

2. 기능 요구사항

2.1 관리자 기능

  • 회원 관리 (등록, 조회, 수정, 삭제)

  • 전체 회원 출결 조회

  • 회원별 남은 이용 기간 및 코인 조회

  • 랭킹 조회 (운동시간간 기준)

  • 쿠폰 관리 (등록, 삭제, 조회)

  • 업무 시간 계산 (출근/퇴근 시간 기록 기반)

  • 로그확인 → 회원등록, 수정, 삭제, 쿠폰조회 등 로그기록

  • 월별 사용 시간대 통계 [x]

2.2 사용자 기능

  • 회원가입, 로그인, 비밀번호 변경 (비밀번호 암호화 적용), 정규표현식

  • 본인 출결 등록 (출근 및 퇴근 시간 기록)

  • 본인 체중 등록 및 월별 조회

  • 본인 운동 시간 일별 기록 및 월별 조회 -> 출퇴근

  • 쿠폰 조회 및 사용

  • 코인 충전 및 회원 간 코인 이체

  • 결제 내역 및 운동기록 파일로 저장 가능

  • 쿠폰사용내역 및 코인 충전내역 확인

  • 쿠폰은 쿠폰명, 쿠폰번호, 사용유무 필요

2.3 로그 관리

  • 날짜별 로그 파일 생성 및 관리 (파일 시스템 활용)
  • 2주가 지난 로그 파일 자동 삭제 (I/O 및 파일 조작 활용)

3. 기능 구현을 위한 기술적 고려사항

3.1 데이터 관리

  • HashMap을 활용한 쿠폰 관리 (빠른 조회 성능 보장)
  • 객체 직렬화 및 역직렬화 적용 (회원 정보 및 운동 기록 저장)
  • 파일 시스템 활용 (회원 정보, 출결 기록, 로그 파일 관리)

3.2 설계 원칙 및 패턴

  • 다형성을 활용한 회원 관리 (관리자 및 일반 회원의 역할 구분)
  • Enum을 활용한 쿠폰 종류 및 랭킹 시스템 정의
  • Comparable 및 Comparator 인터페이스를 활용한 랭킹 정렬
  • 예외 클래스를 활용한 예외 처리

3.3 보안 및 데이터 보호

  • 비밀번호 암호화 적용 (로그인 보안 강화)
  • 출결 및 코인 이체 시 사용자 인증 절차 추가

4. 프로젝트 기능 분담

  • 회원 관리 모듈: 회원 정보 등록, 수정, 삭제, 조회 기능 개발
  • 출결 관리 모듈: 출근 및 퇴근 시간 기록, 업무 시간 자동 계산 기능 구현
  • 운동 기록 관리 모듈: 체중 및 운동 시간 등록, 월별 기록 관리 기능 개발
  • 쿠폰 및 코인 관리 모듈: 쿠폰 등록 및 조회, 코인 충전 및 이체 기능 개발
  • 로그 관리 모듈: 파일 시스템을 활용한 로그 기록 및 2주 후 자동 삭제 기능 개발

5. 비기능적 요구사항

5.1 성능 요구사항

  • HashMap을 사용하여 쿠폰 관리 성능 최적화
  • 파일 시스템을 사용하여 데이터 영속성 확보
  • 회원 수가 증가하더라도 일정 수준의 응답 속도 유지
  • 버퍼를 사용하여 속도 최적화!!

5.2 사용성 요구사항

  • 직관적인 콘솔 UI 제공 → 단계별 메뉴 및 안내 메시지 강화
  • 간결한 명령어 기반 인터페이스 설계
  • 사용자 친화적인 에러 메시지 제공
  • 자동저장 기능 → 데이터 유지

5.3 안정성 요구사항

  • 예외 처리를 통해 예상치 못한 오류 방지
  • 로그 파일을 활용한 시스템 장애 분석 가능
  • 데이터 무결성 보장 ( 코인 거래 ) →

5.4 보안 요구사항

  • 비밀번호 암호화 저장 및 인증 절차 적용
  • 관리자 기능과 사용자 기능의 명확한 권한 분리
  • 중요 데이터(출결, 코인, 회원 정보) 보호를 위한 접근 제어 적용

5.5 확장성 요구사항

  • 추후 GUI 또는 웹 기반 시스템으로 확장 가능하도록 설계
  • 데이터베이스 연동 가능하도록 파일 I/O 모듈 분리 설계

5.6 기타 비기능적 요구사항

  • 유지보수 용이성을 고려한 코드 구조화
  • 코드 재사용성을 높이기 위한 모듈화

About

인스웨이브시스템즈 FullStack 5팀 프로젝트 저장소

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages