간편결제, 신용카드 청구할인
삼성카드 6% (27,360원)
(삼성카드 6% 청구할인)
인터파크 롯데카드 5% (27,650원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (20,370원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (23,280원)
(최대할인 4만원 / 2만원 이상 결제)
Close

소프트웨어 공학의 모든 것

소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 3,342
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

30,000원

  • 29,100 (3%할인)

    300P (1%적립)

할인혜택
적립혜택
  • I-Point 적립은 출고완료 후 14일 이내 마이페이지에서 적립받기한 경우만 적립됩니다.
  • 추가혜택
    배송정보
    •  당일배송을 원하실 경우 주문시 당일배송을 선택해주세요.
    • 서울시 강남구 삼성로 512변경
    • 배송지연보상 안내
    • 무료배송
    • 해외배송가능
    주문수량
    감소 증가
    • 이벤트/기획전

    • 연관도서

    • 사은품(7)

    출판사 서평

    프로그래머가 소프트웨어 엔지니어 되는 모든 것

    이 책은 한 마디로 프로그래머를 소프트웨어 엔지니어 되게 하는 모든 것을 담고 있다. 프로그래머는 단순히 코딩에 머무르지만 소프트웨어 엔지니어는 개발 모든 과정을 이해하고 수행할 능력을 갖추고 있다.

    만질 수 없고 복잡하며 변경이 많은 소프트웨어를 여러 사람이 협력하여 만드는 것은 빌딩을 건축하는 것과 같이 엔지니어링이 필요하다. 엔지니어링이란 절차와 방법, 설계, 테스트, 품질 등의 원리를 잘 이해하고 적용하여 실패 없이 작업할 수 있는 능력을 의미한다. 소프트웨어 시스템은 개인의 코딩 역량만으로는 만들기 어렵다.

    이 책은 대학 3~4학년을 대상으로 소프트웨어 설계, 개발, 운영에 관한 기초 지식을 배울 수 있도록 설명하고 있다. 소프트웨어 공학 지식체계(SWEBOK)에서 제시하는 다음과 같은 기본 사항을 모두 커버한다.

    • 소프트웨어 설계, 개발, 운영에 관한 전체 그림을 이해할 수 있는 생명주기와 개발 프로세스
    • 소프트웨어 개발 계획, 개발 과정을 파악하고 제어하는 프로젝트 관리
    • 사용자의 요구를 파악하고 분석하여 명세하는 기법
    • 다양한 관점으로 소프트웨어를 모델링하는 기법
    • 기본적인 소프트웨어 설계 원리와 개념
    • 소프트웨어의 골격인 아키텍처 설계와 객체지향 프로그램의 설계 패턴
    • 품질을 높이기 위한 코딩 방법과 다양한 테스트, 검증 기법
    • 소프트웨어 품질 개념과 품질을 높이기 위한 품질보증 활동, 제품 측정 및 프로세스 개선

    다양하고 방대한 소프트웨어 엔지니어링 기법을 익히려면 기본 개념을 잘 이해하여야 한다. 프로그래밍으로부터 출발하여 설계와 모델링, 프로세스, 관리 등 어려운 개념들을 그림과 함께 쉽고 체계적인 방법으로 설명하였다.

    이 책에서는 최신 프로그래밍 언어를 사용하여 소프트웨어를 개발하는 절차와 방법, 도구를 설명한다. 특히 설계와 모델링 표현 방법으로 UML과 프로그래밍 과정에 유용하게 적용할 수 있는 디자인 패턴, 부담스러운 문서 작업은 줄이고 코딩과 테스트 중심으로 소프트웨어를 개발하는 애자일 프로세스를 소개한다.

    예상 독자는 대학에서 전공과목을 수강하는 학생뿐만 아니라 산업 현장에서 일하면서 직무 능력을 향상시키려는 엔지니어도 포함된다. 개념과 기초 이론으로부터 실무에 적용될 수 있는 방법과 도구, 절차, 보고서 양식, 테스트 등을 구체적인 사례를 들어 설명하였다.

    이 책은 25년 동안 대학에서 소프트웨어 공학을 가르치고 산업체와 연구소를 컨설팅한 경험을 바탕으로 집필한 최적의 텍스트다. 소프트웨어 공학에서 다루는 여러 가지 이론과 방법, 도구들 중에서 개발자가 알아야 할 최신 기술을 엄선하였다. 따라서 이 책 한 권으로 기초 개념의 이해뿐만 아니라 국제적인 수준의 소프트웨어 공학 기술 습득, 각종 자격 및 취업 시험을 준비할 수 있다.

    강의 로드맵

    크고 복잡한 소프트웨어 시스템을 구축하는 것은 히말라야 산을 등반하는 것과 같다. 위험이 많은 높은 산을 정복하려면 미리 등반 루트를 잘 알아야 합니다. 소프트웨어 공학을 정복하는 루트는 학습 목적에 따라 다르게 구성할 수 있다.

    빠르게 변화하는 IT 기술 환경에 대처할 수 있도록 교육하려면 등반 루트를 소개하는 것뿐만 아니라 상황에 따라 루트를 선택하고 집중하여 문제를 대처할 수 있도록 가르쳐야 한다.

    세 가지 로드맵

    1) 소개 수준의 강의 – 개발 프로세스, 요구 분석과 설계에 집중하고 테스트, 유지보수 기술을 소개한다. 개념과 원리의 설명 위주로 강의하고 연습 문제나 간단한 실무 문제를 과제로 부여한다. 프로젝트 관리는 뒤로 미룬다.

    ∙개요
    1주: 소프트웨어 공학 소개
    2주: 프로세스와 방법론

    ∙소프트웨어 설계와 구현
    3주: 요구 분석
    4주: 정적 모델링
    5주: 동적 모델링
    6주: 설계 원리
    7주: 아키텍처 설계
    <중간시험>
    9주: 디자인 패턴
    10주: UI 설계
    11주: 코딩

    ∙검증과 유지보수
    12주: 테스트
    13주: 유지보수
    14주: 소프트웨어 품질
    15주: 프로젝트 계획과 관리

    2) 프로젝트 병행 강의 – 개발 프로세스를 경험하기 위하여 프로젝트를 병행하는 강의는 프로젝트 계획과 관리를 포함하여 책의 순서대로 진행한다. 분석 및 설계 문서와 테스트 계획서의 목차를 참고로 여러 기법들을 적용하는 프로젝트를 병행한다.

    ∙프로젝트 개요
    1주: 소프트웨어 공학 소개
    2주: 프로세스와 방법론
    3주: 프로젝트 계획과 관리

    ∙분석, 설계, 구현
    4주: 요구 분석
    5주: UML 개요와 정적
    모델링, 도구
    6주: 동적 모델링
    7주: 설계 원리
    <중간시험>
    9주: 아키텍처 설계
    10주: 디자인 패턴
    11주: UI 설계
    12주: 코딩

    ∙검증과 유지보수
    13주: 테스트
    14주: 유지보수
    15주: 소프트웨어 품질

    3) 단기 기술 강의 - 신입사원 연수나 최신 소프트웨어 개발 및 관리 기법을 짧은 기간에 강의하는 경우 다음 두 가지 수준으로 강의할 수 있다.

    ∙객체지향 분석과 설계
    1hr: 프로세스와 방법론
    2hr: 요구 분석, 유스케이스 모델링
    3hr: 정적 모델링
    4hr: 동적 모델링

    5hr: 설계 원리
    6hr: 아키텍처 설계
    7hr: 테스트와 검증
    8hr: 도구와 설계 사례

    ∙관리와 응용
    1hr: 소프트웨어 공학 소개
    2hr: 프로세스와 방법론
    3hr: 프로젝트 관리와 계획
    4hr: 품질 관리

    목차

    CHAPTER 01 소개
    1.1 소프트웨어
    1.1.1 소프트웨어의 종류
    1.1.2 시스템
    1.2 소프트웨어 개발 작업
    1.2.1 기본 활동
    1.2.2 개발 작업의 특징
    1.3 소프트웨어 공학의 접근법
    1.3.1 소프트웨어 공학의 정의
    1.3.2 소프트웨어 공학의 목표
    1.4 소프트웨어 공학의 주제
    1.4.1 단계적 프로세스
    1.4.2 품질 보증
    1.4.3 프로젝트 관리
    1.5 연관 분야
    1.5.1 연관 지식 영역
    1.5.2 소프트웨어 공학과 컴퓨터 과학
    ■연습문제

    CHAPTER 02 프로세스와 방법론
    2.1 소프트웨어 생명주기
    2.2 프로세스
    2.2.1 프로세스 종류
    2.2.2 프로세스 정의
    2.2.3 좋은 프로세스의 특성
    2.3 프로세스 모델
    2.3.1 폭포수 모델
    2.3.2 프로토타이핑 모델
    2.3.3 나선형 모델
    2.3.4 진화적 모델
    2.3.5 Unified Process
    2.3.6 애자일 프로세스
    2.4 지원 프로세스
    2.4.1 관리 프로세스
    2.4.2 품질보증 프로세스
    2.4.3 형상 관리 프로세스
    2.5 방법론
    2.5.1 구조적 방법론
    2.5.2 정보공학 방법론
    2.5.3 객체지향 방법론
    ■연습문제

    CHAPTER 03 프로젝트 계획과 관리
    3.1 프로젝트 시작
    3.1.1 프로젝트 가치
    3.1.2 프로젝트 리스크
    3.1.3 타당성 분석
    3.2 프로젝트 계획과 스케줄링
    3.2.1 목표 설정
    3.2.2 프로젝트 범위
    3.2.3 WBS
    3.2.4 스케줄링
    3.3 비용 예측 기법
    3.3.1 COCOMO-81
    3.3.2 COCOMO II
    3.3.3 기능 점수
    3.4 프로젝트 팀 조직
    3.4.1 팀 역할
    3.4.2 직능별 조직
    3.4.3 프로젝트별 조직
    3.4.4 매트릭스 조직
    3.4.5 애자일 조직
    3.5 실행과 모니터링
    3.5.1 프로젝트 실행
    3.5.2 프로젝트 모니터링
    3.5.3 번다운 차트
    3.6 리스크 관리
    3.6.1 리스크 파악
    3.6.2 리스크 평가
    3.6.3 리스크 관리
    ■연습문제

    CHAPTER 04 요구 분석
    4.1 요구
    4.1.1 기능 요구
    4.1.2 비기능 요구
    4.1.3 요구 대상에 의한 분류
    4.2 요구 추출
    4.2.1 요구 정보 출처
    4.2.2 고객의 발표
    4.2.3 문헌 양식 조사
    4.2.4 인터뷰
    4.2.5 설문
    4.2.6 브레인스토밍
    4.2.7 프로토타이핑
    4.3 요구 분석
    4.3.1 요구 품질
    4.3.2 도메인 분석
    4.3.3 시나리오 기반 분석
    4.4 유스케이스
    4.4.1 유스케이스 다이어그램
    4.4.2 유스케이스 명세
    4.4.3 유스케이스 사이의 관계
    4.5 요구 명세
    4.5.1 작성 방법
    4.6 요구 검증
    ■연습문제

    CHAPTER 05 요구 모델링
    5.1 모델링 기초
    5.1.1 관점과 추상화 수준
    5.1.2 소프트웨어와 모델링
    5.1.3 모델 사이의 관계
    5.2 UML
    5.2.1 UML 역사
    5.2.2 UML 다이어그램
    5.2.3 모델링 과정
    5.3 정적 모델링
    5.3.1 객체지향 개념
    5.3.2 클래스 다이어그램
    5.4 동적 모델링
    5.4.1 시퀀스 다이어그램
    5.4.2 협동 다이어그램
    5.4.3 상태 다이어그램
    5.5 제어 모델링
    5.6 모델 검증
    ■연습문제

    CHAPTER 06 설계 원리
    6.1 설계 기본 개념
    6.1.1 서브시스템, 모듈
    6.1.2 설계 관점
    6.1.3 설계 작업 과정
    6.2 품질 목표
    6.3 전통적인 설계 원리
    6.3.1 추상화
    6.3.2 캡슐화
    6.3.3 모듈화
    6.3.4 결합
    6.3.5 응집
    6.4 객체지향 설계 원리
    6.4.1 인터페이스와 구현의 분리
    6.4.2 단일 책임의 원리
    6.4.3 개방 폐쇄의 원리
    6.4.4 리스코프 교체의 원리
    6.4.5 인터페이스 분리의 원리
    6.4.6 의존 관계 역전의 원리
    6.5 설계 메트릭
    6.5.1 전통적인 메트릭
    6.5.2 객체지향 메트릭
    ■연습문제

    CHAPTER 07 아키텍처 설계와 패턴
    7.1 아키텍처 기초
    7.1.1 아키텍처란?
    7.1.2 아키텍처의 역할
    7.1.3 아키텍처의 표현
    7.2 아키텍처 스타일
    7.2.1 클라이언트 서버형
    7.2.2 계층형
    7.2.3 이벤트 기반 아키텍처
    7.2.4 MVC
    7.2.5 파이프 필터
    7.2.6 데이터 중심 아키텍처
    7.2.7 Peer-to-Peer 스타일
    7.3 디자인 패턴
    7.3.1 디자인 패턴의 혜택
    7.3.2 디자인 패턴의 형식
    7.3.3 싱글톤 패턴
    7.3.4 반복자 패턴
    7.3.5 어댑터 패턴
    7.3.6 데코레이터 패턴
    7.3.7 팩토리 메소드 패턴
    7.3.8 추상 팩토리 패턴
    7.3.9 상태 패턴
    7.3.10 옵서버 패턴
    7.4 아키텍처 평가
    ■연습문제

    CHAPTER 08 UI 설계
    8.1 UI 기본 개념
    8.1.1 사용성
    8.1.2 멘탈 모델
    8.1.3 피드백
    8.1.4 제약
    8.2 UI 설계 원리
    8.3 UI 설계 과정
    8.3.1 사용자 분석
    8.3.2 태스크 분석
    8.3.3 UI 설계와 구현
    8.3.4 사용성 테스트
    8.4 UI 요소
    8.5 화면 및 출력 설계
    8.5.1 화면 설계
    8.5.2 출력 설계
    ■연습문제

    CHAPTER 09 코딩
    9.1 코딩 작업
    9.1.1 작업 과정
    9.1.2 자주 발생하는 오류
    9.2 코딩 표준
    9.2.1 명명 규칙
    9.2.2 형식
    9.2.3 문장과 수식
    9.2.4 오류처리
    9.2.5 주석
    9.3 설계에서 코드 생성
    9.3.1 연관의 코딩
    9.3.2 시퀀스 다이어그램의 코딩
    9.4 리팩토링
    9.4.1 리팩토링 개념
    9.4.2 리팩토링 과정
    9.4.3 코드 스멜
    9.4.4 리펙토링 사례
    9.5 코드 품질 향상 기법
    9.5.1 인스펙션
    9.5.2 정적 분석
    9.5.3 테스트 중심 개발
    ■연습문제

    CHAPTER 10 테스트
    10.1 테스트 기초
    10.1.1 버그, 오류, 결함, 고장
    10.1.2 테스트 원리
    10.1.3 테스트 작업 과정
    10.1.4 테스트 케이스
    10.2 블랙박스 테스트
    10.2.1 동등 분할 기법
    10.2.2 경곗값 분석
    10.2.3 원인 결과 그래프
    10.3 화이트박스 테스트
    10.3.1 논리 흐름의 표현
    10.3.2 검증 기준
    10.4 상태기반 테스트
    10.5 통합 테스트
    10.5.1 빅뱅 통합
    10.5.2 하향식 통합
    10.5.3 상향식 통합
    10.5.4 연쇄식 통합
    10.6 시스템 및 인수 테스트
    10.6.1 기능 테스트
    10.6.2 성능 테스트
    10.6.3 보안 테스트
    10.6.4 UI 테스트
    10.6.5 인수 테스트
    ■연습문제

    CHAPTER 11 유지보수
    11.1 유지보수의 소개
    11.1.1 변경의 이유와 유지보수 유형
    11.1.2 Lehman의 법칙
    11.2 유지보수 작업 과정
    11.2.1 유지보수 작업
    11.2.2 유지보수 프로세스
    11.2.3 프로그램의 이해
    11.2.4 변경 파악과 분석
    11.3 형상 관리
    11.3.1 베이스라인
    11.3.2 형상관리 절차
    11.4 역공학
    11.4.1 역공학 작업 순서
    11.4.2 역공학의 용도
    11.4.3 재문서화
    11.4.4 설계 복구
    11.5 리엔지니어링
    11.5.1 리엔지니어링 목적
    11.5.2 리엔지니어링 과정
    ■연습문제

    CHAPTER 12 품질
    12.1 소개
    12.1.1 품질 개념
    12.1.2 소프트웨어 품질
    12.2 품질 모델
    12.3 품질 관리
    12.3.1 품질 보증 조직
    12.3.2 프로세스와 표준을 정의
    12.3.3 품질 보증 활동
    12.3.4 인스펙션
    12.4 품질 측정
    12.4.1 품질 측정의 유용성
    12.4.1 품질 메트릭
    12.5 프로세스 개선
    12.5.1 CMMi
    11.5.2 ISO 9001
    ■연습문제

    저자소개

    생년월일 -
    출생지 -
    출간도서 0종
    판매수 0권

    현재 동국대학교 컴퓨터공학과 교수로 재직 중이며 S/W 공학, 객체지향 설계, S/W 품질 및 테스팅, 관점지향 프로그래밍 등을 연구하며 가르치고 있다. 저서로 『UML로 배우는 시스템 분석설계』(생능출판사, 2018), 『객체지향 소프트웨어공학』(한빛출판사, 2017)이 있다.

    - 동국대학교 전산학과 졸업(학사, 1982)
    - 한국과학기술원 전산학과 졸업(공학석사, 1985)
    - 미국 Illinois Institute of Technology 전산학과
    졸업(전산학박사, 1993)
    - 한국표준연구소 연구원(1985)
    - 충남대, 목원대, 대전 산업대 강사(1986~1988)
    - 시카고 주립대 전산학과 강사(1992)

    펼쳐보기

    이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

      리뷰

      0.0 (총 0건)

      구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

      리뷰쓰기

      기대평

      작성시 유의사항

      평점
      0/200자
      등록하기

      기대평

      0.0

      교환/환불

      교환/환불 방법

      ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

      교환/환불 가능 기간

      고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

      교환/환불 비용

      고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

      교환/환불 불가사유

      반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
      배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

      소비자 피해보상

      소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
      교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

      기타

      도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

      배송안내

      • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

      • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

      • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

      • 배송비

      도서(중고도서 포함) 구매

      2,000원 (1만원이상 구매 시 무료배송)

      음반/DVD/잡지/만화 구매

      2,000원 (2만원이상 구매 시 무료배송)

      도서와 음반/DVD/잡지/만화/
      중고직배송상품을 함께 구매

      2,000원 (1만원이상 구매 시 무료배송)

      업체직접배송상품 구매

      업체별 상이한 배송비 적용