이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제 청년패스
소프트웨어 설계의 정석
변화하는 기술 환경에서도 흔들리지 않는 설계의 기본 원칙
베스트
OS/데이터베이스 top20 2주
가격
29,000
10 26,100
YES포인트?
1,450원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  국내배송만 가능
  •  문화비소득공제 가능

이 상품의 태그

상세 이미지

책소개

목차

PART 1 입문 편

CHAPTER 1 첫 설계를 잘해내기 위해

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

PART 2 설계 편

CHAPTER 2 설계의 목적

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

CHAPTER 3 외부 설계 방법

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

CHAPTER 4 내부 설계 방법

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

PART 3 아키텍처 편

CHAPTER 5 아키텍처의 목적

_5.1 아키텍처란?

CHAPTER 6 아키텍처 설계 접근법

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

CHAPTER 7 정말 설계가 필요한가

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

저자 소개 2

요시하라 쇼자부로

관심작가 알림신청
 
IT 아키텍트로서 수많은 중요 시스템을 재구축한 후 IT 컨설턴트로 독립했다. 대형 자동차 회사의 글로벌 기간 시스템 재구축에 참여하는 등 엔터프라이즈 영역 시스템을 개발한 경험이 풍부하다. 이후에는 대형 출판사와 대형 물류 회사에 애자일 개발을 도입하는 등 애자일 개발도 실천하고 있다. 최근에는 여러 회사의 CTO와 임원을 역임하면서 비즈니스 혁신을 위한 개발자 조직 설립을 중심으로 활동하고 있으며, 2020년 (주)어퍼레일(UPPERRAIL)을 설립했다. 정보경영혁신전문대학(iU대학) 객원교수이기도 하다.
항상 자극과 도전을 찾는 10년 차 게임 기획자이다. 크래프톤, 앤더스 인터랙티브를 거치면서 다양한 장르의 게임을 개발했고 동시에 다양한 직군의 사람들과 협업해왔다. 현재는 인디 게임 개발에 몰두 중이다.

품목정보

발행일
2024년 09월 02일
쪽수, 무게, 크기
320쪽 | 153*223*20mm
ISBN13
9791169212625

출판사 리뷰

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


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

그렇다면 설계를 잘하기 위해서는 무엇이 필요할까요? 이 책에서는 세 가지를 제시하고 있습니다.

1. 설계의 목적을 정확하게 파악하기
2. 설계에 필요한 최소한의 기술 익히기
3. 명확하게 의사소통하기

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

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

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

이 책의 구성

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

대상 독자

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

추천평

‘소프트웨어 설계란 무엇일까?’라는 질문으로 시작해 과정과 결론에 이르기까지, 가벼운 듯하지만 설계의 전체적인 흐름을 간접적으로나마 깊게 느껴볼 수 있는 책입니다. 평소 설계 업무를 담당했던 고연차 개발자라면 이 책을 통해 소프트웨어 설계에 대한 다양한 관점과 사례들을 정리해볼 수 있습니다. 저연차 개발자라면 소프트웨어 설계를 하기에 앞서 과거의 내용과 현재의 흐름 그리고 앞으로 자신이 어떻게 설계에 접근해야 하는지에 대해 많이 고민해볼 수 있는 지침서 같은 역할을 할 것입니다. 이 책 한 권으로 소프트웨어 설계를 마스터할 수는 없겠지만 ‘정석’이라는 단어가 어울리는 책이라고 생각합니다. ‘설계’의 매력을 느껴보고 싶은 분에게 추천합니다. - 김동진 (한화정밀기계 PL)
소프트웨어 설계의 가장 기초적인 부분부터 시작해 점점 실무에 접근하는 방식으로 전개되는 흐름이 매우 만족스러웠습니다. 개발 연차가 쌓이면서 늘 설계와 개발의 방향성에 관한 고민이 많았는데 이 책을 통해 설계에 대한 지식을 쌓을 수 있었습니다. 설계를 배우고 싶은 개발자에게 한 걸음 더 나아갈 기회를 제공해줄 것입니다. - 김준성 (웹 개발자)
소프트웨어 설계의 기본 개념부터 객체지향 설계, 디자인 패턴, 시스템 아키텍처까지 폭넓게 다루고 있어 초보 개발자부터 경험이 풍부한 개발자까지 모두에게 유용합니다. 워터폴 방법론에 중점을 두면서도 애자일 방법론을 함께 소개하기 때문에 두 접근 방식을 고르게 이해할 수 있습니다. 특히 워터폴 방법론의 단계별 접근을 상세히 설명하며, 대규모 프로젝트나 안정성이 중요한 도메인에서의 적용 가치를 강조합니다. 요구사항 분석부터 유지보수까지 각 단계의 중요성과 산출물에 대한 명확한 설명도 돋보입니다. 애자일 방법론도 간략히 소개함으로써 현대 소프트웨어 개발 트렌드를 반영하고 두 방법론의 장단점을 비교해 적절한 방법론을 선택하기 위한 통찰을 제공합니다.

