2016년 2월 1일 월요일

임베디드SW 테스트 전략

임베디드SW 테스트 전략은 시장의 상황 및 제품의 특성에 따라 달라지고 통합과 자동화에 대한 검증방법을 사용하여 통합, 테스트 단계에서 유연하게 대처해야 하기 때문에 프레임워크를 통해 적용해야 한다.

테스트 전략이 수립된 단계에서부터 결함을 발견하여 보다 저렴한 비용으로 결함을 해결하고 개발팀 주도로 제품의 출시 및 납품 일정을 관리할 수 있게 되어 고객만족을 향상시킬 수 있다.

< 임베디드 SW 테스트 절차>

객체지향 테스트 전략

현실을 반영한 객체지향 개발의 보편화로 데이터와 프로세스를 개념화한 객체를 모델링하여 시스템을 개발하고 현실에 근접하게 표현하면서 재사용성과 생산성을 증대시키기 위해 많은 노력을 추진하고 있다. 이전 정보공학방법론에 의한 SW테스트와 다른 상속성, 캡슐화, 다양성 등의 객체지향 특성을 고려한 테스트 전략과 기법적용이 성공적 개발의 핵심요소로 부각되기 시작했다.

< 객체지향과 전통적 개발과의 차이점 >



객체지향 테스트를 위해서는 객체지향 테스트 계획간 고려사항으로 전략과 절차, 조직, 자동화 도구를 고려해야 하며, 수행을 위한 고려사항으로 테스트 무결성 검증(debuging), 테스트 표준모델(ISO14598), 테스트 결과의 저장(리포지토리), 테스트 방법(동적, 정적)을 고려해야 한다.

< 객체지향 테스트 전략 >

2016년 1월 29일 금요일

PRINCE2 모델

PRINCE2 모델은 영국정부(OGC: Office of Government Commerce)에 의해 개발되어 전 세계적으로 사용되고 있는 관리방법론으로 주로 IT분야에서 많이 이용된다. PRINCE2는 다양한 산업계와 기초 환경으로부터 가장 잘 입증된 경험들을 활용하며 문서들에는 항상 템플릿이 제공되고, 명확한 의시결정시기가 있는 것이 특징이다.

PRINCE2는 프로세스 기반의 접근방법을 이용하여 각 프로세스들이 프로젝트 수행동안에 수행되어지는 관리활동을 정의하고 있다. 프로세스는 Starting up a Project(SU), Directing a Project(DP), Initiating a Project(IP), Managing Stage Boundaries(SB), Controlling a Stage(CS), Managing Product Delivery(MP), Closing a Project(CP), Planning(PL)로 구성된다.


프로세스와 별도로 Business Case, Organization Plans, Controls, Management of Risk, Quality, Configuration Management, Change Control이 구성되어 있다. 이들은 프로젝트 관리에 영향을 미치게 되며 이슈를 언제 어떻게 등록하는지에 대한 가이드를 제공하고 있다.

< PRINCE2모델 프레임워크 >
자료 : http://commons.wikimedia.org/wiki/File:PRINCE2_Process_Model

SPICE(Software Process Improvement and Capability dEtermination, ISO15504) 모델

SPICE(Software Process Improvement and Capability dEtermination, ISO15504) 모델은 여러 프로세스 개선모형을 국제표준으로 통합한 ISO(International Standardization Organization)의 SW프로세스 모델이다.

SW 프로세스에 대한 개선 및 능력 측정 기준이기도 하다. 기존 ISO9000-3이 SW분야 특성 및 프로세스적인 명을 개선하지 못해 등장했으며 기존 What만 있고 How가 없는 12207의 단점을 해결하고자 개발되었다.

SPICE는 SW프로세스 전반을 심사하여 조직의 SW개발 프로세스를 개선하고 개발자의 개발능력을 향상시킴으로서 개발위험을 통제하기 위한 목적으로 ISO에서 추진하는 SW품질 표준화심사평가 모형으로 SW프로세스 전반을 심사하고 그 결과에 따른 조직의 프로세스를 개선해 나가는 활동에 대한 표준화 방법이다.

< SPICE모델 단계 및 프레임워크 >
자료 : ISO15504(SPICE : Software Process Improvement Capability Determination)


