2. 1차 중간 보고

                 종합설계 프로젝트 1차 중간보고서 요약

팀명

뚝딱뚝딱

제출일

2016 10 27

프로젝트 제목

  Car Repair Simulator

설계프로젝트 개요

프로젝트 수행 내용 및 중간 결과

프로젝트 요약문

 배경: 운전자들이 기본적인 정비를 연습하기 위한 환경이 필요하지만 비용적, 공간적 제약으로 인해 쉽사리 정비를 접할 수 없다. 이러한 상황을 대비하기 위해 가상으로 자동차를 정비해볼 수 있는 프로그램들이 존재하기는 하나 기존의 프로그램들은 현실감이 떨어져 자동차 정비를 제대로 익히기는 어렵다. Car Repair Simulator는 이러한 문제를 해결하기 위해 필수적이고 기본적인 정비를 연습할 수 있는 환경을 제공하고자 한다. 

 목표 : 

    1) 코드 리팩토링을 통한 코드 정리와 오류 제거

    2) 기존의 자유도를 제한하여 수리과정을 진행했던 방식과 달리 사용자가 

        자유롭게 수리과정을 진행할 수 있도록 구현

    3) 수리에 필요한 도구/차량을 쉽게 추가 및 관리 할 수 있도록 구현

마일스톤 수행 내용

    1. 기기셋팅 (완료)

    2. 에어필터 교체 시나리오 수정 (진행)

    3. XML 설계 (진행)

세부 수행 내용

    1. 코드 리팩토링 (완료)

 

- 기존의 프로젝트에는 불필요한 변수나 함수가 많고 불분명한 변수 이름을 사용하여 코드를 분석하는데 어려움을 겪었다. 따라서 리팩토링 과정을 통해 함수명을 명확히 하고 반복적이고 불필요한 소스 코드를 제거하였다.

 

- 코드상에서 정비에 사용되는 모델들을 절대적인 위치로 사용하여 위치를 변경할때 일일이 값을 변경해야하는 어려움이 있었다. 따라서 모델의 위치를 상대적인 값으로 지정하였다.

 

    2. 자유로운 수리환경 구현 (진행)

 

- 기존의 프로젝트는 단계별로 구현하여 사용자가 해당 단계와 다른 행동을 수행하면 다음단계로 넘어갈 수 없도록 제한하였다. 그러나 사용자의 행동이 제한적인 문제가 있었다. 따라서 프로그램 진행의 단계를 없애 사용자가 좀 더 자유로운 정비를 실행할 수 있도록 하였다.


다음 마일스톤 일정

    1. XML 설계 

    2. 디자인 패턴 설계

    3. 에어필터 교체 시나리오 수정 완료

    4. 에어컨필터 교체 시나리오 수정 완료

    5. 타이어 교체 시나리오 수정 완료


세부 일정

    1. 자유로운 수리환경 구현

 

- 사용자가 수리도구를 Tool Menu가 아닌 수리환경에 두어 자유롭게 선택할 수 있도록 한다.

 

- 수리 결과물에 따라 Success/Fail로 성공여부를 알려준다.

 

수리에 필요한 도구/차량을 쉽게 추가/관리 하도록 구현

 

- 프로그램 확장가능성을 고려하여 기존에 추가 된 도구/차량들 이외의 추가적인 도구/차량들을 쉽게 추가 할 수 있도록 구현한다. 


- XML을 이용하여 도구의 목록과 위치정보 등을 효율적으로 추가/관리 할 수 있도록 구현한다. 

 

    2. 사용자의 Gesture 인식 문제 개선

 

- 기존의 프로그램은 사용자가 수행하는 특정 Gesture의 수행횟수를 세는 과정에서 오류가 있기 때문에 이에 대한 문제를 개선하여 좀 더 정확하고 안정적인 프로그램을 구현하도록 한다.