소프트웨어공학 프로젝트 sendmemo -...

38
소프트웨어공학 프로젝트 팀 1 조(NUMBER ONE) 계획서 소프트웨어공학 프로젝트 SendMemo 소속 : 강원대학교 컴퓨터과학과 제출자 : 1 조 강은지, 김민석, 김필수, 오준호, 이강, 이재혁 제출일 : 2012 년 10 월 29 일 월요일

Upload: others

Post on 15-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

소프트웨어공학 프로젝트 팀 1 조(NUMBER ONE)

계획서 소프트웨어공학 프로젝트 SendMemo

소속 : 강원대학교 컴퓨터과학과

제출자 : 1 조 강은지, 김민석, 김필수, 오준호, 이강, 이재혁

제출일 : 2012 년 10 월 29 일 월요일

Page 2: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Table of Contents

1 프로젝트 개요 ...................................................................................................................................................... 3

1.1 제목........................................................................................................................................................... 3

1.2 개요........................................................................................................................................................... 3

1.3 산출물 ...................................................................................................................................................... 3

1.4 정의 및 약어 ........................................................................................................................................ 4

2 자원 및 일정 예측 ............................................................................................................................................. 5

2.1 자원 .............................................................................................................................................................. 5

2.2 일정 예측 .................................................................................................................................................. 5

3 조직 구성 및 인력 배치 ................................................................................................................................. 6

3.1 조직 구성 .................................................................................................................................................. 6

3.2 직무 기술 .................................................................................................................................................. 6

4 WBS ........................................................................................................................................................................... 7

5 기술관리 방법 ...................................................................................................................................................... 7

5.1 변경 관리 .................................................................................................................................................. 7

5.2 위험 관리 .................................................................................................................................................. 7

5.3 비용 및 진도 관리 ................................................................................................................................ 8

5.4 문제점 해결 방안 .................................................................................................................................. 8

6 표준 및 개발 절차 ............................................................................................................................................. 8

6.1 개발 방법론 .............................................................................................................................................. 8

일정 중심 설계 모델 ........................................................................................................................... 8

7 검토 회의 ............................................................................................................................................................... 9

Page 3: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

7.1 검토회 일정 .............................................................................................................................................. 9

7.2 검토회 진행 방법 .................................................................................................................................. 9

7.3 검토회 후속 조치 ............................................................................................................................... 10

8 개발 환경 ............................................................................................................................................................ 10

9 성능 시험 방법 ................................................................................................................................................. 10

10 유지보수 ............................................................................................................................................................ 10

11 설치, 인수......................................................................................................................................................... 10

Page 4: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 3 of 10

1 프로젝트 개요

1.1 제목

- SendMemo

1.2 개요

- 국내 스마트폰 이용자 2000 만 명 시대인 현재, PC 와 웹만 이용하던 사람들은

언제 어디서나 스마트폰 하나로 SNS(Social Network Service), 어플리케이션(이하

App)을 이용해 정보를 찾고 사람들과 소통하고 있다. 물론 SNS 도 많이

사용하고 있지만, 여기서는 메모 App 에 대해서 이야기하고자 한다.

스마트폰으로 인해 사람들은 종이에 무언가 기록하기 보다는 메모 App 을

사용하여 기록을 하고 있다. App 에 메모를 하기는 했지만, 실제로 그것을 다시

확인하는 빈도는 낮다. 또한 메모한 사실조차 잊어버리는 문제가 발생한다.

우리는 그 문제를 컴퓨터와 스마트폰의 두 가지 장점을 결합함으로써

해결하고자 한다. 컴퓨터는 스마트폰이 보급되기 이전부터 가장 많이 사용되던

보편적인 장치이므로, 여전히 높은 이용률을 보이고 있다. 또한 스마트폰은 항상

소지하고 있는 장치이기 때문에 휴대성이라는 장점을 가지고 있다. 우리는 이

프로젝트를 통해서 두 장치의 장점을 결합한 새로운 환경 구축을 하고, 그

환경을 기반으로 한 App 을 만들고자 한다. App 으로 메모를 하면 그것을

컴퓨터에서 실행되는 프로그램을 통해 다시 한 번 확인할 수 있게 해서 쉽게

잊지 않게 하고, 여러 플랫폼에서 메모를 볼 수 있게 하는 것이 이 프로젝트의

목적이다.

1.3 산출물

- 계획서, 요구분석서, 설계서

- 안드로이드 환경에서 동작하는 메모 작성/전송 어플리케이션(이하 App_Memo)

- 윈도우 환경에서 동작하는 메모 수신 컴퓨터 응용 프로그램(이하 PC_Memo)

Page 5: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 4 of 10

1.4 정의 및 약어

- SendMemo: 본 프로젝트에서 개발할 메모 전송 Application. 그 기능을 간단하게

표현하면 스마트폰 앱에 저장된 메모를 지정된 computer 로 전송하여 전송받은

내용을 모니터에 출력하는 것이다.

- PC : 개인용 컴퓨터(PC, Personal Computer, 문화어: 개인용컴퓨터)는 기업이나

가정에서 개인적인 용도로 사용하는 컴퓨터를 말한다.

- App : Application 의 약어, 응용 소프트웨어(영어: Application)는 운영 체제에서

실행되는 모든 소프트웨어를 뜻한다. 최근에는 스마트폰에서 실행되는

어플리케이션을 앱이라고 축약하여 표현한다.

- 안드로이드 : 안드로이드(Android)는 휴대 전화를 비롯한 휴대용 장치를 위한

