• Tidak ada hasil yang ditemukan

변경코드 : ver - 목포해양대학교

N/A
N/A
Protected

Academic year: 2023

Membagikan "변경코드 : ver - 목포해양대학교"

Copied!
16
0
0

Teks penuh

(1)

변경코드 : ver. 1.0 페이지수 : 16

체감형 레이디버그 구조 설계서

해양전자통신공학부 정보통신공학전공

작성자

학번 이름 서명

20044036 한태영

20064093 박상민

20084039 허강민

20084071 이열매

(2)

요 약

본 문서는 “레이디 버그 프로젝트”를 수행하기 위한 구조 설계서이다. 본 문서는 실제 ‘체감형 레이 디 버그’ 구현에 앞서 ‘체감형 레이디 버그’ 프로젝트의 DFD에 기초한 요구명세서를 체계적인 설계를 위한 설계서로 전환할 수 있도록 해주며. 이 문서를 통해서 ‘체감형 레이디 버그’ 프로젝트의 전체 소프 트웨어의 모듈들 사이의 제어를 계층적으로 알 수 있으며 또한 시스템이 구현할 수 있도록 시스템의 자 료흐름을 보다 쉽고 정확하게 알려주고 있다. 본 문서에서는 ‘체감형 레이디 버그’ 시스템의 개요와 최 상위 구조도표가 기술되어 있으며, 시스템의 각 모듈별 구조도와 그에 따른 데이터설계가 기술되어 있 다.

본 문서는 웹캠을 이용한 “체감형 레이디 버그 게임”을 제작하는 사람들에게 기준을 제시하기 위한 것 이며, 수정 권한은 이 프로젝트를 진행하고 문서를 작성한 프로젝트 팀원들에게만 있으며 어느 누구라 도 작성자들의 동의 없이 도용할 수 없다.

이 문서는 이 프로젝트를 감독하고 검사하는 정종면교수님과 프로젝트 팀원모두가 열람할 수 있고 문 서의 수정은 레이디 버그 프로젝트를 수행하는 팀원 모두가 수정할 수 있다.

본 문서의 직속 후속 문서는 상세 설계서 및 최종결과 보고서가 추가 후속 문서가 된다.

(3)

문서 이력

변경 코드 작성자 작성일 변경내용

Ver. 0.5 한태영

박상민 허강민 이열매

2011. 06. 09.  Page2에 구조설계서의 전체적인 내용을

요약

 Page5에 프로젝트의 개요를 서술

 Page5에 프로젝트 계획서의 목표와 의

미를 서술

 Page5에 구조 설계부분에 시스템의 전

체적인 구성을 설명

 Page6에 최상위 구조도,구도도를 작성

 Page6에 각 모듈의 구조와 모듈별 상세

구조를 설명

 Page7 하위 모듈 구조를 설명

 Page7에 데이터 설계에 랭킹자료설계를

기술

Ver. 0.9 한태영

박상민 허강민 이열매

2011.06.13  Page15의 자료사전에 인덱스값을

Primary -> ranking으로 수정

 Page15의 자료사전에 score자료값을

추가

 Page6의 최상위 구조도표의 자료흐름도

를 수정

 Page7의 DFD 수정

 Page7의 최상위 구도도에 각 모듈간 이

동되는 입출력값을 수정

 Page13~15의 하위 모듈 구조도의 하

위모듈들 전체를 각각 수정

 Page13의 하위 모듈중 입력처리 모듈

수정

 Page14의 화면출력 모듈을 수정

 Page16에 요구명세서에서 기술된 프로

세스가 각 모듈별로 어떻게 대응되는지를 표로 작성

Ver. 1.0 한태영 외 3

2011.06.26 Page7 Level 0 DFD 입력값 게임화면요구

로변경

(4)

목 차

1. 개요... 5

2. 프로젝트 계획서의 목표...5

3. 약어 정리...5

4. 구조 설계...5

4.1. 시스템 개요...5

4.2 최상위 구조 도표...6

4.2.1 자료흐름도...6

4.2.2 최상위 구도도...7

4.2.3 모듈 명세...8

4.3 하위 모듈 구조도...9

5. 데이터 설계... 15

5.1. 랭킹 자료 설계...15

6. 자료 사전... 15

7. 프로세스와 명세도표...16

8. 참고문헌... 16

(5)

1. 개요

본 문서는 체감형 레이디버그 요구사항서를 기초로 레이디 버그 게임을 구현하기에 앞서 요구사항 을 체계적으로 소프트웨어 구조와 설계로 변환하기 위한 문서이다. 본 구조설계서를 통해서 ‘체감형 레 이디 버그’프로젝트를 구조 설계, 데이터 설계로 구분짓고, 자료흐름도로 나타난 요구사항을 구조도표 로 나타내어 프로그램 구조로 전환하는 것이 이 문서의 목적이다. 본 문서는 차후의 상세설계와 밀접 한 관계를 갖고 있어 이 문서를 기초로 하여 코드 수준으로 설계한다.

