Transcript Document

소프트웨어시스템 실험
Software Systems Lab.
(2014년 2학기)
강의 소개
2013. 9. 5.
교재: Do it! 안드로이드 앱 프로그래밍



저자: 정재곤
출판사: 이지스퍼블리싱
출판년도: 2013년
Contact
 교수:


정보기술관 408호
연락: 6490-2339, [email protected]
 조교:


김한준
홍기주
정보기술관 415호
연락: 6490-5715, [email protected]
학습 내용
Programming 및 Database 기반
Mobile Information Service Application 구현
 Android
•
Mobile App. programming: Android OS 기반
•
•
•
Application 디자인, 멀티미디어 활용, 화면 설계
네트워킹, 그래픽 등
Database 기반 Mobile Information Application 구
현
•
•
•
•
데이터 모델링: ER모델 기반
Database 구축: SQLite 활용
Database Language: SQL 학습
Database 설계, 구축 및 활용
Mobile Application Programming
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
Database Query 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)
Mobile Information Systems
•
데이터베이스를 기반으로 모바일 기기를 통해 정보서비스
를 지원하는 소프트웨어 어플리케이션
•
•
예) 문화정보검색서비스, 방송정보분석서비스 등
2008~2010년도 수행한 설계프로젝트(web-based)의 예
•
•
•
•
•
맞춤형 와인검색 서비스, 데이트코스추천 서비스
교통정보분석 서비스, 맞춤형 여행지검색 서비스
웰빙식단구성 서비스, 건강체크 서비스
위치기반 북마크 공유 서비스, 맞춤형 강좌 검색 서비스
금번 프로젝트 주제는
•
이미 널리 알려졌거나, 상업화 된 정보서비스는 피함
•
•
예) 버스배차정보 제공, 자동차렌탈, 항공 예약 등
독창적이면서 의미(가치)있는 프로젝트를 기획
강의 계획
* 변경될 수 있음
주
실습 내용
1
강의 소개
2
기본 위젯과 레이아웃
3
애플리케이션 구성하기
4
다양한 위젯과 이벤트 활용하기
5
선택위젯의 사용과 커스텀 뷰 만들기
데이터베이스 기초 이론
6
스레드와 애니메이션
SQL – 1부
7
네트워킹
SQL -2부
8
데이터베이스
SQLite 실습
9
멀티미디어
10
11
위치기반 서비스
보강 주간
DB 모델링 -1부
DB 모델링 -2부
12
13
14
15
16
메시징과 소셜 네트워크 서비스
근거리 통신과 센서
화면분할과 홈화면
기말고사 및 프로젝트 수행/상담
프로젝트 발표
이론 내용
프로젝트 수행 일정 (변경될 수 있음)
주
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
•
실습 내용
이론 내용
프로젝트 수행
강의 소개
기본 위젯과 레이아웃
각 팀원 확정 (2인 1조)
애플리케이션 구성하기
다양한 위젯과 이벤트 활용하기
선택위젯의 사용과 커스텀 뷰 만들기
스레드와 애니메이션
네트워킹
데이터베이스
멀티미디어
위치기반 서비스
데이터베이스 기초 이론
프로젝트 제안
SQL – 1부
주제 심의 및 확정
SQL -2부
SQLite 실습
요구사항분석서 및 개념설계서 제출
DB 모델링 -1부
논리설계서 제출
DB 모델링 -2부
상세 설계 및 인터페이스 설계서 제출
메시징과 소셜 네트워크 서비스
보강주간
근거리 통신과 센서
화면분할과 홈화면
기말고사 및 프로젝트 수행/상담
프로젝트 발표
프로젝트 발표
(최종 보고서 제출 포함)
주의: 기존 source 및 교내/외 다른 App의 표절 절대 금지 (해당시 F학점)
Evaluation
 성적평가

기말시험 : 30% (중간고사 없음)



DB 이론 및 SQL 테스트 (10%)
Android 프로그래밍 테스트 (20%)
설계프로젝트 : 70%

Android 프로그램 과제 수행 (30%)


Quiz 포함될 수 있음
설계프로젝트 수행 (40%)

모바일 기반 정보서비스 앱 구현
소프트웨어시스템 실험
Software Systems Lab.
(2014년 2학기)
프로젝트 수행 가이드
설계프로젝트 평가
■ 구성
앱 프로그래밍 과제 및 모바일 기반 정보서비스 앱 구현
■ 프로그래밍 과제
■ 프로젝트 수행
▫ Android 프로그래밍
▫ 프로젝트 제안서
▫ 교재 각 chapter 내용을 중심으
▫ 요구사항 분석
로 과제 수행
▫ 개념설계 보고서
▫
▫
▫
▫
▫
▫
논리설계 보고서
상세설계 보고서
인터페이스 설계 보고서
프로토타입 구현
최종 설계 프로젝트 보고서
발표 및 시연
설계 프로젝트 수행 방법
•
구성원
▫
2인 1조의 팀을 구성하여 프로
젝트를 진행
•
제출결과물
▫
▫
각 단계별 보고서
최종 평가시
▫
•
수행 절차
▫
▫
▫
▫
▫
▫
▫
▫
▫
프로젝트 제안
요구사항 분석
개념설계
논리설계
상세설계
인터페이스 설계
어플리케이션 프로토타입 구현
최종보고서 작성
과제 발표
▫
▫
최종보고서
프로그램 소스코드
시연 동영상
프로젝트 수행 일정 (변경될 수 있음)
주
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
•
실습 내용
이론 내용
프로젝트 수행
강의 소개
기본 위젯과 레이아웃
각 팀원 확정 (2인 1조)
애플리케이션 구성하기
다양한 위젯과 이벤트 활용하기
선택위젯의 사용과 커스텀 뷰 만들기
스레드와 애니메이션
네트워킹
데이터베이스
멀티미디어
위치기반 서비스
데이터베이스 기초 이론
프로젝트 제안
SQL – 1부
주제 심의 및 확정
SQL -2부
SQLite 실습
요구사항분석서 및 개념설계서 제출
DB 모델링 -1부
논리설계서 제출
DB 모델링 -2부
상세 설계 및 인터페이스 설계서 제출
보강 주간
메시징과 소셜 네트워크 서비스
근거리 통신과 센서
화면분할과 홈화면
기말고사 및 프로젝트 수행/상담
프로젝트 발표
프로젝트 발표
(최종 보고서 제출 포함)
주의: 기존 source 및 교내/외 다른 App의 표절 절대 금지 (해당시 F학점)
데이터베이스 설계 단계

요구사항 분석


개념적 설계(conceptual schema)


분석 결과를 추상화된 표현 방식으로 기술 -> 개념적 스키마 생성
논리적 설계(logical schema)


DB 사용환경 분석 후 대상 및 제한 조건 도출.
논리적 데이터베이스 구조에 맞는 스키마 생성 -> 논리적 스키마 생성
물리적 설계

실제 컴퓨터에 저장되는 방식 설계
설계프로젝트 보고서 항목 (1/2)
1) 요구사항 분석
•
•
어플리케이션 요구사항은 현실적/실용적 의미가 있어야 하며, 이는 이 정
형화된 형식으로 명확하게 정리
제안 어플리케이션의 사회적 의미 및 경제적 가치를 기술
2) 개념 설계
•
•
•
제시되는 개념설계는 ER다이어그램과 이를 구체적으로 설명
개념설계는 팀원 각자가 토론한 결과를 반영함으로써, 요구사항으로부터
주요 개념과 그들간의 관련성을 도출하는 것임
요구사항 내용과 일치해야 함
3) 논리 설계
•
•
개념설계를 바탕으로 논리적(관계형) 스키마를 도출
데이터 중복을 최소화하기 위한 정규화 과정을 포함
설계프로젝트 보고서 항목 (2/2)
4) 상세 설계:
•
앞서 설계한 내용에 따라 구체적인 프로그램 구조를 작성함
•
각 모듈에 대한 기능적 설명, 기술적 설명, 주요 자료구조를 작성함
•
수학/공학 이론이 수반되는 경우, 과거 연구 내용을 학습한 내용을 작성함
•
어플리케이션 구조도, 소스코드 구조도의 작성
5) 인터페이스 설계
•
•
전체적인 어플리케이션 사용의 시나리오를 제시하며, 요구사항 분석 및 개념 설계
내용과의 일치성 여부 확인 요함
시나리오의 각 단계에 해당하는 그림과 설명을 작성함
6) 어플리케이션 구현
•
설계내용에 충실하게 어플리케이션을 구현
•
시나리오에 따라 어플리케이션의 작동성을 증명