자료 : http://www.itib.net

CMMI(Capability Maturity Model Integration)

CMMI(Capability Maturity Model Integration)란 미국방성의 요청에 의해 카네기멜론 대학의 SW공학연구소가 개발한 성숙도 평가모델을 기준으로 여러 CMM모델을 포함한 통합모델이다. 국제적 권위를 가진 인증을 통해 회사의 프로세스 및 제품에 대한 신뢰성을 보장하고 CMMI 심사를 통해 부족한 프로세스에 대해 외부검토를 수행하고 개선사항을 도출할 수 있는 모델이다.

< CMMI모델 프레임워크 >
자료 : http://www.dthomas.co.uk


주. Management = Mgt. 자료 : http://www.infotechconsulting.se

2016년 1월 28일 목요일

SW프로세스개선 컨설팅 모델

SW프로세스 개선을 위한 컨설팅 모델은 주로 CMMI, SPICE, PRINCE2 등이 있다. 또한 SP인증모델을 기준으로 프로세스 컨설팅을 추진하기도 한다. SW프로세스 개선 컨설팅을 받는 이유는 해당조직이 보다 이상적인 모습으로 발전하고 보다 안정적인 조직운영과 성공적인 SW개발을 하기 위해서이기 때문이다.

국내에서 가장 활발히 컨설팅을 추진하는 모델은 CMMI로 대기업을 중심으로 컨설팅이 추진·운영되고 있다. SW개발에 있어서 여타의 컨설팅보다도 가장 효율적이고 효과적인 컨설팅은 바로 프로세스 개선 컨설팅이다. SW와 관련된 컨설팅 중 현장에서 선호하는 분야는 테스트, 아키텍쳐, 도구도입 등 직접지원 컨설팅으로 컨설팅 중 또는 직후 단기적인 효과를 누릴 수 있지만 장기적으로 전사적 내재화가 발생하기에는 어려움이 많다. 컨설턴트가 빠지고 나면 경우에 따라 원래 상태로 회복되기도 한다.

SW프로세스개선 컨설팅의 경우 도입 시 많은 이슈와 충돌이 발생하기도 하지만 장기적 이행관점에서 봤을 때 해당 조직의 발전가능성이 가장 높다. 또한, 주먹구구식 개발을 하던 SW기업들이 논리적이고 구조적인 프로세스를 통해 보다 체계적인 개발을 할 수 있게 만들어 주어 조직의 안정성과 발전 가능성을 확보할 수 있는 기반이 되는 것이다. SW프로세스와 관련된 모델들은 다양하지만 다른 모델 또는 표준간의 관계를 통해 유기적으로 연관관계를 맺고 있으며 다양하게 확장되고 있다.

< SW프로세스 표준간 관계도 >

자료 : Adapted from[S.A. Sheard, Evolution of the Frameworks Quagmire. IEEE (Computer, July 2001)


프로젝트 관점에서의 프로세스 컨설팅은 프로젝트를 진행할 때 필요한 방법론을 정의하고 그에 따른 WBS를 작성하고 관리하게 된다. 또한 방법론에서 정의한 각 단계(요구사항, 분석, 설계, 구현, 시험, 배포)에 대한 가이드라인을 제공하고 작성된 산출물에 대해 리뷰와 인스펙션을 주관하며 개발자와 관리자간의 조화로운 커뮤니케이션을 할 수 있도록 지원하기도 한다. 프로젝트의 이해당사자들이 합리적으로 일할 수 있는 기반을 제공하는 것이 바로 프로젝트 관점에서의 프로세스 컨설팅이다.

Sonarqube 가이드

소나큐브(Sonarqube)는 코드품질 검사를 위한 공개 소프트웨어 플랫폼이다.
  • JAVA , C/C++ , Objective-C , C# , PHP , COBOL 등을 지원한다 (일부 언어는 상업용).
  • 중복코드 , 코딩 스탠다드 , 유닛테스트 , 코드 커버리지, 코드 복잡도, 잠재적 버그, 주석, 설계, 아키텍처에 대한 보고서를 생성한다.
  • 수치 통계를 저장하고 그래프를 제공한다.