목차
머리말 ... 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
닫기