MetaCASE 도구

MetaCASE tool

metaCASE 도구는 소프트웨어 개발 프로세스에서 사용하기 위해 하나 이상의 모델링 방법, 언어 또는 표기법을 작성할 수 있는 응용 프로그램소프트웨어의 일종입니다.그 결과 그 언어의 모델링 도구가 되는 경우가 많습니다.따라서 MetaCASE 도구는 언어 워크벤치의 일종으로 일반적으로 그래픽 모델링 언어에 중점을 둔 것으로 간주됩니다.

또 다른 정의:MetaCASE 도구는 CASE 도구의 설계 및 생성을 지원하는 소프트웨어 도구입니다.일반적으로 metaCASE 툴은 특정 CASE 툴로 커스터마이즈하여 인스턴스화할 수 있는 범용 CASE 툴 컴포넌트를 제공해야 합니다.metaCASE 툴의 목적은 필요한 CASE 툴의 사양을 캡처한 후 해당 [1]사양에서 툴을 생성하는 것입니다.

개요

Quick CASE 툴의 개요

대규모 소프트웨어 애플리케이션을 구축하는 것은 매우 복잡한 프로세스로 처리하기가 쉽지 않습니다.소프트웨어 기업은 개발 팀 전체에 걸쳐 우수한 협력 시스템을 갖추어야 하며 우수한 디스플레이의 필요성이 매우 높습니다.

그럼에도 불구하고 CASE 도구를 사용하는 것은 소프트웨어 개발을 가속화하고 애플리케이션 설계를 더 높은 수준으로 보장하는 현대적인 방법입니다.하지만, 명심해야 할 다른 문제들이 있다.우선, 이러한 툴을 사용하는 것은, 통상, 생산과 도입에 크고 복잡하며, 매우 비용이 많이 들기 때문에, 좋은 결과를 보증하는 것은 아닙니다.

CASE 툴은 지원하는 소프트웨어 개발 단계에 따라 프런트 엔드 툴 또는 백엔드 툴로 분류할 수 있습니다.예를 들어, 「프런트 엔드」의 분석 및 설계 툴과 「백엔드」의 실장 툴입니다.특정 응용 프로그램프로젝트에 종사하는 소프트웨어 엔지니어의 경우 일반적으로 CASE 툴의 선택은 프로젝트의 규모, 사용되는 방법론, 도구의 가용성, 프로젝트 예산 및 관련된 인원 등의 요소에 따라 결정됩니다.응용 프로그램에 따라서는 적절한 도구를 사용할 수 없거나 프로젝트가 너무 작아서 이점을 얻을 수 없을 수 있습니다.

CASE 툴은 일정한 수의 방법론을 지원하지만 소프트웨어 개발 조직은 채택된 방법론을 동적으로 변경합니다.

Quick metaCASE 도구 개요

MetaCASE 제품은 일반적으로 매우 전문적인 애플리케이션 개발 환경이며, 필요한 툴의 대략적인 설명에서 커스텀 툴 세트를 생성합니다.[3][4]

즉, metaCASE 기술은 방법론 자동화에 동적인 관점에서 접근합니다.

MetaCASE 도구를 사용하면 임의의 방법론을 지원하는 CASE 도구를 정의하고 구성할 수 있습니다.CASE 도구 커스터마이저는 먼저 원하는 방법론을 지정하고 대응하는 CASE 도구를 커스터마이즈합니다.그런 다음 소프트웨어 개발자는 이 CASE 도구를 사용하여 소프트웨어 시스템을 개발합니다.이 접근방식의 장점은 동일한 툴을 다른 방법론과 함께 사용하여 학습곡선을 줄이고 결과적으로 비용을 절감할 수 있다는 것입니다.오늘날의 역동적이고 경쟁이 치열한 환경에서 역동적인 기능을 제공하는 개발 조직이 원하는 모든 방법을 자동화하거나 수정할 수 있습니다.다른 관점에서 보면, 이 기술은 교육 과정에 맞는 개발 기간과 학습 시간이 단축된 것을 고려할 때 실용적인 교육 도구로 활용될 수 있습니다.

metaCASE 툴과 CASE 툴의 차이점

객체 지향 모델링을 위한 대부분의 CASE 도구는 UML 방법을 주로 기반으로 합니다., 모델을 작성, 체크, 분석하는 방법, 코드를 생성하는 방법 등, 다른 CASE 툴의 기능도 지시합니다.예를 들어 CORBA 준거 인터페이스를 모델링 언어가 적절하게 지정하고 분석할 수 있는 경우에만 CORBA IDL 정의를 생성할 수 있습니다.툴(및 메서드)이 그것들을 생성하지 않는 경우 인터페이스 설계 및 구현 작업에 대한 지원은 거의 제공되지 않습니다.

