2016년 1월 19일 화요일

SW개발 방법론, MDA(Model Driven Architecture)와 Agile

SW프로세스란 SW를 개발하기 위해 수행하는 일련의 활동을 의미한다. SW를 만들기 위해 필요한 활동들을 명확히 하고 품질확보와 납기를 지키기 위한 방법으로서 SW프로세스를 정립해야 한다.

효과적인 SW프로세스를 만들기 위해서는 프로세스를 정의하고, 필요한 도구를 결정하여 프로세스를 실행해야 한다. 그리고 지속적인 개선을 통해 SW기술변화를 프로세스에 반영하고 수행자들에게 책임과 교육을 추진하여 결과를 피드백 하는 것이 해당 조직의 SW프로세스를 최적화하는 것이다.

SW프로세스는 일반적으로 요구사항 수집 및 분석, 설계, 구현, 시험의 단계를 가지고 조직의 특성에 따라 활동이 정의된다.

SW프로세스의 구조적 특징, 특성, 역할을 가지고 집합된 형태를 SW생명주기라고 부른다. SW생명주기는 SW개발 단계에 SW개발전략이나 전사적 정책을 통합시킨 것으로 개발방법, 개발환경에 대한 도구, SW 개발의 시작부터 끝까지 효과적으로 관리하기 위해 만들어진다.

SW프로세스 모델의 유형 결정요소는 문제유형, 관점, 개발 방침에 따라 결정되며 일반적으로 SW개발 기본 프로세스 모델(생명주기 모델, ISO 12207)을 많이 참조하고 있다.

SW개발 프로세스가 정립되면 SW개발 방법론과 함께 적용하여 SW개발을 추진하게 된다. SW개발방법론은 과거 고전적 방법론에서 애자일 방법론으로 유행이 전이되는 상황이다.
※ 고전적 방법론: 구조적 방법론 〉 정보공학방법론 〉 객체지향 방법론 〉 CBD 〉 SOA

개발 패러다임의 변화와 과거 미시적 접근방법에서 거시적 방법으로 변화됨에 따라 객체 〉 컴포넌트재사용 〉 아키텍처 재사용 〉 프레임워크 〉 엔터프라이즈 아키텍처(EA)로 변화하고 있다.


근래에는 SW개발 방법론으로 MDA(Model Driven Architecture)Agile이 주목받고 있다. MDA는 새로운 플랫폼과 기술을 도입하거나 환경적 변경요구에 따른 상호운영상 문제를 해결하기 위해 OMG가 제정한 기존의 모델링 표준들을 이용하는 개발적인 SW개발 기술이다. MDA의 특징은 모든 컴포넌트 기술 요소들에 대한 표준 메타모델을 정의하고 표준 메타모델을 기반으로 각 구성요소를 정의함으로 모든 컴포넌트 기술 요소들에 대한 호환성과 상호 운영성을 보장할 수 있다.


Agile 프로세스는 변화하는 비즈니스 가치에 맞는 품질 좋은 SW를 계속해서 전달하는 것으로 1990년대 중반부터 폭포수 모델로 대표되는 전통적인 방식에 반대의 움직임을 보여 왔다. 급변하는 e비지니스 환경에서 SW개발 분야의 다양한 변화를 수용하고 대응할 수 있는 여러 방법론의 통칭이기도 하다.



기존의 고전적 프로세스가 절차와 산출물을 중시하는데 반해 Agile은 협력과 수행 가능한 SW, 현장고객, 테스트 기법을 중시하고 있다.

댓글 없음 :

댓글 쓰기