1.계획서

                      종합설계 프로젝트 계획서 요약

팀명

Purple Ocean

제출일

2015 9 17

프로젝트 제목

Head Up Display Module for Driving Simulator

팀원

성명

학번

SNS 주소

조광현(팀장)

20103382

이민재 

20103368

이소령 

20133246

임기성

20103376

하지명

20103392

설계 프로젝트 개요

프로젝트 개요

  • 추진 배경: OpenDS란 오픈소스 자동차 시뮬레이션을 이용한 연구가 활발한 가운데 자동차를 위한 HUD 연구에 도움을 주고자 HUD API를 OpenDS에 제공하게 되었다. 그리고 아직 충분하지 못한 API의 완성도를 높이고자 코드 품질 개선 및 버그 수정을 위해 이번 프로젝트를 추진하게 되었다.

         연구 내용: 
    1.  Design Pattern:  HUD API와 기존 OpenDS 코드의 비효율적인 코드와 구조를 개선하기위해 GoF의 23가지 Design Pattern을 참고하여 코드 개선에 적용할 만한 pattern들을 연구하였고, 적용하는 작업들을 구상하고 있다.
    2.  XML(Extensible Markup Language): 데이터를 표현하는 Markup 언어중 하나이며, 사람과 기계 모두 읽기가 용이하다.
      OpenDS의 KeyInput 설정 부분의 불편성을 해결하고자, XML File로 Key를 관리할 수 있도록 구현할 예정이다.
    3. XPath(XML Path Language): W3C의 표준으로 확장 생성 언어 문서의 구조를 통해 경로 위에 지정한 구문을 사용하여 항목을 배치하고

장점

  1. OpenDS에 HUD 관련 기능을 쉽게 추가할 수 있다.
  2. OpenDS에서 새로운 Key를 이용하고자 소스 코드를 건들던 번거로운 작업 절차를 제거하여 보다 사용자들이 편하게 Key를 관리할 수 있다.
  3. OpenDS에 HUD API를 이용하여 만든 예제 기능들을 사용해 볼 수 있다.

현실적 제한요소

  1. OpenDS의 코드구조 특성상 완벽히 독립되어 기능을 추가하고 만드는 부분이 어려워 호환성 문제가 있다.
  2. OpenDS 코드 자체의 비효율적인 부분을 개선하지만 OpenDS를 개발하는 단체에서 버전 관리를 독점적으로 하기 때문에 개선사항이 Commit될 가능성이 적다
  3. OpenDS에 연동시킬 모바일은 Android폰으로 제한하여 ios, 블랙베리, window os를 가지는 모바일 이나 Bluetooth 4.0 버전을 지원하지 않는 모바일은 지원하지 않는다

비교대상

    • 개발된 소프트웨어 자체는 비교대상을 찾기가 힘들다. 다만 기존의 OpenDS의 Key-Action Mapping 방식과 우리가 개선한 방식만 비교가 가능하다. 비교해보자면 기존의 소스는 Key를 추가하거나 Action의 구현을 변경하려면 OpenDS 소스를 해석하고 위치를 찾아서 수정해야만 하였으나 우리가 계획중인 XML 이용 방식으로 변하면 단지 설명서만 읽어보고 변환하면 해결되므로 유지보수 측면에서 더 좋은 효과를 가져오게 될 것이다.

    마일스톤 일정

    • 9월: 주요 기술 연구, 관련 시스템 분석, 시스템 설계
    • 10월: XML 설계 및 KeyMapping 변경, 코드 리펙토링, 버그 개선
    • 11월: 코드 평가 및 기능 수정 확인, 최종 확인 및 코드 수정

    결론

    • 이번 프로젝트는 이전 학기에서 제작한 HUD API의 완성도를 높이고자 비효율 적인 코드들을 Refactoring을 하고, HUD API를 통해 구현되었던 예제 기능들의 버그를 수정하는 것이다.
      그리고 OpenDS의 KeyInput 관련된 비효율적인 코드 개선과 불편한 인터페이스들을 개선하여 보다 편리하게 사용자들이 사용할 수 있도록 개선하는 것이다.


        Ċ
        8조 캡스톤,
        2015. 9. 16. 오후 11:10