<<A High Quality Strategy Under the Ubiquitous Environment>>
- 발표자 : Tony Lattanze
내용 : 갈수록 복잡해지고 다양해지는 임베디드 소프트웨어 산업에서 높은 품질의 소프트웨어를 개발하기 위해 해야할 일
대학에서는 최신 기술을 가르치지만 기본적인 것들은 소홀히 한다.
그렇기 때문에 대학을 갓 졸업한 사람들은 소프트웨어를 제대로 개발하지 못한다.
사람들은 현장에서 일을 하면서 배우려고 하고, 제대로 훈련을 받지 않았기 때문에 프로젝트의 규모가 커질수록 더욱더 힘들어진다.
'소프트웨어'는 전문적인 분야가 아니라는 생각이 대부분이기 때문에, 회사에서 채용을 할때 소프트웨어 엔지니어가 아닌 특정 분야의 엔지니어를 고용한다.
만약 자동차의 내부에 들어가는 소프트웨어를 개발할때 자동차 관련 엔지니어를 고용하여, 소프트웨어를 개발하는 일을 시킨다는 것이다.
이는 높은 품질의 소프트웨어를 개발할 수 없게 한다.
이에 대한 대안으로
1. 현장에서 정말 필요로 하는 교육을 해야한다-프로젝트가 중심이 되는 실습 중심의 교육 필요.
2. 소프트웨어 엔지니어들은 여러가지 기초 지식에 대해서 두루 알아야 할 필요성이 있다.
3. 회사에서는 소프트웨어 엔지니어와, 특정 분야의 엔지니어가 서로 이해해서 높은 품질을 개발할수 있도록 해야한다.
4. Bussiness Goal을 이해하고, portability와 성능 중에서 어떤것을 중요하게 할지를 결정하여, 팀과 조직을 의도적으로 Design 해야 한다.
<<Software quality perspective of embedded system development in Japan>>
-발표자 : Masayuki Hirayama
내용 : 소프트웨어의 품질 향상을 위한 방법을 도시바의 예를 들어 설명
Brooks, theory : 개발 투입 인력이 많아진다고 해서 개발 효율이 증가하는 것은 아니다.
에러 발생의 단계 Requirement , Specification, System Design, Software Design Implementation, Software Testing, System Testing 중에 Implementation에서 에러 발생률이 가장 높았다(좀더 이른 단계에서 에러를 찾아내는 것이 효과적이다).
1. 소프트웨어 품질 향상을 위한 방법 1 - 재사용
-Core Asset을 어떻게 안정적으로 확보해 나가는 가가 관건.
-Application들이 서로 영향을 주지 않도록 Design Pattern을 사용해서 구조를 바꿈.
2. 소프트웨어 품질 향상을 위한 방법 2 - 시스템 설계 단계에서 문제점을 발견하여 고치자.
-Design Review and Walk Through : check list를 만들어 개발공정의 단계와 Walk Through를 맞춰본다.
-모두 리뷰를 할수 없는 경우에는 품질 매트릭스로 대상목록을 예측한다. : Portions with high complexity와 Low maintainability의 표를 이용해서 일반적이지 않은 항목을 대상목록으로 정함.
-Code Clone은 보수성이 떨어진다. : Code Clone이 많이 포함되어 있는 file을 중점적으로 검사.
-측정 결과를 Re-design or refactoring of software design, Intensive Design review, Intensive testing, Give constraints for operations 한다.
<<임베디드 시스템의 개발 효율 향상을 위한 S/W 설계 방법 및 적용 사례>>
- 발표자 : 지창건 팀장(MDS 테크놀로지)
내용 : MDD를 활용한 개발 적용 사례