Everything has an expiration date
[SemiProject - 자판기(VendingMachine) 프로젝트] - 공지사항 본문
[SemiProject - 자판기(VendingMachine) 프로젝트] - 공지사항
Jelly-fish 2023. 9. 25. 17:49
■■■ 세미프로젝트 진행간 공지사항 ■■■
자판기 재고 관리에 대한 논의를 팀원들과 충분히 나눠볼 수 있도록 한다.
○ 진행 기간 : 2023.09.25(월) 16:23 ~ ????.??.??(??) ??:??
○ 주제 : 자판기(Vending Machine)
- 어떤 품목을 다루는 자판기인지, 어떤 기능을 탑재한 자판기인지의
여부는 팀 별 회의를 통해 도출해서 진행할 수 있도록 할 것.
- 라면 자판기, 피자 자판기, 와인 자판기, 칵테일 자판기 등
특별한 기능을 삽입할 수 있는 자판기
푸드코트 키오스크, 영화예매 발권기, 현실에 존재하지 않는 자판기 등...
- 자바 기초 ~ 클래스의 개념 ~ 클래스 고급 과목을 통틀어
공부한 내용 + 개인적으로 학습한 내용
모두 적용할 수 있도록 구성할 것.
- 반드시 각 팀 자판기의 핵심 기능이 뭔지 파악 / 팀원들과 공유할 것
○ 제출 항목
- 기획안
- 회의록
- 결과물
- 발표 및 보고자료 (후기 포함)
※ 프로젝트 수행 의도
기본적 - 기본 가이드라인 유동적... 큰 제한이 없음.
→ 기획안? 회의록? 보고자료? 발표?
- 생각했던 것 → 말로 하는 것 → 실제 해보는 것. (크게 다름)
기술적 - 데이터베이스를 활용하지 않는 환경
→ 자료구조에 대한 활용 → DB 갈증
→ DB 연동하면 아무것도 아닐 기능이...
없이 구성하자면 힘들고 번거롭다... 경험도 필요.
- 기획 단계에서 뭘 하지 않으면
개발 단계에서 엄청 고생하는구나...
태도적 - 여럿이 수행하는 업무
※ 발표
[아래부터는 추가적인 필기 내용]
Ⅰ. 자판기 첫 구동시, 이전 실행에서 변한 속성값을 어떻게 처리해야 할지
『프로그램 첫 실행시 자판기의 재고 초기화에 대한 예시 - ⓐ』 ----------------------------------------
[최초 자판기 구동] - ⓐ 관리자 : 재고 아무것도 없는 상태에서 관리자 모드 실행.
① 재고를 채워넣는 것부터 할 수 있게끔 프로세스...
② 어떤 트레이에 어떤 것을 집어넣는지 등의 기능....
위와 같이 구성하게 되면, 프로그램을 다시 실행했을 때 트레이에 넣었던 값들이 초기화되는 방식이다.
비록 재고 변동값이 저장되지 않지만, 관리자가 구동을 종료할 때 재고 리셋, 판매량, 매출 등을 확인할 수 있도록
프로그램을 구성할 수도 있을 것이다.
-------------------------------------------------------------------------------------
『 프로그램 첫 실행시 자판기의 재고 초기화에 대한 예시 - ⓑ』 --------------------------------------
[최초 자판기 구동] - ⓑ 미리 재고가 모두 채워져 있는 상태로 설정할 수 있다.
① 재고가 만약 10개 미만이면 품절 임박이 되도록 하고
② 관리자 모드에서 재고를 채워줄 수 있는 기능을 넣을 수도 있겠다.
<재고 관리에 대한 부분은 팀원들과 깊이있게 논의를 해보도록 한다.>
-------------------------------------------------------------------------------------
[자판기의 재고가 프로그램 종료 후에도 반영되려면?! 어떻게 하지!?]
--------------------------------------------------------------------------------------------------------------------------
Hint! ★ "객체 직렬화"를 통해서 빠져나갔던 자판기 수량을 다시 불러올 수도 있을 것이다!!!! ← 이 기능 넣구싶다...
--------------------------------------------------------------------------------------------------------------------------
바뀐 수량 만큼을 파일 생성해서 저장해 놓고 나중에 다시 실행시켰을 때 그 파일에 있는 속성값들을
전부 불러들여서 (다시 역직렬화) 를 통해 바뀐 수량을 반영할 수 있도록...!! WOW
Ⅱ. 자판기의 종류 선택하기
꽃다발 자판기... 기념일이나, 좋아하는 꽃들을 기록해 놓는 기능...
한강 공원같은 곳의 라면 끓여주는 자판기...
성인 인증(술, 담배) → 주민번호 유효성 검사
사행성, 선정적, 게임 Ⅹ
어떤 품목을 골라서 자판기를 해야 기능이 있어보임직하게 보일지를 고려
어떤 기능을 통해 구성해 낼 거냐를 미리 생각한다.
Ⅲ. 자판기 개발 과정에서의 자바 개념 활용
★ 인터페이스 개념, 상속 개념 반드시 이용해야 한다.
어느 파트, 어느 대목에다 적용해야 매끄럽게 진행할 수 있을지를 생각하고 프로그래밍.
발표 누가 해야할지... 기획안 안에 어떤 항목들이 필수적으로 들어가야 할지 충분히 찾아보고 구성할 것.
Ⅳ. 회의록 작성 요령
① 몇 시부터 몇 시까지 팀원들끼리 어떤 회의를 진행했는지 회의록에 충분히 작성할 수 있도록 한다.
② 누가 어떤 안건을 냈는지, 어떤 이유로 반려되었고 어떤 안건은 긍정적으로 받아들여졌는지 꼼꼼하게 작성할 것.
③ 진행 과정에서의 에로사항, 어떤 문제를 어떻게 해결했는지 등 후기 작성에 신경써야 할 것.
세미 프로젝트의 가장 의미있는 제출 항목 → 후기...
Ⅴ. 팀원들과의 협업 중 주의사항
회의에서 기획하는 과정에서 또렷하게 확정지을 수 있도록 한다.
제대로 확정지어야 개발하는 과정에서 난항을 겪지 않는다.
생각을 하나로 통일 시켜서 할 수 있도록, 의견을 잘 조율할 수 있도록 한다.
모아진 의견이 잘못됐을 지라도, 팀원들이 다 같이 한번 해 보아야만 잘못된 길인 걸 깨닫고
다시 물이 나오는 곳을 찾아가는 과정에서 경험치가 쌓인다.
모든 의견을 합친다면서 이것도 하고, 저것도 하다보면 프로그램의 방향성을 잃게 되므로 반드시 한 가지의 주제를 선정하여 기획할 수 있도록 한다.