2. 프로젝트 계획서의 목표

본 프로젝트 계획서의 목표는 앞서 기술된 문서 ‘체감형 레이디 버그 요구 명세서’ 를 통한 프로젝트의 요구사항과 자료흐름도를 가지고 체계적인 설계로 가기위한 과정으로, 본 프로젝트 계획서를 통해서 각각의 요구사항과 자료흐름을 구조 도표와 자료 설계로 나타내어 프로그램 구조로 명확하게 전환하 는 것이 목적이다. 이러한 과정을 통해서 프로젝트의 다음단계인 상세설계 및 구현단계를 넘어 프로젝 트 구현 완료까지를 목표로 하고있다.

3. 약어 정리

해충 – 사용자를 공격하는 공격자

버그 – 사용자가 움직이는 타겟으로 게임의 주체가 되며 해충의 공격을 방어하는 방어자

4. 구조 설계

4.1. 시스템 개요

• User 관점

- 메뉴를 선택한다 : 메뉴는 게임진행, 랭킹확인 둘 중 하나를 선택

- 게임을 진행한다 : 사용자는 게임 기구인 빨간 원통을 가지고 게임을 한다.

버그의 움직임은 웹캠을 통해 빨간점으로 인식을하고 움직인다.

- 랭킹을 확인한다 : 사용자가 랭킹을 확인하고싶을 때 랭킹확인 메뉴를 눌러 랭킹확인 - 랭킹을 등록한다 : 게임이 끝나고나면 사용자는 자신의 이름을 등록하고 그에 따른

자신의 점수를 등록한다

• System 관점

- 랭킹메뉴 : 사용자가 랭킹메뉴를 선택했을 때 랭킹을 보여준다

- 랭킹등록 : 사용자가 이름을 입력하면 시스템은 사용자의 점수와 이름을 함께 등록 - 게임진행(움직임) : 영상을 입력받는다

(6)

영상의 빨간 점을 인식한다

빨간 점의 좌표를 게임 프로그램으로 입력한다 버그를 좌표값에 맞게 움직인다.

- 게임진행(진행) : 아이템을 만나면 아이템이 점화된다 해충을 만나면 목숨값이 하나 줄어든다 해충이 전화된 아이템을 만나면 없어진다.

해충은 계속해서 내려오며, 버그를 향해 전진한다

4.2 최상위 구조 도표

4.2.1 자료흐름도

<자료흐름도>

<LEVEL 0 DFD>

(7)

4.2.2 최상위 구도도

4.2.3 모듈 명세

(8)

M1. Request Control

목적: 사용자의 요구를 입력 받기 위함 입력: -

출력: -사용자 입력

기능: 사용자의 요구를 입력 받음

M2. 메뉴 선택

목적: 게임 진행과 랭킹확인을 실행하기 위함 입력: 사용자 입력

출력: -

기능: 하위모듈을 실행

M3. 게임 진행

목적: 게임을 진행하기 위함 입력: R좌표

출력: 버그좌표 기능: 하위모듈을 실행

M4. 랭킹확인

목적: 랭킹을 확인하기 위함 입력: 랭킹요청

출력: 랭킹화면 기능: 하위모듈을 실행

M3.1 입력처리

목적: 사용자로부터 받은 입력을 화면으로 출력하기 위함 입력: -R좌표

출력: -R좌표

기능: 하위모듈 수행결과에 따라 R좌표를 게임진행으로 값 전달

M3.2. 게임 처리

목적: 사용자로부터 입력 받은 R좌표를 게임 화면의 버그좌표로 변환, 그 외 게임의 흐름 처리 입력: R좌표

출력: 버그좌표 (R좌표를 게임 화면의 버그좌표로 변환한 값)

기능: 사용자로부터 받은 좌표를 버그좌표로 변환 화면출력으로 전달. 하위모듈을 실행

(9)

M3.3 화면출력

목적: 사용자로부터 받은 입력을 화면으로 출력하기 위함 입력: 버그 좌표

출력: 버그

기능: 입력 받은 값에 따라 버그의 이동화면 출력

4.3 하위 모듈 구조도 M3.1 입력처리

M3.1.1 영상캡쳐

목적: 사용자의 동작을 캡쳐하여 캡쳐 이미지를 상위모듈로 전달하기 위함 입력: - 캠 영상

출력: - 캡쳐 이미지

기능: 캠 영상으로부터 캡쳐 이미지 추출

M3.1.2 RGB추출

(10)

목적: 입력 받은 이미지로부터 RGB데이터를 추출하여 상위 모듈로 데이터 전달 입력: - 캡쳐 이미지

출력: - RGB데이터

기능: 캡쳐 이미지를 통해 RGB데이터 추출

