검색 상세

MDA 기반의 소프트웨어 개발 적용성 연구

Software development applicability research of based MDA

  • 주제(키워드) uml , mda
  • 발행기관 아주대학교
  • 지도교수 김동윤
  • 발행년도 2006
  • 학위수여년월 2006. 2
  • 학위명 석사
  • 학과 및 전공 정보통신대학원 정보처리/전자상거래
  • 본문언어 한국어

초록/요약

소프트웨어 개발자들은 소프트웨어의 생산성을 높이기 위한 방법으로 현재까지 다양한 방법론과 이론을 제안하였고, 그 중에서 소프트웨어 개발방법론의 기초인 전통적인 소프트웨어 방법론의 소프트웨어 개발 단계는 요구사항 수집->분석->설계->구현->테스트 그리고 유지보수로 분류하여 각 단계별로 소프트웨어의 생산성에 영향을 주는 요소들을 관리하고 조정하여 생산성을 높이는 방법과 절차 그리고 이를 지원하는 여러 가지 도구 등으로 구성되었다. 소프트웨어 개발 방법은 접근방식에 따라 프로세스 지향 개발, 데이터 지향 개발, 객체지향 개발 등으로 분류할 수 있고, 이들 중 객체지향 개발방법론은 기존의 개발방법의 문제점인 프로세스와 데이터를 독립적으로 개발하기 때문에 발생되는 문제점을 해소하였다. 객체지향 개발방법론은 생산성과 재사용성을 극대화하기 위해 컴포넌트 기반 개발 방법론(CBD-Component Based Development Methodology)이 제안되었고, 컴포넌트 개발 방법론은 실행 가능한 소프트웨어 빌딩 블록(Building Block, 부품)인 컴포넌트들을 개발하고 특정 목적에 따라 이들을 조립하여 새로운 시스템을 개발하는데 초점을 두고 있어 소프트웨어를 개발할 때 최종 목표인 “생산성, 재사용성, 품질향상, 개발시간 단축” 등의 기대효과를 이룰 수 있는 기반을 제공하였지만, 서로 다른 플랫폼 환경에서 개발된 컴포넌트들 기존 소프트웨어 자산들의 재사용을 위한 표준적인 접근을 간과하게 되어, 실제 엔터프라이즈 시스템 개발에 컴포넌트 기술을 적용하여 기대하는 효과를 얻기까지 쉽지 않은 실정이다. 이러한 컴포넌트 기술의 한계를 극복하기위한 대안으로 MDA(Model Driven Architecture) 제안되었다. MDA는 이질적인 환경에서 독립적으로 존재하는 모든 컴포넌트 기술요소들에 대한 표준 메다 모델(Mata Model)을 정의하고, 이를 기반으로 각 구성 요소를 정의함으로써 모든 컴포넌트 기술 요소들에 대한 호환성과 상호운용성을 보장하는데 기반을 두고 있다. 본 논문에서는 MDA를 지원하는 4가지 핵심표준(MOF, UML, CWM, XMI)을 살펴보고, MDA 기반으로 소프트웨어를 개발할 때의 공정에 대해 알아보았다. 그리고 MDA를 적용하여 소프트웨어를 개발할 때의 기대효과에 대해 살펴보았고, 이러한 기대효과를 극대화 할 수 있는 방법을 제시하였다. 마지막으로 MDA를 적용하여 코드생성까지 구현해본 결과 현재 기술로는 Class의 Attribute와 Operation의 자동화만을 지원하고 있으며, PIM->PSM->Application 의 개발공정에서도 전체의 자동 변환과정을 지원하지 못하고 있기 때문에, 현 시점에서는 MDA를 적용하여 개발하기에는 시기상조라고 생각되지만 MDA의 기법을 활용하여 소프트웨어를 개발하면 생산성, 재사용성을 극대화 할 수 있는 많은 장점들 때문에 MDA 기법의 핵심인 PIM->PSM->Application의 과정을 자동 변환 할 수 있도록 표준안을 확립해야 할 것으로 생각된다.

more

초록/요약

Software developers suggested various methodology and theory until present by method to heighten productivity of software, and software development stage of traditional software methodology that is basis of software development methodology among them was consisted of various tool etc.. that support method and procedure and this that manage and controls each elements influencing in productivity of software step by step and heightens productivity classifying as "Requirement collection->analysis->design->implementation-> test and maintenance". Software development method can classify to process intention development according to access method, data intention development, object-oriented development etc., and because object-oriented development methodology of these developed process and data that is problem of existent development method separatively, solved happened problem. Object-oriented development methodology to maximize productivity and reusability, component base development methodology (CBD-Component Based Development Methodology) was suggested, and component development methodology provided fetters that can effect expectation effect of "Productivity, reusability, quality sophistication, development time shortening" back that is last target when is focusing develops components that is executive software building block (Building Block, consist) and assembles these according to specification purpose, but components existing developed in different platform environment Overlook standard access for reusability of property, it is misgovernment that is not easy until get effect that expect applying a component technology in actuality yen tough rise system development. MDA (Model Driven Architecture) was proposed by the alternative that serve to overcome limit of this component technology. MDA shoulders standard for all component technology element plains that exist separatively in heterogeneous environment define model (Mata Model), and this guarantee use department mutually with interchangeability for all component technology elements by defining each component as base but based. In this paper, searched about process of when examine 4 core standard (MOF, UML, CWM, XMI) that support MDA, and develops software to MDA base. And presented method that can when applies MDA and develops software, examined about expectation effect, and maximize these expectation effect. Finally, because is not supporting only Class' automation of Attribute and Operation by wave and a present technology that embody code generation applying MDA, and support whole automatic conversion progress at development process of "PIM->PSM->Application", string point of time is thought untimeliness to develop applying MDA, but because of a lot of advantages that can maximize productivity, reusability if develop software taking advantage of MDA's technique, progress of "PIM->PSM->Application" that is core of MDA technique that must establish so that can change automatic think.

more

목차

제 1 장 서 론···········································································1
1.1 연구배경····································································1
1.2 연구동기 및 목적·····················································2
1.3 연구내용 및 범위·····················································3
1.4 논문의 구성······························································4
제 2 장 관련연구··································································5
2.1 소프트웨어 개발 방법·············································5
2.2 MDA 구성요소·························································9
제 3 장 MDA 기반 소프트웨어 개발 공정·······················14
3.1 MDA 기반의 소프트웨어 개발 단계····················14
3.2 MDA 적용 기대효과··············································16
제 4 장 MDA 기반의 소프트웨어 개발 적용사례···········19
4.1 요구사항 분석·························································19
4.2 Use Case Model···················································25
4.3 Design Model·························································32
4.4 Code Generation···················································40
제 5 장 결론 및 향후 연구과제··········································45
참 고 문 헌············································································46
ABSTRACT··········································································48

more