운영 체제와 미들웨어, 사용자 인터페이스 그리고 표준 응용 프로그램(웹

브라우저, 이메일 클라이언트, 단문 메시지 서비스(SMS), 멀티미디어 메시지

서비스(MMS)등)을 포함하고 있는 소프트웨어 스택이자 모바일 운영 체제이다.

- Java SE Development Kit 7U9 : 자바 프로그램 개발에 기본적으로 필요한

환경(API) 제공

- DB : Database 의 약어, 여러 사람들이 공유하고 사용할 목적으로 통합 관리되는

정보의 집합이다. 논리적으로 연관된 하나 이상의 자료의 모음으로 그 내용을

고도로 구조화함으로써 검색과 갱신의 효율화를 꾀한 것이다. 즉, 몇 개의 자료

파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여

기억시켜 놓은 자료의 집합체라고 할 수 있다.

- 이클립스 : 응용프로그램을 개발해주는 통합 개발 환경 자바 기술을 기반으로

만들어진 Java IDE 개발도구

- IP: Internet Protocol 인터넷상의 한 컴퓨터에서 다른 컴퓨터로 데이터를 보내는

데 사용되는 프로토콜. 인터넷상의 각 컴퓨터, 즉 호스트들은 다른 컴퓨터와

구별될 수 있도록 적어도 한 개 이상의 고유한 주소를 갖는다.

Page 6: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 5 of 10

2 자원 및 일정 예측

2.1 자원

- 인력 : 강은지, 김민석, 김필수, 오준호, 이강, 이재혁 총 6 명

2.2 일정 예측

- 일정표 : 일정 중심 설계 모델에 기반하여 작성

- 회의 일정 : 위 일정표에 명시한 바와 같으며, 매주 화요일과 금요일에 모이는

것을 기본으로 한다. 필요할 시에는 언제든지 추가로 회의를 열도록 한다.

3주(10/15~10/21)

4주(10/22~10/28)

1주(10/29~11/4)

2주(11/5~11/11)

3주(11/12~11/18)

4주(11/19~11/25)

1주(11/26~12/2)

2주(12/3)

프로젝트 팀 구성 10월 14일(일)

목표 및 문제 정의 10월 14일(일)

일정 예측 10월 19일(금)

요구 분석 10월 20일(토)

자료흐름도 10월 20일(토)

자료사전 10월 20일(토)

소단위 명세서 10월 20일(토)

구조 설계 10월 26일(금)

프로그램 상세 설계

10월 26일(금)

UI설계 10월 26일(금)

상세 설계 11월 4일(일)

모듈 구현11월 6일(화)11월 9일(금)

단위 테스트 11월 13일(화)

통합 테스트 11월 16일(금)

상세 설계 11월 20일(화)

모듈 구현11월 20일(화)11월 23일(금)

단위 테스트 11월 23일(금)

통합 테스트 11월 27일(화)

최종 테스트 시스템 테스트11월 27일(화)11월 29일(금)

출시 출시 12월 2일(일)

회의 일정W B S

10월 11월 12월

계획

요구분석

설계

높은 우선 순위 상세 설계,코딩, 테스트

중간 우선 순위 상세 설계,코딩, 테스트

Page 7: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 6 of 10

3 조직 구성 및 인력 배치

3.1 조직 구성

- 분산형 팀 조직 : 소규모로 구성된 팀의 특성을 살려 다각도의 의사 교환 경로를

통해 조직을 운영하려고 한다. 자신이 있는 일을 알아서 수행하고, 구성원이

동등한 책임과 권한을 갖는 시스템으로 각자의 작업 만족도를 높여 좋은 결과를

내는 것을 목표로 한다.

3.2 직무 기술

성명 문서화 UI 프로그래밍 발표 테스트 최종 테스트

강은지 O

O O O

김민석 O

O

O

김필수 O O

O O

오준호 O

O

O

이강 O O

O

이재혁(팀장) O

O O O

Page 8: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 7 of 10

4 WBS

5 기술관리 방법

5.1 변경 관리

- 이미 구현하여 사용중인 모듈 또는 시스템의 전반적인 설계를 변경할 경우 검토

회의에서 토론 후 결정함을 원칙으로 한다.

5.2 위험 관리

- 인력 부족으로 인한 프로젝트 진행 실패의 위험을 방지하기 위해 모두

헌신적으로 참여함을 원칙으로 한다.

- 비현실적인 일정 진행을 막기 위해 규모를 지나치게 크게 잡지 않도록 한다.

- 잘못된 기능 개발을 막기 위해 설계 시 팀원 모두가 함께 참여하여 각 기능을

정확히 이해하도록 한다.

Page 9: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 8 of 10

- 잘못된 인터페이스 개발을 막기 위해 완성 전에 미리 프로토타이핑을 하여 팀

에서 피드백한 후 진행하도록 한다.

- 계속되는 요구 변경을 막기 위해 일정 중심 설계 모델의 특징 중 하나인 점증적

개발 방식을 활용하여 다음 버전까지 변경을 연기한다.

- 외부 모양 및 기능의 빈약을 막기 위해 외부인에게 미리 그 모양을 보여주어

피드백 받아 처리하도록 한다.

- 기술적인 취약점을 해결하기 위해 개인적으로 많은 시간을 들여 공부를 하도록

한다.

- 개발 중인 프로그램 코드의 손실을 예방하기 위하여 1 일 간격으로 백업한다.

5.3 비용 및 진도 관리

- 별도의 프로젝트 진행 비용이 지급되지 않으므로 식비 및 교통비는 자신이

부담가능한 금액 내에서 사용하도록 한다.

