UML 적절하게 사용하기

15,043 views

Published on

Published in: Technology
1 Comment
57 Likes
Statistics
Notes
  • 좋은 자료 잘 보았습니다. StarUML로 작성할 경우 generate code로 직접 코드 생성 가능하여 초기 설계에 어느 정도 도움되지만, Unity와 같은 게임 프로젝트에는 오히려 Visual Studio에서 코드 직접 작성하는게 나은 것 같습니다.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
15,043
On SlideShare
0
From Embeds
0
Number of Embeds
1,040
Actions
Shares
0
Downloads
241
Comments
1
Likes
57
Embeds 0
No embeds

No notes for slide

UML 적절하게 사용하기

  1. 1. UML적절하게 사용하기.<br />http://ohyecloudy.com<br />http://cafe.naver.com/architect1<br />
  2. 2. Unified<br />Modeling<br />Language<br />소프트웨어의 개발에 관련된<br />설계뿐만 아니라 …<br />범용적인 목적<br />
  3. 3. Unified <br />Modeling<br />Language<br />도식graphical notation을<br />사용해서 모델을 표현한다.<br />
  4. 4. 모델model을<br />다이어그램diagram으로 <br />그리기 위해 사용하는<br />시각적인 표기법<br />
  5. 5. 왜? <br />모델을 만들어야 하는가?<br />
  6. 6. 건축가, <br />항공우주 엔지니어, <br />토목 엔지니어…<br />모델로<br />설계를<br />검사하는<br />비용<br />실제<br />물건을<br />만드는<br />비용<br />
  7. 7. 하지만<br />소프트웨어 개발에서는..<br />
  8. 8. 소프트웨어 개발자<br />?<br />모델로<br />설계를<br />검사하는<br />비용<br />실제<br />구현을<br />하는<br />비용<br />
  9. 9. UML을 효과적으로 사용<br />!<br />모델로<br />설계를<br />검사하는<br />비용<br />실제<br />구현을<br />하는<br />비용<br />
  10. 10. 효과적으로 사용하기<br />의사소통<br />로드맵road map<br />백엔드Back-end 문서<br />보관하거나 버리기<br />설계에 대한 토론에 편리<br />코드가 더 명확할 땐 코드로 토론<br />
  11. 11. 효과적으로 사용하기<br />의사소통<br />로드맵road map<br />백엔드Back-end 문서<br />보관하거나 버리기<br />코드를 읽는 것보다 클래스 의존관계 빨리 파악<br />전체 시스템에 대한 교육용 도구<br />핵심 다이어그램 몇 개면 충분하다<br />
  12. 12. 효과적으로 사용하기<br />의사소통<br />로드맵road map<br />백엔드Back-end 문서<br />보관하거나 버리기<br />던져 버리는 습관을 길러라.<br />단, 설계 모임에서 <br />반복적으로 나타나는 다이어그램을 보관하라.<br />
  13. 13. 언제<br />다이어그램을 그려야 하며 <br />언제<br />그리지 말아야 하는가<br />
  14. 14. 그려라<br />여러 사람을 이해시켜야 할 때<br />설계에 대한 의견이 다를 때<br />설계 아이디어로 이것저것 시도해보고 싶을 때<br />고객이 다이어그램을 요구할 때<br />
  15. 15. 그리지 마<br />다이어그램을 그리고 코딩 하는 룰<br />훌륭한 설계자는 다이어그램을 그린다는 생각이 든다면 그리지 마라. 훌륭한 설계자는 코드를 작성하며 다이어그램을 꼭 필요할 때만 그린다<br />코딩에 앞서 설계 단계의 포괄적인 문서를 만들기 위해서 다이어그램을 그리지 마라. <br />다른 사람에게 어떻게 코딩을 해야 할지 알려주기 위해 다이어그램을 그리지 마라. 설계만 하지 말고 실제 코딩에도 참여하라.<br />
  16. 16. UML은 도구일뿐<br />그 자체가 목적이<br />되어서는 안 된다<br />절제하라!<br />
  17. 17. UML<br />실전에서는<br />이것만 쓴다!<br />클래스 다이어그램class diagram<br />시퀀스 다이어그램sequence diagram<br />유스케이스usecase<br />객체 다이어그램 object diagram<br />상태 다이어그램 state diagram<br />에서도조금 빼먹고~<br />
  18. 18. 클래스 다이어그램<br />시퀀스 다이어그램<br />유스케이스<br />객체 다이어그램<br />상태 다이어그램<br />변수 타입<br />클래스 이름<br />클래스 변수<br />클래스 메서드<br />+ public<br /> - private<br /> # protected<br />인자 이름 : 타입<br />리턴타입<br />
  19. 19. 실전에서는<br />모든변수와 메서드를기록할 필요 없다.<br />중요한메서드만 기록한다.<br />규칙을 가지면 좀 더 읽기 쉽다.<br />연관은 가로, 상속은 세로<br />그룹 짓기<br />
  20. 20. 상속관계는 세로<br />클래스 스테레오 타입<br />연관관계는 가로<br />UI 구현<br />트랜잭션과 이것들의 행동<br />UI 인터페이스<br />
  21. 21. 집합aggregation <br />UML 2.0에서 삭제<br />합성composition<br />이 관계를 뚜렷하게 따져야 하는 경우는 얼마나 될까?<br />연관association 관계만으로도 충분하다.<br />
  22. 22. 클래스 다이어그램<br />시퀀스 다이어그램<br />유스케이스<br />객체 다이어그램<br />상태 다이어그램<br />객체<br />인자<br />메시지<br />리턴<br />생명선<br />
  23. 23. 실전에서는<br />큰 시퀀스 다이어그램을 그리지 마라<br />핵심만 집어서 작은 시퀀스 다이어그램을 여러 개 그려라<br />차이점보다 공통점을 찾아서 초점을 맞춰라<br />코드가 더 전달하기 쉬울 때도 있다<br />
  24. 24. 코드가 더 나을 때가 있다.<br />코드가 알아보기 쉬울까?<br />이 시퀀스 다이어그램이 알아보기 쉬울까?<br />
  25. 25. 클래스 다이어그램<br />시퀀스 다이어그램<br />유스케이스<br />객체 다이어그램<br />상태 다이어그램<br />그리지마!<br />
  26. 26. 실전에서는<br />유스케이스는내일이면 다 바뀐다.<br />단순하게 유지해라<br />빈 종이<br />워드프로세서<br />텅 빈 인덱스 카드<br />프리젠테이션할 때 멋진 표지로만 사용해라.<br />
  27. 27. 클래스 다이어그램<br />시퀀스 다이어그램<br />유스케이스<br />객체 다이어그램<br />상태 다이어그램<br />이 클래스 다이어그램의 스냅샷<br />
  28. 28. 마음의 눈에는 모든 오브젝트 이름에 밑줄이 그어져 있습니다.<br />활동적인 객체active object<br />객체<br />
  29. 29. 실전에서는<br />어떤 순간의 객체들과 그 객체 사이의 관계 그리고 속성 값을 보여준다.<br />시스템의 스냅샷<br />대부분 클래스 다이어그램에서 유추할 수 있다.<br />유추하기 힘들 때만 사용해라.<br />
  30. 30. 객체 다이어그램<br />클래스 다이어그램<br />시퀀스 다이어그램<br />유스케이스<br />객체 다이어그램<br />상태 다이어그램<br />상태state<br />이벤트<br />액션<br />
  31. 31. 실전에서는<br />유한 상태 기계(Finite State Machine)를 설명하기에 적합하다.<br />하위시스템의 상태 기계를 파악하는 일에 굉장한 도움이 된다.<br />다른 다이어그램과 마찬가지로 자주 변경해야 하는 시스템을 표현하기는 좋은 매체가 아니다.<br />로버트C. 마틴은 텍스트를 FSM으로 변환하는 프로그램을 짜서 쓴다.<br />
  32. 32. 결론<br />UML 언어 법률가가 되지 마라.<br />의사 소통의 수단으로 간단하게 사용해라.<br />
  33. 33. 절제! 절제! 절제!<br />
  34. 34. 참고<br />
  35. 35. 끝<br />UML 어떻게 <br />사용하고<br />계신가요?<br />

×