🥐1. 제과점 프로그램 요구사항 분석

2026. 6. 1. 12:122🥐 제과점 프로그램

🥐 제과점 매출관리 프로그램 화면 요구사항 분석하기

이번 문제는 제과점 매출관리 프로그램입니다.

문제에서 요구하는 화면은 크게 5개입니다.

1. 시작화면
2. 판매등록 화면
3. 제과현황 조회 화면
4. 판매현황 조회 화면
5. 매출현황 조회 화면
 

따라서 우리는 무작정 코드를 작성하는 것이 아니라,

먼저 문제를 보고

어떤 화면이 필요한지
어떤 파일이 필요한지

정리해야 합니다.


1. 시작화면 요구사항 확인

문제에서는 시작화면을 다음과 같이 구성하라고 제시합니다.

header  → 제목 영역
nav     → 메뉴 영역
section → 본문 영역
footer  → 하단 영역
 

즉,

이 화면은 프로그램 전체의 뼈대를 만드는 화면입니다.

그래서 가장 먼저 만들어야 할 파일은

index.jsp
 

입니다.


index.jsp가 해야 할 일

즉,

index.jsp는 데이터를 조회하는 파일이 아닙니다.

프로그램 전체 틀을 만드는 파일입니다.


2. 메뉴를 보고 필요한 JSP 파일 정하기

문제의 메뉴는 다음과 같습니다.

판매등록
제과현황
판매현황
매출현황
홈으로
 

이 메뉴를 보면

필요한 JSP 파일을 바로 알 수 있습니다.

메뉴 필요한 파일 역할
판매등록 reg.jsp 판매정보 입력
제과현황 list.jsp 제과 목록 조회
판매현황 list_j.jsp 판매 + 제과 JOIN 조회
매출현황 list_jg.jsp 매출 GROUP BY 조회
홈으로 main.jsp 프로그램 설명

따라서 이 문제에서 필요한 파일은 다음과 같습니다.

index.jsp   → 전체 화면 틀

main.jsp    → 프로그램 설명

reg.jsp     → 판매등록 입력 화면

action.jsp  → 판매등록 DB 저장

list.jsp    → 제과현황 조회

list_j.jsp  → 판매현황 JOIN 조회

list_jg.jsp → 매출현황 GROUP BY 조회

style.css   → 화면 디자인

Util.java   → DB 연결
 

메뉴에 보이는 파일은 화면용 JSP이고,

action.jsp
Util.java
 

는 사용자가 보지 못하는 기능 처리 파일입니다.


3. 판매등록 화면은 입력 화면입니다

문제에서 판매등록 메뉴를 클릭하면 다음 화면이 출력되어야 합니다.

입력해야 하는 항목은

판매번호
판매일자
제과점
제과
판매수량
 

입니다.

따라서 이 화면은

reg.jsp
 

에서 구현합니다.


reg.jsp가 해야 할 일

1. 판매등록 입력폼 만들기

2. 판매번호 자동 생성

3. 판매일자 자동 생성

4. 제과점 선택

5. 제과 선택

6. 판매수량 입력

7. 등록 버튼

8. 조회 버튼
 

여기서 중요한 점이 있습니다.

reg.jsp는

DB에 저장하는 파일이 아닙니다.


reg.jsp
↓
사용자 입력

action.jsp
↓
DB 저장
 

역할이 분리됩니다.


4. 제과현황 화면은 단순 조회입니다

문제에서는 다음 항목을 출력하라고 합니다.

제과코드
제과명
가격
 

이 데이터는 모두

tbl_bread
 

테이블 안에 있습니다.

따라서

JOIN이 필요 없습니다.


사용되는 SQL도 단순합니다.

 
SELECT *
FROM tbl_bread
 

따라서 이 화면은

list.jsp
 

에서 구현합니다.


list.jsp가 해야 할 일

1. tbl_bread 조회

2. 제과코드 출력

3. 제과명 출력

4. 가격 출력

5. 가격을 화폐형식으로 출력

6. 제과코드 기준 정렬
 

5. 판매현황 화면은 JOIN 조회입니다

판매현황 화면에서는 다음 항목을 출력합니다.

판매코드
판매일
판매수량
제과명
 

여기서 중요한 점이 있습니다.


