2011-03-25 2 views
1

UML 클래스 다이어그램에서 C# 속성 (setter 및 getter 접근 자)을 나타내는 방법은 무엇입니까?UML 클래스 다이어그램에서 C# 접근 자 속성을 나타내는가?

일반 세터 및 게터 방법으로 작성 하시겠습니까?

또는 다른 표현 방법이 있습니까?

UML 클래스 다이어그램에서 접근자를 클래스와 인터페이스로 표현하는 방법에 관심이 있습니다.

+0

너무 객관적이거나 무언가처럼이 질문에 대한 좋은 대답이 아닌 것 같습니다. – leeand00

답변

2

일부 개발자/분석가 :

(1) 쇼 매우 개념적인 것 등의 특성 및 전용 속성 당 하나의 행을 보여줍니다.

(2) 기타, 더 구체적이며 3 행, 속성, "getter"기능, "setter"기능을 표시합니다.

(3) 때때로 액세서리 2 개만 표시합니다.

(4) 일부 U.M.L. 앱 그리기. 이전에 선택한 것을 선택할 수 있습니다.

...

... 내가 조사한 한 모든 옵션이 적절합니다. 기억이 고정 관념 ("< < > >가 몇 가지 물건",

(주 클래스 문서를 수 있도록 허용됩니다. 나는 점으로 공백을 대체)

(1) 만 일반 재산 (C#을 아주 개념) :

 
+================================================================+ 
|..........................MyClass...............................| 
+----------------------------------------------------------------+ 
|..[+]..|..void....|..MyClass()...|..<<constructor>>.............| 
|..[+]..|..void....|..~MyClass()..|..<<destructor>>..............| 
+================================================================+ 
|..[+]..|..string..|..Text........|..<<property>>................| 
+================================================================+ 

(2) 전용 "accesors"(C++, 자바, 스타일) :

 
+================================================================+ 
|..........................MyClass...............................| 
+----------------------------------------------------------------+ 
|..[+]..|..void....|..MyClass()...|..<<constructor>>.............| 
|..[+]..|..void....|..~MyClass()..|..<<destructor>>..............| 
+================================================================+ 
|..[#]..|..string..|..FText.......|..<<field>>...................| 
+================================================================+ 
|..[+]..|..string..|..getText()...|..<<function>>,..<<getter>>...| 
+----------------------------------------------------------------+ 
|..[+]..|..string..|..setText()...|..<<procedure>>,..<<setter>>..| 
+================================================================+ 

(2) 모든 게 g (매우 프로그래머, 오브젝트 파스칼/델파이 스타일) :

 
+================================================================+ 
|..........................MyClass...............................| 
+----------------------------------------------------------------+ 
|..[+]..|..void....|..MyClass()...|..<<constructor>>.............| 
|..[+]..|..void....|..~MyClass()..|..<<destructor>>..............| 
+================================================================+ 
|..[#]..|..string..|..FText.......|..<<field>>...................| 
+================================================================+ 
|..[+]..|..string..|..Text........|..<<property>>................| 
+----------------------------------------------------------------+ 
|..[+]..|..string..|..getText()...|..<<function>>,..<<getter>>...| 
+----------------------------------------------------------------+ 
|..[+]..|..string..|..setText()...|..<<procedure>>,..<<setter>>..| 
+================================================================+ 

분석가에게 전달 하시겠습니까? C++/Java 프로그래머는 다이어그램에 속성 만 표시되면 해당 다이어그램에 액셀러레이터 코드를 지정해야하며 다이어그램에서 코드를 명시해야한다고 회사에서 알고 있습니까?

필요에 맞게 하나를 선택하십시오. (점들을 제거하십시오).

+0

좋은 답변입니다. 나는 그것이 누가 문서를 읽을 것인지 그리고 그들이 무엇을 기대하는지에 달려 있다고 생각합니다. 당신이 그들이 무엇을 기대하는지 모르겠다면 나는 (2) 거기에 가야만 할 것이라고 생각한다. – leeand00

1

UML 다이어그램에서 언어 별 규칙을 표현하는 방법에 대해 정말로 걱정할 필요가 없다고 생각합니다. 결국, 이것은 설계상의 문제가 아니라 구현의 문제입니다. 다른 UML 다이어그램에서와 같이 접근 자 메서드를 표현한 다음 프로젝트의 해당 시점에 도달하면 디자인 구현을 완성하고 1 분 이내에 완료하는 것이 좋습니다.

죄송합니다. 귀하의 질문에 대한 직접적인 답변이 아니라는 것을 알고 있습니다. 그럼에도 불구하고 좋은 사례입니다.

+2

기존 코드로 다이어그램을 작성한다면 어떨까요? –

+0

@ Martinho : 이론 상으로는 당신의 가정은 내 대답에 아무런 영향을 미치지 않습니다. 하나는 여전히 getXXX 및 setXXX 메소드를 UML에 작성합니다. 그러나 실제로는 많은 시스템 설계자가이를 대표하는 공개 속성을 만들 것이라고 생각합니다. –

+0

접근자를 다음과 같이 변환하지 마십시오. public string get_MyProp() {return foo; } public void set_myProp (string value) {foo = value; }? – MattC

0

속성으로 설정해야합니다. getter 만있는 경우에는 읽기 전용으로 설정하십시오. C# 속성에는 특정 UML이 없습니다.

+0

오른쪽. 특정 U.M.L. 모든 언어. 각 소프트까지. Dev. 부서. 개념적 U.M.L을 구현하는 방법. 클래스 다이어그램을 특정 프로그램에 추가합니다. 랭. C#으로 허용되는 "읽기 전용"속성의 팬이 아니라 필자는 보호 된 필드, 공용 readAttribute 함수를 사용하고 코드의 다른 부분에서 필드를 수정합니다. – umlcat

관련 문제