-
-
올바른 소프트웨어 설계
유발 로이 지음, 남기혁 옮김 / 영진.com(영진닷컴) / 2024년 8월
평점 :
엔지니어링 원칙을 적용하여 체계적인 소프트웨어 설계에 대한 내용을 소개하는 『올바른 소프트웨어 설계』
소프트웨어 설계를 직접 경험하거나 시도를 해본 것은 아니지만 업무를 수행하며 간접적으로 회사 내부에서 사용하는 프로그램이 완성되기까지의 과정을 처음부터 마지막 순간까지 지켜본 경험이 있어서인지 소프트웨어 설계에 대한 관심이 생겼고 그 관심으로 『올바른 소프트웨어 설계』 을 읽게 되었다.
전문 분야가 아니기에 소프트웨어와 프로그램은 동일시하게 생각되기 때문에 생각의 차이가 있을 수 있지만 프로그램을 만든다는 건 참으로 어려운 일인 거 같다. 심플한 요구 사항에서 출발한 프로그램은 진행되면서 점차 늘어가고 그와 동시에 구체화되는 모습들 그리고 처음에 계획했던 것과 다르게 하나의 프로그램이 여러 개의 프로그램으로 나뉘는 등 예상하지 못한 상황들까지. 완성도 있는 프로그램을 만들기는 과정은 참으로 녹록지 않았다. 회사 내부에서 사용하는 프로그램도 완성하기까지의 과정이 힘든데 하물며 다수의 회사 혹은 개인이 사용하는 소프트웨어를 개발한다는 건은 그보다 더 힘든 일이겠구나 하는 생각이 든다.
비전문가인 나도 이렇게 생각했던 만큼 전문가의 입장도 크게 다르지 않았던 거 같다.
『올바른 소프트웨어 설계』의 저자 유발 로이는 시스템 및 프로젝트 설계에 특화된 소프트웨어 아키텍트로서 수많은 프로젝트를 수행하며 많은 고민을 해왔고 그 고민의 끝에는 보다 많은 사람들이 실패하지 않고 완벽한 소프트웨어를 설계할 수 있도록 가이드하고 자 이 책을 집필한 게 아닐까 싶다.
『올바른 소프트웨어 설계』에서는 소프트웨어 설계 및 개발에서 발생할 수 있는 수많은 문제를 해결할 수 있도록 근본 원인을 파악하고 다차원적인 해결 방안을 제시하는 동시에 성공적인 프로젝트를 위해 반드시 필요한 두 가지 설계 즉, 시스템 설계와 프로젝트 설계를 각각 나누어 내용을 소개하고 있다. 이 책에서 흥미로운 점은 사람의 학습 과정을 흉내 내어 이전 장에서 설명한 내용을 반복하면서 점차 깊이 있는 내용을 다루어 개념을 발전시킬 수 있도록 나선형으로 진행되었다는 부분인데 책의 내용이 쉽지 않겠지만 소프트웨어 개발에 관심을 갖고 있는 다양한 독자층의 이해도를 높이기 위해 페이지 구성에 대해 고민하고 노력한 점이 마음에 든다.
소프트웨어 설계에 대한 전반적인 흐름과 세부 내용을 다룬 책인 만큼 책에는 이해하기 어려운 개념들도 있었지만 설계적인 측면에서 생각해 볼 만한 내용들은 꼭 전문가가 아니더라도 업무에 많은 도움이 될 거 같다는 생각이 든다. 혹은 개발자가 아니어도 업체에 의뢰를 맡길 때 책에 대한 내용들에 대해서 알고 있다면 시간과 비용을 효율적으로 활용하여 완성도 있는 시스템을 구축하는데 많은 도움이 될 거라고 본다.
전문가 입장에서 『올바른 소프트웨어 설계』을 읽었다면 좀 더 명쾌하고 멋지게 이 책을 읽어야만 하는 이유에 대해서 적을 수 있을 텐데 비전문가로서 마주하다 보니 간략한 소감으로만 전하게 되는 점이 아쉬움으로 남는다.
[출판사로부터 책을 무상으로 제공받았습니다]