- 검토 회의가 열릴 때마다 각 개인의 업무를 부여하고, 변경 사항이 있을 시에는

미리 보고한 후 조정하도록 하여 각 업무를 정해진 일정 내에 진행하도록 한다.

- 일정 지연을 예방하기 위해 진행 사항을 수시로 체크하여 관리하도록 한다.

5.4 문제점 해결 방안

- 기술상의 문제점이 발생할 경우 먼저 구글 검색(이하 구글링)을 통하여 자료를

조사하도록 하고, 구글링 실패시 도서관의 도서 및 선배 그리고 교수님을 통하여

해결하도록 한다.

6 표준 및 개발 절차

6.1 개발 방법론

일정 중심 설계 모델

- 본 프로젝트는 소프트웨어 제품의 출시 날짜가 매우 중요하므로 개발 모형으로

일정 중심 설계 모델을 택하였다. 초기 단계에 중요한 기능을 설계, 구현하여

시스템의 골격을 만든 후에 상대적으로 덜 중요한 기능을 구현하고자 한다.

Page 10: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 9 of 10

폭포수 모형과 기본적으로는 동일하나, 높은 우선순위 상세설계, 코딩, 테스트 후

낮은 우선순위의 상세설계, 코딩, 테스트를 진행한다는 점이 다르다. 본

프로젝트는 이를 일정 예측에 반영하였다.

7 검토 회의

7.1 검토회 일정

- 검토회 일정은 2.2 절에서 명시한 검토 회의 일정과 동일하며, 기본적으로

화요일과 금요일에 진행함을 원칙으로 하되 수시로 만나서 진행 결과를 검토하고

피드백하는 과정을 거치도록 한다.

7.2 검토회 진행 방법

- 검토회는 팀원이 모두 모인 자리에서 오프라인으로 진행되며, 지난 검토

회의부터 이번 검토 회의까지 각 개인이 맡은 업무와 그 진행 상황을 발표하여

팀 내에서 작업 내역을 공유하고 다음 일정까지 할 일을 계획하는 방식으로

진행한다. 특히, 세부 설계를 정할 때나 문제 상황을 함께 해결할 때에는 토론

방식으로 자유롭게 브레인스토밍을 통해 검토회를 진행함을 원칙으로 한다.

Page 11: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 10 of 10

7.3 검토회 후속 조치

- 검토회에서 결정한 각 개인이 맡은 업무와 프로젝트 진행 상황을 기록하여

관리한다. 또한, 발생한 문제 상황에 대한 회의 결과를 정리하여 개발에

반영하도록 한다.

8 개발 환경

- 스마트폰 : 안드로이드 4.0 이상 플랫폼

- 컴퓨터 : Windows 7 이상의 운영체제 환경

- JDK 버전 : jdk1.7.0_07

- 개발 도구 : Eclipse(JUNO)

9 성능 시험 방법

- 성능 시험 테스터는 개발과 동시에 해당 모듈 담당 프로그래머가 진행하며,

전체적인 시스템 테스터는 한 명으로 한다.

- 최종 테스트 진행 시 Check list 항목을 마련한 후 각 항목을 Pass 또는 Fail 로

평가하여 처리하도록 한다.

10 유지보수

- 사용자의 요구 사항을 이메일로 수집한다.

- 수집된 요구 사항을 분기별로 종합하여 처리한다.

11 설치, 인수

- 각 모듈들의 인터페이스 정의가 알맞게 결합되었는지 확인

- 전체 시스템이 요구 분석에 적합하게 구현되었는지 시험

- 사용자가 소프트웨어를 설치할 수 있도록 설치 절차 안내

Page 12: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

소프트웨어공학 프로젝트 팀 1 조(NUMBER ONE)

요구분석서 소프트웨어공학 프로젝트 SendMemo

소속 : 강원대학교 컴퓨터과학과

제출자 : 1 조 강은지, 김민석, 김필수, 오준호, 이강, 이재혁

제출일 : 2012 년 10 월 29 일 월요일

Page 13: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Table of Contents

1 개 요 ........................................................................................................................................................................ 3

1.1 시스템 개요 .............................................................................................................................................. 3

1.2 목표 .............................................................................................................................................................. 3

2 기능적 목표 .......................................................................................................................................................... 3

2.1 자료 흐름도 .............................................................................................................................................. 3

메모 작성/전송 앱(App_Memo)과 메모 확인 어플리케이션(PC_Memo)을 위한

배경도 ........................................................................................................................................................ 3

메모 작성/전송 앱(App_Memo)을 위한 Level 0 자료 흐름도......................................... 4

메모 확인 어플리케이션(PC_Memo)을 위한 Level 0 자료 흐름도 ................................ 4

2.2 자료사전 ..................................................................................................................................................... 5

기본 자료 사전 ...................................................................................................................................... 5

배경도를 위한 자료 사전 ................................................................................................................. 5

메모 작성/전송 앱(이하 App_Memo 으로 표기)을 위한 자료 사전 ............................. 5

메모 수신 어플리케이션(이하 PC_Memo 로 표기)을 위한 자료 사전 ........................ 5

2.3 소단위 명세서 ......................................................................................................................................... 6

2.4 기능면에서의 시스템 특성 ............................................................................................................. 11

3 기타 요구 및 제약 사항 .............................................................................................................................. 12

3.1 성능 요구(반응 시간, 처리소요 시간, 처리율) ...................................................................... 12

3.2 하드웨어 요구(기억장치 규모, 통신 수용도) ......................................................................... 12

