Skip to content

Latest commit

 

History

History
36 lines (33 loc) · 1.78 KB

File metadata and controls

36 lines (33 loc) · 1.78 KB

java-convenience-store-precourse

구현 기능 정리

  • 재고 관리
    • 재고 관리 클래스 (싱글톤 패턴 필요)
    • (상품명 - 재고 수량) 으로 구성된 Map? 필요
    • 재고 상태 입력(불러오기) 기능 (products.md 파일을 읽고 반영)
    • 재고 최신화 기능 (차감 시 즉각 반영)
    • 재고 확인 기능
    • 프로모션 입력 기능?
  • 프로모션 할인
    • 오늘 날짜 확인 기능
    • 프로모션 데이터 입력(불러오기) 기능 (promotions.md 파일 읽고 반영)
    • 적용 가능한 프로모션 확인 기능
    • 프로모션 적용이 가능한 상품에 대해 고객이 해당 수량보다 적게 가져온 경우, 필요한 수량을 추가로 가져오면 혜택을 받을 수 있음을 안내하는 기능
    • 프로모션 재고가 부족하여 일부 수량을 프로모션 혜택 없이 결제해야 하는 경우, 일부 수량에 대해 정가로 결제하게 됨을 안내하는 기능
  • 멤버십 할인
    • 할인 기능
  • 영수증 출력
    • 영수증 클래스
    • 구매 상품 내역 저장
    • 증정 상품 내역 저장
    • 금액 정보 저장

예외 상황 정리

  • 입력 형식 예외

    • 입력 형식이 적절하지 않은 경우 (구매할 상품과 수량 입력 형식 오류, Y/N에서 다른 값 입력)
    • 불러오는 파일의 형식에 오류가 있는 경우 (products.md, promotions.md 파일)
  • 입력 값 예외

    • 존재하지 않는 상품을 입력한 경우
    • 구매 수량이 재고 수량을 초과한 경우

그 외

  • String.format 을 적극적으로 이용하면 좋을 것 같다.
  • 정규식을 사용하면 편할 것 같다.
  • 유효성 검사를 각자 하도록 만들어보자.