소프트웨어 공학 이론과 실제
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

이 책은 소프트웨어 개발 프로젝트를 성공으로 이끄는 소프트웨어 엔지니어가 될 수 있도록 소프트웨어 공학 핵심 이론과 실무 적용을 충실하게 담은 지침서입니다. 실습을 통해 핵심 개념을 확실히 다지고 프로젝트를 통해 소프트웨어 개발 라이프사이클에 따라 점진적으로 단계별 활동을 수행할 수 있도록 다음과 같이 구성하였습니다.
※ 본 도서는 대학 강의용 교재로 개발되었으므로 연습문제 해답은 제공하지 않습니다.
작가정보
카이스트에서 전산학 박사 학위를 취득했습니다. 현재 충북대학교 소프트웨어학부 교수로 재직 중이며 소프트웨어지능공학 연구실을 운영하고 있습니다. 국방과학연구소에서 선임연구원으로 재직 시 국방 소프트웨어 개발 프로젝트에 참여하였으며, (주) 솔루션링크 기술연구소장으로 재직 시 소프트웨어 품질 및 소프트웨어 개발 방법에 대한 컨설팅을 수행하였습니다. 또한 삼성전자, LG전자, SK 텔레콤 등에서 소프트웨어 공학 관련 강의를 다수 진행하였습니다. 과학기술정보통신부의 국가기술지도 작성에 참여하였으며, 한국정보과학회 소프트웨어공학 소사이어티의 회장을 역임하였습니다.
목차
- Chapter 01 소프트웨어 공학 개요
01 소프트웨어 고장 사례
02 소프트웨어 위기
03 소프트웨어 공학 기술의 적용
1 소프트웨어 공학적 기법의 종류
2 소프트웨어 공학의 정의와 원리
연습문제
[프로젝트 I] 프로젝트 정의서 작성하기
Chapter 02 소프트웨어 품질
01 소프트웨어 품질의 중요성
02 소프트웨어 품질 요소
1 외적 품질 요소
2 내적 품질 요소
3 프로세스 품질
03 인공지능 소프트웨어 품질
1 전통적인 소프트웨어와의 차이점
2 인공지능 소프트웨어의 품질 특성
3 시스템 관점별 품질 요소
04 소프트웨어 품질 모델 및 표준
1 McCall의 FCM 모델
2 HP의 FURPS 모델
3 ISO 9126 품질 모델
4 ISO 25010 품질 모델
05 소프트웨어 품질 관리
1 정량적 품질 개선
2 정보 저장소
3 예측적 품질 관리
연습문제
[실습 2-1] 스테이크홀더Stakeholder의 기대치 식별하기
[실습 2-2] 새로운 품질 요소 설계하기
[프로젝트 II] 대상 시스템 품질 요소 추정하기
Chapter 03 소프트웨어 개발 프로세스
01 실현 가능성 분석
02 전통적인 소프트웨어 프로세스
03 애자일 및 XP 프로세스
1 신속한 소프트웨어 개발
2 애자일: XP 프로세스
3 애자일: 스크럼 프로세스
4 Chaos와 DevOps
04 소프트웨어 프로세스 개선
1 CMM과 CMMI
2 SPICE & A-SPICE
3 식스 시그마
4 기타 프로세스 표준
연습문제
[실습 3-1] 스크럼 이해하기
[실습 3-2] A-SPICE 생각해보기
[프로젝트 III] 프로세스 모델 선정하기
Chapter 04 DevOps
01 DevOps 개요
02 DevOps 프로세스와 프랙티스
1 DevOps 성공 전략
2 DevOps 프로세스
3 DevOps Toolchain
4 DevOps와 클라우드
5 DevOps 측정 척도
03 DevOps 변형들
1 DevSecOps
2 DevDataOps
3 BizDevOps
4 DevOps와 기술 부채
연습문제
[실습 4-1] 린 원리 적용하기
[실습 4-2] DevOps 도구 설치해보기
[실습 4-3] 용어의 의미 이해하기: 마이크로서비스
Chapter 05 프로젝트 관리
01 프로젝트 관리 필요성
1 프로젝트 관리의 정의
2 프로젝트 관리 단계
3 프로젝트 관리의 실패 원인
02 프로젝트 관리 기법
1 일정 관리 기법
2 비용 관리 기법
3 위험 관리
03 프로젝트 조직
1 프로젝트 팀 구조
2 전사적 운영 조직
04 프로젝트 관리 계획서
05 프로젝트 지원 도구
1 프로젝트 관리 기능
2 PMO 도구
3 엔지니어링 도구
연습문제
[실습 5-1] 작업 분할도 작성해보기
[실습 5-2] 팀 구성 방법 생각해보기
[프로젝트 IV] 프로젝트 관리 계획서 작성하기
Chapter 06 소프트웨어 비용 산정
01 기능 점수 개요
1 소프트웨어 비용과 기능 점수
2 기능 점수 구성 요소
02 기능 점수 산정 절차
1 단계 1: 기능 점수 산정 유형Type 결정
2 단계 2: 범위 및 경계Boundary 선정
3 단계 3: 데이터 기능 산출 및 복잡도 식별
4 단계 4: 처리 기능 산출 및 복잡도 식별
5 단계 5: 예비 기능 점수 산정
6 단계 6: 조정 인자 값 산출
7 단계 7: 최종 기능 점수 산출
03 정규법과 간이법
1 간이법 산정 절차
2 간이법 단계별 산정
04 기능 점수 활용
1 기능 점수와 프로그래밍 언어
2 기능 점수와 품질 척도
연습문제
[실습 6-1] 데이터 기능 산정하기
[실습 6-2] 조정 인자 값 산출을 위한 시스템 특성 평가하기
[실습 6-3] 간이법에 의한 데이터 및 처리 기능 카운트하기
[프로젝트 V] 프로젝트의 기능 점수 산정해보기
Chapter 07 요구사항 도출
01 요구사항 개요
02 요구사항 수집 기법
1 대면 수집 방법
2 비대면 수집 방법
03 요구사항 정의서 작성
연습문제
[실습 7-1].문서 편집기의 요구사항 정의 품질 분석하기
[실습 7-2] 요구사항 수집을 위한 인터뷰 질문 작성하기
[실습 7-3] 요구사항 정리해보기
[프로젝트 VI] 요구사항 정의서 작성하기
Chapter 08 객체지향 분석
01 객체지향과 UML
02 기능 모델링
1 기능 모델링 개요
2 유스 케이스 다이어그램
3 유스 케이스 설명서
03 구조 모델링
1 객체 식별
2 클래스 명세
3 클래스 다이어그램 작성
04 행위 모델링
1 순차 다이어그램 구성 요소
2 순차 다이어그램 작성
3 상태기계 다이어그램 작성
05 분석 산출물 점검
연습문제
[실습 8-1] SysML 알아보기
[실습 8-2] 클래스 다이어그램 작성해보기
[실습 8-3] 산출물 간의 일관성 점검해보기
[프로젝트 VII] 대상 시스템의 요구사항 분석하기
Chapter 09 모듈화 설계
01 모듈화 설계 개요
02 결합력의 이해
1 메시지 결합력Message Coupling
2 데이터 결합력Data Coupling
3 스탬프 결합력Stamp Coupling
4 제어 결합력Control Coupling
5 외부 결합력External Coupling
6 공유 결합력Common Coupling
7 내용 결합력Content Coupling
03 응집력의 이해
1 기능 응집력Functional Cohesion
2 순차 응집력Sequential Cohesion
3 교환 응집력Communicational Cohesion
4 절차 응집력Procedural Cohesion
5 시간 응집력Temporal Cohesion
6 논리 응집력Logical Cohesion
7 우연 응집력Coincidental Cohesion
04 모듈화 응용 기술
1 모듈화와 소모 전력Software Energy Consumption
2 모듈화와 기술 부채Technical debt
연습문제
[실습 9-1] 코드 개선을 통한 결합력 높이기
[실습 9-2] 코드 개선을 통한 응집력 높이기
Chapter 10 설계 패턴
01 설계 패턴 개요
02 생성 패턴
1 Abstract Factory
2 Builder
3 Factory Method
4 Prototype
5 Singleton
03 구조 패턴
1 Adapter
2 Bridge
3 Composite
4 Decorator
5 Facade
6 Flyweight
7 Proxy
04 행위 패턴
1 Chain of Responsibility
2 Command
3 Interpreter
4 Iterator
5 Mediator
6 Memento
7 Observer
8 State
9 Strategy
10.Template Method
11.Visitor
연습문제
[실습 10-1] 설계 패턴 적용하기
[프로젝트 VIII] 산출물에 설계 패턴 적용하기
Chapter 11 객체지향 설계
01 설계 원리
02 패키지 다이어그램
1 패키지 다이어그램 생성
2 계층화된 아키텍처 생성
03 자료 구조 설계
04 사용자 인터페이스 설계
1 인터페이스 설계 절차
2 인터페이스 클래스 설계
05 물리 구조 설계
1 배치 다이어그램 작성
2 기술 환경 명세
연습문제
[실습 11-1] 클래스 다이어그램에서 데이터베이스 스키마 설계하기
[실습 11-2] 시스템의 물리적 아키텍처 이해하기
[프로젝트 IX] 대상 시스템 설계하기
Chapter 12 인스펙션
01 인스펙션의 중요성
02 인스펙션 참여자
03 인스펙션 절차
1 스텝 1: 계획 활동
2 스텝 2: 오버뷰 활동
3 스텝 3: 준비 활동
4 스텝 4: 인스펙션 미팅 활동
5 스텝 5: 제3의 시간 활동
6 스텝 6: 재작업 활동
7 스텝 7: 후속 활동
8 인스펙션에 대한 평가
04 소프트웨어 리뷰 활동
연습문제
[실습 12-1] 산출물 오류 타입 정의하기
[프로젝트 X] 프로젝트 산출물에 대한 인스펙션 수행하기
Chapter 13 코딩
01 프로그래밍 언어 유형
02 좋은 코딩 기법
1 좋은 소프트웨어 코드의 6가지 공통점
2 좋은 코드 작성을 위한 규칙
03 코딩 가이드라인
1 MISRA-C 코딩 표준
2 시큐어 코딩
04 오픈 소스 기반 개발
1 오픈 소스 기반 개발 프로세스
2 오픈 소스 활용 시 주의 사항
3 오픈 소스 활용 환경
연습문제
[실습 13-1] 프로그래밍 언어 조사하기
[실습 13-2] 좋은 소프트웨어 코드의 특징 살펴보기
[실습 13-3] 내 코딩 스타일 되돌아보기
[실습 13-4] 오픈 소스 검색 도구 설치해보기
[프로젝트 XI] 프로젝트 대상 시스템 코딩하기
Chapter 14 화이트박스 테스트
01 테스트 개요
02 코드 기반 테스트 케이스 생성 기법
1 제어 흐름 그래프
2 경로 기반 테스트 케이스 생성
03 오류 기반 테스트
04 동적 심볼릭 테스트
1 기호 실행
2 콘콜릭 실행
연습문제
[실습 14-1] 제어 흐름 그래프 작성해보기
[실습 14-2] 선택 정렬 알고리즘에 대한 분기 커버리지 찾기
[프로젝트 XII] 프로젝트 개발 코드에 대하여 화이트박스 테스트 실행하기
Chapter 15 블랙박스 테스트
01 블랙박스 테스트 개요
02 기능 기반 테스트 케이스 생성 기법
1 동치 분할 기법
2 경계치 커버리지 분석
3 특수치 커버리지 분석
4 원인 결과 커버리지 분석
5 블랙박스 테스트 케이스 생성 예제
03 시나리오 기반 테스트
1 테스트 시나리오 생성 방법
2 테스트 시나리오 생성 예제
3 아웃라인 방법에 의한 테스트 케이스 생성
4 유스 케이스 방법에 의한 테스트 케이스 생성
04 테스트 단계
1 단위 테스트
2 통합 테스트
3 시스템 테스트
4 인수 테스트
5 회귀 테스트
연습문제
[실습 15-1] 동치 분할하기
[실습 15-2] 의사결정 테이블 생성해보기
[프로젝트 XIII] 프로젝트 개발 코드에 대하여 블랙박스 테스트 실행하기
Chapter 16 소프트웨어 개발 적용 기술
01 형상 관리
1 형상 관리 정의
2 형상 관리 절차
02 코드 리팩토링
3 관점지향 프로그래밍
4 탐색기반 소프트웨어 공학
1 탐색기반 소프트웨어 공학의 의미
2 탐색기반 소프트웨어 공학의 적용
연습문제
[실습 16-1] 형상 관리를 위한 산출물 이름 체계 정하기
[실습 16-2] 코드 리팩토링이 필요 없는 클린 코드의 조건 알아보기
[실습 16-3] 관점지향 프로그래밍에서 어드바이스 이해하기
[실습 16-4] 솔루션 탐색을 위한 유전 알고리즘 이해하기
Appendix 문서 틀
참고문헌
찾아보기
기본정보
ISBN | 9791156646020 | ||
---|---|---|---|
발행(출시)일자 | 2022년 06월 10일 | ||
쪽수 | 528쪽 | ||
크기 |
189 * 235
* 24
mm
/ 1029 g
|
||
총권수 | 1권 | ||
시리즈명 |
IT@CookBook
|
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립