3.3 예외 조건 및 이의 처리 .................................................................................................................. 12

Page 14: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

3.4 사용자 인터페이스 ............................................................................................................................. 12

3.5 자원, 인력에 대한 제약조건 .......................................................................................................... 12

4 인수 조건 ............................................................................................................................................................ 13

4.1 기능시험 및 성능시험 ...................................................................................................................... 13

Page 15: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 3 of 13

1 개 요

1.1 시스템 개요

- 안드로이드 스마트폰에서 실행되는 메모 작성/전송 모바일 어플리케이션(이하

App_Memo)에서 작성한 메모를 스마트폰 APP 과 메모 수신 컴퓨터 응용

프로그램(이하 PC_Memo) 간의 직접 통신을 통해 전송하여 컴퓨터에서 실행되는

메모 수신 컴퓨터 응용 프로그램을 통해 스마트폰에 작성한 메모를 확인할 수

있도록 한다. 이때, 컴퓨터에서 확인하는 메모는 최신 순으로 사용자가 설정한

개수로 제한하며, 확인 후 관심 없는 메모를 삭제할 수 있는 기능을 제공한다.

이러한 시스템은 중요한 메모를 이중으로 다시 한 번 확인하고 싶어하는 바쁜

현대인에게 메모를 잊지 않도록 하는 환경을 제공한다.

1.2 목표

- 본 소프트웨어의 개발을 통해 다음과 같은 효과를 창출하려고 한다.

- 첫째, 작성한 메모를 잊지 않게 다시 확인할 수 있도록 하는 시스템을 제공한다.

- 둘째, 번거롭게 메모를 기억하고 확인하려는 노력을 줄여주어 스트레스를 줄인다.

- 셋째, 스마트폰에서 작성한 최근 메모를 컴퓨터에서도 다시 확인할 수 있게 하여

스마트폰에서 작성한 메모를 재작성하는 비용을 줄인다.

2 기능적 목표

2.1 자료 흐름도

메모 작성/전송 앱(App_Memo)과 메모 확인 어플리케이션(PC_Memo)을 위한

배경도

Page 16: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 4 of 13

메모 작성/전송 앱(App_Memo)을 위한 Level 0 자료 흐름도

메모 확인 어플리케이션(PC_Memo)을 위한 Level 0 자료 흐름도

Page 17: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 5 of 13

2.2 자료사전

기본 자료 사전

- n 데이터(App) : App_Memo 에서 설정한 n 데이터

- n 데이터(PC) : PC_Memo 에서 설정한 n 데이터

- 메모 버전 : 메모 번호 + 수정 횟수 + 날짜 및 시간

배경도를 위한 자료 사전

- n 데이터 : 메모 수신 어플리케이션에 표시될 메모 창의 개수

- 입력 정보 : 메모 내용 + n 데이터

- 전송 정보 : 메모 내용 + n 데이터 + 버전 정보

- 제어 정보 : 메모 창의 번호 + 크기 + 위치

메모 작성/전송 앱(이하 App_Memo 으로 표기)을 위한 자료 사전

- 수정할/된 정보 : 메모 버전 + 메모 내용

- 입력된 메모 : 사용자가 입력한 메모 내용

- 저장 정보 : 입력된 메모 + n 데이터 + 메모 버전

- 보여줄 메모 : 화면에 보여줄 메모 내용

메모 수신 어플리케이션(이하 PC_Memo 로 표기)을 위한 자료 사전

- 전송된 정보 : n 데이터 + 메모 내용 + 버전 정보

- 수신 정보 : 메모 내용 + 버전 정보

- 임시 저장될 메모 : 수신 정보 + 표시될 창 번호

- 저장할 메모 : 사용자의 요구에 의해 다른이름으로 저장될 메모

- 따로 저장된 메모 : 다른 이름으로 저장된 메모

- 사용자 입력 : 메모 창의 크기, 위치 변경

- 제어 정보 : 변경된 메모 창의 번호 + 크기 + 위치

- 기존 창 정보 : 메모 창의 개수 + 각 창 번호 + 창에 해당하는 메모 버전

- 삭제 입력 : 삭제할 창 버튼 클릭

- 창 변경 정보 : 창 생성 정보 | 창 삭제 정보

Page 18: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 6 of 13

2.3 소단위 명세서

- 메모 작성/전송 앱(App_Memo)과 메모 수신 어플리케이션(PC_Memo)에 대한

소단위 명세서를 따로 작성하였다.

메모 작성/전송 앱(App_Memo)

프로세스 번호 1.0 프로세스 이름 메모 저장

메모 리스트;if(“새 메모”버튼 클릭){ 메모 입력창으로 전환; 메모 내용 입력; if(저장 버튼 클릭){ 메모 내용 + versionData + 날짜 저장; 완료; } if(취소 버튼 클릭) 뒤로가기;}

프로세스 번호 2.0 프로세스 이름 n데이터 설정

메모의 설정메뉴;PC의 메모 창 개수 입력 탭;if(n>0){ n_data = 입력된 n 데이터; if(완료 버튼 클릭) n_data저장;}else{ 1이상의 n_data 입력이 필요하다는 경고 메시지;}

Page 19: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 7 of 13

프로세스 번호 3.0 프로세스 이름 메모 수정

메모 리스트;if(수정 버튼 클릭){ DB에서 메모 내용과 버전정보를 받아온다. 수정 화면; 메모 수정 작업; if(저장 버튼 클릭){ DB에 메모 내용 + 갱신된 versionData + 날짜 저장; 완료; } if(취소 버튼 클릭) 뒤로가기;}

