새로 쓴 소프트웨어 공학

새로 쓴 소프트웨어 공학

$46.14
Description
▶이 책은 소프트웨어 공학을 다룬 이론서입니다. 소프트웨어 공학의 기초적이고 전반적인 내용을 학습할 수 있도록 구성했습니다.

저자

최은만

지은이:최은만
현재동국대학교컴퓨터공학과교수로재직중이며,소프트웨어공학에서다루는여러가지이론과방법,도구중에서첨단기술이면서개발현장에서사용되는필수적인내용을전파하는데힘쓰고있다.연구분야는객체지향및컴포넌트소프트웨어공학,소프트웨어테스트,소프트웨어품질메트릭,관점지향프로그래밍이고,저서로『새로쓴소프트웨어공학』(정익사,2014),『UML을활용한시스템분석설계』(생능출판사,2010)가있다.

-동국대학교전산학과졸업(학사,1982)
-한국과학기술원전산학과졸업(공학석사,1985)
-미국IllinoisInstituteofTechnology전산학과졸업(전산학박사,1993)
-한국표준연구소연구원(1985)
-충남대,목원대,대전산업대강사(1986~1988)
-시카고주립대전산학과강사(1992)
-한국정보과학회소프트웨어공학연구회운영위원(1997~2004)
-한국정보처리학회학회지편집위원(2001~2005)
-콜로라도주립대(포트콜린스)전산학과방문교수(2000,2007)
-카네기멜론대학소프트웨어공학단기과정연수(2002)  

목차

Chapter01소개

1.1소프트웨어
1.1.1소프트웨어의유형
1.1.2소프트웨어와시스템
1.2소프트웨어공학의필요성
1.2.1고비용
1.2.2개발지연과낮은신뢰도
1.2.3유지보수와재작업
1.3소프트웨어공학이란?
1.3.1규모
1.3.2품질과생산성
1.3.3일관성과재현성
1.3.4변경
1.4소프트웨어공학의접근방법
1.4.1단계적개발프로세스
1.4.2품질보증
1.4.3프로젝트관리
1.5소프트웨어공학지식체계
1.5.1다른분야와의관계
연습문제



Chapter02프로세스와방법론

2.1소프트웨어공학의접근방법
2.1.1프로세스와프로세스모델
2.1.2프로세스의종류
2.2바람직한프로세스의특성
2.2.1예측가능성
2.2.2테스팅과유지보수편이성
2.2.3변경용이성
2.2.4결함제거용이성
2.3소프트웨어개발프로세스
2.3.1폭포수모델
2.3.2프로토타이핑모델
2.3.3진화적모델
2.3.4나선형모델
2.3.5V모델
2.3.6Unified프로세스
2.3.7애자일프로세스
2.4지원프로세스
2.4.1관리프로세스
2.4.2품질보증프로세스
2.4.3형상관리프로세스
2.5방법론
2.5.1구조적방법론
2.5.2객체지향방법론
2.5.3애자일방법론
연습문제



Chapter03프로젝트관리와계획

3.1프로젝트범위
3.2노력추정
3.2.1노력추정의불확실
3.2.2규모기반모델
3.2.3COCOMOII모델
3.2.4기능점수
3.3일정계획
3.3.1작업분해
3.3.2CPM네트워크
3.3.3간트차트
3.3.4애자일계획
3.4조직계획
3.4.1책임프로그래머팀구성
3.4.2에고레스팀
3.4.3계층적팀구성
3.5위험관리
3.5.1위험파악
3.5.2위험분석과우선순위정하기
3.5.3위험해결과모니터링
3.6계획서작성과도구
3.6.1계획서작성
3.6.2도구
연습문제



Chapter04요구분석

4.1요구
4.1.1요구의종류
4.1.2요구추출의어려움
4.2요구추출
4.2.1요구정보출처
4.2.2요구추출방법
4.2.3요구와제한의정의
4.3도메인분석
4.3.1도메인정의
4.3.2도메인분석
4.4사용사례
4.4.1사용사례의소개
4.4.2사용사례다이어그램
4.4.3액터찾기
4.4.4사용사례찾기
4.4.5사용사례관계찾기
4.5요구분석명세서
4.5.1명세서작성
4.5.2명세서검토
4.6요구관리도구
연습문제



Chapter05모델링

5.1객체지향개념
5.1.1객체지향의장점
5.1.2객체지향과절차적방법의비교
5.1.3클래스와객체
5.1.4객체와속성
5.1.5캡슐화
5.1.6연관
5.1.7집합
5.1.8상속
5.1.9다형성
5.2UML
5.2.1배경과역사
5.2.2UML다이어그램
5.2.3UML모델링과정
5.3정적모델링
5.3.1클래스의표현
5.3.2관계의표현
5.3.3클래스다이어그램작성과정
5.3.4클래스찾기
5.3.5연관찾기
5.3.6속성추가
5.4동적모델링
5.4.1시퀀스다이어그램의요소
5.4.2시퀀스다이어그램작성
5.4.3상태다이어그램
5.4.4액티비티다이어그램
5.5모델링도구
연습문제



Chapter06아키텍처설계

