2014-12-11 3 views
4

의 (python-) 모듈과 동일한 것은 무엇인가요, 파이썬에서 모듈과 동일한 요소가 없거나 적어도 아직 이해하지 못했습니다.UML에서 UML

하나의 .py-file로 표시되는 파이썬 모듈은 가져 오기가 표시된 헤더가 있습니다. 클래스는 많은 클래스를 포함 할 수 있으며, 모든 클래스는 모듈 네임 스페이스에 있으며 서로 직접 대화하고 모듈이 가져온 패키지/모듈/클래스에 액세스 할 수 있습니다. 다이어그램에서 어떻게 그릴 수 있습니까?

가 업데이트 1 : 은 마지막으로,이 장에서이 웹 사이트 (http://www.alan-g.me.uk/l2p/tutclass.htm)에 ... "혼합 클래스와 모듈"관련 것 같다 내가 뭔가를 발견 웹 페이지, 우연히, 저자는 말한다 :

는 "... 우리는 두 가지 방법으로 그래픽 UML에서 그를 나타낼 수 있습니다. 클래스의 논리적 그룹은 패키지를 사용하여 표시 할 수 있습니다 또는 우리가 는 구성 요소와 실제 파일을 나타낼 수 있습니다 ...."

그것이 맞다면, 파이썬의 모듈은 UML의 구성 요소와 같습니다. 나는 UML의 구성 요소가 파이썬의 모듈과 같지 않기 때문에 어떻게 작동하는지, 그리고 정확히 어떻게 다이어그램을 모델링 할 수 있는지 파악하려고 노력 중이다.

업데이트 2 : 저는 시각적 패러다임 커뮤니티 에디션 (코드 생성 기능 없음)으로 테스트 중입니다. 지금은 UML 모델에서 패키지와 같은 폴더 모양의 동작을 가진 component 요소가 있다는 것을 알 수있었습니다. 그리고 구성 요소에 포함 된 클래스 위로 마우스를 가져 가면 원하는 고유 효과를 볼 수 있습니다. 구성 요소 자체의 네임 스페이스를 나타냅니다.

(지금 올바른 모델을 작성하는 방법이라면)이 모듈이 가져올 다른 패키지/모듈/클래스는 어디에서 지정할 수 있습니까? 시각적 패러다임에서 패키지를 선택하면 패키지를 가져올 수있는 옵션이 제공됩니다. 하지만 구성 요소를 선택하면 가져 오기 기능이 제공되지 않습니다. 많은 감사드립니다.

답변

1

모듈 개념은 파이썬에서 코드 재사용과 구성을 제공하는 방법입니다. 파이썬 모듈과 UML 패키지 및 컴포넌트 간의 연결은 직접적인 것이 아니며 특정 모듈의 역할에 달려 있습니다.

죄송합니다. Python으로 프로그래밍하지 않으므로 일반적인 모듈 사용법을 잘못 이해하고 있거나 뭔가 잘못 생각할 수 있습니다. 그러나이 문서를 이해함에 따라 Python 모듈을 두 가지 기본적인 용도로 사용할 수 있습니다. 그것은 구성 요소 (시스템의 일부) 또는 라이브러리 (즉, 재사용 가능한 클래스 세트)를 나타낼 수 있습니다.

전자는 구성 요소 인 UML의 직접적인 표현을 사용합니다. Component는, 소유 된 (임포트 된) 요소의 이름 공간입니다. 그러나 Component는 패키지를 가져올 수있는 네임 스페이스로 아직 가져올 수 없습니다 (아래 참조).

반면 UML의 (라이브러리의 경우) 가져올 수있는 모듈을 쉽게 모델링 할 수있는 패키지가 있습니다. 패키지는 네임 스페이스이기도하지만 다른 네임 피스 (예 : 다른 패키지 및 구성 요소)로 가져올 수 있습니다. 패키지를 일부 Namespece로 가져 오면 해당 소유 요소가 Namespace 가져 오기 내에서 사용할 수있게됩니다 (일부 제한 사항, 자세한 내용은 UML 사양의 7.4.3.3 및 12.2.3.2 참조).

일반적으로 가져 오기는 패키지 다이어그램에 표시됩니다.

네, 생각의 방향이 좋습니다.

+0

많은 Python 모듈이 실제로 정적 클래스가 아닙니까? – Alan

관련 문제