2016년 1월 5일 화요일

소프트웨어 생산성 향상 - 자동화 도구 편

최근의 소프트웨어는 개발 환경이 일반화되어 있어 프로세스나 개발 도구들이 거의 유사하기 때문에 소프트웨어 개발에 필요한 많은 자동화 도구들이 개발되고 있습니다. 개발자가 직접 하던 일들을 대신하는 자동화 도구는 시간과 장소의 제약을 없애주고 개발자가 하는 것보다 더 많고 정확한 결과를 제공하고 있습니다. 최근 들어 자동화 도구 사용을 필수로 하는 프로젝트가 점차 늘어나고 있습니다.

소프트웨어 개발 프로젝트는 사람이 하기 때문에 완벽한 개발과 일관된 테스트를 할 수 없었고, 시스템 구성과 인터페이스도 개발자의 성향에 따라 결정되기도 하였습니다. 자동화 도구는 수많은 케이스를 일관되게 적용할 수 있어 사람이 직접 하는 것보다 빠르고 정확한 결과를 나타냅니다.
테스트 분야에서 시작된 자동화 도구는 개발 효율을 높이기 위한 자동화 도구에 이어 컴포넌트 기반의 개발, UI/UX 자동화 도구까지 선을 보이고 있습니다. 이러한 자동화 도구를 통해 소프트웨어 생산성을 탁월하게 높였다는 다양한 사례가 발표되고 있습니다.

자동화에 많은 발전을 보이고 있는 테스트와 성능 측정, 빌드를 중심으로 자동화 도구의 종류와 구동 방법에 대해서 살펴보도록 합니다.

테스트 자동화
  • 외부 요인에 접근하지 않고 영향을 받지 않아야 한다.
  • 리소스가 반드시 있다고 전제하지 않는다.
  • 테스트 중에 사용자가 개입을 하지 않는다.
  • 테스트 수행 시간이 오래 걸리지 않도록 한다.
소프트웨어 성능 검증 자동화
  • 목표 TPS(Transaction per Second)
  • 목표 응답 시간
  • System Utilization
  • Availability
  • 지표의 품질

IEC 6230와 Agile Scrum의 통합

현재 전세계 의료기기 시장은 성장에 대한 미래가 밝습니다. 최근 의료 IT 융합 및 고령화 추세에 따라 그 수요가 확장되고 있기 때문입니다. 한국보건산업진흥원이 최근 발간한 보고서에 따르면, 우리나라의 의료기기 시장규모는 세계 11위(52억달러)로, 세계의료기기 시장에서 1.5%를 차지하는 것으로 나타났습니다.
이처럼 우리나라 의료기기 산업은 최근 꾸준한 성장세를 보이고 있으나, 가장 어려운 부분은 전세계적으로 의료기기 및 관련 SW에 대한 규제가 점점 더 강화되고 있다는 것입니다. 특히 의료기기는 생명과 직결된 부분이기 때문에 SW의 품질과 안전성의 확보가 가장 중요할 수 밖에 없는 것은 자명합니다. 우리나라 업체들도 연구개발에 지속적인 투자를 하고 있지만, 선진국들과 맞붙을 수 있는 수출경쟁력을 가지기에 어려운 부분이 많습니다.

의료용 SW의 경우 FDA, CE 등의 인증을 위하여 의료용 SW 생명주기의 국제규격인 IEC 62304를 반드시 적용해야 하는데, IEC 62304는 의료부문 기능 안전 필수사항이지만 구체적인 개발 방법론을 규정하지는 않습니다.

IEC 62304와 대표적인 애자일 방법론 중 하나인 Scrum을 어떻게 통합하였고 어떠한 효과가 있었는지, (주)디알텍의 김현준 책임으로부터 그 과정과 노하우에 대해 들어보았습니다.
  1. IEC 62304
  2. Scrum 도입 사유
  3. 두 체계의 통합 및 구축 방법
  4. 도입효과

[SW공학 동영상 11화] SW 아키텍처 설계예시편_Part 2

  • 아키텍처 설계 - 런타임 뷰, 얼로케이션 뷰, 모듈 뷰
  • 아키텍처 평가

http://www.sw-eng.kr/member/customer/Learn/BoardView.do?boardId=00000000000000036203&currPage=&searchPrefaceId=&searchCondition=TOT&searchKeyword=