소프트웨어 설계의 정석 : 변화하는 기술 환경에서도 흔들리지 않는 설계의 기본 원칙
Description
기능 구현을 넘어 전체 시스템을 조망하며 설계 역량을 강화하는 방법
설계는 구현을 위한 준비 작업입니다. 즉 기능을 구현하기 위해서는 올바른 설계가 필요합니다. 이 책은 유스케이스 분석, 개념 모델링, 시스템 아키텍처 등 소프트웨어 설계에 필요한 이론을 폭넓게 다룹니다. 부분적인 기능 개발에서 시스템 설계에 이르기까지의 과정을 구체적인 사례와 함께 설명합니다. 소프트웨어 설계 경험이 많은 고연차 개발자라면 설계에 대한 다양한 관점과 사례들을 정리하고 개발 방식을 되돌아보는 계기가 될 것입니다. 경험이 적은 저연차 개발자라면 과거와 현재의 설계를 알아보고 설계 과정 전반을 경험하며 기본을 다질 수 있습니다. 이 책이 소프트웨어 설계 기본 원리를 익히는 데 주춧돌 역할을 할 것입니다.
저자

요시하라쇼자부로

저자:요시하라쇼자부로
IT아키텍트로서수많은중요시스템을재구축한후IT컨설턴트로독립했다.대형자동차회사의글로벌기간시스템재구축에참여하는등엔터프라이즈영역시스템을개발한경험이풍부하다.이후에는대형출판사와대형물류회사에애자일개발을도입하는등애자일개발도실천하고있다.최근에는여러회사의CTO와임원을역임하면서비즈니스혁신을위한개발자조직설립을중심으로활동하고있으며,2020년(주)어퍼레일(UPPERRAIL)을설립했다.정보경영혁신전문대학(iU대학)객원교수이기도하다.

역자:이해영
항상자극과도전을찾는10년차게임기획자이다.크래프톤,앤더스인터랙티브를거치면서다양한장르의게임을개발했고동시에다양한직군의사람들과협업해왔다.현재는인디게임개발에몰두중이다.

목차


PART1입문편

CHAPTER1첫설계를잘해내기위해

_1.1설계자로가는길
_1.2개발자로서느끼는보람
_1.3개발자의커리어

PART2설계편

CHAPTER2설계의목적
_2.1무엇을설계할것인가
_2.2개발프로젝트를진행하는방법
_2.3개발프로세스선택과진행
_2.4설계의목적
_2.5나쁜설계
_2.6설계접근법

CHAPTER3외부설계방법
_3.1외부설계란?
_3.2필요한업무지식
_3.3유스케이스분석
_3.4개념모델링
_3.5화면설계
_3.6외부시스템I/F설계
_3.7Batch설계
_3.8장표설계
_3.9데이터베이스논리설계
_3.10NoSQL데이터베이스설계
_3.11비기능요구사항정의및시스템설계
_3.12시스템인프라설계및배치설계

CHAPTER4내부설계방법
_4.1내부설계란?
_4.2화면프로그램설계
_4.3비즈니스로직프로그램설계
_4.4데이터베이스프로그램설계
_4.5데이터베이스물리설계
_4.6테스트를위한설계
_4.7개발환경구축
_4.8개발표준수립

PART3아키텍처편

CHAPTER5아키텍처의목적
_5.1아키텍처란?

CHAPTER6아키텍처설계접근법
_6.1업무애플리케이션에대한통찰력
_6.2객체지향설계
_6.3서브시스템분할
_6.4레이어
_6.5처리공통화(DRY)
_6.6설계및프로그램추적성
_6.7의존성주입
_6.8마이크로서비스

CHAPTER7정말설계가필요한가
_7.1다시새기는설계의의미
_7.2설계가필요없는이유
_7.3설계의미래

출판사 서평

“앞으로개발자는큰시스템을처음부터개발할수있는개발자와
큰시스템의일부기능만개발할수있는개발자로나뉠것입니다.
그차이는‘설계를할수있느냐없느냐’에달려있습니다.”

설계는좋은프로그램을작성하기위한기술입니다.시스템개발과정에서업무분석과요구사항정의단계에서는업무와실제세계를표현하고,구현단계에서는컴퓨터가이해할수있는프로그래밍언어와비트의세계를다룹니다.이두세계를연결해주는것이바로설계입니다.따라서더나은시스템을위해서는올바른소프트웨어설계가필요합니다.

그렇다면설계를잘하기위해서는무엇이필요할까요?이책에서는세가지를제시하고있습니다.
설계의목적을정확하게파악하기
설계에필요한최소한의기술익히기
명확하게의사소통하기

설계에필요한최소한의지식으로는유스케이스모델,개념모델,데이터베이스설계,아키텍처설계를다룹니다.객체지향과통합모델링언어(UML)가기본기술이라면이러한지식은응용기술에해당합니다.

객체지향이나UML입문자를위한책을읽어도실제로어떻게활용해야할지모르는분도많을것입니다.이책에서다루는응용기술에대한설명은객체지향이나UML과같은기본기술을다지는데에도도움이됩니다.

『소프트웨어설계의정석』은소프트웨어개발에꼭필요한설계원칙과방법론을체계적으로정리한책입니다.저자의실전경험을바탕으로설계이론과실제적용방안을알기쉽게설명하고있습니다.현재의방식이앞으로도계속될것이라고단언할수는없지만근간이되는기본원리는변하지않습니다.개발자로서중요한것은기본원리를이해하고다양한응용기술을배우는것입니다.설계,분석,개발에대한흔들림없는지식을쌓고싶은분들에게꼭필요한책입니다.

이책의구성
입문편:커리어를쌓기위해필요한역량과설계역량의관계를설명합니다.
설계편:설계의목적,설계에필요한최소한의기술,설계커뮤니케이션에대해알아봅니다.
아키텍처편:설계편에서기초를익힌사람이난도가높은시스템도설계할수있도록아키텍처라는개념을설명합니다.아키텍처를배우는것은아키텍트로서커리어를쌓는데도움이됩니다.

대상독자
소프트웨어설계가무엇인지전반적인흐름을알고싶은분
소프트웨어설계경험은있지만기초부터다시공부하고싶은분
SI로이직을고민하고있는분
아키텍트를지향하는분