Skip to content

pladata-encore/BE09-1st-2team

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

기획서


개요

  • 프로젝트명: 치킨집 키오스크 시스템(BSC 치킨)
  • 프로젝트 기간: 2025-04-22 ~ 2025-04-24 (3일)
  • 팀원: 박준서, 이정아, 이채희, 정승원

목적

  • Java, JDBC, SQL 등의 기술을 실습하고 실제 데이터베이스 연동을 구현한다.
  • 서비스 구상, 요구사항 정의, ERD 설계를 통해 개발 시작 시의 전반적인 flow를 이해한다.
  • 키오스크의 보급량 증가의 이유를 확인하고 해당 프로그램을 구현하여 확인한다.

배경

  1. 10~30대의 선호도 증가
    • 10~30대의 키오스크 선호도는 각각 **69.7%, 73.5%, 60.3%**를 기록했다.
    • 이 ‘밀레니얼 세대’는 어릴 때부터 사용해온 디지털 기기에 익숙하고 각종 정보 검색에 능숙하다. 이들은 사람과 직접 대면하지 않는 ‘언택트(untact)’ 방식을 선호한다.
  2. 키오스크 사용으로 이점 증가
    • 부산대병원은 접수부터 검사비, 진료비 결제, 처방전 출력까지 진료 외 원무 수납 부분을 키오스크를 이용해 시뮬레이션해 본 결과 약 20분에서 25분 정도가 단축됐다고 밝혔다
    • 최저임금 상승 등으로 인건비에 대한 부담이 커지고 있는 가운데, 업계에서는 키오스크를 설치하면 직원 최소 1.5명이 줄어드는 효과를 기대할 수 있다고 전망한다.
    • 정보통신업 중 디지털 플랫폼(키오스크도 해당)을 활용하는 사업체의 경우, 평균 종사자 수와 매출액이 그렇지 않은 사업체에 비해 2배 정도 많았다. 영업이익은 3배가량 많은 것으로 나타났다.

개발환경

  • 프로그래밍 언어: Java
  • 데이터베이스: MySQL DB
  • 개발 도구: IntelliJ IDEA
  • 형상 관리 툴: Git, GitHub

주 개발 범위

주요 개발 내용

  • 주문하기: 메뉴조회, 메뉴검색, 장바구니 담기, 장바구니 관리 기능, 결제하기 기능
  • 직원호출: 직원 호출 기능
  • 관리자 모드: 관리자 모드로 전환하여 메뉴 테이블에 메뉴 추가, 수정, 삭제 기능

주요 기능

  • 메뉴조회: 카테고리 조회를 통해 치킨/사이드메뉴/음료 및 주류 메뉴 확인
  • 메뉴검색: 키워드를 입력하여 메뉴 검색 기능
  • 장바구니 담기: 메뉴조회 및 메뉴검색 단계에서 주문하고자 하는 메뉴 및 수량을 장바구니에 추가하는 기능
  • 장바구니 조회/수정/삭제: 지금까지 담은 장바구니 출력 및 수량변경 혹은 메뉴 삭제 기능
  • 장바구니 초기화 : 프로그램 종료 시 및 사용자가 원할 시 장바구니 초기화 기능
  • 결제하기: 장바구니에 담긴 메뉴들의 가격 총합 출력 및 쿠폰/기프티콘을 사용한 결제 기능
  • 직원호출: 키오스크 사용이 익숙하지 않은 분들을 위한 직원 호출 기능
  • 관리자 모드: 메뉴 테이블에 메뉴 추가/메뉴의 이름 혹은 가격 수정/메뉴 삭제

요구사항 정의

