Mafia Database목차 1 . 설계목적 2. 데이터베이스 기능 3. E-R 다이어그램 4 . 정규화 5. RDB 테이블 스키마 6. SQL Query설계목적 (1/2) 강동서 강력반 형사 강철중은 15 년차 형사 생활에 , 많아진 조폭을 개인수첩과 일반 문서와 엑셀파일로 관리 하기가 힘들어졌다 . 그래서 강철중 형사는 우리에게 조폭들을 효율적으로 관리 할 수 있는 DB 를 구축해 달라고 요청했다 .설계목적 (2/2) 강형사는 각 조직에 심어놓은 스파이와 동네 양아치들에 의해 입수한 정보를 서장 몰래 우리에게 넘겨 주었다 . 우리는 조직에 소속된 조직원들에 대한 정보 , 각 조직의 영업 , 마약 거래에 대한 정보 , 투자업체와 꿈나무에 대한 정보를 담아 형사에게 보여줄 수 있는 DB 를 설계할 것이다 .데이터베이스 기능 (1/2) 조직과 조직원들 정보 조직에 속한 조직원 검색 조직의 꿈나무 검색 특정 범죄에 대한 조직원들을 검색 조직 사업 / 거래 정보 특정 사업을 관리하고 있는 조직원들을 검색 특정 마약업체와 거래 하고 있는 조직을 검색 특정 업체에 투자하고 있는 조직을 검색데이터베이스 기능 (2/2) 조직의 마약거래 / 투자 정보 특정 마약업체가 제조하는 마약정보 검색 특정 투자업체가 투자하는 정보 검색 조직과 거래하는 고객정보 대출 및 상환을 하는 고객정보 검색 장기거래를 하는 고객정보 검색 사건 범죄에 따른 전과 및 범죄정보ERD조직 = { 조직 ID , 조직명 , 관할경찰서 } 조직원 = { 조직원번호 , 이름 ,…} 사업 = { 사업 ID , 상호명 , 주소 , 전화 } 조직운영 = { 사업 ID , 조직원번호 , 조직 ID} 정규화 (1/6)정규화 (2/6) 조직운영 = { 조직원번호 , 사업 ID , 조직 ID} 는 자명하지 않고 , 조직원번호가 슈퍼키가 아니므로 BCNF 에 어긋남을 알았다 . 조직원번호를 α , 조직 ID 를 β 라고 하자 . BCNF 분해공식에 의해 로 분해할 수 있다 . 조직원번호 → 조직 ID ( α ∪ β ) = 대출 CREATE TABLE MAFIA. 대출 ( 거래번호 NUMBER(4), 담보 VARCHAR2(20) NOT NULL , 대출액 NUMBER(12), CONSTRAINT 대출 _CHECK CHECK ( 대출액 =0) VALIDATE , CONSTRAINT 대출 _PK PRIMARY KEY ( 거래번호 ) VALIDATE )RDB table schemaRDB table schema 마약 CREATE TABLE MAFIA. 마약 ( 마약명 VARCHAR2(20), 가격 VARCHAR2(20), TYPE VARCHAR2(20), 강도 VARCHAR2(20), CONSTRAINT 마약 _PK PRIMARY KEY ( 마약명 ) VALIDATE , CONSTRAINT 마약타입 _CHECK CHECK (TYPE in(' 흡입 ',' 주사 ',' 알약 ')) VALIDATE )RDB table schemaRDB table schema 마약구입 CREATE TABLE MAFIA. 마약구입 ( 조직번호 NUMBER(4), 마약업체명 VARCHAR2(20), 구입일자 DATE, CONSTRAINT 마약구입 _PK PRIMARY KEY ( 조직번호 , 마약업체명 ) VALIDATE , CONSTRAINT 마약구입마약업체명 _FK FOREIGN KEY ( 마약업체명 ) REFERENCES MAFIA. 마약업체 ( 마약업체명 ) VALIDATE , CONSTRAINT 마약구입조직번호 _FK FOREIGN KEY ( 조직번호 ) REFERENCES MAFIA. 조직 ( 조직번호 ) VALIDATE )RDB table schemaRDB table schema 마약업체 CREATE TABLE MAFIA. 마약업체 ( 마약업체명 VARCHAR2(20), 대표자 VARCHAR2(20) NOT NULL , 전화 VARCHAR2(20), 주소 VARCHAR2(100), CONSTRAINT 마약업체 _PK PRIMARY KEY ( 마약업체명 ) VALIDATE )RDB table schem부위 VARCHAR2(20) NOT NULL , 구매가격 VARCHAR2(20) NOT NULL , CONSTRAINT 장기고객 _PK PRIMARY KEY ( 거래번호 ) VALIDATE )RDB table schemaRDB table schema 장기매매 CREATE TABLE MAFIA. 장기매매 ( 사업번호 NUMBER(4), 시술자 VARCHAR2(20) NOT NULL , CONSTRAINT 장기매매 _PK PRIMARY KEY ( 사업번호 ) VALIDATE , CONSTRAINT 장기매매사업번호 _FK FOREIGN KEY ( 사업번호 ) REFERENCES MAFIA. 사업 ( 사업번호 ) VALIDATE )RDB table schemaRDB table schema 전과 CREATE TABLE MAFIA. 전과 ( 사건번호 VARCHAR2(20), 범죄명 VARCHAR2(20) NOT NULL , 범죄내용 VARCHAR2(100) NOT NULL , 조직원번호 NUMBER(4) NOT NULL , CONSTRAINT 전과 _PK PRIMARY KEY ( 사건번호 ) VALIDATE , CONSTRAINT 전과조직원번호 _FK FOREIGN KEY ( 조직원번호 ) REFERENCES MAFIA. 조직원 ( 조직원번호 ) VALIDATE )RDB table schemaRDB table schema 제조 CREATE TABLE MAFIA. 제조 ( 마약업체명 VARCHAR2(20), 마약명 VARCHAR2(20), CONSTRAINT 제조마약명 _FK FOREIGN KEY ( 마약명 ) REFERENCES MAFIA. 마약 ( 마약명 ) VALIDATE , CONSTRAINT 제조마약업체명 _FK FOREIGN KEY ( 마약업체명 ) REFERENCES MAFIA. 마약업체 ( 마약업체명 ) VALIDATE )RDB table schemaRDB table schema 조직 CREATE TABLE MAFIA. 조직 ( 조직번호 NUMBER(4), 찾아가봤으나 조영욱이 없었다 . 제길 ! 낚였다 ! DB 가 아직 최신화 되어있지 않은 듯하다 . 일단 다른 형사가 똑같은 실수를 하지 않도록 해당 업체들의 관리자 데이터를 삭제해야겠다 . Query1-3 : 조영욱이 관리하는 업소의 관계 정보를 삭제하라 . → delete from 조직사업 where 조직원번호 in (select 조직원번호 from 조직원 where 조직원 . 이름 = ‘ 조영욱 ’ ); SQL QuerySQL Query사건 1-4 : 며칠을 더 수사했지만 애석하게도 조영욱이 관리하는 또 다른 업소는 없는 듯하다 . 어쩔 수 없다 . 조영욱의 여자를 찾아서 조영욱의 현재 정황을 알아야겠다 . Query1-4 : 조영욱의 여자를 찾아라 . → select 조직원 . 이름 , 여자 . 이름 as 여자이름 ”, 여자 . 여자주민번호 as “ 여자주민번호 ”, 여자 . 직업 as “ 여자직업 ” from 여자 , 조직원 , 십구 where 조직원 . 조직원번호 = 십구 . 조직원번호 and 여자 . 여자주민번호 = 십구 . 여자주민번호 and 조직원 . 이름 = ‘ 조영욱 ’; SQL QuerySQL Query사건 1-5 : 조영욱과 관계된 여자는 그와의 관계를 극구 부인했다 . 수소문 끝에 진짜 그의 여자를 알아낼 수 있었다 . 그의 진짜 여자는 역도선수 ‘ 장미랑 ’ 이었다 . ㅋㅋ Query1-5 : 조영욱의 여자를 새로 갱신하라 . → update 십구 set 여자주민번호 in (select 여자주민번호 from 여자 where 이름 =‘ 장미랑 ’) where 조직원번호 in (select 조직원번호 from 조직원 where 이름 = ‘ 조영욱 ’); SQL QueryQuery1-5-2 : 새로 갱신한 조영욱의 여자를 확인해보자 . → select 조직원 . 이름 , 여자 . 이름 as 여자이름 ”, 여자 . 여자주민번호 as “ 여자주민번호 ”, 여자 . 직업 as “ 여자직업 ” from 십구 , 조직원 , 여자 where 조직원 이름 like '% 권 %' order by 꿈나무 . 이름 desc ; SQL QuerySQL Query사건 6 : 불법업소들이 판을 치고 있다 ! Query6 : ‘ 안마소 ’ 나 ‘ 하우스 ’ 를 운영해서 현재까지의 총 매출 150,000,000 이상을 거두어 들이고 있는 조직을 찾아라 . → select select 조직 . 조직명 from 유흥 , 사업 , 조직사업 , 조직원 , 조직 , 매출 where 유흥 . 사업번호 = 사업 . 사업번호 and 유흥 . 분류 in (‘ 안마소 ’, ‘ 하우스 ’) and 사업 . 사업번호 = 조직사업 . 사업번호 and 조직사업 . 조직원번호 = 조직원 . 조직원번호 and 조직 . 조직번호 = 조직원 . 조직번호 group by 조직 . 조직명 having sum( 매출 . 액수 ) = 1500000000; SQL QuerySQL Query사건 7-1 : 요즘에는 조직원을 뽑을 때도 토익을 본다고 한다 . 정녕 토익은 피할 수 없는 것인가 ? 토익이 높은 꿈나무들은 차후 외국 조직으로도 진출할 수 있으므로 미리 관리해야 한다 . Query7-1 : 꿈나무들 중에서 토익이 700 점 이상인 꿈나무가 몇 명인가 파악해보자 . → select count(*) as “ 토익점수 700 넘는 꿈나무들의 수 ” from 꿈나무 where 토익점수 = 700; SQL QuerySQL Query사건 7-2 : 외국 조직과 손을 잡고 있는 조직이 있다고 한다 . 외국 조직은 최고로 능력 있는 젊은 인재를 그 조직에게서 스카우트 하길 원한다 . 그냥 냅둘 수 없다 ! 그 꿈나무를 잡아서 우리쪽 스파이로 만들어 버리자 . Query7-2 : 어처피 우리편이 될 놈이니 나이가 18 세 이상이고 토익이 최고로 높은 꿈나무를 찾아서 꿈나무 목록에서 삭제하자 . → delete from 꿈나무 where 이름 = (select 이름 from 꿈나무 where 토익점수 = (select max( 토익점수 ) from 꿈나무 where thow}
Movie Database응용분야 응용의 기능 요건 분석 E-R Diagram RDB 테이블 스키마 정규화 질의 테스트목차1. 응용분야영화에 관련된 다양한 정보에 대한 관리 및 인터넷 웹사이트 구축 영화 상영 대한 정보 획득 런닝타임, 티켓팅, 상영스케쥴, 극장정보 등 시상식에서 수상한 영화, 배우, 감독에 관한 정보 획득2. 응용의 기능 (1/6)순위 차트 (1/2) 영화 관객 순위 집계 주 단위, 월 단위, 한국영화, 외국영화 영화 수입 순위 집계 영화 총 수입, 영화 극장 수입, DVD대여,판매 수입, VOD 서비스 수입 영화 제작비, 배급비 , 총 지출 순위2. 응용의 기능 (2/6)순위 차트 (2/2) 개봉일 최다 수입 순위 배우 별 출연 작품 수 순위 감독 별 연출 작품 수 순위 연령대별 영화 관람 순위 장르별 영화 관람 순위2. 응용의 기능 (3/6)영화 작품 정보 특정 배우가 출연한 작품 검색 특정 배우, 감독, 작품이 수상한 상 검색 특정 작품에 관련된 모든 수상 내역 특정 작품에 출연한 배우, 연출한 감독 검색 특정 감독이 연출한 작품 검색 영화 개봉일 검색 영화 손익 분기점 계산2. 응용의 기능 (4/6)영화 상영 관련 정보(1/2) 특정 영화의 극장 별 잔여석 검색 구매한 티켓 정보 출력 극장 이름, 상영관 번호, 좌석번호, 상영 시간, 영화 제목 영화관 별 스케줄 출력 상영시간, 영화 제목, 상영관 번호 특정 영화의 영화관 목록2. 응용의 기능 (5/6)영화 상영 관련 정보(2/2) 현재 상영 중인 영화 검색 개봉 예정 작 검색 특정 영화의 상영 스크린 수 특정 상영관의 정보 검색 스크린 크기, 수용 가능 인원 영화 개봉 시점 대 월별 출력2. 응용의 기능 (6/6)영화 제작 배급 정보 영화 제작비 검색 영화 배급 비용 검색 특정 제작사에서 제작한 영화 목록 특정 배급사에서 제작한 영화 목록 특정 영화의 배급사 검색 특정 영화의 제작사 검색3. 요건 분석 (1/6)사용자 그룹 식별 극장, 관객, 배급사 , 제작사 사용자 별 업무 극장 업on delete cascade, foreign key(award_number) references movie_award on update cascade on delete cascade, check(movie_id =0 and award_number =0) ) 영화 수상 테이블 - 영화id, 상 고유번호5. RDB 테이블 스키마theater_schedule 테이블create table theater_schedule( schedule_number int, movie_house_id int, room_number int, primary key(schedule_number, movie_house_id, room_number), foreign key(movie_house_id) references movie_house on update cascade on delete cascade, foreign key(schedule_number) references schedule on update cascade on delete cascade, check(schedule_number =0 and movie_house_id =0 and room_number =0) ) 상영관 스케줄 테이블 - 스케줄 번호, 영화관 id, 상영관 번호5. RDB 테이블 스키마Movie_schedule 테이블create table movie_schedule( movie_id int, schedule_number int, primary key(movie_id, schedule_number), foreign key(movie_id) references movie on update cascade on delete cascade, foreign key(schedule_number) references schedule on update cascade on delete cascade, check(movie_id =0 and schedule_number =0) ) 영화관 스케줄 테이블 - 영화 id, 스케줄 번호 round Schedule_number - beginning_time Schedule_number 가 주키이며, 테이블내의 모든 속성들은 Schedule_number 에 대해서 의존 관계를 가지므로 BCNF로 정규화된다.6. 정규화Movie_vod(movie_id, view_count, vod_release_date, cost) Functional Dependency Movie_id - view_count Movie_id - vod_release_date Movie_id - cost Movie_id 가 주키이며, 테이블내의 모든 속성들은 Movie_id 에 대해서 의존 관계를 가지므로 BCNF로 정규화된다.6. 정규화Movie_dvd(movie_id, sales_count, dvd_release_date, cost, borrow_count) Functional Dependency Movie_id - sales_count Movie_id - dvd_release_date Movie_id - cost Movie_id - borrow_count Movie_id 가 주키이며, 테이블내의 모든 속성들은 Movie_id 에 대해서 의존 관계를 가지므로 BCNF로 정규화된다.6. 정규화Movie_theater(movie_house_id, room_number, screen_size, seating_capacity) Functional Dependency Movie_house_id, room_number - screen_size Movie_house_id, room_number - seating_capacity Movie_house_id, room_number 가 주키이며, 테이블내의 모든 속성들은 movie_house_id, room_number 에 대해서 의존 관계를 가지므로 BCNF로 정규화된다.6. 정규화Movie_supply(movie_house_id, movie_id ) Functional Dependency Movie_house_id,movie_id - movie_watching.schedule_number = movie_schedule.schedule_number and movie.movie_id = movie_schedule.movie_id group by movie.title질의는 '해리포터'라는 영화의 관람객 수를 원한다. 이를 위해서 movie.title과 person.person_id를 사용해야 한다. 이를 가진 엔터티와 릴레이션을 자연조인 하여 영화 제목별로 group by한다. 여기서 각 영화당 person_id(관객)을 카운팅 하면 영화당 관객수 를 얻을수 있다.7. 질의 테스트7. 질의 테스트5. 영화 별 역대 제작비 순위select movie.title, movie_manufacture.manufacture_cost from movie, movie_manufacture where movie.movie_id = movie_manufacture.movie_id order by movie_manufacture.manufacture_cost desc역대 영화 별 제작비의 순위를 매기려 한다. 이를 위해 title을 가진 movie와 manufacture_cost를 가진 movie_manufacture 엔터티가 필요하다. 두 엔터티를 카티션 곱 하면 아래와 같은 결과를 얻을수 있다. 이를 제작비 순서대로 정렬 하면 된다.7. 질의 테스트7. 질의 테스트6. 영화 별 역대 배급비 순위select movie.title, movie_buying.price from movie, movie_buying where movie.movie_id = movie_buying.movie_id order by movie_buying.price desc배급비 순위를 얻고자 한다. 배급비인 movie_buying.price가 필요하고 또 이만큼의 비용 이 들어간 영화의 제목이 필요하다. 그러기 위해 movie, movie_buying 의 자연 조인이 필요 하다. 조인 결과는 아래와 같고 그 결과를 정렬해 준다.7. 질의 테스트77. 질의 테스트7. 질의 테스트17. 특정 배우가 수상한 상 목록select person.name as '이름', movie_award.years as '수상 연도', movie_award.title as '영화제', movie_award_actor.subtitle as '타이틀', prize_winning_actor.prize_money as '상금' From person, actor, prize_winning_actor, movie_award_actor, movie_award where person.person_id = actor.person_id and actor.person_id = prize_winning_actor.person_id and prize_winning_actor.award_number = movie_award_actor.award_number and movie_award_actor.award_number = movie_award.award_number and person.person_id = 8특정 영화 배우가 수상한 상의 목록들을 알고 싶다. 이때 배우의 상에 대한 정보를 담고 있는 movie_award_actor, movie_award와 배우에 대한 정보를 가진 person, actor가 필요한 엔터티 들이며 이들간의 관계를 위해서 prize_winning_actor가 필요하다. 특정 배우를 지칭하기 위해서 배우의 person_id를 where절에 삽입해 준다. - person_id = '8' 은 전도연이다.7. 질의 테스트7. 질의 테스트18. 특정 감독이 수상한 상 목록select person.name as '이름', movie_award.years as '수상 연도', movie_award.title as '영화제', movie_award_director.subtitle as '타이틀', prize_winning_director.prize_money as '상금' From person, director, prize_winninw}
*Requirement Analysis시스템의 주기는 한 달 단위로 한다. 한 달간의 부대의 통합 시스템을 구축하고, 각 달이 끝날 때마다, 데이터를 업데이트 (입‧전출, 장비책임자 변경, 직책 변경 등)인원기본적으로 인원은 상속관계를 이용하며, 우선 인원은 총 3개의 분류를 하도록 한다. 이름, 현주소, 주민등록번호, 본봉, 호봉, 직책, 계급 등이 각 인원별로 존재하며, 인원은 다시 크게 간부와 병사로 나누어진다. 간부는 봉급을 위한 자격증 보유현황, 영외거주 비를 가지고 있으며, 간부는 다시 장교와 부사관, 군무원으로 나누어진다. 각 계급에 따라 군번을 가지고 있으며, 모든 인원은 방독면을 가진다. 총기의 경우 군무원을 제외한 현역들은 한정씩 가지고 있다.2. 일정관리부대는 날짜별로 일정을 정하며, 일정은 각 날짜와 종류 참가인원수의 정보를 가지게 된다. 또한 크게 정비활동, 종교 활동, 근무, 훈련의 4분류로 나누어지게 되며, 일반적인 업무는 직책에 맞게 수행한다고 가정하고 따로, 일정에 넣지는 않는다.우선 정비활동과 훈련은 매일 있는 것이 아니다. 정비활동은 주기적으로 있을 수도 있고, 피지원부대의 운용 고장 시에는 긴급정비활동도 가능해야 한다. 훈련은 한 달간 없을 수도 있으며, 피지원부대의 훈련은 반드시 참가해야 한다.근무는 매일 있으며, 종교 활동의 경우, 수요일과 주말에만 존재한다.
‘공기업에 대해’1. 공기업이란..공기업은 정부가 직접적으로나 간접적으로 투자하고 있는 기업으로 정부가 소유권을 갖거나 통제권을 행사하는 기업을 말한다. 공기업은 국민경제에서 차지하는 비중은 크고, 다양한 부문에 걸쳐서 공기업이 운영되고 있다. 공기업은 정부의 통제를 받을 뿐만 아니라 재화와 용역을 생산하여 기업처럼 대가를 받고 판매하기 때문에 공공성과 기업성의 양면성을 지니고 있다.① 정부의 소유 및 통제정부는 공기업을 소유하여 통제를 하기도 하지만 때로는 이것이 공기업을 법적, 제도적으로 보장하여주는 보호막이 되기도 한다. 흔히 정부가 공기업을 통제하기 위해서는 주식의 50% 이상을 소유하여야 한다고 주장할 수 있으나, 이는 사실과 다르다. 캐나다의 경우 심지어 5%를 소유한 정부가 효율적으로 통제한다.② 재화와 용역의 판매 (기업성)재화와 용역을 판매한다는 것은 세금을 징수하는 것이 아니라 돈을 받고 재화와 용역을 기업처럼 판매한다는 것이다. 어느 한 경제학 교수는 50% 이상의 비용을 수익에 의하여 충당할 수 있으면 공기업으로 정의했다. 그러나 공기업의 정의로 기업성은 문제가 되는데, 한국관광공사와 대한무역진흥공사의 경우처럼 기업적 성격보다는 정부투자기관으로 설립되었기 때문에 공기업으로 분류되는 것이 있다. 따라서 공기업의 정의에서는 국가의 소유가 중요하다.③ 정의따라서 공기업을 다시 정의해보면 조직의 수입이 어느 정도 산출과 관련이 있으며, 공기업 경영에 어느 정도의 자율이 부여되는 독자적인 정부부서나 별도의 조직을 의미한다.2. 공기업의 특성 (장?단점)① 비효율적 경영모든 공기업이 비효율적인 것은 아니지만 많은 공기업이 비효율적이다. 그 원인은 공기업이 경쟁에 직면하여 있지 않기 때문이다. 또 하나의 원인은 공기업은 주인이 없다는 점이다. 소유권이 불분명한 상황에서 효율성의 제고는 어렵다.② 적자공기업은 적자를 보는 경우가 많은데, 그 원인이 비효율성에서 비롯되는 것인지 아니면 공익을 추구하기 때문에 일어났는지는 명확히 하여야 한다. 적자로 운영되는 공기업이 있다면, 부의 재분배를 공기업이 하는 것이 된다.③ 가격결정의 자유공기업은 가격결정하는데 있어서 민간기업보다는 자유롭다. 독점적 성격과 공권력을 바탕으로 하기 때문이다.④ 개발도상국에서 보다 큰 기중을 차지한다.⑤ 제조업부문의 공기업 증가(중공업)⑥ 공기업은 민영화의 어려움적자인 기업을 인수하려는 민간이 없고, 관료의 퇴직 자리, 공무원의 저항 등으로 민영화가 어렵다. 만일 공기업이 돈을 벌고 있다면 왜 정부가 팔 것이고, 적자라면 누가 살 것인지를 생각해보면 된다.⑦ 정부의 간섭과 감독⑧ 공공성을 위해 존재3. 공기업의 종류공기업을 생산활동에 따라 제조업, 서비스업, 금융과 보험 등으로 구분할 수 있고, 공기업이 처한 시장형태에 따라 독점, 과점, 완전경쟁산업으로 분류할 수도 있지만 가장 중요한 것은 조직형태에 따른 분류이다.① 정부기업정부부처의 형태를 지닌것으로 철도, 통신, 양곡관리, 조달사업이 있으며 기업예산회계법의 적용을 받는다. 그러나 이것이 정부기업으로 남아야 되는지는 의문이 간다. 기업예산회계법의 적용을 한다는 것은 기업성을 인정한다는 것인데 이를 굳이 정부기업으로 남아 있게 하는 것은 생각해 볼 만한 문제이다.② 공사일반적으로 정부가 전액 출자하며, 산업은행 같은 정부기관이 출자에 관여하는 경우도 있다. 공사는 주로 특별법에 의해 설립된다. 공사는 독립된 법인격을 가지고 있으며 정부기업과 구별하여 법인형 공기업 혹은 법인체 공기업이라고 한다.③ 직접투자회사 (50%이상 정부투자)직접투자회사는 주식회사의 형태를 가지고 있다. 주식회사의 형태이기 때문에 상법에 의해 설립된다. 공사와 주식회사의 형태를 지닌 공기업 (정부가 50% 이상 투자한 기업)은 정부투자기관관리기본법의 적용을 받는다. 공사와 직접투자회사를 정부투자기관이라고 한다.
디자인패턴 (설계패턴)디자인패턴중 command 패턴에 대해서조사하고 발표한 자료입니다.command pattern 의 특징 및 장단점은 물론,class diagram 과 저희 조가 만든 team design 도 있습니다.team design 은 command pattern 을 사용하지 않았을 때를 나타내어command pattern 이 사용하였을때의 장단점을 쉽게 나타낼 수 있습니다.일주일간 조사, 연구, 작성한 것이며 command pattern 에 대해서는이만한 자료는 없다고 생각합니다.team design 의 경우도 리모콘을 예로 들어 작성하였으며ppt 발표도중 소스 실행 결과를 바로 알 수 있도록 링크 시켜놓았습니다.결과적으로 A+ 맞은 자료로써 전반적인 것은 java로 구성되어 있습니다.