UML에 대해 알아야 할 필수 사항은 무엇입니까?


18

프로그램의 디자인과 행동에 대한 낙서가 더 능률화되고 다른 개발자들과 공통된 언어를 갖기를 원합니다.

나는 UML을 보았고 원칙적으로 그것이 내가 찾고있는 것 같지만 과잉 인 것 같습니다. 내가 온라인에서 찾은 정보는 매우 부풀어지고 학문적 인 것처럼 보입니다.

동료에게 UML을 설명 할 수있을 정도로 UML을 영어로 이해하는 방법은 무엇입니까? 지면에서 UML을 이해하기위한 표준 자원은 무엇입니까?


1
나는 이전 타이틀을 더 좋아했다. 적어도 그것의 시작은 "UML의 가장 유용한 10 %는 무엇인가?" 그렇지 않으면, 좋은 편집!
Joey Adams

이미 이미 uml로 작성된 문서를 가지고 있다면, 그들이 문서 유형이라고 부르기로 결정한 것에 익숙하지 않습니다
Ryathal

답변:


4

내가 좋아했던 것과 같은 질문을 좋아했습니다.

동료에게 UML을 설명 할 수있을 정도로 UML을 영어로 이해하는 방법은 무엇입니까? 지면에서 UML을 이해하기위한 표준 자원은 무엇입니까?

내가 찾은 것은 다음과 같습니다.

킥 스타트를 들어 : 내 선택이 될 것 파울러의 UML 증류 . 정의, 예제, 특정 유형의 다이어그램을 사용해야 할 때 또는 사용하지 않아야 할 때의 조언에 대한 기본 사항은 증류입니다. 그것은 또한 좋은 기준 이 책 커버 투 커버를 읽지 않고 UML의 특정 부분에 초점을하려는 경우.

더 자세하고 평범한 영어 소개를 위해 UML 2 for Dummies 가 동료와 저를 위해 수행되었습니다. UML, 구문 및 긴 사용 방법을 소개 할뿐만 아니라 우수한 프로그래밍 및 설계 방법에 대한 많은 조언을 제공합니다.

UML 표준의 어떤 버전에 어떤 구문이 속하는 지에 대한 두 책 사이에는 가끔 차이가 있습니다. 그러나 이것은 UML 다이어그램을 사용하여 디자인 아이디어를 전달하는 데 반드시 필요한 것은 아닙니다. (예 : UML 2가 불연속 다중화를 허용하는지 여부, 즉 특정 속성이 참가자의 이름에 밑줄을 긋는 경우, X, Y 또는 Z보다 X, Y 또는 Z가 아닌 정확히 X, Y 또는 Z 개체를 가질 수 있음을 보여줍니다. ..)

완전히 비 학술적이고 덜 장황한 소개 : 이 블로그에는 다양한 UML에 대한 기사가 있습니다. http://blog.diadraw.com/category/uml/

그것은 교과서가 아니기 때문에 철저하지는 않지만 교과서가 아닌 이야기와 예제를 사용합니다. 사용 가능한 소수의 게시물은 UML 개념을 시각적으로 소개하는 데 중점을 두므로 텍스트 읽기를 건너 뛸 수 있습니다.


그 블로그 링크는 훌륭합니다.
한노 피 에츠

8

Martin Fowler의 UML Distilled가 정말 마음에 들었습니다 . 짧고 달콤하며 화이트 보드 토론에 적합합니다. 두 장의 사본을 받아서 팀에 전달하십시오.


1
이 책을 언급 한 +1, 답변을 쓰는 ​​동안 완전히 잊어 버렸습니다!
Alexander Galkin

2
이 책에 대한 경험에 대해 좀 더 자세히 알아볼 수 있습니까?

downvote의 이유는 무엇입니까?
케빈 클라인

1
팀장이되었을 때 가장 먼저 한 일 중 하나는 팀의 모든 사람을 위해이 책의 사본을 구입하는 것이 었습니다. 그것은 우리의 디자인을 논의하기위한 모든 공통 어휘를 주었다. 몇몇 젊은이들은 그들이 읽은 다양한 디자인 패턴 책의 다이어그램을 더 잘 이해하는 데 도움이되었다고보고했습니다.
TMN