M3.1.3 좌표전환

목적: RGB데이터를 통해 R을 좌표로 전환 입력: - RGB데이터

출력: - R좌표

기능: RGB데이터를 통해 버그를 이동시킬 R좌표를 추출

M3.2 게임처리

M3.2 게임처리

목적: 하위모듈로 받은 데이터를 상위모듈로 전달 입력: -

출력: - 사용자 동작

기능: 사용자로부터 동작을 입력 받음

M3.2.1 좌표관리

목적: 입력 받은 R좌표데이터를 게임화면을 위한 좌표데이터로 변경 입력: - R좌표

(11)

출력: - 버그좌표, 적좌표, 아이템좌표 기능: 입력 받은 R좌표를 하위 모듈에 전송

M3.2.2 충돌비교

목적: 버그좌표, 적좌표, 아이템좌표를 비교하여 처리하기 위함 입력: - 버그좌표, 적좌표, 아이템좌표

출력: - 충돌종류

기능: 세 좌표를 비교한 후 그 결과를 상위모듈에 전송

M3.2.3 충돌처리

목적: 충돌종류에 따라 그에 맞는 기능을 수행하기 위함 입력: - 충돌종류

출력: - 폭발신호

기능: 입력된 충돌종류에 맞는 하위 모듈 실행

M3.2.1 좌표관리

(12)

M3.2.1.1 버그좌표 전환

목적: R좌표데이터를 화면출력용 좌표로 변경하기 위함 입력: - R좌표

출력: - 버그좌표

기능: R좌표를 버그좌표로 변경하여 상위모듈에 전송

M3.2.1.2 적좌표 관리

목적: 적의 좌표를 관리 하기 위함 입력: - 버그좌표

출력: - 해충좌표

기능: 입력된 버그좌표 쪽으로 해충좌표를 변경하여 상위 모듈로 전송

M3.2.1.3 아이템좌표 관리 목적: 아이템 좌표를 관리하기 위함 입력: -

출력: - 아이템좌표

기능: 아이템의 좌표를 상위모듈로 전송

M3.2.2 충돌 비교

M3.2.2 충돌비교

목적: 버그좌표, 적좌표, 아이템좌표를 비교하여 처리하기 위함 입력: - 버그좌표, 적좌표, 아이템좌표

출력: - 충돌종류

기능: 세 좌표를 비교한 후 그 결과를 상위모듈에 전송

(13)

M3.2.3 충돌 처리

M3.2.3.1 목숨관리

목적: 목숨값을 수정 하기 위함 입력: -

출력: - 목숨

기능: 갱신된 목숨을 하위 모듈로 전송

M3.2.3.1.1 게임종료관리 목적: 게임을 종료하기 위함 입력: - 목숨

출력: -

기능: 들어오는 목숨을 비교하여 게임종료 관리

M3.2.3.2 아이템 폭발

목적: 아이템 폭발 신호를 생성 입력: -

출력: - 폭발신호

(14)

기능: 폭발신호 데이터를 상위모듈로 전송

M3.2.3.3 점수처리

목적: 점수를 처리하여 갱신하기 위함 입력: -

출력: - 점수

기능: 점수를 하위 모듈로 전송한다.

M3.2.3.3.1 점수 저장 목적: 점수를 저장하기 위함 입력: - 점수

출력: -

기능: 점수를 저장

M3.3 화면출력

M3.3 화면출력

목적: 사용자로부터 받은 입력을 화면으로 출력하기 위함 입력: 버그 좌표

출력: 버그

기능: 입력 받은 값에 따라 버그의 이동화면 출력

5. 데이터 설계

5.1. 랭킹 자료 설계

(15)

저장소 이름: 랭킹

저장소 종류: 인덱스된 순차 파일 인덱스: primary -> ranking

자료 이름 자료형 자릿수 비 고

Name Score

문자형 정수형

30 4

이름or닉네임(영문 30자) 사용자가 획득한 점수 값

6. 자료 사전

생략

7. 프로세스와 모듈도표

8. 참고문헌

[1] 목포해양대학교 ‘J4 RSS Reader 구조설계서 ver.1.0’ 황중배 외3명

(16)

[2] 목포해양대학교 ‘아가맘 프로젝트 구조설계서 ver.0.1’ 강경수 외 2명

[3] 목포해양대학교 ‘체감형 레이디버그 요구 명세서 ver 0.99’ 이열매 외3명

Referensi

Dokumen terkait

대한민국의 경우, 「C1유기 반도체 소재 및 응용」, 「C2반도체 설계 및 제조」, 「C3 고효율 저전력 반도체 소재」 클러스터에 대한 연구 집중도가 높은 편이며, 특히 박막트 랜지스터Thin Film Transistors, 플렉서블 전자회로Stretchable Electonics 등 디 스플레이 응용 주제에 대한 집중도가 매우