방법을 사용할 때 개발자는 종종 유사한 문제에 직면합니다.메서드는 현재 작업에 대한 개념이나 알림을 제공하지 않기 때문에 개발 중인 도메인과 시스템을 적절하게 지정할 수 없습니다.최종 사용자는 모델링 개념을 잘 모르기 때문에 모델을 읽고 이해하기 어려울 수 있습니다.일반적으로 모델에서 사용되는 개념과 의미론을 응용 프로그램 도메인에 매핑하는 것도 어렵습니다.모델을 작성한 후 응용 프로그램도메인을 적절하게 나타내지 못한 경우 툴은 필요한 보고서를 제공하지 않으며 필요한 코드를 생성하지도 않습니다.

따라서 필요한 것은 모든 방법의 사양을 쉽게 캡처한 후 이러한 사양에서 자동으로 CASE 도구를 생성할 수 있는 기능입니다.나중에 응용 프로그램 도메인의 상황이 발전하고 개발 환경이 변경되면 CASE 도구의 메서드 지원을 점진적으로 업데이트할 수 있습니다.이것이 바로 metaCASE 테크놀로지가 [5]제공하는 것입니다.

metaCASE 구조

기존의 CASE 툴은 2레벨 아키텍처를 기반으로 하고 있습니다.시스템 설계는 저장소에 저장되며, 저장소의 스키마는 CASE 툴로 프로그래밍 및 컴파일됩니다. 하드코드된 부품은 어떤 모델을 만들 수 있는지, 어떻게 분석할 수 있는지를 정의합니다.가장 중요한 것은 툴 벤더만이 메서드를 수정할 수 있다는 것입니다.그 이유는 메서드는 코드에 고정되어 있기 때문입니다.MetaCASE 기술은 유연한 방법을 제공함으로써 이러한 제한을 없앱니다.

이는 메서드 수준보다 한 단계 높은 수준을 추가하여 이루어집니다.

MetaCASE 툴은 다음 3레벨 아키텍처를 기반으로 합니다.

  1. 가장 낮은 모델 레벨은 CASE 도구와 유사합니다.모델로서 시스템 설계를 포함합니다.
  2. 중간 레벨은 메타모델과 같은 방법의 모델을 포함한다.메타모델은 주어진 방법의 개념, 규칙 및 다이어그램 표기를 포함한다.예를 들어 메타모델은 클래스상속과 같은 개념, 그것들이 어떻게 관련되어 있는지, 그리고 어떻게 표현되는지를 지정할 수 있다.다만, 고정 CASE 툴과 같이 툴내의 코드에 짜넣어지는 대신에, 메소드는 데이터로서 저장소에 격납됩니다.메타모델의 사용은 최근 더욱 인기를 끌고 있다.현재 많은 방법서적에는 그 방법의 메타모델이 포함되어 있으며, XMI와 같은 몇 가지 중요한 혁신은 메타모델을 기반으로 합니다.CASE 툴과는 달리 메타모델을 변경할 수 있는 metaCASE 툴입니다.따라서 metaCASE는 메서드 사양의 유연성에 기초하고 있습니다.
  3. 이는 방법을 지정하기 위한 메타모델링 언어를 포함하는 세 번째, 더 높은 수준을 보유함으로써 달성됩니다.이 레벨은 metaCASE 소프트웨어의 하드 코드화된 부분입니다.

이 세 가지 레벨은 모두 밀접하게 관련되어 있습니다.모델은 메타모델을 기반으로 하고, 메타모델링 언어를 기반으로 합니다.메타모델 없이는 모델링을 할 수 없습니다.이 의존관계 구조는 일부 객체 지향 프로그래밍 언어에서 객체, 클래스 및 메타클래스 간의 구조와 유사합니다.[5]

metaCASE 도구

이는 현재 사용 가능한 metaCASE 도구 목록입니다. 다른 많은 모델링 도구도 메타모델링 기능을 어느 정도 제공할 수 있습니다.

metaCASE 툴의 진정한 이점

Jackson은 애플리케이션 도메인과 코드 간의 중요한 차이점을 인식하고 있습니다.각각의 언어, 전문가, 사고방식 등을 가진 두 개의 다른 세계입니다.완성된 어플리케이션은 이들 세계의 교차점을 형성합니다.소프트웨어 엔지니어의 어려운 일은 양쪽 세계의 문제를 해결하는 동시에 두 세계를 연결하는 것입니다.

경험적 연구에 따르면 전체 개발 프로젝트의 절반 정도만이 방법을 사용하고 있습니다.방법을 사용하는 사람 중 50% 이상이 자신의 요구에 맞게 방법을 수정하거나 자체 방법을 개발한다.

표준 CASE 툴에서는 툴이 지원하는 방법이 고정되어 있기 때문에 변경할 수 없습니다.metaCASE 툴에서는 메서드를 변경하거나 완전히 새로운 메서드를 개발할 수 있습니다.모델 및 메타모델(방법 설명) 모두 저장소에 퍼스트 클래스 요소로 저장됩니다.이를 통해 조직은 자신의 상황과 요구에 맞는 방법을 개발하고 모든 개발자에게 해당 지식을 저장 및 전파할 수 있습니다.툴과 방법은 개발자를 안내하고, 그들이 작업할 수 있는 공통 프레임워크를 제공하며,[11] 팀 전체의 작업을 통합합니다.

연구용 프로토타입과 심지어 상업용 메타CASE 툴은 수년 전부터 존재해 왔지만, 최근에서야 메서드 개발자와 메서드 사용자 모두에게 성숙하고 사용자 친화적이며 안정적인 툴이 등장했습니다.가장 널리 알려지고 사용되는 metaCASE 도구 중 하나는 MetaEdit+입니다.

다음 목록은 소프트웨어 [14]개발에서 이러한 도구를 사용할 수 있는 몇 가지 방법을 보여 줍니다.

  • 컴퓨터 지원 환경 개발에 소요되는 시간과 비용을 절감할 수 있습니다.
  • 정식 소프트웨어 개발 방법을 지원할 수 있습니다.
  • 정보 시스템 모델링 도구로 사용할 수 있습니다.
  • 광범위한 모델링 언어 작성을 지원할 수 있습니다.
  • CASE 및 모델링 언어 트레이닝을 지원할 수 있습니다.
  • 모델링 언어 비교 및 통합을 지원할 수 있습니다.

이러한 도구에는 다음과 같은 [14]특성도 있습니다.

  • 사용자가 학습 곡선이 낮은 자체 소프트웨어 엔지니어링 방법에 대한 방법 지원을 생성할 수 있도록 합니다.
  • 사용하기 쉬운 그래픽 CASE 도구를 사용하여 심플하고 효율적인 사용자 상호 작용을 지원하다
  • 런타임에도 모형의 일관성을 확인할 수 있는 기능이 있습니다.
  • 표준 보고서 생성 기능을 갖추다
  • 제한된 뷰와 세분화된 모델 표현을 제공하는 복잡성 관리 도구를 소유하다
  • 모델 데이터의 생성 및 수정을 위한 정교한 입력 대화 상자를 보유하다
  • 맞춤 가능한 다층 지지대를 가지다

「 」를 참조해 주세요.

레퍼런스

  1. ^ metaCASE 툴 설계의 신속한 개발 모델, 개념 모델링 - ER '97, Maokai Gong, Louise Scott, Yingping Xiao 및 Ray Offen, ISBN978-3-540-63699-1
  2. ^ 정의 입력: D. Schefstrom, '시스템 개발 환경:Schefstrom, D 및 van den Broek, G(eds) 도구 통합 John Wiley and Sons(1993)의 컨템포러리 컨셉.
  3. ^ IPSYS Toolbuilder Manual, 버전 2.1 링컨 소프트웨어 Ltd(1996)
  4. ^ G. Stumer, Oracle 7: A User's and Developer's Guide International Thomson Publishing(1995년)
  5. ^ a b [1] ABC TO METACASE TECHNORGY, 화이트 페이퍼, MetaCase, 5605 North MacArthur Blvd. 11층, 텍사스, Irving, 75038
  6. ^ Jackson, M.A., 소프트웨어 요건 및 사양 Adison Wesley, ACM Press, 1995년
  7. ^ Necco, C.R., Gordon, C.L., 차이, N.W. 시스템 분석 및 설계:Current Practices, MIS Quarterly, 1987년 12월
  8. ^ Fitzgerald, B. 시스템 개발 방법의 사용: 조사.논문 참조 9/95, University.College Cork, 1995년
  9. ^ Russo, N., Wynekoop, J., Walz, D. 시스템 개발 방법론의 사용 및 적용.1995년 5월 21일부터 14일까지 애틀랜타에서 열린 IRMA 국제회의의 Procs.
  10. ^ Hardy, C., Thompson, J., Edwards, H., 영국에서 구조화된 시스템 개발 방법의 사용, 제한 및 맞춤화.Information and Software Technology, 37 (9) , 1995.
  11. ^ 시각적 영역별 모델링:MetaCASE 도구 사용의 이점 및 경험, Steven Kelly, MetaCASE
  12. ^ Isazadeh, H., Lamb, D.A., CASE Environments and MetaCASE Tools, 기술 보고서 1997-403, 캐나다 퀸즈 대학교, 1997년 2월
  13. ^ Alderson, A., Cartmell, J.W., Elliott, A., ToolBuilder:CASE 툴 컴포넌트에서 메서드 엔지니어링, 피어 로직, 1999년 화이트 페이퍼
  14. ^ a b MetaCA의 원칙SE 시스템, Vivekanandan Suresh Kumar