2
@kevincline 나는 일반적으로 링크를 Stack Exchange의 리퍼러 URL로 변환하기 때문에 Amazon에 링크합니다. 누군가가 해당 URL을 클릭하여 구매하면 Stack Exchange에서 돈을 벌 수 있습니다. 또한 Amazon에서 제공하는 제목, 저자 및 ISBN 정보를 사용하여 좋아하는 서점에서 책을 찾을 수 있습니다.
Thomas Owens

5

다이어그램만으로는 항상 도움이되는 것은 아닙니다. 예를 들어 유스 케이스 다이어그램은 비즈니스 규칙을 자세히 전달할 수 없습니다. 클래스 다이어그램은 클래스 코드와 DLL을 생성 할 수 있으므로 매우 유용 할 수 있습니다.

이 다이어그램이 가장 유용하다는 것을 알았습니다.

  • 사용 사례 다이어그램
  • 클래스 다이어그램
  • 활동 다이어그램
  • 시퀀스 다이어그램

유용한 리소스가 너무 많지만 다음을 확인하십시오.

Mark의 의견에 대한 답변으로 편집 -1 .

이 리소스를 매일 사용하지는 않지만 UML 구문에 대한 빠른 참조 역할을합니다. 위의 자원은 UML 다이어그램의 빠르고 다소 포괄적 인 표현을 제공하기 때문에 선택됩니다. 공통 다이어그램을 표시하고 새 UML 사용자가 이들 간의 차이점을 빠르게 확인할 수 있도록 도와줍니다. 첫 번째 자원 인 비디오는 유스 케이스 및 다른 다이어그램과의 관계에 대한 세부 사항을 제공합니다. 위의 자료는 UML 또는 OOD를 배우려는 사람에게는 충분하지 않을 것으로 예상됩니다. 저는 그러한 주제를 배우는 것이 원래의 질문에서 의도 된 것이 아니라는 것을 알고 있습니다.


Class , SequenceActivity 다이어그램의 경우 +1입니다 . 사용자가 그림을 좋아하는 것처럼 보고서에 대한 훌륭한 커버가 아니라는 것 외에는 유스 케이스 다이어그램을 전혀 확신하지 못합니다.
Sjoerd

@Sjoerd, 귀하의 의견에 감사드립니다. 올바르게 지정했듯이 사용자는 사용 사례를 좋아합니다. 또한 유스 케이스 다이어그램에는 많은 값이 있습니다. 액터 (1 차 및 2 차)를 식별하고 "C 레벨 Cse 사례"를 발견 할 수 있습니다. 활동 다이어그램 및 클래스 다이어그램과의 관계는 사양에서 응집력을 형성합니다. 자세한 비즈니스 규칙 및 전체 요구 사항 문서를 대체하지는 않습니다.
NoChance

이러한 리소스에 대한 경험에 대해 자세히 알아볼 수 있습니까? UML을 이해하는 데 도움이되었던 다른 사람이 아닌 그들에 대해?

귀하의 의견과 편집에 감사드립니다.
NoChance

2

당신이 그것의 단지 10 % 에 만족한다면, 당신은 UML 책에서 그것을 배우려고 시도해서는 안됩니다. 오히려 객체 지향 분석 또는 디자인 패턴 에 대한 좋은 책을 더 잘 읽으십시오. 이 책은 원하는 10 %를 제공합니다.

그럼에도 불구하고 UML에 대한 튜토리얼을 찾고 있다면 이 웹 페이지 , 특히 UML 다이어그램에 대한 에세이를 추천 합니다 (광고가 아니므로 개인적 으로이 사이트와 관련이 없습니다). 다이어그램을 살펴보고 살펴보십시오. 대부분 자체 설명이며 OOP 및 일반적으로 프로그램 설계 및 아키텍처를 알고있는 한 자신이 묘사 한 내용을 쉽게 이해할 수 있습니다.

이 페이지를 정확히 추천하는 이유는 무엇입니까? (의견에 묻는다)