이 책은 소프트웨어 설계의 기본을 탄탄히 다지고자 하는 개발자와 전통적인 개발 방식을 선호하는 실무자에게 유익하며 모든 개발자가 읽어야 할 필독서입니다. - 박상길 (소프트웨어 엔지니어)
이 책은 대규모 시스템 개발의 복잡한 요구를 충족하기 위한 체계적인 설계 방법론을 소개합니다. 시스템 개발 전반에 대해 부분적인 기능 개발부터 대규모 시스템 설계에 이르기까지 구체적인 사례와 저자의 경험이 녹아 있습니다. 개발 경력을 쌓아가며 체계적인 설계를 배우고자 하는 개발자에게 많은 도움이 될 것입니다. 특히 이 책을 통해 체계적인 설계 방법론, 최신 기술과 프레임워크, 애자일 개발 적용 방법을 배울 수 있으며, 설계의 중요성을 인식하고 설계 능력을 키우는 데 필요한 지식과 기술을 습득할 수 있습니다. 많은 개발자가 이 책을 통해 설계의 중요성과 방법론을 이해하고 이를 실무에 적용하여 더 나은 시스템을 개발할 수 있을 것입니다. 개발자들에게 이 책이 소중한 지침서가 되기를 바라며, 진심을 담아 추천합니다. - 신건식 (펜타시큐리티)
SI회사에서 오랜 기간 일하면서 많은 프로젝트를 경험했습니다. 프로젝트는 보통 분석-설계-구현-테스트 등의 순서로 진행되었으며 이 가운데 설계가 프로젝트에 많은 영향을 주곤 했습니다. 당시 설계를 주로 담당하던 아키텍트들이 매우 인상적이었습니다. 이 책은 소프트웨어 설계에 대한 이론부터 소스코드까지 다양한 방면의 내용을 담고 있어, 설계에 관심이 있거나 아키텍트 직무를 지향하는 분들에게 많은 도움이 될 것입니다. - 이기하 (오픈플랫폼 개발자 커뮤니티 리더)
소프트웨어 개발 과정에서 분석, 설계, 개발의 명확한 개념을 파악하는 데는 상당한 시간이 필요합니다. 이 책은 ‘설계’에 초점을 맞춰 소프트웨어 개발 절차를 다루며 소프트웨어 개발의 본질을 이야기하고 있습니다. 소프트웨어를 만드는 것은 어디까지나 현실의 문제를 해결하기 위함입니다. 본질을 알아야 어떻게 소프트웨어를 만들지 설계할 수 있습니다. 이 책은 소프트웨어 설계의 본질을 다루고 있어서 소프트웨어 개발과 관련된 모든 분에게 ‘정석’이 될 것입니다. - 이충헌 (소프트웨어 아키텍트)
『소프트웨어 설계의 정석』은 소프트웨어 개발에 꼭 필요한 설계 원칙과 방법론을 체계적으로 정리한 책으로, 시간이 지나도 변함없이 가치 있는 내용을 담고 있습니다. 설계의 기본 원칙부터 고급 개념까지 폭넓게 다루며 특히 기능 구현에 익숙한 개발자들이 더 나은 설계 역량을 기를 수 있도록 돕는 데 중점을 두고 있습니다.

