“앞으로개발자는큰시스템을처음부터개발할수있는개발자와
큰시스템의일부기능만개발할수있는개발자로나뉠것입니다.
그차이는‘설계를할수있느냐없느냐’에달려있습니다.”
설계는좋은프로그램을작성하기위한기술입니다.시스템개발과정에서업무분석과요구사항정의단계에서는업무와실제세계를표현하고,구현단계에서는컴퓨터가이해할수있는프로그래밍언어와비트의세계를다룹니다.이두세계를연결해주는것이바로설계입니다.따라서더나은시스템을위해서는올바른소프트웨어설계가필요합니다.
그렇다면설계를잘하기위해서는무엇이필요할까요?이책에서는세가지를제시하고있습니다.
설계의목적을정확하게파악하기
설계에필요한최소한의기술익히기
명확하게의사소통하기
설계에필요한최소한의지식으로는유스케이스모델,개념모델,데이터베이스설계,아키텍처설계를다룹니다.객체지향과통합모델링언어(UML)가기본기술이라면이러한지식은응용기술에해당합니다.
객체지향이나UML입문자를위한책을읽어도실제로어떻게활용해야할지모르는분도많을것입니다.이책에서다루는응용기술에대한설명은객체지향이나UML과같은기본기술을다지는데에도도움이됩니다.
『소프트웨어설계의정석』은소프트웨어개발에꼭필요한설계원칙과방법론을체계적으로정리한책입니다.저자의실전경험을바탕으로설계이론과실제적용방안을알기쉽게설명하고있습니다.현재의방식이앞으로도계속될것이라고단언할수는없지만근간이되는기본원리는변하지않습니다.개발자로서중요한것은기본원리를이해하고다양한응용기술을배우는것입니다.설계,분석,개발에대한흔들림없는지식을쌓고싶은분들에게꼭필요한책입니다.
이책의구성
입문편:커리어를쌓기위해필요한역량과설계역량의관계를설명합니다.
설계편:설계의목적,설계에필요한최소한의기술,설계커뮤니케이션에대해알아봅니다.
아키텍처편:설계편에서기초를익힌사람이난도가높은시스템도설계할수있도록아키텍처라는개념을설명합니다.아키텍처를배우는것은아키텍트로서커리어를쌓는데도움이됩니다.
대상독자
소프트웨어설계가무엇인지전반적인흐름을알고싶은분
소프트웨어설계경험은있지만기초부터다시공부하고싶은분
SI로이직을고민하고있는분
아키텍트를지향하는분