프로세스 번호 4.0 프로세스 이름 메모 삭제

메모 리스트;if(삭제 버튼 클릭){ alert; if(확인) DB에서 메모관련 정보 삭제; else(취소) 메모 리스트로 돌아가기;}

프로세스 번호 5.0 프로세스 이름 IP 설정

연결할 PC의 IP 입력 탭;ip입력;if(확인 버튼 클릭) ip저장;

Page 20: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 8 of 13

프로세스 번호 6.0 프로세스 이름 보내기

loadMemo();loadIP();loadNdata();loadVersion();불러온 IP로 메모내용, n_data, 버전 정보를 전송;

프로세스 번호 7.0 프로세스 이름 phone memo view

DB에 저장된 메모 관련내용을 불러온다.while(메모내용 != 0){ loadMemo(); //메모 리스트에 올려질 메모가 저장된 배열에서 하나씩 가져온다. 해당 메모를 해당 위치에 배치;}if(n_data가 변경되었으면) 변경되었던 메모의 색을 초기화 시킨다;if(“새 메모” 버튼 클릭) 메모 저장 프로세스 호출;if(“수정” 버튼 클릭) 메모 수정 프로세스 호출;if(“삭제” 버튼 클릭) 메모 삭제 프로세스 호출;if(“보내기” 버큰 클릭){ 보내기 프로세스 호출; if(보내기 정상완료) 해당 메모의 색을 바꾸어 현재 보내져서 화면에 띄워지고 있음을 표시 한다; else if(보내기 실패){ 메모의 전송이 실패 되었다는 토스트 메시지를 띄움; 해당 메모에 메모전송 실패 아이콘을 표시; if(전송 실패 버튼 클릭) 재전송을 할 것인지 선택 창; }}

Page 21: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 9 of 13

메모 수신 어플리케이션(PC_Memo)

프로세스 번호 1.0 프로세스 이름 수신

while(1) { App_Memo로부터 전송된 정보 수신; 전송된 정보를 n데이터(App)과 수신 정보 변수로 분리하여 저장; n데이터(App)을 매개변수로 넘겨 n 데이터 비매칭 경고 프로세스 실행; 수신 정보를 매개 변수로 넘겨 메모 버전 정보 확인 프로세스 실행;}

프로세스 번호 2.0 프로세스 이름 n 데이터 비매칭 경고

수신 프로세스로부터 온 n데이터(App)를 n_app 변수 저장;하드디스크에서 n데이터(PC) 값 불러와서 n_pc 변수에 저장;if(n_app != n_pc) 창 상단에 n 데이터 비매칭 경고 메시지 출력;

프로세스 번호 3.0 프로세스 이름 메모 내용 갱신

수신 프로세스로부터 온 수신 정보를 메모 버전과 메모 내용으로 분리하여 변수에 저장;하드디스크에서 기존 창 정보를 창 개수와 함께 (창, 버전 정보) 형태로 불러옴;if(전송된 메모 버전과 현재 창에 표시되고 있던 메모들의 버전 정보의 값을 비교해보았을때 전송된 메모가 새 메모가 아니라 현재 표시되고 있는 메모를 수정한 메모일 경우) 표시될 창 번호 = 수정하기 이전 메모가 표시되고 있는 창 번호;else 표시될 창 번호 = 현재 표시되고 있는 메모 창 중에 가장 오래된 메모가 위치한 창 번호;표시될 창 번호를 이용하여 그에 해당하는 창의 현재 내용을 삭제하고, 메모 내용을 출력;하드디스크에 있는 표시될 창 번호에 해당하는 파일에 갱신한 메모 버전과 메모 내용을 저장;

Page 22: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 10 of 13

프로세스 번호 4.0 프로세스 이름 창 개수 변경

하드디스크에서 기존 메모 창 정보 불러와서 변수에 저장;메모 창 개수를 입력 받아서 변수에 저장;if(기존 메모 창 개수 < 입력받은 메모 창 개수){ while(기존 메모 창 개수 != 입력받은 메모 창 개수) { 현재 존재하는 창 번호의 최고값보다 1이 큰 값을 창번호로 가지는 새로운 창 생성; 현재 존재하는 창의 정보를 나타내는 파일에 새 창에 대한 정보 추가; 새로운 창에 해당하는 메모 내용 저장할 빈 텍스트 파일 생성; 기존 메모 창 개수 1 증가; }}else if(기존 메모 창 개수 > 입력받은 메모 창 개수){ while(기존 메모 창 개수 != 입력받은 메모 창 개수) { 가장 오래된 메모가 위치한 순으로 기존에 있던 창을 삭제; 현재 존재하는 창의 정보를 나타내는 파일에 있던 삭제할 창에 대한 정보 삭제; 기존에 있던 삭제할 창의 메모 내용을 저장하던 파일 삭제; (예-창번호.txt) 기존 메모 창 개수 1 감소; }}하드디스크에 입력받은 메모 창 개수를 기존 메모 창 개수로 저장;

프로세스 번호 5.0 프로세스 이름 창 삭제

사용자의 삭제 입력, 즉 창의 삭제 버튼을 클릭하면 그것을 감지;해당 창의 메모 내용을 저장하던 파일 삭제;현재 존재하는 창의 정보를 나타내는 파일에 있던 삭제할 창에 대한 정보 삭제;

Page 23: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 11 of 13

2.4 기능면에서의 시스템 특성

- 본 시스템은 스마트폰 앱의 메모 작성 기능과 메모를 컴퓨터로 전송하는 기능

그리고 컴퓨터 프로그램에서 메모를 화면에 출력하는 기능을 제공한다. 사용자는

휴대성이 좋은 스마트폰을 이용해 메모를 작성하여 저장하고 컴퓨터에 전송하여

컴퓨터를 통해 다시 한 번 메모를 확인할 수 있다. 이러한 기능을 통해 사용자는

메모를 다시 한 번 확인할 수 있기 때문에 중요한 약속, 계획 등을 잊어버리지

프로세스 번호 6.0 프로세스 이름 창 동적 제어

사용자가 창을 동적 제어, 즉 창의 위치 및 크기를 수정하면 그것을 감지;변경이 일어난 해당 창 번호와, 크기, 위치를 제어 정보의 형태로 하드디스크에 저장;

프로세스 번호 7.0 프로세스 이름 다른 이름으로 저장

사용자의 다른 이름으로 저장 입력, 즉 다른 이름으로 저장 버튼을 클릭하면 그것을 감지;다이얼로그 창을 띄워 사용자가 원하는 파일 저장 경로와 파일 이름을 입력 받음;다른 이름으로 저장할 창의 메모 내용을 저장하던 파일을 복사하여 다른 이름으로 저장;

프로세스 번호 8.0 프로세스 이름 프로그램 초기 세팅

(프로그램 시작 시 실행되는 프로세스)하드디스크로부터 현재 존재하는 창의 정보를 나타내는 파일을 불러옴;창의 개수만큼 창 생성;창의 위치, 크기를 이용하여 창 위치, 크기 조정;하드디스크로부터 각 창에 해당하는 메모 내용을 저장하는 텍스트 파일 불러옴;해당하는 창에 내용을 출력;

Page 24: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 12 of 13

않는 효과를 얻게 된다. 특히 본 시스템은 컴퓨터에서 확인할 수 있는 메모를

앱에서 색깔 표시를 통해 확인함으로써 사용자는 자신이 나중에 확인할 수 있는

메모를 식별할 수 있는 기능을 가지고 있다. 그리고 수정된 메모가 전송되더라도

같은 메모가 수정되었을 시에는 덮어쓰기 가능하도록 하였다.

3 기타 요구 및 제약 사항

3.1 성능 요구(반응 시간, 처리소요 시간, 처리율)

- 반응 시간 : 전송을 제외한 모든 기능이 0.1 초 미만의 반응 시간을 갖도록 한다.

3.2 하드웨어 요구(기억장치 규모, 통신 수용도)

- 목표 하드웨어는 Android 4.0 Icecream Sandwich 이상 버전이 설치된 스마트폰,

데이터 전송이 가능한 3G/WIFI 환경, 인터넷 통신이 가능한 컴퓨터이다.

3.3 예외 조건 및 이의 처리

- 사용자가 앱 및 프로그램을 사용하는 환경에 따라 통신이 일시적으로 불가능할

수 있으므로 전송 상태에 관한 알림을 제공하여 전송 실패 시 재시도 할 수

있게 한다.

3.4 사용자 인터페이스

- 안드로이드에서 사용되는 Memo 작성/전송 앱(App_Memo)의 경우 전송

완료/실패 여부를 사용자가 알 수 있도록 화면에 표시하도록 한다.

- 컴퓨터 윈도우 운영체제에서 사용되는 Memo 수신 프로그램(PC_Memo)의 경우

동적 View 를 사용하여 창의 위치와 크기, 개수를 사용자가 원하는 대로 수정,

변경하고 추후 프로그램 재실행시에도 이를 저장하여 보여주도록 한다.

3.5 자원, 인력에 대한 제약조건

- 자원 : 투자 받은 개발 비용이 없으므로 자비로 처리할 수 있는 범위 내에서

교통비 및 회의비를 사용하도록 한다.

Page 25: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 13 of 13

- 인력 : 안드로이드 및 자바 프로젝트 개발 경험이 있는 프로그래머가 최소 각

1 명 이상 필요하다.

4 인수 조건

4.1 기능시험 및 성능시험

- 인수 테스팅의 방법으로 메모 작성/전송 앱과 메모 확인 어플리케이션 각각의

체크리스트를 작성하고 각 항목을 시험하여 점검하는 방법을 택하였다.

- 요구분석서를 참고하여 사용자의 요구에 맞게 소프트웨어가 만들어졌는가를

평가한다.

Page 26: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

소프트웨어공학 프로젝트 팀 1 조(NUMBER ONE)

설계서 소프트웨어공학 프로젝트 SendMemo

소속 : 강원대학교 컴퓨터과학과

제출자 : 1 조 강은지, 김민석, 김필수, 오준호, 이강, 이재혁

제출일 : 2012 년 10 월 29 일 월요일

Page 27: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Contents

1 개요........................................................................................................................................................................... 3

1.1 시스템의 목표 ......................................................................................................................................... 3

1.2 하드웨어, 소프트웨어 .......................................................................................................................... 3

Hardware .................................................................................................................................................. 3

Software .................................................................................................................................................... 3

1.3 소프트웨어의 주요 기능 ..................................................................................................................... 3

메모 작성/전송 앱(App_Memo) 기능.......................................................................................... 3

메모 수신 어플리케이션(PC_Memo) 기능 ................................................................................. 4

1.4 설계상 제약사항 ..................................................................................................................................... 4

2 시스템 구조 .......................................................................................................................................................... 4

2.1 시스템 구조 개요 .................................................................................................................................. 4

2.2 시스템 구조도 ......................................................................................................................................... 5

2.3 자료사전 ..................................................................................................................................................... 5

기본 자료 사전 ...................................................................................................................................... 5

메모 작성/전송 앱(이하 App_Memo 으로 표기)을 위한 자료 사전 ............................. 6

메모 수신 어플리케이션(이하 PC_Memo 로 표기)을 위한 자료 사전 ........................ 6

3 모듈 설계 ............................................................................................................................................................... 6

4 화일 구조 또는 데이타베이스 설계 .......................................................................................................... 9

4.1 외부 화일(데이타베이스)의 논리적 구조 .................................................................................... 9

4.2 공유 자료 ............................................................................................................................................... 10

4.3 파일 접근 방법(데이타베이스 관리체제) ................................................................................. 10

Page 28: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

5 인터페이스 설계 .............................................................................................................................................. 11

메모 작성/전송 앱(App_Memo) .................................................................................................. 11

메모 수신 어플리케이션(PC_Memo) ......................................................................................... 12

Page 29: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 3 of 12

1 개요

1.1 시스템의 목표

- 이 시스템의 궁극적인 목표는 스마트폰에 기록한 메모를 PC 로 전송함으로써 두

기기의 단점인 App 의 낮은 확인 빈도 및 PC 의 비휴대성을 보완하고

사용자에게 메모를 기억하기 쉽게 하는 새로운 시스템을 제공하는 것이다.

- 이 시스템은 크게 세 가지 목적을 지닌다.

- ① 메모 작성하기에 편리한 사용자 인터페이스를 제공한다.

- ② 컴퓨터 프로그램으로 메모를 전송하여 다시금 확인할 수 있게 한다.

- ③ 나중에 컴퓨터에서 확인할 메모를 시각적으로 표현하여 알 수 있도록 한다.

- 이를 통해 본 시스템은 기억해야 할 메모가 많으며 스마트폰과 PC 를 동시에

사용하는 현대인에게 메모 작성 및 확인에 대한 편의를 제공함을 목표로 한다.

1.2 하드웨어, 소프트웨어

Hardware

- Computer : CPU 팬티엄 3 800GHz 이상, RAM 256MB 이상, HDD 80GB 이상

- Smart phone : CPU 1GHz 이상, RAM 256MB 이상, HDD 1GB 이상

Software

- Computer : Windows XP, Windows Vista, Windows 7, Windows 8

- Smart phone : Android 2.2/2.2.1, Android 2.3, Android 3.0, Android 3.1, Android

3.2, Android 4.0, Android 4.1

1.3 소프트웨어의 주요 기능

메모 작성/전송 앱(App_Memo) 기능

- 메모 관리 기능

n 사용자가 업무나 일정, 메모를 작성하여 관리한다.

- 메모 전송 기능

n 앱에 저장된 메모를 PC 의 PC_Memo 어플리케이션으로 전송한다.

Page 30: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 4 of 12

메모 수신 어플리케이션(PC_Memo) 기능

- 메모 수신 기능

n App_Memo 에서 전송된 메모를 수신하여 메모 창 내용을 갱신한다.

- 메모 관리 기능

n App_Memo 에서 전송된 메모를 삭제하거나 파일로 따로 저장할 수 있다.

- 동적 인터페이스

n 창 개수와 크기, 위치를 조정하고 그것을 저장하여 프로그램 재실행 시에

불러올 수 있다.

1.4 설계상 제약사항

- 스마트폰 앱에서 PC 프로그램으로의 전송이 가능함을 최우선으로 한다.

- App_Memo 과 PC_Memo 두 개의 Application 을 각각 별개로 구현하여야 한다.

- 메시지 전송 시 PC 가 켜져 있어야 메시지 수신이 가능하다.

- 저장 공간을 최소화하여야 한다.

- 하드웨어가 아닌 소프트웨어적인 이유로 발생할 수 있는 오류를

최소화하여야한다.

2 시스템 구조

2.1 시스템 구조 개요

- Send Memo 시스템은 크게 App_Memo 앱의 메모 전송 기능과 전송된 정보를

PC_Memo 프로그램의 화면에 표시하는 수신 기능으로 구성되어 있다.

- App_Memo 앱의 메모 기능은 메모 수정, 저장, 삭제로 구성되며 인터페이스를

최대한 간략화하여 사용자에게 친숙한 인터페이스를 제공한다.

- App_Memo 앱과 PC_Memo 프로그램 간의 전송 기능은 자신의 스마트폰과 IP 로

연결된 PC 의 링크로 수행된다.

- App_Memo 앱을 통해 전송된 메모 중 최신 메모 n 개만을 보이도록 하며, 새

메모가 아닌 현재 표시되고 있는 메모가 수정된 메모일 경우 버전 확인을 통해

이전 메모에 덮어쓰기가 가능하다.

Page 31: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 5 of 12

- App_Memo 에서 설정된 n 데이터와 PC_Memo 에서 설정한 n 데이터가 일치하지

않으면 경고 표시가 출력된다.

- 사용자가 메모의 양 및 취향을 고려하여 PC_Memo 에 표시될 메모창의 크기와

위치를 동적 제어할 수 있도록 한다.

2.2 시스템 구조도

메모 작성/전송 앱(App_Memo)

메모 수신 어플리케이션(PC_Memo)

2.3 자료사전

기본 자료 사전

- n 데이터 : 메모 수신 어플리케이션에 표시될 메모 창의 개수

Page 32: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 6 of 12

메모 작성/전송 앱(이하 App_Memo 으로 표기)을 위한 자료 사전

- PC 에서 확인할 메모 표시 : PC 에서 확인할 수 있는 최근 N 개의 메모를 색으로

표시

메모 수신 어플리케이션(이하 PC_Memo 로 표기)을 위한 자료 사전

- n 데이터 비 매칭 경고 : PC_Memo 의 n 데이터와 App_Memo 에서 전송된

n 데이터를 비교하여 다를 경우 경고 메시지 출력

- 다른 이름 저장 : 저장된 파일을 복사하여 다른 이름으로 저장

- 창 동적 제어 : 창의 위치 및 크기를 감지, 변경 정보를 하드디스크에 저장

3 모듈 설계

메모 작성/전송 앱(App_Memo)

모듈 이름 save_ip

모 듈 형 function

기능 설명 PC IP 를 저장하는 모듈

모듈 이름 send_memo

모 듈 형 load

기능 설명 PC 로 메모와 n 데이터를 전송하는 모듈

모듈 이름 save_memo

모 듈 형 function

기능 설명 메모를 저장하는 모듈

모듈 이름 change_memo

Page 33: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 7 of 12

모 듈 형 function

기능 설명 메모를 수정한 뒤 저장하는 모듈

모듈 이름 save_number

모 듈 형 function

기능 설명 메모 창의 개수를 입력하는 모듈

모듈 이름 delete_memo

모 듈 형 function

기능 설명 저장된 메모를 삭제한다.

모듈 이름 phone_memo_view

모 듈 형 admin(administration)

기능 설명 전송 정보에 따라 색깔을 바꿔주는 모듈

메모 수신 어플리케이션(PC_Memo)

모듈 이름 set_memo

모 듈 형 admin(administration)

기능 설명 프로그램 시작 시 dynamic_control 을 load 해 프로그램을 세팅하는

모듈

모듈 이름 change_window

Page 34: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 8 of 12

모 듈 형 function

기능 설명 메모 창의 개수를 변경하는 모듈

모듈 이름 dynamic_control

모 듈 형 load

기능 설명 사용자에 의해 변경된 창 정보를 저장하는 모듈

모듈 이름 compare_data

모 듈 형 load

호출하는

모듈 receive_memo, send_memo

오류메시지 n 데이터 비 매칭 -> 메모의 개수가 다릅니다. 다시 설정해 주세요.

기능 설명 receive_memo 와 send_memo 의 n 데이터를 비교하는 모듈

모듈 이름 delete_window

모 듈 형 function

기능 설명 메모 창을 삭제하는 모듈

모듈 이름 receive_memo

모 듈 형 load

기능 설명 스마트폰으로부터 전송된 메모와 n 데이터를 받는 모듈

모듈 이름 save_as

Page 35: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 9 of 12

모 듈 형 function

기능 설명 갱신된 메모를 다른 이름으로 저장하는 모듈

모듈 이름 renew_memo

모 듈 형 admin

기능 설명 메모의 창 번호를 이용해 새로 작성한 메모인지 수정한 메모인지

판단하고 갱신하는 모듈

4 화일 구조 또는 데이타베이스 설계

4.1 외부 화일(데이타베이스)의 논리적 구조

메모 작성/전송 앱(App_Memo)

- 앱의 경우 데이터베이스를 이용하여 설계하였다.

Memo Table

Field Type 비고

memo_idx int 메모 번호

modify_count int 수정횟수

modify_date date 날짜 및 시간

is_send int 전송 여부

Option Table

Field Type 비고

n_data Int 창 개수

Ip Char(12) IP 주소(IPv4)

Base_color Char(10) 기본색

Send_color Char(10) 전송 여부를 표시할 색

Page 36: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 10 of 12

메모 수신 어플리케이션(PC_Memo)

- PC_Memo 는 두 가지 형태의 파일로 정보를 저장한다.

Data.txt

n 파일 용도 : 현재 메모 창들에 대한 정보를 저장

n 파일 내용 및 형식 :

u ‘창번호 위치 크기 메모번호 수정횟수 날짜및시간’을 스페이스로 구분

창번호.txt(예 – 창번호가 1 일 경우 1.txt)

n 파일 용도 : 메모 내용을 저장

n 파일 내용 및 형식 :

u 메모 내용을 txt 형태로 저장

4.2 공유 자료

- App_Memo 와 PC_Memo 모두 특별히 공유되는 자료는 존재하지 않는다.

4.3 파일 접근 방법(데이타베이스 관리체제)

- App_Memo 는 데이터베이스에 접근하여 정보를 관리하며, 사용자가 하나이므로

모든 테이블에 접근 가능하다.

Page 37: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 11 of 12

5 인터페이스 설계

메모 작성/전송 앱(App_Memo)

- 메모 작성 후 수정이 필요할 때 수정할 화면을 터치 후 수정

- 오른쪽 상단에 새 메모 버튼을 눌러 1 개의 메모를 추가

- 메모작성 완료 후 전송버튼을 눌러서 PC 로 전송

Page 38: 소프트웨어공학 프로젝트 SendMemo - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2012_2/se/1.design...소프트웨어공학 프로젝트 팀 1조(NUMBER ONE) 계획서 소프트웨어공학

Page 12 of 12

메모 수신 어플리케이션(PC_Memo)

- 프로그램 재실행시 이전 실행에서 세팅해놓은 내용을 불러옴

- 전송된 n 데이터와 PC 의 n 데이터를 비교 후 맞지 않을 시 경고 표시

- 메모를 다른 용도로 이용하고 싶을 시에 저장버튼을 눌러서 txt 파일로 저장

- 창을 동적으로 제어하여 위치와 크기를 바꾸고 변경 내용을 저장