Transcript Document
소프트웨어시스템 실험 Software Systems Lab. (2012년 2학기) 강의 소개 2012. 8. 27. 강의 내용 Modeling 및 Web Database Programming Data • • • • • • 데이터 모델링: ER모델 기반 모델링 도구의 활용: DBDesigner4 활용 Database 기초 Database Language SQL 학습: MySQL 활용 웹프로그래밍 : PHP 언어 기반 분석용 DB 설계, 구축 및 활용 강의 내용 설계 프로젝트: Web-based Information System 구현 • • • • 데이터베이스 설계 및 관리 인터페이스 설계 Web DB 연동 프로그래밍 훈련 시스템 설계 (소프트웨어공학 관점) Web Programming: using PHP & MySQL 저자: Larry Ullman 역자: 정성철 출판사: 위키북스 출판년도: 2010년 Contact 교수: 정보기술관 408호 연락: 2210-5632, [email protected] 조교: 김한준 노준호 정보기술관 415호 연락: 2210-2998, [email protected] Web-based Information Systems • 데이터베이스를 기반으로 인터넷 홈페이지를 통해 정보서 비스를 지원하는 소프트웨어 시스템 • • 예) 주식데이터분석시스템, 문화정보검색시스템, 방송정보분석시 스템 등 2008~2010년도 수행한 설계프로젝트 시스템 • • • • • • 맞춤형 와인검색시스템, 데이트코스추천시스템 교통정보분석시스템, 맞춤형 여행지검색시스템 웰빙식단구성시스템, 건강체크시스템 위치기반 북마크 공유시스템, 맞춤형 강좌 검색 시스템 수강 스케쥴러, Tarot Card 시스템 금번 설계 프로젝트에서 이미 널리 알려진 유형의 정보시 스템은 지양 • 예) 쇼핑몰시스템, 단순예약시스템, 학사관리시스템 등 ER Data Model branch-city branch-name assets branch social-security loan-number customer-street customer-name payment-date loan-branch payment-amount amount payment-number customer-city customer borrower loan access-date cust-banker loan-payment account-number payment balance type depositor account manager employee works-for worker e-social-security dependent-name employment-length ISA employee-name telephone-number start-date savings-account interest-rate checking-account overdraft-amount Data Modeling Tool DBDesigner 4 http://www.fabforce.net/dbdesigner4/index.php Database Language : SQL SELECT au_id, au_fname, au_lname FROM authors au_id ----------172-32-1176 213-46-8915 238-95-7766 ... 807-91-6654 846-92-7186 893-72-1158 899-46-2035 998-72-3567 au_fname ------------------Johnson Marjorie Cheryl au_lname --------------White Green Carson Sylvia Sheryl Heather Anne Albert Panteley Hunter McBadden Ringer Ringer (23 row(s) affected) Database Programming 강의 목차 (이론) 주 1 2 3 실습 제목 강의 소개 데이터베이스 설계-1 데이터베이스 설계-2 ER 모델링의 기초 Entity 및 Relationship의 설계 4 데이터베이스 설계-3 정규화: 관계형 데이터베이스로의 변환 5 6 7 MySQL 활용 SQL 고급: Join 연산, indexing 활용 DBDesigner4 활용 9 10 SQL 기초 SQL 활용 데이터모델링 도구 활용-1 데이터베이스 프로그래밍 원리 데이터모델링 도구 활용-2 데이터 분석용 DB 설계-1 11 데이터 분석용 DB 설계-2 데이터 웨어하우스 DB 스키마 연구 12 데이터 분석용 DB 활용-1 데이터 웨어하우스 구축 13 데이터 분석용 DB 활용-2 데이터 웨어하우스 활용 8 설계 실습 내용 웹프로그램과 DB 연동: PHP DBDesigner4 활용 데이터 웨어하우스의 기초 강의 목차 (설계 실습) 주 1 2 3 4 실습 제목 강의 소개 PHP 입문 PHP 프로그래밍 동적 웹사이트 개발 5 6 7 8 9 10 MySQL 입문 에러 처리와 디버깅 PHP와 MySQL 연동 일반적인 프로그래밍 테크닉 펄 호환 정규표현식 게시판 예제 11 12 사용자 등록 예제 전자상거래 예제 – 1 13 전자상거래 예제 - 2 설계 실습 내용 PHP 웹 프로그래밍의 소개 및 PHP 개발환경 구축 변수, 함수 사용, HTML 폼 소개 다수의 파일로 구성된 홈페이지 구성 (파일 인쿠르드, HTML 폼 다루기) SQL 소개 및 간단한 sql문 사용방법 PHP 에러 종류 및 기본적인 디버깅 방법 PHP 에서 MySQL 연동 방법, 쿼리 후 결과값 처리 방법 PHP-MySQL을 활용한 웹페이지 구현 정규표현식 문법 소개 게시판 구현 (데이터베이스 설계, 인덱스, 포럼, 게시물 페이지 구현) 회원 등록 및 로그인, 로그아웃 구현 전자상거래 웹 페이지 구현 - 1 (데이터베이스 설계, 운영자용 카탈로그 생성) 전자상거래 웹 페이지 구현 - 2 (상품 전시, 쇼핑 카트, 주문내역 저장) Evaluation 성적평가 기말시험 : 30% Quiz: 5% SQL 테스트 PHP 프로그램 테스트 총 4~5회 시행 설계프로젝트 : 65% PHP 프로그램 과제 수행 설계프로젝트 수행: 웹기반 정보시스템 구현 설계프로젝트 평가 ■ 구성 프로그래밍 과제 및 정보시스템 구현 ■ 프로그래밍 과제 ▫ ▫ PHP 프로그래밍 SQL 연습 ■ 프로젝트 수행 ▫ ▫ ▫ ▫ ▫ ▫ ▫ ▫ ▫ 프로젝트 제안서 요구사항 분석 시스템 개념설계 보고서 시스템 논리설계 보고서 시스템 상세설계 보고서 시스템 인터페이스 설계 보고서 시스템 프로토타입 구현 최종 설계 프로젝트 보고서 발표 및 시연 설계 프로젝트 수행 방법 • 구성원 ▫ 2인 1조의 팀을 구성하여 프 로젝트를 진행 • 제출결과물 ▫ ▫ 각 단계별 보고서 최종 평가시 ▫ • 수행 절차 ▫ ▫ ▫ ▫ ▫ ▫ ▫ ▫ ▫ 프로젝트 제안 요구사항 분석 개념설계 논리설계 상세설계 인터페이스 설계 시스템 프로토타입 구현 최종보고서 작성 과제 발표 ▫ ▫ 최종보고서 프로그램 소스코드 시연 동영상 프로젝트 수행 일정 (변경될 수 있음) Team 명단 알림: 9월 둘째주 프로젝트 제안: 10월 첫째주 주제 심의 및 확정: 10월 둘째주 요구사항분석서 및 개념설계서 제출: 10월 넷째주 논리 설계서 제출: 11월 첫째주 상세 설계서 제출: 11월 셋째주 인터페이스 설계 제출: 11월 네째주 최종 보고서 제출 및 최종 발표 : 12월 첫째주 기말고사 : 12월 둘째주 • • • • • • • • • 주의 • ▫ 과거 또는 기존의 source 및 다른 팀의 내용을 copy하면 F학점 처리 데이터베이스 설계 단계 요구사항 분석 개념적 설계(conceptual schema) 분석 결과를 추상화된 표현 방식으로 기술 -> 개념적 스키마 생성 논리적 설계(logical schema) DB 사용환경 분석 후 대상 및 제한 조건 도출. 논리적 데이터베이스 구조에 맞는 스키마 생성 -> 논리적 스키마 생성 물리적 설계 실제 컴퓨터에 저장되는 방식 설계 설계프로젝트 리포트 작성 포인트 1) 요구사항 분석 • • 시스템 요구사항은 현실적/실용적 의미가 있어야 하며, 이는 이 정형화된 형식으로 명확하게 정리 제안시스템의 사회적 의미 및 경제적 가치를 기술 2) 개념 설계 • • • 제시되는 개념설계는 ER다이어그램과 이를 구체적으로 설명 개념설계는 팀원 각자가 토론한 결과를 반영함으로써, 요구사항으로부터 주요 개념과 그들간의 관련성을 도출하는 것임 요구사항 내용과 일치해야 함 3) 논리 설계 • • 개념설계를 바탕으로 논리적(관계형) 스키마를 도출 데이터 중복을 최소화하기 위한 정규화 과정을 포함 설계프로젝트 리포트 작성 포인트: 요구사항 분석 예) 쇼핑몰 사이트 요구사항 회원 관리기능 가입, 탈퇴, 정보수정 카탈로그 데이터를 계층적으로 브라우징 상품 목록 보기 장바구니 보기 기능 몰 관리(admin 기능) 물품 추가/삭제 정보 수정, 회원정보보기 주문현황 및 배송상태 수정 메뉴만 구성 ? 결재 기능 배송상태보기 추가기능 설계프로젝트 리포트 작성 포인트 4) 상세 설계: • 앞서 설계한 내용에 따라 구체적인 프로그램 구조를 작성함 • 각 모듈에 대한 기능적 설명, 기술적 설명, 주요 자료구조를 작성함 • 수학/공학 이론이 수반되는 경우, 과거 연구 내용을 학습한 내용을 작성함 • 시스템 구조도, 소스코드 구조도의 작성 5) 인터페이스 설계 • • 전체적인 시스템 사용의 시나리오를 제시하며, 요구사항 분석 및 개념 설계 내용과 의 일치성 여부 확인 요함 시나리오의 각 단계에 해당하는 그림과 설명을 작성함 6) 프로토타입 시스템 구현 • 설계내용에 충실하게 프로토타입 시스템을 구현 • 시나리오에 따라 시스템의 작동성을 증명 Summary Database Modeling DBMS 활용 Database Modeling Tool 활용 SQL 학습 MySQL 활용 PHP와 MySQL 연동 Data Analysis Data Warehouse 구축 및 활용