JAVA Swing과 MySQL 데이터베이스를 이용해서 영화관DB를 관리하는 GUI 프로그램
20003201 김성민 /20011683 변성은
김성민
- DataBase 스키마 작성
- 사용자 요구사항 구현을 위한 SQL문 작성
- jdbc를 이용해서 MySQL과 쿼리 송수신
- Java GUI 설계/구현
항목 | 설명 |
---|---|
사용자 요구사항 | >관리자는 초기화 버튼을 누르면 모든 정보가 초기화된다. >관리자는 전체 테이블 보기 버튼을 누르면 모든 테이블을 조회할 수 있다. >관리자는 변경하고 싶은 테이블을 고른 후 데이터를 입력하고 입력 실행 버튼을 누르면 새로운 데이터가 추가된다. >관리자는 조건식을 입력하고 삭제 버튼을 누르면 해당 데이터가 삭제된다. >관리자는 조건식을 입력하고 변경 버튼을 누르면 해당 데이터가 변경된다. >회원은 영화명 또는 감독명 또는 배우명 또는 장르를 입력하고 조회 버튼을 누르면 해당 데이터가 들어있는 영화를 검색할 수 있다. >회원은 검색을 통해 조회한 영화중 하나를 선택하여 예매 버튼을 누르면 상영일, 좌석, 결제수단, id를 입력한 뒤 예매할 수 있다. >회원은 id를 입력하고 예매조회 버튼을 클릭하면 해당 회원이 예매한 영화에 대해서 영화명 , 상영일 , 상영관번호 , 좌석번호 및 판매가격 정보를 조회할 수 있다 . >회원은 예매된 정보 중 하나를 클릭하면 해당 예매에 대해 모든 상영관일정 상영관 티켓에 대한 정보를 알 수 있다 . >회원은 본인이 예매한 영화에 대해 조회하고 원하는 영화를 고른 뒤 삭제를 누르면 예매정보를 삭제할 수 있다 . >회원은 본인이 예매한 영화에 대해 조회하고 변경 버튼을 누른 뒤 영화명 , 상영일 , 좌석을 선택하면 다른 영화로 예매를 변경할 수 있다 . >회원은 본인이 예매한 영화에 대해 조회하고 변경 버튼을 누른 뒤 영화명 , 상영일 , 좌석을 선택하면 다른 일정으로 예매를 변경할 수 있다 . |
기능 요구사항 | >초기화 버튼이 눌리면 모든 정보를 초기화한다. >전체 테이블 보기 버튼이 눌리면 모든 테이블의 데이터를 제공한다. >변경하고 싶은 테이블과 각 필드의 데이터 값을 입력받고 입력 실행 버튼이 눌리면 그 값을 입력한다. >조건식을 입력받고 삭제 버튼이 클릭되면 해당 데이터를 삭제한다. >조건식을 입력받고 변경 버튼이 눌리면 해당 데이터가 변경된다. >영화명 또는 감독명 또는 배우명 또는 장르가 입력되고 조회 버튼이 눌리면 해당 데이터가 들어있는 영화정보를 보여준다. >검색을 통해 조회한 영화중 하나를 선택하여 예매 버튼이 클릭되면 상영일, 좌석, 결제수단, id정보를 입력받고 예매한다. >예매조회 버튼을 클릭하면 입력된 아이디로 해당 회원이 예매한 영화에 대해서 영화명 , 상영일 , 상영관번호 , 좌석번호 및 판매가격 정보를 제공한다 . >회원은 예매된 정보 중 하나를 클릭하면 해당 예매에 대해 모든 상영일정 상영관 티켓에 대한 정보를 알 수 있다 . 영화를 선택 후 삭제를 누르면 해당 회원의 예매정보를 삭제한다 . >영화를 선택 후 변경 버튼이 클릭되고 영화명 , 상영일 , 좌석이 입력되면 그 값에 따라 예매 정보 (영화)를 변경한다 . >영화를 선택 후 변경 버튼이 클릭되고 영화명 , 상영일 , 좌석이 입력되면 그 값에 따라 예매 정보 (상영 일정)를 변경 한다 . |
외부 인터페이스 요구 사항 | >입력 기능의 경우 반드시 하나의 윈도우 안에서 모든 데이터 기입, 버튼 클릭 한 번으로 구현한다. >입력해야 할 속성이 4개라면, 속성1/속성2/속성3/속성4에 대한 입력값을 하나의 GUI 윈도우에서 입력받아야 하며, 저장/취소 버튼이 있어서 저장 (즉, 입력 실행) 혹은 취소 (입력 취소) 기능이 구현되어야 함. >사용자 인터페이스는 반드시 GUI (Graphical User Interface)를 사용한다. 단, GUI 구동에 필요한 라이브러리는 기본 JDK에 포함 되어 있는 것으로 한정한다. >GUI 화면에서 관리자/회원을 택하여 다음 화면으로 넘어가는 형태로 구현한다. |
논리적 데이터베이스 요구사항 | 영화 : 영화 번호(int), 영화명 (varchar(100)), 상영시간(TIME), 상영등급(varchar(15)), 감독명(varchar(45)), 배우명 (varchar(45)), 장르 (varchar(45)), 영화 소개 (varchar(2000)) 및 개봉일(DATE) 상영일정: 상영일정번호(int), 영화번호(int), 상영관번호(int), 상영 시작일(date), 상영요일(varchar(45)), 상영회차(int) 및 상영시작시간(TIME) 상영관: 상영관번호(int), 좌석수(int) 및 상영관사용여부 (varchar(4)) 티켓: 티켓번호(int), 상영일정번호(int), 상영관번호(int), 좌석번호 (int), 예매번호(int), 발권여부(varchar(4)), 표준가격(int) 및 판매 가격(int) 좌석: 좌석번호(int), 상영관번호(int) 및 좌석사용여부(varchar(4)) 회원고객: 회원아이디(varchar(45)), 고객명(varchar(45)), 휴대폰 번호(varchar(45)) 및 전자메일주소(varchar(45)) 예매정보: 예매번호(int), 결제방법(varchar(45)), 결제상태 (varchar(4)), 결제금액(int), 회원아이디(varchar(45)) 및 결제일자(DATETIME) |
- 사용자가 관리자인지 회원인지 선택
- 관리자
데이터베이스 초기화 기능
전체 테이블 보기 : 모든 테이블의 내용을 보여주는 기능
데이터베이스에 포함된 모든 테이블에 대한 입력 /삭제 /변경 기능 단 , 삭제 /변경은 “1개 ”의 고정된 특정 조건이 아닌 “조건식 ”을 입력 받아서 삭제 /변경하는 방식으로 구현해야 함
- 데이터 입력 -> 입력 실행 후, 전체 테이블을 보면 새로운 데이터가 들어온 것이 확인 된다.
- 삭제 -> 조건식을 movie_number = 10011 으로 넣고 삭제 버튼을 누른 후, 전체 데이터를 조회하면 추가했던 영화 정보가 사라진다.
[삭제전]
[삭제후]
- 변경 -> 영화명 범죄도시 2를 범죄도시 1으로 변경하고 전체 테이블을 조회하면 영화명이 변경된 것이 확인된다 .
-> 범죄도시 2를 범죄도시 1으로 변경
- 회원
모든 영화에 대한 조회 기능 : 영화명, 감독명, 배우명, 장르를 이용한 조회 (입력 안된 정보는 무시하고 조회함)
-> 영화명 필드에 '안녕' 입력시 영화명에 '안녕'이 들어간 데이터 검색됨 .
위에서 조회한 영화에 대한 예매 기능
-> 검색된 영화 중 하나를 선택후 예매 정보를 입력하면
-> 예매 조회를 하면 예매된 것이 확인됨.
본인이 예매한 영화에 대해서 영화명, 상영일, 상영관번호, 좌석번호 및 판매가격 정보를 보여주는 기능
-> 아이디를 입력하고 예매 조회 버튼을 누르면 예매한 영화 정보가 조회됨 .
본인이 예매한 영화에 대하여 조회하고 한 개 이상의 예매 정보를 "삭제"하는 기능
[삭제전]
[삭제후]
본인이 예매한 영화에 대하여 조회하여 다른 영화로 예매를 변경하는 기능
-> 범죄 도시 2에서 닥터스트레인지로 변경
본인이 예매한 영화에 대하여 조회하여 다른 상영 일정으로 변경하는 기능
-> 예매 일정 변경