과거의 고전적인 지식과 현대의 실무 경험을 연결해주는 귀중한 가이드로서, 초보자부터 숙련된 개발자까지 모두에게 설계에 대한 깊이 있는 이해를 제공하며 보다 나은 시스템을 구축할 수 있도록 돕습니다. 이 책은 지침서로서 앞으로의 소프트웨어 개발 여정에 든든한 동반자가 될 것입니다. - 장회수 (CJ올리브영 리테일서비스개발팀장)
분석과 설계 역량을 기르고 싶은 개발자, 특히 설계 영역에 처음 발을 들이는 개발자에게 많은 도움이 될 책입니다. 표현도 딱딱하고, 어렵고, 두껍기만 한 소프트웨어공학 책으로 공부하기보다는 저자가 컨설턴트로서 현장에서 직접 겪은 다양한 실전 경험을 바탕으로 설계 이론과 현실 적용 방안을 알기 쉽게 잘 설명하고 있는 이 책으로 공부하는 것이 좋습니다. 설계 업무를 처음 접하는 모든 분이 쉽게 접근할 수 있는 책이라고 생각되며 관심 있는 분들이 꼭 읽어보길 추천합니다. - 전준규 (농협정보시스템)
건물을 지을 때 기초 공사가 가장 중요한 것처럼, 소프트웨어 설계나 언어 학습을 할 때에도 기초를 탄탄히 다지는 것이 중요합니다. 이 책은 소프트웨어 설계의 기초 지식을 자세하고 쉽게 설명해줍니다. 업무를 하다 보면 현재 방식이 맞는지 의문이 들 때가 있는데 그럴 때마다 이 책을 다시 꺼내 보게 될 것입니다. 주니어/시니어 개발자를 막론하고 설계, 분석, 개발에 대한 흔들림 없고 깊이 있는 지식을 쌓고 싶다면 이 책을 강력히 추천합니다. - 조민수 (코나아이 개발자)
한때 소프트웨어를 개발한다며 근거 없는 자신감에 설계고 뭐고 다 생략하고 바로 키보드에 손을 올리고 코딩을 시작하던 시절이 있었습니다. 결국 제가 작성한 코드는 일명 스파게티 코드가 되어 저조차 알아볼 수 없을 만큼 엉망진창 누더기 코드가 되어버렸습니다. 어설픈 소프트웨어 설계 과정이 얼마나 치명적인 결과를 초래할 수 있는지를 느끼게 해준 소중한 경험이었습니다. 소프트웨어 개발 프로세스에서 사용자 요구사항 분석을 기반으로 한 소프트웨어 설계 과정은 전체적인 소프트웨어 품질을 좌우하는 가장 핵심적인 부분입니다. 충분한 시간을 투자해 많은 부분을 고민하고 따져봐야 하는 어렵지만 중요한 분야입니다. 이 책은 정석이라는 이름에 걸맞게 이러한 설계 과정을 더욱 체계적으로 수행할 수 있도록 도와주는 많은 방법을 담고 있습니다. 소프트웨어 개발에 능통하고 소프트웨어가 비즈니스 목표에 부합하도록 만들 수 있는 설계적 전문가를 소프트웨어 아키텍트라 부릅니다. 이 책은 여러분을 소프트웨어 아키텍트의 길로 안내해줄 것입니다. - 최성욱 (삼성전자 VD사업부 Security Lab)
시스템 설계의 기초를 단계별로 다질 수 있는 내용으로 이루어져 있습니다. 기술이 발전됨에 따라 설계 방식은 지금과 다를 수 있지만 근간인 기본 원리는 변하지 않는다는 내용들로 구성되어 있습니다.

그뿐만 아니라 시스템을 설계하면서 고려해야 하는 요소와 개발 완료 이후, 서비스를 운영하면서 발생하는 유지보수까지의 모든 과정을 단계별로 설명해주고 있어 설계에 대한 지침서로도 추천할 만한 책입니다. 어렵지 않은 설명과 예시, 자료들로 구성되어 있어 설계에 첫발을 내딛는 분들이나 설계에 대해 어느 정도 이해하고 있지만 내실을 다지고 싶은 분에게 도움이 될 책입니다. - 최인주 (백엔드 개발자)
이 책은 주니어부터 시니어 개발자 모두에게 유용한 내용을 담고 있습니다. 요즘 개발 프로젝트에서 습관적으로 채택하는 반복형 개발과 점진적 개발의 차이도 설명하고, 당연하지만 놓치기 쉬운 소프트웨어 설계의 본질을 다루고 있습니다. 실제 개발에 적용 가능한 단계별 설계 과정, 단계별 중요성, 산출물까지 명확하게 설명하고 있어 설계에 대한 이해도를 높이는 데 도움이 됩니다. SI 업무를 하는 개발자가 공감할 부분이 많을 것입니다. 반면 인하우스에서 자체 플랫폼이나 서비스를 개발하는 경우 개발팀이 독립적으로 처리하는 영역이 많아 이상적인 내용이라고 느껴질 수도 있습니다. 하지만 이 책은 자칫 올드하다고 느낄 수 있는 설계 방식과 애자일이라는 이름으로 별도의 문서화 없이 코드에만 담겨 있는 설계에 대한 중요한 인사이트를 주는 책이기 때문에 많은 분에게 추천합니다. - 한경철 (Technical Program Manager)

리뷰/한줄평13

리뷰

9.8 리뷰 총점

한줄평

10.0 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정
26,100
1 26,100