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 구축 및 활용