기능적 요구사항

  • 직원 호출 기능 → 호출 문구 출력
  • 카테고리 조회 기능 → 메뉴 카테고리 목록 출력
  • 메뉴 조회 기능 → 카테고리별 메뉴 목록 출력
  • 메뉴 검색 기능 → 검색한 키워드를 포함한 메뉴 목록 출력
  • 장바구니 기능
    • 장바구니 메뉴 조회 → 장바구니 목록 출력
    • 장바구니 메뉴 담기 → 장바구니에 메뉴와 수량 추가
    • 장바구니 메뉴 수정 → 장바구니에 있는 메뉴 수량 수정
    • 장바구니 메뉴 삭제 → 장바구니에 있는 메뉴 삭제
    • 장바구니 전체 삭제 → 장바구니 초기화
  • 결제 기능
    • 카드
    • 기프티콘 → 바코드를 입력받은 뒤 기프티콘 메뉴 금액 차감(유효성 검사 필요)
  • 관리자 모드 기능
    • 메뉴 테이블의 메뉴 추가
    • 메뉴 테이블의 메뉴 수정 (이름 및 가격)
    • 메뉴 테이블의 메뉴 삭제

비기능적 요구사항

  • 시스템이 종료되면 장바구니 초기화 진행(장바구니 테이블 데이터 전체 삭제)

WBS(개발 계획)

1단계: 프로젝트 기획 및 요구사항 분석

  • 기간: 2025-04-22
  • 세부 업무: 프로젝트 개요 작성, 요구사항 분석

2단계: 데이터베이스 설계 및 시스템 설계

  • 기간: 2025-04-23
  • 세부 업무: 요구사항 명세서 작성 , 데이터베이스 ERD 설계명

유스케이스 다이어그램

스크린샷 2025-04-24 150245


메뉴구조도

image (2)


논리/물리 데이터모델링(ERD)

image (3)


3단계: 시스템 구현

  • 기간: 2025-04-23 - 2025-04-24
  • 세부 업무: 메인 메뉴 출력, 메뉴 조회 및 검색 출력, 장바구니 메뉴 출력, 결제하기 메뉴 출력

4단계: 기획서 작성 완료 및 스토리보드 작성

  • 기간: 2025-04-24
  • 세부 업무:  시스템 구현에 따른 스토리보드로 흐름 확인 및 피드백, 회고록 작성

5단계 : 테스트 및 발표

  • 기간: 2025-04-24
  • 세부 업무: 시스템 테스트 및 프로젝트 설명

요구사항 정의서

https://www.notion.so/coffit23/1dfa02b1ffb180a283a1d624e982de61


스토리보드

1. 메인 화면

스크린샷 2025-04-24 153832

2. 주문하기

메인화면 → 주문하기 선택

스크린샷 2025-04-24 153916


3. 카테고리 조회

주문하기 -> 카테고리 조회 선택

스크린샷 2025-04-24 153943


4. 메뉴 조회

카테고리 조회 -> 메뉴(치킨, 사이드 등) 선택

메뉴 검색 -> 키워드 검색

스크린샷 2025-04-24 154247


5. 메뉴 검색

주문하기→ 메뉴검색 선택

스크린샷 2025-04-24 154356


6. 장바구니

주문하기→ 장바구니 선택

스크린샷 2025-04-24 154655

수량 변경

수량을 변경할 항목 번호를 입력해주세요 : 3

수량을 입력해주세요 : 5

수량이 변경되었습니다.

항목 삭제

메뉴를 선택해주세요 : 2

삭제할 항목 번호: 3

항목이 삭제되었습니다.

전체 삭제

전체 삭제를 완료했습니다.


7. 결제하기

주문하기→ 결제하기 선택

스크린샷 2025-04-24 154751

카드 결제

결제를 완료했습니다.

기프티콘 결제

바코드를 입력해주세요 : 3092304280932

기프티콘 금액: 19000원

총 주문 금액: 83000원

남은 금액 64000원을 카드로 추가 결제합니다.

결제를 완료했습니다.


8. 관리자 화면

메인화면에서 999를 입력하면 관리자 모드가 실행됨

스크린샷 2025-04-24 155309

메뉴 추가

메뉴를 선택해주세요 :1

카테고리 ID를 입력해주세요([1] 치킨 [2] 사이드 [3] 음료/주류) : 1

메뉴명을 입력해주세요 : 후추치킨

가격을 입력해주세요 : 20000

메뉴 수정

메뉴를 선택해주세요 :2

변경할 메뉴 ID를 입력해주세요 : 18

