2011년 6월 2일 목요일

마르미 III 개발 방법론

PLT 6 마르미 III 개발 방법론
개요
최근 인터넷의 폭발적인 성장과 함께 이기종 컴퓨터 사이의 연동 기술의 발전으로 이를 이용한 소프트웨어에 대한 수요가 폭발적으로 증가하고 있다. 이와 같은 변화에 능동적으로 대처하기 위해서는 고품질의 소프트웨어를 적기에 공급할 수 있는 새로운 개발 방법이 필요하다. 컴포넌트 기반 시스템 개발 방법은 위와 같은 품질과 수요에 대한 요구사항을 모두 만족시킬 수 있는 유일한 대안으로 제시되고 있는 새로운 시스템 개발 패러다임이다.

한국전자통신연구원은 기존의 정보공학 및 구조적 방법을 기반의 마르미(MaRMI, Magic and Robust Methodology Integrated)와 객체지향 기반의 마르미-II 방법론에 이어, 학계 및 산업계와 협력하여 컴포넌트 기반의 마르미-III 개발 방법론을 개발하였다. 마르미-III는 컴포넌트의 개발 및 컴포넌트 기반의 시스템 개발에 필요한 작업과 작업 수행에 필요한 기법 및 작업별 산출물을 정의하고, 작업에 따른 상세한 개발 절차와 지침을 제공한다.

History
마르미마르미-II마르미-III 버전 1.0마르미-III 버전 2.0
개발 기간1994. 10. ~ 1997. 9.1995. 11. ~ 1998. 10.1999. 7. ~ 2001. 6.2001. 7. ~ 2003. 6
지원 방법구조적 방법, 정보공학객체지향방법컴포넌트 기반컴포넌트 기반
특징국제표준 수용(ISO12207)
개발공정의 계층화/상세화
산출물의 간소화
UML 기반
반복적/점진적 개발
위험관리
EJB 기반
아키텍처 중심
마르미-II 메타모형 공유
COM+, CORBA 지원
프로젝트/품질관리 지원
사용자 방법론 개발/조정 지원
구성마르미-D 절차서
마르미-D 기법서
마르미-D 산출물양식집
마르미-D 적용사례집
마르미-P 절차서
마르미-P 기법/산출물
마르미 전자매뉴얼
마르미-II 개요서
마르미-II 절차서
마르미-II 기법서
마르미-II 양식정의서
마르미-II 전자매뉴얼
DEBUT (UML 모형화 도구)
DEBUT 사용자지침서
DEBUT 튜토리얼
마르미-III 개요서
마르미-III 절차서
마르미-III 기법서
마르미-III 양식정의서
마르미-III 적용사례서
마르미-III 개요서
마르미-III 절차서
마르미-III 기법서
마르미-III 양식정의서
마르미-III 적용사례서


특징
  • 컴포넌트 기반 시스템 개발 지원
  • UML 모형화 표준 사용
  • 유스케이스 기반 개발
  • 아키텍처 중심
  • 반복적, 점진적 개발
  • 구체적이고 실용적인 방법론
  • 마르미, 마르미-II 와 일관성 유지(방법론 메타모형 공유)

구성
마르미-III는 절차서, 기법서, 양식정의서 및 적용사례서로 구성되어 있다. 개발 공정은 컴포넌트 개발 공정과 이미 개발된 컴포넌트를 활용하여 시스템을 개발하는 공정으로 구분할 수 있는데, 마르미-III는 컴포넌트 기반 시스템 개발 공정을 중심으로 컴포넌트 개발 공정을 함께 기술하였다. 개발 절차는 크게 계획단계, 아키텍처단계, 점진적개발단계, 인도단계의 4개 단계로 이루어져 있고, 각 단계는 논리적으로 서로 연관된 작업을 하나로 묶은 활동으로 구성되어 있다. 각 작업은 하나 이상의 산출물을 만들어 내며, 이를 위한 상세한 세부 절차가 정의되어 있다. 산출물을 위한 양식은 양식정의서에 정의되어 있다.