판매 테이블(tbl_sale)에는

제과코드
 

만 존재합니다.


제과명
 

tbl_bread
 

에 들어있습니다.

따라서

판매현황은

테이블 하나만 조회해서는 만들 수 없습니다.


tbl_sale
+
tbl_bread
 

를 연결해야 합니다.

즉,

JOIN이 필요합니다.


 
SELECT
    s.pk_sale,
    s.deal_date,
    s.deal_count,
    b.name
FROM tbl_sale s
JOIN tbl_bread b
ON s.fk_bread = b.pk_bread;
 

따라서 이 파일은

list_j.jsp
 

로 만듭니다.


여기서

j = JOIN
 

이라고 생각하면 기억하기 쉽습니다.


6. 매출현황 화면은 GROUP BY 조회입니다

이번 문제에서 가장 중요한 화면입니다.

문제에서는

제과점별 매출을 구하라고 합니다.


매출을 계산하려면

판매수량
×
제과가격
 

이 필요합니다.


그런데

판매수량은

tbl_sale
 

에 있고


제과가격은

tbl_bread
 

에 있습니다.


제과점 정보는

tbl_bakery
 

에 있습니다.

즉,

3개의 테이블을 모두 사용해야 합니다.


tbl_sale
+
tbl_bread
+
tbl_bakery
 

그리고

제과점별로 묶어야 하므로

 
GROUP BY
 

가 필요합니다.


따라서 이 화면은

list_jg.jsp
 

에서 구현합니다.


여기서

j = JOIN
g = GROUP BY
 

라고 생각하면 됩니다.


7. 홈으로 메뉴는 main.jsp로 이동합니다

홈으로 메뉴를 클릭하면

처음 프로그램 설명 화면으로 돌아가야 합니다.


이때 다시 index.jsp를 실행하는 것이 아니라

본문(section)에

main.jsp
 

를 보여주면 됩니다.


따라서

프로그램 설명 화면은

main.jsp
 

에서 작성합니다.


8. 이 문제의 실제 구현 순서

이번 문제는 아래 순서대로 진행하면 됩니다.

0. 환경구성
   - Oracle 연결
   - Tomcat 연결
   - Util.java 생성

1. db.sql 작성
   - tbl_bakery 생성
   - tbl_bread 생성
   - tbl_sale 생성
   - 제공 데이터 INSERT

2. index.jsp 작성
   - 전체 화면 틀
   - 메뉴 연결
   - iframe 설정

3. style.css 작성
   - header
   - nav
   - section
   - footer 디자인

4. main.jsp 작성
   - 프로그램 설명

5. reg.jsp 작성
   - 판매등록 입력폼

6. action.jsp 작성
   - 판매등록 INSERT

7. list.jsp 작성
   - 제과현황 조회

8. list_j.jsp 작성
   - 판매현황 JOIN 조회

9. list_jg.jsp 작성
   - 매출현황 GROUP BY 조회

10. 최종 테스트
 

9. 정리

이 문제는 화면을 보고 필요한 파일을 먼저 판단해야 합니다.

시작화면 → index.jsp

홈 화면 → main.jsp

판매등록 → reg.jsp

등록 처리 → action.jsp

제과현황 → list.jsp

판매현황 → list_j.jsp

매출현황 → list_jg.jsp

디자인 → style.css

DB 연결 → Util.java
 

즉,

문제를 받자마자 코드를 작성하는 것이 아니라

"이 화면은 어떤 파일이 필요하지?"

부터 판단해야 합니다.

정보처리산업기사 실기에서는 SQL 문법보다도

👉 어떤 화면이 필요한지

👉 어떤 JSP 파일이 필요한지

👉 JOIN이 필요한지

👉 GROUP BY가 필요한지

를 먼저 판단하는 습관이 훨씬 중요합니다. 🚀

'2🥐 제과점 프로그램' 카테고리의 다른 글

🥐6. reg.jsp 작성하기  (0) 2026.06.01
🥐5. main.jsp 작성하기  (0) 2026.06.01
🥐4. style.css 작성하기  (0) 2026.06.01
🥐3. index.jsp 작성하기  (0) 2026.06.01
🥐2. DB 생성 흐름  (0) 2026.06.01