개발 단계별로 살펴보는 객체지향 소프트웨어 공학의 원리
소프트웨어 개발 과정에 사용되는 모든 공학 기술을 객체지향 관점으로 설명합니다. 객체지향 방법론의 설계 표현법인 UML을 본격적으로 다루고, 프로그래밍 과정에 유용하게 적용할 수 있는 디자인 패턴과 자바, C++, C#을 이용한 프로그래밍 원리와 스타일을 자세히 설명합니다. 객체지향이 막연히 어렵다고 생각했던 학생과, 애자일과 같은 새로운 패러다임으로 전환하려는 소프트웨어 엔지니어 또는 프로젝트 관리자가 보면 객체지향 소프트웨어 개발 과정을 깊이 있게 이해할 수 있습니다.
도서 장점
① 소프트웨어 개발의 전 과정을 객체지향 방법 중심으로 설명합니다. 자바나 C++ 언어를 알고 있으면 도서의 내용을 이해하는 데 더욱 좋습니다.
② 비유적 설명, 도식, 소스코드 등을 활용하여 소프트웨어 공학에서 다루는 주요 이론과 방법 및 도구를 이해하기 쉽게 설명합니다.
③ 각종 자격증 및 국가고시에 출제된 문제를 변형하여 매 장마다 연습문제를 제공합니다. 답은 책의 제일 마지막에서 확인할 수 있습니다.
④ 부록으로 UML 표기법과 주요 용어 해설을 제공합니다. 필요한 개념만 간단히 찾아볼 때 편리합니다.
Chapter 01 소프트웨어 공학의 소개
00 개요
01 소프트웨어란?
02 소프트웨어 공학이란?
03 소프트웨어 품질
04 소프트웨어 프로젝트의 유형
05 소프트웨어 프로젝트 작업
06 객체지향 소프트웨어 공학
07 최신 소프트웨어 공학의 핵심 기술
요약/연습문제
Chapter 02 객체지향의 개념
00 개요
01 객체지향이란?
02 클래스와 객체
03 인스턴스 변수, 클래스 변수, 메소드, 오퍼레이션
04 상속
05 다형성
06 UML
요약/연습문제
Chapter 03 요구 분석
00 개요
01 도메인 분석
02 문제 정의와 범위 설정
03 요구 추출
04 요구 추출 방법
05 사용 사례 분석
06 요구 문서화
07 요구 검토
08 [사례 연구] 내비게이션 시스템
요약/연습문제
Chapter 04 클래스 모델링
00 개요
01 클래스 다이어그램의 기초
02 클래스와 가시성
03 연관 관계와 다중도
04 일반화 관계와 전체/부분 관계
05 클래스 다이어그램의 고급 표현
06 클래스 다이어그램 작성 과정
07 코드 매핑
요약/연습문제
Chapter 05 동적 모델링
00 개요
01 시퀀스 다이어그램
02 커뮤니케이션 다이어그램
03 상태 다이어그램
04 액티비티 다이어그램
05 동적 다이어그램의 구현
요약/연습문제
Chapter 06 아키텍처 설계
00 개요
01 설계 과정
02 설계 원리
03 설계안 결정
04 아키텍처 모델
05 패키지 다이어그램과 배치 다이어그램
06 아키텍처 패턴
07 아키텍처 문서화
요약/연습문제
Chapter 07 디자인 패턴
00 개요
01 디자인 패턴 소개
02 기본 패턴
03 생성 패턴
04 구조 패턴
05 행위 패턴
요약/연습문제
Chapter 08 구현
00 개요
01 구현이란?
02 코딩 원리
03 코딩 표준
04 설계와의 매핑
05 리팩토링
06 검토
요약/연습문제
Chapter 09 테스트
00 개요
01 테스트란?
02 블랙박스 테스트
03 화이트박스 테스트
04 객체지향 테스트
05 통합 및 시스템 테스트
06 테스트 관리
07 테스트 자동화 도구
요약/연습문제
Chapter 10 유지보수
00 개요
01 유지보수란?
02 유지보수 작업 단계와 모델
03 형상 관리
04 리엔지니어링
05 유지보수 도구
요약/연습문제
Chapter 11 프로젝트 관리
00 개요
01 프로젝트 관리란?
02 소프트웨어 개발 프로세스
03 개발 노력의 추정
04 일정 계획과 관리
05 팀 구성
06 프로젝트 계획서
요약/연습문제
Chapter 12 품질 보증
00 개요
01 품질이란?
02 품질 보증
03 확인과 검증
04 품질 측정
05 프로세스 품질 개선
06 품질 보증 계획과 품질 제어
요약/연습문제
부록
01 UML 표현 방법
02 용어 설명
정답 및 해설
찾아보기