• 베스트
  • 소득공제
  • 무료배송

소프트웨어 공학 이론과 실제

  • 홍장의
  • 한빛아카데미
  • 2022년 06월 10일
사용자 평점
0리뷰 0개
0%33,000원33,000원
적립금
990원 (3% 적립)
추가 적립 안내
  • 5만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

  • 10만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

    정가제FREE(상품/사은품) 금액이
    5,000원 이상이면 5,000원 추가적립

회원가입 시 적립금 즉시 지급!

배송비
무료 (해외배송의 경우 지역에 따라 상이)

배송안내

배송비 안내
  • 1만원 이상 주문 시 무료배송 입니다.
  • 주문하신 상품을 해외로 배송 하시는 경우에는 별도의 항공료 가 부과됩니다
서울특별시 강남구 강남대로 542(논현동, 영풍빌딩)
주문 수량 변경시 안내

[주문/배송] 주문 수량 변경 시 안내

주문 수량 변경 시,배송일정이 변경될 수 있으니 반드시 확인해 주시기 바랍니다.
(고객센터 1544-9020)

지금 주문하면 9/30(수) 출고 가능
택배보다 빠른, 나우드림
상품 규격 정보
상품상세정보
ISBNISBN-13 : 9791156646020
쪽수528쪽
크기기타 규격
제품구성단행본
이 책이 속한 분야
  • 컴퓨터/IT > 시스템공학
관련 이벤트

AI추천 이유

책 소개
34개 실습과 13개 프로젝트로 배운다!

품질 좋은 소프트웨어를 개발하려면 실효성 있는 방법론과 우수한 도구도 필요하지만, 그보다 더 중요한 것은 지식과 기술을 겸비한 우수한 소프트웨어 엔지니어입니다.

이 책은 소프트웨어 개발 프로젝트를 성공으로 이끄는 소프트웨어 엔지니어가 될 수 있도록 소프트웨어 공학 핵심 이론과 실무 적용을 충실하게 담은 지침서입니다. 실습을 통해 핵심 개념을 확실히 다지고 프로젝트를 통해 소프트웨어 개발 라이프사이클에 따라 점진적으로 단계별 활동을 수행할 수 있도록 다음과 같이 구성하였습니다.
※ 본 도서는 대학 강의용 교재로 개발되었으므로 연습문제 해답은 제공하지 않습니다.

목차
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 문서 틀

저자 소개
저자 : 홍장의

    도서리뷰

    이 책을 읽고 어떤 느낌을 받으셨나요?
    리뷰를 남기고 다른 독자들과 함께 공유해보세요.

    안내 열기구매(배송/수령완료) 후 리뷰를 작성하시면 적립금 300원을 드려요!

    등록된 리뷰가 없습니다

    첫번째 리뷰어가 되어주세요

    교환/반품/환불
    반품/교환방법
    • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
    • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
    반품/교환 가능기간
    • 변심반품의 경우 수령 후 7일 이내
    • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
    반품/교환비용
    • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
    반품/교환 불가 사유
    • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
      예) 만화, 잡지, 수험서 및 문제집류
    • 복제가 가능한 상품 등의 포장을 훼손한 경우
      예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
    • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
    • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
    • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    상품 품절
    • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
    소비자 피해보상
    환불지연에 따른 배상
    • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
    • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    매장에서 사용할 수 있는 바코드가 있어요!