기획은 모든 것의 시작이고 시작은 곧 절반이라 하였습니다.
잘못된 기획은 프로그래머의 개발초식을 늘리며 검술 구현시간을 늘리고는 합니다.
따라서 개발을 앞서 기획을 하는 데있어서 규모가 커질 수록
많은 시간을 할애하는 것은 지나치다고 생각하지 않습니다.
기획이 완성되면 기획에 맞추어 디자인을 하고 디자인에 맞추어 프로그래밍을 하면 된다고 생각합니다.
애플이 디자인의 문제로 배터리 문제를 하나로 하였듯이 때로는 디자인이 기능을 우선하기도 합니다.
아무튼 일단 여기서는 그냥 몇가지 기획을 해보며 실제 현실세계의 정보들을
자바의 기본적인 설계에 맞추어서 어떻게 매핑을 하는지 생각을 해볼까 합니다.
현실세계의 생각. 생코PC방의 가정.
아라한사는 신입 풋내기 프로그래머입니다.
초난감 프로젝트소스를 만들어내고 팀에서 쫓겨난 아라한사는, 치킨집 대신에 PC방을 차려보려고 합니다.
눈을 감고 피시방에 가봅니다. 시나리오를 그려봅니다.
돈을 벌기 위해서 성인PC방을 생각해내고, 요금은 10초당 100원씩 냅니다.
먼저 관리자 프로그램을 만들어 관리자 로그인을 해야겠지요.
자리는 50석 정도를 생각하고 있습니다. 네트워크로 서버를 관리서버를 두어야겠군요.
손님은 자리에 와서 클라이언트 프로그램으로 로그인을 해서 키고(비회원도 가능), 사용종료를 할 것입니다.
컴퓨터 50대가 꺼져있다가, 켜질 것입니다. 로그인을 하고 로그아웃을 하겠죠..
사용자가 보는 화면, 관리자가 보는 화면을 직접 만들어야겠고.. 이러한 화면을 보면서
각각의 자신의 회원정보(요금, 사용자리, 아이디, 비밀번호 등등) 을 시간경과, 이벤트에 따라 조종을 해야 겠다는 생각을 해보게 된 아라한사는 프로그래밍을 시작합니다.
현실을 컴퓨터로 매핑
모델 생성
이클립스 시작 - > 패키지들 생성.
가장 먼저! 회원 Member 객체부터 만들어봅시다 !!
pc방 회원노트 (관리자 포함) 생각해보면..
회원에 들어갈 것들 순번(num), 아이디(id), 이름(name), 전화번호(tel), 비밀번호(password), 마일리지(mileage), 나이(age)를 생성.
phpmysql로 테이블 생성
DB에도 똑같이 생성합니다.
음..다음시간에는 로그인테스트를 해보고 로그인폼을 만들어보도록 하지요!
감사합니다.
사용된 소스들
자바 모델
package model; public class Member { private int num; private String id; private String password; private int age; private int mileage; private String phone; //컨트롤+알트+ S 누르시고 GENERATE GETTERS AND SETTERS 에서 //게터 세터 만드시면 게터세터 자동 생성! }
데이터베이스 테이블 생성 소스
CREATE TABLE `member_test` ( `num` int(11) NOT NULL AUTO_INCREMENT, `id` varchar(20) NOT NULL, `password` varchar(200) NOT NULL, `age` int(11) NOT NULL, `phone` varchar(100) NOT NULL, `mileage` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `num` (`num`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;