UML이라는 걸 해야겠다는 생각이 들었다. 대부분의 실용서적은 늘 필요성을 느끼며 구매하게 되는 것 같다. 통합 모델링 언어(UML : Unified Modeling Language)는 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어다. 미술로 말하자면 스케치 정도 되려나? 코딩 언어를 사용하지 않고 윤곽을 만들어 내는 작업이라고 할 수 있다.
재미나게도 출판사 서평 첫 문장은 "이 책은 UML을 공부하려는 사람을 위한 책이 아니다" 다. 보고 재밌다고 생각했다. 그럼에도 UML 추천도서에는 늘 이 책이 있다. 서평 두 번째 문장은 "이 책은 UML을 사용하려는 사람을 위한 책이다"이다. 그렇다. 이 책은 실용적인 책이며 최소주의를 지향한다.
UML 관련 서적을 보면 어마어마한 두께를 자랑하는 책들이 있다. 저자 또한 그런 책들에 대해 얘기한다. 편하게 쓰려고 만든 것을 논문처럼 사용하게 된다고.. UML을 그리는 것은 그것 자체에 목적이 있는 것이 아니다. 빠르게 그리고 지우기를 반복하며 더 나은 모델을 만들기 위함이다. 그렇기 때문에 문서로 만드는 것이 아니라 칠판에 연습장에 마구 그리는 것을 추천한다. 여러 번 사용할 것이 아니면 문서로 만들지 말라고 한다. 펜과 종이 이상으로 편한 툴은 존재하지 않기 때문이다.
UML은 모든 것을 표시하는 것이 아니다. 해당 소프트웨어를 관통하는 개념만 만들어지면 된다. 간단하면 간단할수록 좋다. 그리고 소프트웨어의 목적에 따라 디테일도 달라야 한다. 간단한 소프트웨어는 굳이 UML을 그릴 필요도 없다. 핵발전소 같은 경우는 꼼꼼하게 만들어야 한다. 목적에 맞게 진행해야 한다. 속도와 유연함이 무기인 시대가 아닌가.
UML을 처음으로 제대로 공부하자고 생각한 나에게 이 책은 유용했다. 상황에 따라 그려야 하는 다이어그램을 설명해 준다. 유스케이스에 대해서도 설명한다. 모든 챕터에서 한결 같이 얘기하는 것은 한번 가볍게 그려 보라는 것이다. 모든 것을 다 그려낼 수도 없고 그래서도 안된다. 소프트웨어 문서는 가벼울수록 가치가 있다. 문서는 계속해서 그리게 되는 다이어그램 정도로 자주 쓰일 때만 문서로 만드는 것이라 했다.
책은 ODD(객체 지향 개발)의 원칙과 XP에 대해서 얘기한다. 그리고 가장 좋았던 것이 커피 메이커를 이용한 실전 예제라고 할 수 있다. 사물 위주로 다이어그램을 짜는 것이 아니라 스토리를 중심으로 짜야한다. 소프트웨어 설계는 이공계 지식보다 문학적인 측면이 있다는 어느 고수분의 이야기가 생각이 났다.
모두 이해할 수는 없었지만 차근차근 실제 프로젝트에 대입하다 보면 나도 잘 해낼 수 있을 것 같다는 생각이 들었다. 얇고 좋은 책이 많지 않은데, 이 책은 좋은 책이라고 할 수 있다.
책은 JAVA로 되어 있지만 마지막 예제 빼곤 코드 자체가 거의 등장하지 않고 샘플 예제도 충분히 자신이 사용하는 언어로 변환할 수 있다.
'독서 (서평+독후감) > IT | 기술 | 공학' 카테고리의 다른 글
(서평) 된다! 하루 만에 끝내는 챗GPT 활용법 (프롬프트 크리에이터) - 이지스퍼블리싱 (0) | 2024.02.13 |
---|---|
(서평) Release의 모든 것 (마이클 나이가드) - 한빛미디어 (1) | 2023.12.27 |
소프트웨어 스펙의 모든 것 (김익환, 전규현) - 한빛미디어 (1) | 2023.12.11 |
이것이 취업을 위한 코딩 테스트다 with 파이썬(나동빈) - 한빛미디어 (0) | 2023.11.29 |
파이썬을 활용한 나만의 RPA 만들기 (안정국) - 삼일인포마인 (1) | 2023.11.29 |