목차
머리말 = 2
색인 = 856
CHAPTER 01 소프트웨어공학 = 11
1.1 소프트웨어의 이해 = 13
1.2 소프트웨어공학의 정의와 목표 = 13
1.3 좋은 소프트웨어란 = 16
1.4 소프트웨어 공학의 연구범주 = 21
연습문제 = 27
CHAPTER 02 소프트웨어 생명주기와 프로세스 모델 = 29
2.1 소프트웨어 생명주기와 시스템 개발 생명주기와의 차이 = 30
2.2 개발프로세스 모델 = 31
연습문제 = 47
CHAPTER 03 프로젝트 계획 수립과 관리 = 49
3.1 프로젝트 계획 수립 = 50
3.2 프로젝트 관리 개념 = 66
3.3 프로젝트 관리를 위한 모형화 도구 = 77
3.4 개발비용 산정 = 84
연습문제 = 100
CHAPTER 04 리스크 분석과 관리 = 105
4.1 리스크 관리 = 109
4.2 프로젝트 리스크 = 111
4.3 소프트웨어 인터페이스 = 113
4.4 리스크 평가 알고리즘 = 116
연습문제 = 124
CHAPTER 05 소프트웨어 형상관리 = 129
5.1 형상관리 = 130
5.2 형상관리 프로세스 = 139
5.3 컴포넌트 형상관리 = 142
연습문제 = 152
CHAPTER 06 요구공학 = 157
6.1 요구 추출 = 161
6.2 요구 명세 다큐먼트 = 176
6.3 요구 명세 기술 = 185
6.4 모델링 프레임워크 = 196
연습문제 = 201
CHAPTER 07 소프트웨어 아키텍쳐 = 207
7.1 예제 : KWIC-INDEX 생성 = 214
7.2 아키텍쳐 스타일 = 230
7.3 디자인 패턴 = 240
7.4 검증과 확인 = 249
연습문제 = 252
CHAPTER 08 소프트웨어 설계 = 255
8.1 설계시 고려사항들 = 260
8.2 추상화 = 261
8.3 모듈화 = 267
8.4 정보은폐 = 273
8.5 복잡도 = 278
8.6 시스템 구조 = 287
연습문제 = 292
CHAPTER 09 소프트웨어 설계 방법 = 295
9.1 설계 방법 = 296
9.2 기능적 분할 = 298
9.3 데이터구조지향 설계 = 303
9.4 데이터의 흐름 지향 설계(SA/SD) = 310
9.5 설계 프로세스를 지원하는 기호법 = 330
9.6 설계 문서화 = 331
9.7 검증과 확인 = 335
연습문제 = 338
CHAPTER 10 객체지향 분석 및 설계 = 341
10.1 구조적 분석법과의 차이점 = 342
10.2 주요 객체지향 방법론의 개요 = 346
10.3 객체지향 모델링의 기초개념 = 370
10.4 UML기반의 객체지향 개발 프로세스 = 412
10.5 Rational사의 RUP = 419
10.6 객체지향 Metrics = 430
연습문제 = 434
CHAPTER 11 컴포넌트 아키텍쳐 = 437
11.1 컴포넌트 아키텍쳐 = 439
11.2 CORBA와 OMA = 456
11.3 ActiveX/COM 컴포넌트 아키텍쳐 = 468
11.4 Java의 컴포넌트 아키텍쳐 = 482
연습문제 = 496
CHAPTER 12 컴포넌트 기반 소프트웨어 개발 = 499
12.1 CBSD 배경 = 500
12.2 컴포넌트 기반 소프트웨어 라이프 사이클 = 501
12.3 컴포넌트 기반 개발방법론 = 514
12.4 개발환경 = 527
12.5 VisualAge = 536
12.6 컴포넌트 합성과 통합 = 550
연습문제 = 566
CHAPTER 13 사용자 인터페이스 = 571
13.1 사용자 인터페이스와 대화형 설계 = 573
13.2 사용자 인터페이스 설계 지침 = 579
13.3 사용자 인터페이스 방법론 = 581
13.4 화면 설계 = 589
13.5 입출력 설계 = 590
13.6 인터페이스 구현 도구 = 595
연습문제 = 596
CHAPTER 14 소프트웨어 테스팅 = 599
14.1 테스트 목적 = 601
14.2 정적 테스트 = 604
14.3 동적 테스트 = 610
14.4 통계적 테스트법 = 616
14.5 테스트케이스 설계법 = 617
14.6 테스트 도구 = 631
연습문제 = 633
CHAPTER 15 객체지향 테스팅 = 635
15.1 객체지향 및 전통적인 테스팅 간의 차이점 = 636
15.2 테스팅의 관점 확장 = 638
15.3 OOA와 OOD 모델의 테스팅 = 639
15.4 객체지향 테스팅 전략 = 641
15.5 OO소프트웨어에 대한 테스트 케이스 설계 = 643
15.6 클래스 수준에서 적용할 수 있는 테스팅 방법 = 649
15.7 클래스간의 테스트 케이스 설계 = 652
연습문제 = 657
CHAPTER 16 소프트웨어 유지보수 = 659
16.1 소프트웨어 유지 보수의 형태 = 660
16.2 소프트웨어 라이프사이클과 보수 = 664
16.3 유지보수 문제들의 주요 원인 = 667
16.4 보수작업의 순서 = 675
16.5 역공학과 재구축 = 677
16.6 조직 및 관리적인 논점 = 686
16.7 해결 방법 = 701
16.8 보수용 도구 = 704
연습문제 = 712
CHAPTER 17 소프트웨어 리엔지니어링 = 717
17.1 리엔지니어링의 배경 = 718
17.2 리엔지니어링의 목적 = 720
17.3 리엔지니어링의 정의 = 722
17.4 리엔지니어링 기술 = 723
17.5 리엔지니어링 소프트웨어 케이스 스터디 = 727
17.6 역공학 = 735
17.7 재구축 = 740
17.8 리엔지니어링의 도구 = 742
17.9 엔지니어링의 경제학 = 748
연습문제 = 750
CHAPTER 18 클라이언트-서버 소프트웨어 공학 = 753
18.1 클라이언트-서버 시스템의 구조 = 754
18.2 C/S 시스템의 설계 = 765
연습문제 = 773
CHAPTER 19 웹 공학 = 775
19.1 웹 기반 어플리케이션들의 속성 = 777
19.2 웹 공학 프로세스 = 782
19.3 웹 공학의 프레임워크 = 783
19.4 웹 기반 어플리케이션들에 대한 설계 = 785
연습문제 = 793
CHAPTER 20 소프트웨어 CASE 도구들 = 797
20.1 CASE 도구 = 798
20.2 CASE 도구들의 분류 = 806
20.3 CASE 저장소 = 829
20.4 CASE 도구들 = 837
20.5 워크벤치 = 847
연습문제 = 854