내가 다른 것보다 더 좋아하는 데는 몇 가지 이유가 있습니다.

  1. 첫 페이지에 UML 다이어그램의 개요 테이블이 표시됩니다.
  2. 이 표에는 모든 UML2.0 다이어그램에 대한 간단한 설명과 함께 UML 초보 사용자가 가장 자주 사용하는 UML 다이어그램을 식별하는 데 도움이되는 매우 유용한 "학습 우선 순위"열이 있습니다.
  3. 그것뿐만 아니라 기계 렌더링도 포함되어 있지만, 대부분의 다이어그램 (아마 그들은 손으로 그린 것처럼 보일 수 있습니다 손으로 그린). 필자는 연필과 종이 만 사용하여 모델링을 수행 할 수 있다는 표시로 사용합니다. 처음에는 UML 시각화 소프트웨어를 탐구 할 필요가 없습니다.

이러한 권장 사항에 대한 경험에 대해 자세히 알아볼 수 있습니까? UML을 이해하는 데 도움이되었던 다른 사람이 아닌 그들에 대해?

1

O'Reilly의 UML 2.0 포켓 레퍼런스는 그보다 조금 더 상세하지만 필요한 것을 빨리 찾을 수있을만큼 작지만 필요할 때 여전히 설명이 있기 때문에 최선의 선택 일 것입니다. 그리고 그것은 최신입니다. 웹에서 찾은 "UML 치트 시트"또는 참조 카드의 경우에는 해당되지 않습니다. 주로 UML 1.x를 설명합니다.


이 책에 대한 경험에 대해 더 자세히 알아볼 수 있습니까? 다른 책이 아니라 UML을 이해하는 데 도움이 된 것은 무엇입니까?

@Mark Trapp : 주로 크기가 작기 때문에 세부 사항이나 특수한 경우에 빠지지 않고 모든 필수 요소를 빠르게 선택할 수 있습니다.
마이클 보그 워드

0

여기에는 세 부분이 있습니다.

  1. 공식적인 UML 레퍼런스 받기

    새로운 "언어"를 배울 때마다 책이든 온라인 자료이든 언제든지 꺼내서 사용할 수있는 참조를 얻으십시오. UML Distilled 는 작고 훌륭한 설명과 명확한 다이어그램이 많이 있습니다. 모든 기능을 사용하지 않더라도 항상 되돌아 가서 무언가를 표현하는 "올바른"방법을 살펴볼 수 있습니다.

  2. UML을 사용하여 사물 모델링

    이제 참조가 있으므로 사용하기 시작한 작은 기존 시스템 또는 시스템을 모델링하는 데 참조를 사용하십시오. 대부분의 상황에서 클래스 다이어그램, 시퀀스 다이어그램 및 상태 다이어그램을 고수하고 싶을 것입니다. 확실하지 않은 것이 있으면 참조로 이동하여 "올바른"사용법을 찾으십시오. 그래도 도움이되지 않으면 인터넷 검색을 시도하거나 스택 오버플로를 요청하십시오. 프로그래밍과 마찬가지로 연습이 핵심입니다.

  3. 실제 프로젝트에서 일부 UML 사용

    팀과 함께 UML을 사용하기 시작하면 구축하거나 구축 할 시스템을 이해하기위한 도구 일뿐입니다. 다이어그램을 작성하는 동안 여전히 참조를 확인해야하지만 규칙을 엄격하게 따르지 않고 정보를 전달하는 데 집중하십시오.

고등학교 작문 수업을 다시 생각해보십시오. 선생님은 아마도 "그리고" "그러나"또는 "또는"으로 문장을 시작하는 것이 죄악이라고 생각합니다. 더 많은 글을 쓰고 영어를 더 많이 통제할수록, 더 큰 효과를 내기 위해 규칙을 구부리는 방법을 배웠습니다. 올바른 접근 방식을 따르는 것에서 원하는 말을 가장 잘 전달하는 방법으로 전환했습니다. UML은 업계에서 정확히 같은 방식으로 사용해야합니다.


0

UML을 알고 있다면 모든 다이어그램에서 응용 프로그램의 다른 뷰를 제공한다고 말할 수 있습니다. 많은 책이 있습니다.

UML을 모른다면 가장 쉬운 방법은 기존 코드와 반대로 된 클래스 / 시퀀스 다이어그램 만 만드는 것입니다. 기존 코드를 UML로 바꾸고 클래스 / 시퀀스 다이어그램 내에 고유 한 메모를 추가하면됩니다. 클래스 다이어그램은 애플리케이션의 정적 뷰를 제공하고 시퀀스 다이어그램은 메소드 플로우 및 애플리케이션 동작을 설명합니다. UML 작업 완료 및 실수 없음 :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.