계획단계
  • 계획 단계의 작업을 체계적으로 수행하기 위한 구체적인 계획을 수립하여, 이에 대한 의사결정자, 관련자, 사용자에게 추진을 보고한다.
  • 개발 시스템의 비전, 목표, 및 범위를 결정한다.
  • 사용자 요구사항 및 관련 자료를 수집한다. 경우에 따라서는 시스템의 배경에 대한 명확한 이해를 획득하기 위해 비즈니스 모형을 작성하고 현행시스템을 분석한다.
  • 유스케이스 및 개념 모형의 작성을 통해 시스템의 범위를 정의하고 프로토타이핑을 통한 사용자의 검증을 수행한다.작성된 모형을 기반으로 전체 프로젝트의 규모 및 소요비용 추정하고 타당성 분석을 수행한다.
  • 시스템을 개발하기 위한 추진 계획 및 품질보증계획을 수립하여 프로젝트계획서를 작성하고 사용자와 의사결정자에게 승인을 받는다.

아키텍처단계
  • 개발할 시스템에 대한 사용자의 요구사항을 충분히 이해하고 요구사항을 명확히 하기 위해 사용자 요구사항에 대한 분석 작업을 수행한다
  • 이를 바탕으로 컴포넌트를 식별하여 비즈니스 아키텍처 및 응용 아키텍처를 정의한다.
  • 아키텍처 프로토타이핑을 통해 실제 구현 가능한지 아키텍처를 검증하고 점진적 개발단계에서 수행을 위한 상세한 개발계획을 수립한다.

점진적개발단계
  • 개발 전체 범위를 미니프로젝트 단위로 분할하고 이를 수행하기 위한 계획을 수립한다.
  • 해당 미니프로젝트 내에서 구축할 유스케이스를 구현 관점에서 보완한다.
  • 보완된 유스케이스를 바탕으로 아키텍처를 구현 관점에서 보완한다.
  • 개발할 컴포넌트의 내부를 구현관점에서 설계한다. 클래스도, 협력도를 중심으로 내부를 설계하며, 필요 시 다른 다이어그램을 활용할 수 있다.
  • 클래스 및 컴포넌트를 구현하고 데이터베이스, 사용자 인터페이스 등을 설계하고 구축한다.
  • 아키텍처 단계에서 개발된 사용자지침서 초안을 기반으로 사용자지침서를 개발한다.
  • 테스트계획서를 바탕으로 통합테스트를 수행하여 각 컴포넌트를 통합할 때와 이전 미니프로젝트에서 개발된 컴포넌트 시스템과 통합할 때 발생할 수 있는 오류를 제거한다.
  • 각 미니프로젝트에서 유스케이스를 개발하고 나면 사용자의 검토를 받아 요구사항을 만족하는지 확인한다.
  • 계획된 모든 미니프로젝트를 수행하고 나면 통합된 시스템의 기능성 및 성능이 사용자 요구사항을 만족하는지 확인하기 위한 시스템테스트를 수행하고 본 단계의 수행결과를 평가한다.

인도단계
  • 개발자 환경에서 개발된 결과물을 컴포넌트인 경우에는 컴포넌트 리포지터리에, 컴포넌트 기반 시스템인 경우에는 실제 시스템이 운영될 사용자 환경에 설치한다. 기존에 운영되고 있는 리포지터리나 시스템이 있을 경우 신규 시스템으로 전환하여 원활한 운영이 가능하도록 한다.
  • 개발된 컴포넌트 또는 시스템에 대하여 최종적으로 사용자 요구사항과의 일치 여부에 대하여 승인을 얻고 프로젝트의 모든 전달물을 사용자에게 전달하고 인계한다.
  • 본 단계는 사용자의 업무에 영향을 주게 됨으로 사용자의 적극적인 참여가 필수적이며, 사용자는 인수와 함께 시스템을 운영할 수 있도록 준비하여야 한다.

기대 효과
  • 개발조직 내 체계적인 컴포넌트 기반 개발 및 관리 절차 확립
  • 사례 예시와 절차 묘사의 단계적 상세화를 통한 이해도 증진에 따라 쉽게 조직에 적용 가능
  • 최신 정보기술 동향의 지속적인 반영을 통한 방법론의 유용성 유지
  • 지속적인 보급 및 확산을 통한 국내 소프트웨어 개발업체의 산업 경쟁력 향상

댓글 없음:

댓글 쓰기

블록체인 개요 및 오픈소스 동향

블록체인(block chain) 블록체인은 공공 거래장부이며 가상 화폐로 거래할때 발생할때 발생할 수 있는 해킹을 막는 기술. 분산 데이터베이스의 한 형태로, 지속적으로 성장하는 데이터 기록 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가...