Shlaer-Meller법

Shlaer–Mellor method

객체 지향 시스템 분석(OOSA) 또는 객체 지향 분석(OOA)이라고도 하는 Shlaer-Mellor 메서드는 Sally Shlaer와 Stephen Mellor가 1988년에 도입한 객체 지향 소프트웨어 개발 방법론입니다.이 방법에서는 문서화된 분석이 매우 정밀하기 때문에 일련의 플랫폼 고유의 모델을 통해 모델 변경을 상세하게 설명하는 것이 아니라 타깃 아키텍처로 변환하여 분석 모델을 직접 구현할 수 있습니다.새천년기에 Shlaer-Meller 방식은 UML 표기로 이행되어 실행 가능[1]UML이 되었습니다.

개요

1980년대 후반 이후의 객체 지향적 방법 및 표기법 역사

Shlaer-Mellor 방법은 1980년대 후반에 도입된 수많은 소프트웨어 개발 방법론 중 하나입니다.가장 익숙한 것은 Grady Boch의 객체 지향 분석설계(OOAD), James Rumbaugh의 객체 모델링 기법(OMT), Ivar Jacobson의 객체 지향 소프트웨어 엔지니어링, Shlaer와 [2][3]Mellor의 객체 지향 분석(OOA)이었습니다.이 방법들은 1960년대와 1970년대의 [4]기존 구조 분석 및 구조 설계(SASD) 방법의 확립된 약점을 극복하기 위해 새로운 객체 지향 패러다임을 채택했다.이러한 잘 알려진 문제 중 Shlaer와 Mellor는 다음과 같은 문제를 해결하기로 결정했습니다.

  • 구조화 분석 및 구조화 설계(SASD) 방법을 사용하여 발생하는 설계의 복잡성.
  • 시간 경과에 따른 분석 및 설계 문서 유지의 문제.

1991년에 두 번째 책이 출판되기 전에 Shlaer와 Mellor는 단지 "객체 지향 분석"을 위해 그들의 방법을 "객체 지향 시스템 분석"이라고 명명하는 것을 중단했습니다.메서드는 메서드의 자동번역을 가능하게 하는 재귀설계(RD)의 개념에 초점을 맞추기 시작했습니다.

Shlaer-Meller가 오브젝트 지향 메서드 중에서 유일한 이유는 다음과 같습니다.

  • 객체 지향적 의미 분해를 취하는 정도,
  • 분석을 표현하는 데 사용되는 Shlaer-Meller 표기법의 정밀도
  • 런타임에 해당 분석 모델의 정의된 동작.

객체 지향 분석 및 설계 방법에 의해 구조화된 분석 및 설계와 관련된 이러한 특정 문제에 대한 일반적인 해결책은 기능적 분해에서 의미적 [5]분해로 전환하는 것이었다.예를 들어, 여객 열차의 제어는 다음과 같이 설명할 수 있습니다.

승객을 태우고, 문을 닫고, 기차를 출발시키고, 열차를 멈추고, 문을 열고, 승객을 내린다.

그런 다음, 도어, 브레이크 및 승객의 동작과 이러한 물체(도어, 브레이크 등)가 여객 열차 영역 내에서 어떻게 관련되고 동작하는지에 초점을 맞춥니다.여객 열차 도메인이 사용하는 서비스를 제공하는 다른 객체는 여객 열차 도메인과 연결된 다른 도메인에서 모델링됩니다.

Shlaer-Meller 메서드토픽

번역 v. 상세

Shlaer-Mellor 방법의 목적은 문서화된 분석을 매우 정밀하게 하여 상세하게 작성하는 것이 아니라 번역에 의해 분석 모델을 직접 구현할 수 있도록 하는 것입니다.Shlaer-Mellor 용어로는 이를 재귀 설계라고 합니다.현재의 (2011) 용어로는 Shlaer-Mellor 방식이 일반적으로 Unified Modeling Language(UML; 통합 모델링 언어)와 관련된 모델 중심 아키텍처(MDA)의 형태를 사용한다고 할 수 있습니다.

이 변환 방식을 채택함으로써 구현은 항상 분석에서 직접 생성됩니다(수동 또는 보다 일반적으로 자동으로).이는 Shlaer-Mellor에 설계가 없는 것이 아니라 특정 하드웨어/소프트웨어 플랫폼의 조합에 대해 임의의 Shlaer-Mellor 분석 모델을 실행할 수 있는 가상 머신이 있다고 간주됩니다.

이는 Java 프로그래밍 언어 및 Ada 프로그래밍 언어의 핵심에 있는 가상 시스템과 유사하지만 프로그래밍 수준이 아닌 분석 수준에서 존재합니다.이러한 가상 머신은 설계 및 구현된 후에는 다양한 애플리케이션에서 재사용할 수 있습니다.Shlaer – Mellor 가상 머신은 다수의 툴 벤더(특히 Abstract Solutions, Mentor Graphics, Pathfinder Solutions)로부터 시판되고 있습니다.

의미 분해

Shlaer-Mellor는 여러 (문제)[6] 도메인에서 의미 분해를 제안합니다.

  • 분석 모형과 설계 모형 간의 분할:분석 도메인은 시스템이 수행해야 하는 작업을 정확하게 나타냅니다.설계 도메인은 Shlaer-Mellor 가상 머신이 특정 하드웨어 및 소프트웨어 플랫폼에 대해 어떻게 동작하는지를 나타내는 모델입니다.이러한 모델은 분리되며, 유일한 연결은 모델을 표현하는 데 사용되는 표기법입니다.
  • 시스템 요건이 모델링되고 특정 분리된 주제를 중심으로 그룹화되는 분석 영역 내의 분해.이전의 여객 열차 사례로 돌아가기 위해, 도어 액추에이터, 모터 제어 장치, 브레이크 시스템을 기반으로 개별 의미 모델을 만들 수 있습니다.각 그룹은 독립적으로 고려되고 모델링됩니다.그룹 간의 유일한 정의된 관계는 의존관계입니다. 예를 들어, 여객 열차 애플리케이션은 도어 작동과 모터 제어 모두에 의존할 수 있습니다.브레이크 시스템은 모터 제어에 따라 달라질 수 있습니다.

도어 액추에이터, 모터 제어 장치, 제동 시스템의 영역 모델은 일반적으로 재사용 가능한 일반적인 서비스 영역으로 간주되는 반면, 여객 열차 제어기 영역은 매우 특정 제품 적용 영역일 가능성이 높습니다.

특정 시스템은 도메인과 도메인 간의 정의된 브리지로 구성됩니다.브릿지는,[7] 서버로서 동작하는 도메인에 브리지 되는 클라이언트로서 동작하는 도메인이 가지는 전제 조건의 용어로 기술된다.

정확한 액션 언어

자동화된 코드 생성의 요건 중 하나는 Shlaer-Mellor 객체의 동적 동작을 표현하기 위해 사용되는 유한 상태 머신 내의 동작을 정밀하게 모델링하는 것입니다.

Shlaer – Mellor는 액션 데이터 흐름도(ADFD)와 같은 순차적 동작을 그래픽으로 표현하는 객체 지향 분석 방법 중 고유합니다.실제로 Shlaer-Mellor를 지원하는 툴은 정확한 액션 언어를 제공했습니다.작업 언어가 ADFD 접근 방식을 대체했기 때문에 모든 작업이 텍스트 형식으로 작성되었습니다.

테스트 및 시뮬레이션

그 Shlaer–Mellor 메서드의 번역에 도움이 되는 접근 자동화 시험 및 시뮬레이션 environments[8](코드 생성 중에 목표 플랫폼 전환에 의해), 언제, 어디서 목표 시스템에 대한 시험 공압 포함된 시스템을 개발하는 것이 일부 Shlaer–Mellor과 다른MDA-based 방법의 인기를 설명할 수 있다. 또는 자체 휴대 전화 빌려 준다. eng특히 어려운 관리 시스템입니다.

이러한 테스트를 유용하고 생산적으로 만드는 것은 Shlaer – Mellor 가상 머신의 개념입니다.대부분의 OOA/OOD 방법과 마찬가지로 Shlaer-Mellor는 이벤트 중심 메시지 전달 환경입니다.이 일반적인 관점에서 Shlaer-Mellor 가상 머신은 상태 모델을 중심으로 우선순위가 높은 이벤트 메커니즘을 구축해야 합니다.이를 통해 여러 상태 머신에서 동시에 작업을 수행할 수 있습니다.

Shlaer-Mellor를 구현하려면 이 모델을 완전히 지원해야 하기 때문에 시뮬레이션 중인 테스트는 타깃 플랫폼에서의 테스트에 매우 근접한 모델이 될 수 있습니다.타이밍 제약에 크게 의존하는 기능은 테스트하기 어려울 수 있지만, 우선순위가 높은 실행 모델로 인해 대부분의 시스템 동작을 예측할 수 있습니다.

비판

Shlaer-Mellor 커뮤니티 내에서 행동을 표현하기 위해 보편적으로 합의된 텍스트 언어는 없었습니다.툴 벤더는 저작권이 있는 독자적인 액션 언어를 정의하고 있습니다.

Graham(1994)은 Shlaer-Meller 방법을 객체 지향적 분석의 초기 사례로 설명했지만 실제로는 객체 지향적이라고 볼 수 없었다.Graham에 따르면 이 방법에는 "상속사항"이 없다.책에서 설명한 바와 같이, 이는 데이터 [9]모델링의 객체 기반 확장에 지나지 않았습니다."논평(1996)에 따라, Capretz는 Shlaer-Mellor 방법이 "대부분의 객체 지향적 아이디어를 고려하지 못하고 일반적인 그래픽 표기가 규정되어 있다"[10]고 주장한다.

「 」를 참조해 주세요.

참고 문헌

  • Stephen Mellor (2002) 모델을 자산화, ACM Volume 45, 11:76-87 (2002년 11월), 2002년
  • 로드니 C.Montrose(2001) Shlaer-Mellor 메서드를 사용한 객체 지향 개발.프로젝트 테크놀로지, Inc.
  • Sally Shlaer, Stephen Mellor(1988) 객체 지향 시스템 분석: Yourdon Press, 데이터 세계 모델링 ISBN0-13-629023-X
  • Sally Shlaer, Stephen Mellor(1991) 오브젝트 라이프 사이클: 미국에서의 세계 모델, 유던 프레스.ISBN 0-13-629940-7
  • Leon Starr(1996) Shlaer-Mellor 객체 모델 구축 방법.프렌티스 홀.ISBN 0-13-20763-2

레퍼런스

  1. ^ Mellor, Stephen; Balcer, Marc (2002). Executable UML, A Foundation for Model Driven Architecture. Addison Wesley. ISBN 0-201-74804-5.
  2. ^ Andreas Zendler(1997) Objeckt 지향 소프트웨어 개발을 위한 고급 개념, 라이프 사이클 모델도구. 페이지 122
  3. ^ Martin Fowler (2004) 표준 객체 모델링 언어 개요 가이드 (p.7)
  4. ^ Robert J. Muller(1999) 스마트용 데이터베이스 설계: 데이터 모델링에 UML 사용.106. 뮐러는 여기에 다음과 같이 덧붙입니다.
    OO 모델링 작업의 대부분은 데이터 모델링에 뿌리를 두고 있었으며, 데이터베이스 설계와의 적합성은 상당히 우수했습니다.
  5. ^ Hassan Goma(2011) 소프트웨어 모델링설계: UML, 사용 사례, 패턴 소프트웨어 아키텍처. 페이지 10Gomaa는 다음과 같이 설명합니다.
    Shlaer와 Mellor(1988, 1992), Coad와 Yourdon(1991, 1992).이러한 방법에서는 문제 영역 모델링, 정보 은폐 및 상속이 강조되었습니다.
  6. ^ Martin Reddy (2011) C++용 API 설계 페이지 126.Reddy 상태:
    Shlaer-Mellor 메서드는 먼저 시스템을 수평으로 분할하여 일반적인 "도메인"을 생성한 후 각 도메인에 별도의 분석을 적용하여 이들을 수직으로 분할합니다.이 divide-and-conquer 접근법의 이점 중 하나는 도메인이 재사용 가능한 개념을 형성하고 다른 설계 문제에 적용되는 경향이 있다는 것입니다.
  7. ^ Sally Shlaer, Stephen Mellor(1991) 오브젝트 라이프 사이클: 미국에서의 세계 모델링, 페이지 142.
  8. ^ Marcel Tous Saint(1996) 아다(유럽): 1995년 10월 2-6일 독일 프랑크푸르트, 제2차 국제 유로스페이스-아다-유럽 심포지엄, 제2권은 다음을 확인한다:
    ... 객체 지향(OO) 기법(이 경우 Shlaer-Mellor) 및 컴퓨터 지원 소프트웨어 엔지니어링(CASE) 도구를 사용하여 분석 및 설계함으로써 자동 코드 생성과 후속 시뮬레이터에서의 재사용이 더욱 늘어날 수 있습니다.
  9. ^ Ian Graham(1994) 객체 지향적 방법. 페이지 229
  10. ^ Luiz Fernando Capretz(1996) 객체 지향 소프트웨어: 설계 페이지 77
    Capretz는 OOA를 "구조화 시스템 분석과 결합된 엔티티-관계 모델의 변화에 기초한 관련 그래픽 표기법을 사용한 분석 방법론"이라고 설명한다.이 표기법은 관계가 객체 간의 링크를 나타내는 경우 객체, 속성 및 관계를 설명하는 데 적용할 수 있습니다.

외부 링크