IT이야기/SW 아키텍처

최신 SW 개발 방법론(MDA, Agile)

FelixShin 2016. 12. 28. 07:37
반응형

1. MDA(Model Driven Architecture)

1) 정의 : 새로운 플랫폼과 기술을 도입하거나 환경적 변경 요구에 따른 상호운영성 문제를 해결하기 위해 

OMG가 제정한 기존의 모델링 표준들을 이용하는 개발적인 SW 개발 기술


2) 특징 : 모든 컴포넌트 기술 요소들에 대한 표준 베타 모델(Meta Model)을 정의

모든 컴포넌트 기술 요소들에 대한 호환성과 상호 운영성을 보장


3) MDA 구조

- MOF(Meta Object Facility) : 객체 및 컴포넌트 기술의 핵심을 정형화한 모델

- UML(United Modeling Language) : 객체 및 컴포넌트 시스템을 표현하기 위한 언어

- XML(XML Metamodel Interchange)  : XML 기발으로 정의한 데이터의 표준관리 언어

- CWM(Common Warehouse Metamodel) : 데이터웨어하우징을 위한 표준 메타모델


Ref : http://korea-sw-eng.blogspot.kr/2016/01/sw-mdamodel-driven-architecture-agile.html




2. Agile Process

1) 정의 

: 1990년대 중반부터 Waterfall에 대표되는 전통적 방식에 대한 반대 움직임

: 급변하는 e-비지니스 환경에서 SW 개발분야의 다양한 변화를 수용하고 대응할 수 있는 여러 방법론을 통칭


2) 특징

- Incremental(증분적)이고 Evolutionary(점진적인) 프로세스

- 기본 프로세스 모델보다 좀더 모듈적이로 Linear한 모델

- 동시성과 비동기성

- Time-based Process

- Predictive보다 Adaptive함

-프로세스 중심보다 사람 중심


3) 설계원칙

- 개별 Process의 캡슐화

- 모듈화된 프로세스

- 정해진 Cycle Time내에서 순환/병행 방식 규정

- 업무의 속도와 부하를 누구나 동일하게 유지


4) Agile Process 종류

- XP(eXtreme Programming) : 테스팅 강조, 4가지 가치와 12개 실천 항목, 1~3주 Iteration

- SCRUM : PJT를 Sprint (30일 단위 Iteration)로 분리, 팀은 매일 스크럼(15분 정도) 미팅으로 계호기 수립

- DSDM(Dynamic Systems Development Method) : 동적 시스템 개발 방법론

- FDD(Feature Driven Development) : 기능 주도 개발, 짧은 Iteration(2주), 5단계 프로세스(전체모델개발, 특성리스트 생성, 계획, 설계, 구축)


5) Waterfall Process vs Agile Process(폭포수 모델과 애자일 모델 비교)

 Waterfall Process

Agile Process

 Project Management 관점

 상세계획 개발범위로 정해진 기간이 fix되고 마일드스톤(분석/설계/개발/구현) 구성이 가능

1주 단위 계획, 작동하는 프로그램 단위 트랙 구성 

 Development Process 관점

모든 코드에 대한 상세한 명세,  모든 코드가 완성되었을 때 전체 통합

 최소 설계 문서 지향, 지속적 빌드, 테스트 주도 개발

 Collaboration 관점

고객 소극적 참여(프로젝트 시작과 종료식 고객 접촉 )

고객과 개발자간 지속적 커뮤니케이션 함 



'IT이야기 > SW 아키텍처' 카테고리의 다른 글

SW 개발 프로세스 종류  (0) 2016.12.27