2009-08-04 4 views
1

저는 ABAP로 코딩하고 템플릿 메소드 패턴을 구현했습니다. 나는 이것을위한 UML 클래스 다이어그램을 그리는 것을 좋아한다. 클래스에서 UML로이를 수행하는 것은 아무런 문제가되지 않습니다. 하지만 내 클래스는 구현 모듈을 원격 프로 시저 호출에 사용할 수 있도록하는 독립 실행 형 메서드와 같은 함수 모듈 (SAP 특정 용어)로 구현됩니다.비 객체 지향 부품을 사용하여 UML 클래스 다이어그램을 설계하는 방법은 무엇입니까?

그렇다면 비 oo 함수 모듈과 oo 클래스를 하나의 다이어그램에서 얻는 가장 좋은 방법은 무엇일까요? 어떤 아이디어?

편집 : 구성 요소와 클래스 다이어그램을 혼합 할 수 있습니까?

답변

2

/각 기능을 하나의 (정적) 방법으로 클래스로 취급 하시겠습니까?

+0

좋은 아이디어, 나는 그것을 고려할 것이다. 고마워 – Richard

0

논리 그룹에 기능을 구성하십시오. 각 논리 그룹에 대한 유틸리티 클래스를 만들고 해당 유틸리티 클래스의 정적 멤버로 함수를 저장하십시오.

0

제공되는 제한된 정보를 기반으로 클래스 다이어그램보다 UML이 더 많습니다. SAP 호출자 요소를 시스템의 외부 액터로 만들고, 시스템 경계를 사용하여 클래스 다이어그램에 설명 된 시스템의 OO 측면을 포함합니다 활동 다이어그램을 사용하여 전체 워크 플로우를 문서화하십시오.

-1

개체 (및 클래스) 오리엔테이션에서 모든 것은 개체, 심지어 비 개체라고 간주합니다 !!!

모듈, 네임 스페이스 및 라이브러리는 U.M.L. 제작자가 간과하는 것 같습니다.

많은 디자이너가 파일, 네임 스페이스 또는 모듈로 묶인 글로벌 요소를 나타내며 모듈을 단일 개체 또는 클래스로 나타냅니다.

자바 스크립트, 모듈과 같은 언어는 싱글 톤 객체 또는 글로벌 객체로 묶습니다.

이것은 O.O.가 아닌 방법의 일반적인 예입니다. 구현 될 수있다.

...................................................................... 
..+----------------------------------------------------------------+.. 
..|       <<module>>       |.. 
..|        Strings       |.. 
..+----------------------------------------------------------------+.. 
..| [+] String[]: Letters     <<constant>> <<global>> |.. 
..| [+] String[]: Digits     <<constant>> <<global>> |.. 
..+----------------------------------------------------------------+.. 
..| [+] String: ToUppercase(String Value) <<function>> <<global>> |.. 
..| [+] String: ToLowercase(String Value) <<function>> <<global>> |.. 
..+----------------------------------------------------------------+.. 
...................................................................... 

건배.

1

우리는 기능 모듈을 나타내는 스테레오 타입 <<function module>>을 가진 함수 풀과 메소드를 나타 내기 위해 스테레오 타입 <<function pool>>이있는 클래스를 사용합니다. FORM 서브 루틴, MODULE, 서브 루틴 풀 등과 같은 작업을 수행 할 수 있습니다. 우리는 또한 스테레오 타입 기반의 색칠 체계를 사용하여 인터페이스가 녹색 음영으로 표시되고, 기능 풀과 같은 기존 프로 시저 항목이 빨간색으로 표시되는 경향이 있습니다. 불행하게도, 시스템 간 연계와 모델 간 연계를 모두 지원하는 실행 가능한 모델링 툴이 없으므로, ABAP 개발을 위해 UML을 사용하는 것은 오히려 많은 작업입니다.