새로운 메뉴명을 입력해주세요 : 후우추치킨

새로운 가격을 입력해주세요 : 12000

품절여부 (y/n) : n

수정 완료!

메뉴 삭제

메뉴를 선택해주세요 :3

삭제할 메뉴 ID를 입력해주세요 : 18

삭제 완료!


MSA 설계서

https://www.notion.so/coffit23/BSC-MSA-1dfa02b1ffb1801b97e3c414eb8f773e


트러블 슈팅 및 한계점

  1. branch 충돌 문제
  2. intelij import 문제
  3. pull request 시 build.gradle, xml파일 충돌 문제
    • 각자 각기 다른 xml파일을 merge하는 과정에서 충돌 발생
    • build.gradle 파일에 줄바꿈 추가, xml 파일 삭제 후 병합 → 다시 xml 파일 병합시키는 방법으로 해결

회고록

  • 박준서
    • Git과 Github를 이용한 협업부터 직접 기능을 구현하는 과정까지 모든 것이 처음이었기 때문에, 이틀짜리 팀프로젝트였음에도 쉽지 않았다. 더군다나 코딩/git 실력이 좋지 않아서 팀에 폐 끼칠 거 같아서 걱정이었다. 훌륭한 팀원분들을 만난 덕분에 잘 마무리한 것 같다. 다행히 16시간의 작업 시간 동안 많이 성장한 것 같다. 데이터 이동의 흐름 파악을 잘하게 되었다. 평소 자주 하던 실수들도 좀 잡혔다. 다만 수업시간에 배운 람다, 예외처리 기능 등을 제대로 써보지 못한 거 같아서 너무 아쉽다. 다음 프로젝트 때는 다른 기능들도 많이 써봐야겠다.
  • 이정아
    • 오랜만에 팀 프로젝트를 진행할 수 있어 즐거운 경험이었다. 이틀이라는 짧은 시간 안에 팀원 모두가 각자의 역할에 책임감을 가지고 임해준 덕분에, 프로젝트를 잘 마무리할 수 있었다. 다만 시간 부족으로 예외 처리를 충분히 하지 못한 점은 아쉬움으로 남는다. 또한 Git 브랜치 전략과 병합 과정에 대해 더 숙지할 필요성을 느꼈다.
  • 이채희
    • 이틀동안 진행하는 프로젝트라고 들어서 ‘정말 간단한 프로젝트겠구나’ 라고 생각했었는데, Git과 GIthub를 활용한 협업, 문서 작성 과정부터 생각보다 시간이 오래 걸렸던 거 같아 쉽지 않았다. 특히 깃허브 협업은 실습만 해봤을 뿐 거의 처음이었기 때문에 관련해서 가장 문제가 많이 생겼었고, 그래서 구현 시간이 조금 더 부족한 느낌이 들었던 것 같다. 그래도 계속 팀원들과 소통하며 재밌는 시간을 만들어 나갔던 것 같고, 우리가 배운 모든 자바 기능들을 적용해보진 못했지만 이제 자바 콘솔 프로그램을 스스로 하나 만들어낼 수 있다는 자신감이 많이 생겼던 프로젝트였던 것 같다.
  • 정승원
    • github를 사용하는 협업을 처음해봐서 팀원분들의 도움을 받아 파일을 생성하는 것부터 시작해서 프로젝트를 하였다. 2일 밖에 진행이 안되는 프로젝트라서 시간에 쫓기듯이 했지만 충족하게 시간을 배분하면서 진행하였다. 코드 구현이 제일 오래 걸릴 줄 알았지만 문서 작업이 제일 오래 걸렸고 문서작업간의 팀원들과의 의사소통이 상당히 많이 필요하다는 것을 느끼게 되었다. 프로젝트 간에 수업내용에 다뤘던 내용들을 전부 다 다뤄서 복습의 효과도 상당히 많이 있었다. 현업에서도 의사소통이 계속해서 중요하다고 하시는 부분을 몸소 체험 할 수 있었다. 좋은 사람들과 좋은 끝맺음으로 마무리 지을 수 있어서 좋았다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages