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) 어플리케이션 구현 • 설계내용에 충실하게 어플리케이션을 구현 • 시나리오에 따라 어플리케이션의 작동성을 증명