6.1아키텍처설계란?
6.1.1아키텍처설계의정의
6.1.2아키텍처설계의중요성
6.1.3아키텍처와비기능적요구
6.1.4아키텍처의표현
6.2설계원리
6.2.1단계적분할
6.2.2추상화
6.2.3모듈화
6.3아키텍처설계과정
6.3.1설계목표설정
6.3.2시스템의타입
6.3.3아키텍처표현
6.4아키텍처스타일
6.4.1계층구조스타일
6.4.2클라이언트서버스타일
6.4.3트랜잭션처리스타일
6.4.4MVC스타일
6.4.5이벤트중심스타일
6.4.6객체영속스타일
6.5미들웨어아키텍처
6.5.1미들웨어기술의분류
6.5.2분산객체
6.5.3메시지중심미들웨어
6.5.4애플리케이션서버
6.6설계문서화
연습문제



Chapter07상세설계

7.1디자인패턴
7.1.1팩토리메소드패턴
7.1.2추상팩토리패턴
7.1.3어뎁터패턴
7.1.4싱글톤패턴
7.1.5컴포지트패턴
7.1.6반복자패턴
7.1.7옵서버패턴
7.1.8상태패턴
7.1.9퍼싸드패턴
7.2클래스설계
7.2.1클래스인터페이스의정의
7.2.2클래스상태모델링
7.2.3클래스재사용
7.3사용자인터페이스설계
7.3.1사용자인터페이스유형
7.3.2사용자인터페이스설계원리
7.3.3화면설계
7.3.4출력물설계
7.4데이터설계
7.4.1데이터베이스설계단계
7.4.2객체와테이블
연습문제



Chapter08코딩

8.1코딩원리
8.1.1코딩과정
8.1.2코딩오류
8.1.3구조적프로그래밍
8.1.4정보은닉
8.1.5중복회피
8.1.6디메테르의법칙
8.2코딩스타일
8.2.1명명규칙
8.2.2포인터와레퍼런스
8.2.3자료형
8.2.4문장과수식
8.2.5오류처리
8.2.6코드문서화
8.3UML과코딩
8.3.1클래스와인터페이스의구현
8.3.2연관의구현
8.3.3시퀀스다이어그램의구현
8.3.4상태다이어그램의구현
8.4리팩토링
8.4.1기본개념
8.4.2리팩토링의사례
8.4.3리팩토링과정
8.4.4코드스멜
8.5코드품질향상기법
8.5.1코드인스펙션
8.5.2정적분석
8.5.3페어프로그래밍
8.5코드품질향상기법
연습문제



Chapter09테스팅

9.1테스팅기초
9.1.1오류,결함,고장
9.1.2테스팅원리
9.1.3테스트작업과정
9.1.4테스트케이스
9.2블랙박스테스팅
9.2.1동치클래스분해
9.2.2경계값분석
9.2.3원인과결과그래프
9.3화이트박스테스팅
9.3.1논리흐름의표현
9.3.2기본경로테스팅
9.3.3싸이클로매틱복잡도
9.3.4테스트커버리지
9.3.5반복문의테스팅
9.4객체지향테스팅
9.4.1사용사례기반테스팅
9.4.2상태기반테스팅
9.5통합테스팅
9.5.1빅뱅통합
9.5.2하향식통합
9.5.3상향식통합
9.5.4연쇄식통합
9.6시스템및인수테스트
9.6.1기능테스트
9.6.2성능테스트
9.6.3보안테스트
9.6.4사용자인터페이스테스트
9.6.5인수테스트
9.7테스트도구
9.7.1코드분석도구
9.7.2테스트케이스생성도구
9.7.3테스트케이스실행도구
9.7.4단위테스트도구
연습문제



Chapter10유지보수

10.1유지보수의소개
10.1.1변경해야하는이유
10.1.2Lehman의법칙
10.1.3유지보수의종류
10.2유지보수작업과정
10.2.1유지보수프로세스모델
10.2.2프로그램의이해
10.2.3변경파악과분석
10.2.4형상변경관리
10.2.5변경구현,테스팅,배포
10.3형상관리
10.3.1베이스라인
10.3.2형상관리의필요성
10.3.3형상관리절차
10.4역공학
10.4.1역공학작업순서
10.4.2역공학의용도
10.4.3재문서화
10.4.4설계복구
10.5리엔지니어링
10.5.1리엔지니어링목적
10.5.2리엔지니어링과정
10.6유지보수도구
연습문제



Chapter11품질보증

11.1소프트웨어품질
11.1.1품질의의미
11.1.2품질속성
11.1.3소프트웨어유형과품질
11.2품질측정방법
11.2.1품질측정과메트릭의유용성
11.2.2전통적인품질메트릭
11.2.3객체지향소프트웨어의품질메트릭
11.3품질보증활동
11.3.1품질보증조직
11.3.2프로세스와표준정의
11.3.3품질관리
11.4확인및검증기법
11.4.1인스펙션
11.4.2워크스루
11.4.3동료검토
11.5프로세스개선
11.5.1CMM
11.5.2ISO9001
11.6품질보증도구
연습문제


Chapter12부록

AppendixA도구
A.1StarUML
A.2JUnit
A.3Clover
A.4Subversion
A.5Bugzilla


AppendixB용어사전


참고문헌
INDEX