본문 바로가기

Book review

UML을 통해서 컴포넌트 기반 개발을 해보자 (객체지향 CBD 프로젝트)

3월 첫째주 였던 것으로 기억하는데
3주라는 기간동안 이 책을 읽고 서평을 남겨야 하는
막중한 과제를 받고서는 조금 걱정을 했습니다.
이 책하나에만 집중할 수 있는 상황이 아니었거든요 ^^;;
하지만 걱정과는 달리 상당히 재밌었습니다.

네 그렇습니다. 이 책이 바로 문제의 그 책입니다. (두둥)


서문과 찾아보기를 포함해서 1040페이지에 달하지만
이전에 채홍석님이 집필했던 [객체지향 CBD 개발 Bible] 보다는
책이 얇았습니다 (지금 다시 살펴보니 대략 300페이지나 차이가 나는군요... 어쩐지)
그래서 부담을 덜었었구요.
책장을 열고 나서 더더욱 긴장이 풀어져 버렸습니다.
이게 내용이 은근히 재밌습니다.

이것이 1300페이지를 넘는 괴물 책입니다. ㅎ


처음엔 부제목에 떡하니 달려있는 JAVA라는 키워드에 어려워했죠.
제가 JAVA 프로그래머도 아니라서 코드 읽는게 상당히 어렵거든요.
(아직도 잘 못읽지만 =ㅅ=)
하지만 UML이 더 큰 비중을 차지하고 있다는 것은 몇장만 넘겨도
명백히 드러나더군요 ^^

사실 UML 관련해서는 대학 다닐때 읽었던 책 외에는
딱히 본 기억이 없기 때문에 UML 2.0의 몇몇 다이어그램에 대해서는
그저 귀동냥으로 몇마디 들었을 뿐 상세히 들여다보거나
공부하려고 생각만 했지 아직까지 실행에 못 옮기고 있던 중 이었습니다.
이번 기회에 제대로 해볼 맘이 생겨버렸죠.
이 책 덕분에요.

책의 구성은 간단하면서도 명확합니다.
총 5개의 파트로 나눠져 있는데
개요 - 요구사항 정의 - 분석 - 설계 - 구현
으로 일반적인 개발 패턴과 같습니다.
따라서 순서에 따라 체계적인 작업을 옅볼 수 있죠.

목차

1장 UML 개요
2장 소프트웨어 개발 개요
3장 요구사항 정의 단계 개요
4장 유스케이스 모델의 작성
5장 유스케이스 상세화
6장 유스케이스 모델의 구조화
7장 유스케이스 모델의 조직화
8장 요구사항 정의 사례 - 도서관리시스템
9장 분석 단계 개요
10장 클래스 다이어그램
11장 분석 클래스 모델의 작성
12장 시퀀스 다이어그램
13장 분석 클래스 모델의 상세화
14장 분석 클래스 모델의 조직화
15장 분석 사례 - 도서관리시스템
16장 설계 단계 개요
17장 시스템 아키텍처 설계
18장 컴포넌트 다이어그램
19장 응용 아키텍처 설계
20장 컴포넌트 설계
21장 설계 사례 - 도서관리시스템
22장 구현 - 도서관리시스템

우선 개요 파트는 단순합니다.
UML과 소프트웨어 개발에 대해서 간략하게 소개를 합니다.
(말이 간략이지 페이지수는 100페이지를 넘어가죠 ㅎ)
이 부분에서 UML 다이어그램들을 전부 만나 볼 수 있습니다.
간단히 안녕안녕 인사하고 나면 두번째 파트에 도달하게 됩니다.

단계 별로 사용하는 다양한 다이어그램에 대한 소개페이지 입니다.


요구사항 정의 부분에서는 유스케이스 모델을 통한
작성법, 상세화, 구조화, 조직화 작업을 순차적으로 보여줍니다.
물론 작업이 이루어지는 순서 뿐만이 아니라
사례를 통해서도 실증을 보여줍니다.

사실 모든 파트의 구성은 동일합니다.
개요 - 다이어그램/모델의 작성 - 사례 분석
의 순서로 구성되어 있어서

전체적으로 구성이 꽉 차 있는 느낌이 들지요.
일반적인 이론보다는 사례를 통해서
더욱 몸소 느끼게 해주며,
단계 별 진행에 따라서 산출되는 산출물 들을 통해서
하나의 프로젝트를 처음부터 끝까지 진행하는 경험을
할 수 있게 해줍니다.


전 구현 단계는 가볍게 읽어 넘기기만 했습니다.
JAVA 코드를 읽으려면 많은 시간이 걸리기 때문에 피치 못할 선택이었죠.
따라서 구현 단계에 대해서 드릴 말씀은 없습니다만,
요구사항 정의/분석/설계 단계는 정말로 제가
경험하지 못한 부분을 대리 만족 하는데 대단한 도움이 되었습니다.

사실 UML을 통해서 커뮤니케이션이 얼마나 활발하게
이루어질 수 있을까, 또는 표현의 한계가 있지 않을까 라고 생각한적이 있습니다만,
신세계를 보고야 말았죠. +ㅁ+
OMG 활동에 참가해서 UML 표준을 만들고 싶다는 생각까지 들었다니깐요 ㅎ

이 책의 백미를 뽑자면
설계 파트라고 말씀드리고 싶습니다.

수집되고 분석된 결과물을 통해서
여러가지 사항을 고려하며
패턴이나 알고리즘에 효율성을 따져가며
체계적 설계를 진행하는 부분은
두 세번 읽어서 완전히 내것으로 만들고 싶다는 욕망을 타오르게 만듭니다 ^^
그만큼 재밌다는 말이죠.

한 분야의 책을 고집스럽게 만드는 작가의 마음을
헤아릴 수 있는 부분은 설계 파트 이지 않을까 싶습니다.

Visual Paradigm for UML on Windows


말이 너무 길어져서 재미 없으시겠네요.
개다가 반복되는 재밌다는 제 의견에도 질리시겠어요.
이쯤에서 정리하겠습니다.
정말 재밌습니다. 후회 하지 않으실 껍니다.
이 책을 통한 UML과 다이어그램을 그릴 수 있는
Visual Paradigm의 무료 버전 CE등에 대한 이야기는
다음 포스팅에서 다시 화두로 꺼내어 보겠습니다.

추천도 :: ★★★★★

[[이미지 출처]]
Yes24, 한빛미디어 홈페이지,
http://www.visual-paradigm.com/article/10reasons/windows.jsp