Hybrid


Hybrid

  • 고객사: LS엠트론
  • 기간:January 2015 – December 2015
  • 범위:
    1. Hybrid source code의 개선과 관련된 활동

수행 내역

  • 코드 분석, 계층 구조화
  • 코드 문서화(doxygen) 가이드
  • 단위 시험 플랫폼(unit test) 구축 및 가이드
  • 개발 환경 구축(subversion) 구축 및 가이드
  • 소프트웨어 설계 메트릭, 설계 방법 가이드

Power shift (2nd)


Power shift (2nd)

  • 고객사: LS엠트론
  • 기간:January 2015 – July 2015
  • 범위:
    1. Stateflow model improvement(모델링 분석 및 모델 개선)
    2. Model based test scenario specification
    3. Test log analysis

수행 내역

  1. Stateflow model 개선
    Stateflow model이 너무 복잡하게 표현되어 code도 꽤 길고 복잡하게 생성이 되어 product의 performance에 지장을 주었다. 당초 과제 범위는 아니었지만 Stateflow의 모델을 분석하여 Equivalent한 행동을 수행하는 모델로 표현하되 보다 simple하게 표현할 수 있는 방안을 제시함.
  2. Model based test scenario specification
    Simulink/Stateflow모델 기반으로 test scenario를 생성함. 당초에는 보다 더 체계적이고 틀에 박힌 방법론(이런 방식으로만 하면 LS엠트론 내의 모델기반 관련 프로젝트에서 잘 될 것임)을 하려고 했으나 담당 엔지니어가 별로 흥미를 보이지 않아 단순하게 시험 시나이로 절차를 명세하였음.
  3. Test log analysis
    Simulink/Stateflow모델을 target에 올리고 targe으로부터 CAN log메시지를 보내도록 하여 내부 상태값을 점검함. 나름 상당한 분량의 data가 csv파일 포맷으로 출력이 되어 VBA스크립트를 작성하여 데이터를 단순하고 분석하기 용이한 형태로 변경하여 분석을 수행하였음.

좋았던 점

  1. Stateflow model 개선
    복잡한 모델과 동일한 기능을 하면서 간단한 모델로 제시할 때의 쾌감(?!).
    난 더 간단한 방법을 생각해냈다는 성취감(?!) 그런 재미가 있었음
  2. Test log anlaysis
    상당한 데이터를 일일이 분석하고 검토하여 문제가 발생했는지의 여부를 확인하는 labor intensive한 작업을 장난감(toy, VBA macro)을 사용하여 간단하고 쉬운 작업으로 변환시키는 과정의 재미가 있었음. 오랜만에 장난감을 만드는 과정도 즐거웠음..
  3. Training
    이 과제를 통해 Mathworks에서 진행하는 Simulink 및 Stateflow 관련 교육을 이수할 수 있어서 매우 좋았음. 교육을 통해 simulink/stateflow개발 방법시 프로세스적인 측면에서 고려해야 할 점들이 필요하고 관련된 절차 및 방법론등이 정리되어야 할 필요를 느꼈음(하지만 시간이 없고 그것을 요청하는 고객이 없었으므로 그 일은 나중일로…)

부족하거나 아쉬웠던 점

  1. 짧은 기간
    기간이 좀 길어야 과제 계획단계에서 미처 식별하지 못했으나 상당히 유용하고 가치있을 것으로 판단되는 활동들에 대해 부가적으로 service를 제공해 줄 수 있었는데, 이번엔 model 개선 외에 아무것도 못함.
  2. 프로세스적인 측면의 가이드 및 지침
    Mathwork교육을 들으면서 뿐만 아니라 교육듣기 전부터 모델 기반 개발 방법시 따라야 할 절차와 도구 사용상 숙지해야 할 점들 등에 대한 지침이 필요할 것으로 생각을 했다. 하지만 그런 절차 수립을 하지 못하고 종료됨

Redmine – 생각보다 활용 범위가 넓다.


Open Project도 마찬가지겠지만, 나름 광범위하게 적용할 수 있다.

1) 일정관리 – 기본이다!
2) 형상관리 – 형상관리서버와 연동해서 일감과 산출물을 연결할 수 있다.
3) 산출물 관리 – 산출물 작성 및 산출물 간에 추적관리가 가능하다
4) 의사소통 관리 – 원래 협업 도구이니까 기본적으로 되는 것이다.
5) 지식 관리 – wiki를 활용하여 지식을 공유할 수 있다.

3번이 된다는 점이 의외라고 생각되지 않는가? 나도 우연치 않게 그런 현상을 발견(!)하고 꽤 놀랐다. 이정도면 redmine설치하고 웬만한 작업은 redmine에서 이루어질 수도 있다는 얘기가 아니겠는가?