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