logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

객체지향 소프트웨어공학

객체지향 소프트웨어공학

(제8판)

Stephen R. Schach (지은이), 유해영 (엮은이)
  |  
ITC(아이티씨)
2012-01-31
  |  
30,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 30,000원 -0% 0원 1,500원 28,500원 >
yes24 로딩중
교보문고 로딩중
영풍문고 로딩중
인터파크 로딩중
11st 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
로딩중

e-Book

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

객체지향 소프트웨어공학

책 정보

· 제목 : 객체지향 소프트웨어공학 (제8판)
· 분류 : 국내도서 > 대학교재/전문서적 > 공학계열 > 컴퓨터공학 > 운영체제/소프트웨어 공학
· ISBN : 9788963510330
· 쪽수 : 696쪽

책 소개

두 개의 주요 부분으로 구성되었다. 제2부는 학생들에게 어떻게 소프트웨어 프로덕트를 개발하는지를 가르쳐주며, 제1부는 제2부를 위해 필요한 이론적인 배경을 제공한다.

목차

제1부 소프트웨어 공학 개요

제1장 소프트웨어 공학의 영역 001

1.1 역사적인 측면 4
1.2 경제적인 측면 6
1.3 유지보수 측면 7
1.3.1 유지보수의 고전적 그리고 현대적 견해 9
1.3.2 인도 후 유지보수의 중요성 11
1.4 요구사항, 분석, 설계 측면 13
1.5 팀 개발 측면 15
1.6 계획수립 페이즈가 없는 이유 16
1.7 테스팅 페이즈가 없는 이유 17
1.8 문서화 페이즈가 없는 이유 18
1.9 객체-지향 패러다임 19
1.10 객체-지향 패러다임의 전망 23
1.11 용어 24
1.12 윤리 이슈 28

제2장 소프트웨어 생명주기 모델 041

2.1 이론적 측면의 소프트웨어 개발 42
2.2 Winberg Mini Case Study 43
2.3 Winburg 미니 사례연구의 교훈 46
2.4 Teal Tractors Case Study 47
2.5 반복과 점진 48
2.6 Winburg Mini Case Study Revisited 51
2.7 반복과 점진의 위험과 또 다른 측면 53
2.8 반복과 점진 관리하기 56
2.9 다른 생명주기 모델 56
2.9.1 코드-픽스 생명주기 모델 56
2.9.2 폭포수 생명주기 모델 57
2.9.3 래피드 프로토타입핑 생명주기 모델 59
2.9.4 오픈-소스 생명주기 모델 60
2.9.5 Agile 프로세스 63
2.9.6 동기적-안정적 생명주기 모델 66
2.9.7 나선형 생명주기 모델 66
2.10 생명주기 모델들의 비교 70

제3장 소프트웨어 프로세스 079

3.1 Unified Process 82
3.2 객체-지향 패러다임에서 반복과 점진 82
3.3 요구사항 워크플로 84
3.4 분석 워크플로 85
3.5 설계 워크플로 88
3.6 구현 워크플로 89
3.7 테스트 워크플로 90
3.7.1 요구사항 산출물 90
3.7.2 분석 산출물 90
3.7.3 설계 산출물 91
3.7.4 구현 산출물 91
3.8 인도 후 유지보수 93
3.9 폐기 94
3.10 Unified Process의 페이즈 95
3.10.1 도입 페이즈 96
3.10.2 정련 페이즈 98
3.10.3 구축 페이즈 98
3.10.4 전이 페이즈 99
3.11 1차원 대 2차원 생명주기 모델 100
3.12 소프트웨어 프로세스 개선하기 101
3.13 CMM 102
3.14 다른 소프트웨어 프로세스 개선안 105
3.15 소프트웨어 프로세스 개선의 비용과 이익 106

제4장 팀 113

4.1 팀 조직 113
4.2 민주적 팀 접근법 115
4.2.1 민주적 팀 접근법의 분석 116
4.3 고전적 치프 프로그래머 팀 접근법 117
4.3.1 New York Times 프로젝트 119
4.3.2 고전적 치프 프로그래머 팀 접근법의 비실용성 120
4.4 치프 프로그래머와 민주적 팀 120
4.5 동기적-안정적 팀 122
4.6 Extreme Programming 팀 123
4.7 오픈-소스 프로그래밍 팀 125
4.8 P-CMM 126
4.9 적합한 팀 조직 선택하기 127

제5장 툴의 선택 131

5.1 단계적 정제 132
5.1.1 Stepwise Refinement Mini Case Study 132
5.2 비용-이익 분석 137
5.3 분할과 정복 139
5.4 관심의 분리 140
5.5 소프트웨어 척도 141
5.6 CASE 142
5.7 CASE의 전문용어 143
5.8 CASE의 범위 145
5.9 소프트웨어 버전 149
5.9.1 개정 150
5.9.2 변형 150
5.10 형상관리 151
5.10.1 인도 후 유지보수 동안 형상관리 153
5.10.2 기준선 154
5.10.3 개발 동안 형상관리 154
5.11 빌드 툴 155
5.12 CASE 기술로 취득한 생산성 156

제6장 테스팅 163

6.1 품질 이슈 164
6.1.1 소프트웨어 품질 보증 165
6.1.2 관리의 독립성 166
6.2 비실행 기반 테스팅 167
6.2.1 워크스루 167
6.2.2 워크스루 관리 167
6.2.3 인스펙션 169
6.2.4 인스펙션과 워크스루의 비교 171
6.2.5 검토의 강점과 약점 171
6.2.6 인스펙션용 척도 172
6.3 실행-기반 테스팅 172
6.4 테스트 대상은 무엇인가? 173
6.4.1 유용성 174
6.4.2 신뢰성 174
6.4.3 강건성 175
6.4.4 성능 175
6.4.5 정확성 176
6.5 테스팅 대 정확성 증명 177
6.5.1 정확성 증명의 예 178
6.5.2 Correctness Proof Mini Case Study 181
6.5.3 정확성 증명과 소프트웨어 공학 182
6.6 누가 실행-기반 테스팅을 수행하는가? 185
6.7 테스팅 종료 시기 187

제7장 모듈에서 객체까지 195

7.1 모듈이란 무엇인가? 196
7.2 응집도 199
7.2.1 우연적 응집도 200
7.2.2 논리적 응집도 200
7.2.3 시간 응집도 202
7.2.4 절차적 응집도 202
7.2.5 교환적 응집도 202
7.2.6 기능적 응집도 203
7.2.7 정보적 응집도 204
7.2.8 응집도 예제 204
7.3 결합도 205
7.3.1 내용 결합도 205
7.3.2 공통 결합도 206
7.3.3 제어 결합도 208
7.3.4 스템프 결합도 208
7.3.5 데이터 결합도 210
7.3.6 결합도 예제 210
7.3.7 결합도의 중요성 211
7.4 데이터 캡슐화 212
7.4.1 데이터 갭슐화와 프로덕트 개발 215
7.4.2 데이터 갭슐화와 유지보수 216
7.5 추상 데이터 타입 221
7.6 정보 은닉 222
7.7 객체 225
7.8 상속성, 다형성, 동적 바인딩 228
7.9 객체-지향 패러다임 231

제8장 재사용성과 이식성 239

8.1 재사용 개념 240
8.2 재사용에의 제약 242
8.3 재사용 사례연구 243
8.3.1 Raytheon Missile System Division 244
8.3.2 European Space Agency 245
8.4 객체와 재사용 246
8.5 설계와 구현 시 재사용 247
8.5.1 설계 재사용 247
8.5.2 애플리케이션 프레임워크 248
8.5.3 설계 패턴 249
8.5.4 소프트웨어 아키텍처 251
8.5.5 컴포넌트-기반 소프트웨어 공학 252
8.6 구체적인 설계 패턴 252
8.6.1 FLIC Mini Case Study 252
8.6.2 Adapter 설계 패턴 253
8.6.3 Bridge 설계 패턴 254
8.6.4 Iterator 설계 패턴 255
8.6.5 Abstract Factory 설계 패턴 257
8.7 설계 패턴의 부류 260
8.8 설계 패턴의 강점과 약점 261
8.9 재사용과 WWW(World Wide Web) 262
8.10 재사용과 인도 후 유지보수 262
8.11 이식성 264
8.11.1 하드웨어 비호환성 264
8.11.2 운영체제 비호환성 265
8.11.3 수치 소프트웨어 비호환성 266
8.11.4 컴파일러 비호환성 266
8.12 왜 이식성인가? 270
8.13 이식성을 달성하는 기법 271
8.13.1 이식 가능한 시스템 소프트웨어 271
8.13.2 이식가능한 애플리케이션 소프트웨어 271
8.13.3 이식가능한 데이터 273
8.13.4 Model-Driven Architecture 273

제9장 계획 수립과 추정 283

9.1 계획 수립과 소프트웨어 프로세스 284
9.2 기간과 비용 추정 286
9.2.1 프로덕트 사이즈에 대한 척도 287
9.2.2 비용 추정 기법 290
9.2.3 중간급 COCOMO 293
9.2.4 COCOMO II 296
9.2.5 기간과 비용 추정 추적 297
9.3 소프트웨어 프로젝트 관리의 컴포넌트 298
9.4 소프트웨어 프로젝트 관리 계획 프레임워크 300
9.5 IEEE SPMP 300
9.6 테스팅 계획 수립 304
9.7 객체-지향 프로젝트 계획 수립 305
9.8 요구사항 교육 306
9.9 문서화 표준 307
9.10 계획 수립과 추정용 CASE 툴 308
9.11 SPMP 테스팅 308

제2부 소프트웨어 생명주기의 워크플로

제10장 핵심 내용 317

10.1 소프트웨어 개발: 이론 대 실무 317
10.2 반복과 점진 319
10.3 Unified Process 322
10.4 워크플로 개요 323
10.5 팀 324
10.6 비용-이익 분석 325
10.7 척도 325
10.8 CASE 326
10.9 버전과 형상 326
10.10 테스팅 용어 327
10.11 실행 기반과 비실행 기반 테스팅 327
10.12 모듈성 328
10.13 재사용 328
10.14 소프트웨어 프로젝트 관리 계획 329

제11장 요구사항 331

11.1 클라이언트 니즈가 무엇인지 결정하기 332
11.2 요구사항 워크플로 개요 333
11.3 도메인 이해 334
11.4 비즈니스 모델 335
11.4.1 인터뷰 335
11.4.2 다른 기법 336
11.4.3 유스 케이스 337
11.5 초기 요구사항 338
11.6 도메인의 초기 이해: The MSG Foundation Case Study 339
11.7 초기 비즈니스 모델: The MSG Foundation Case Study 342
11.8 초기 요구사항: The MSG Foundation Case Study 346
11.9 요구사항 워크플로 계속하기: The MSG Fundation Case Study 347
11.10 요구사항 수정: The MSG Foundation Case Study 349
11.11 테스트 워크플로: The MSG Foundation Case Study 358
11.12 고전적 요구사항 페이즈 367
11.13 래피드 프로토타이핑 368
11.14 인적 인자 370
11.15 래피드 프로토타입핑의 재사용 372
11.16 요구사항 워크플로용 CASE 툴 373
11.17 요구사항 워크플로용 척도 374
11.18 요구사항 워크플로의 난제 374

제12장 고전적 분석 381

12.1 명세문서 382
12.2 비정형 명세 383
12.2.1 Correctness Proof Mini Case Study Redux 384
12.3 구조적 시스템 분석 385
12.3.1 Sally's Software Shop Mini Case Study 386
12.4 구조적 시스템 분석: The Osbert Oglesby Case Study 393
12.5 다른 반정형 기법 395
12.6 ERM 396
12.7 FSM 398
12.7.1 FSM: Elevator Problem Case Study 399
12.8 Petri Net 405
12.8.1 Petri Net: Elevator Problem Case Study 408
12.9 Z 410
12.9.1 Z: The Elevator Problem Case Study 411
12.9.2 Z의 분석 413
12.10 다른 정형 기법 415
12.11 고전적 분석 기법들 비교 416
12.12 고전적 분석 동안 테스팅 416
12.13 고전적 분석용 CASE 툴 418
12.14 고전적 분석용 척도 419
12.15 SPMP : Osbert Oglesby Case Study 419
12.16 고전적 분석의 난제 420

제13장 객체-지향 분석 429

13.1 분석 워크플로 430
13.2 엔티티 클래스들 추출법 432
13.3 객체-지향 분석: Elvator Problem Case Study 432
13.4 기능적 모델링: Elvator Problem Case Study 433
13.5 엔티티 클래스 모델링: Elevator Problem Case Study 435
13.5.1 명사 추출법 436
13.5.2 CRC 카드 438
13.6 동적 모델링: Elevator Problem Case Study 440
13.7 테스트 워크플로: Object-Oriented Analysis 443
13.8 경계와 컨트롤 클래스들 추출 450
13.9 초기 기능적 모델: The MSG Foundation Case Study 451
13.10 초기 클래스 다이어그램: The MSG Foundation Case Study 453
13.11 초기 동적 모델: The MSG Foundation Case Study 456
13.12 엔티티 클래스 개정하기: The MSG Foundation Case Study 458
13.13 경계 클래스 추출하기: The MSG Foundation Case Study 460
13.14 컨트롤 클래스 추출하기: The MSG Foundation Case Study 460
13.15 유스-케이스 실현: The MSG Foundation Case Study 461
13.15.1 Estimate Funds Available for Week 유스 케이스 462
13.15.2 Manage an Asset 유스 케이스 467
13.15.3 Update Estimated Annual Operating Expenses 유스 케이스 472
13.15.4 Produce a Report 유스 케이스 474
13.16 클래스 다이어그램 점진시키기: The MSG Foundation Case Study 479
13.17 테스트 워크플로: The MSG Foundation Case Study 481
13.18 Unified Process의 명세문서 481
13.19 액터와 유스 케이스 482
13.20 객체-지향 분석 워크플로용 CASE 툴 484
13.21 객체-지향 분석 워크플로를 위한 척도 484
13.22 객체-지향 분석 워크플로의 난제 485

제14장 설계 491

14.1 설계와 추상화 492
14.2 오퍼레이션-중심 설계 493
14.3 데이터 흐름 분석 493
14.3.1 Mini Case Study Word Counting 494
14.3.2 데이터 흐름 분석 확장안 499
14.4 트랜잭션 분석 500
14.5 데이터-중심 설계 501
14.6 객체-지향 설계 502
14.7 객체-지향 설계: Elvator Problem Case Study 503
14.8 객체-지향 설계: The MSG Foundation Case Study 506
14.9 설계 워크플로 511
14.10 테스트 워크플로: 설계 513
14.11 테스트 워크플로: The MSG Foundation Case Study 514
14.12 상세 설계용 정형 기법 514
14.13 실시간 설계 기법 515
14.14 설계용 CASE 툴 516
14.15 설계용 척도 517
14.16 설계 워크플로의 난제 518

제15장 구현 525

15.1 프로그래밍 언어 선택 526
15.2 4세대 언어 528
15.3 올바른 프로그래밍 관습 531
15.3.1 일관되고 의미 있는 변수 이름들 사용 531
15.3.2 자기 문서화 코드의 이슈 533
15.3.3 파라미터들 사용 534
15.3.4 가독성 증가를 위한 코드 배치 535
15.3.5 중첩 if 문 535
15.4 코딩 표준 537
15.5 코드 재사용 538
15.6 통합 538
15.6.1 하향식 통합 539
15.6.2 상향식 통합 541
15.6.3 샌드위치 구현과 통합 542
15.6.4 객체-지향 프로덕트들 통합 542
15.6.5 통합 관리 543
15.7 구현 워크플로 544
15.8 구현 워크플로: The MSG Foundation Case Study 544
15.9 테스트 워크플로: 구현 545
15.10 테스트 케이스 선택 545
15.10.1 명세 테스팅과 코드 테스팅 545
15.10.2 명세들에 대한 테스팅 타당성 546
15.10.3 코드에 대한 테스팅 타당성 547
15.11 블랙-박스 단위 테스팅 기법 550
15.11.1 동등 테스팅과 경계값 분석 550
15.11.2 기능 테스팅 551
15.12 블랙-박스 테스트 케이스: The MSG Foundation Case Study 552
15.13 글래스-박스 단위 테스팅 기법 555
15.13.1 구조적 테스팅 : 문, 분기, 경로 범위 555
15.13.2 복잡도 척도 556
15.14 코드 워크스루와 인스펙션 557
15.15 단위 테스팅 기법들 비교 558
15.16 Cleanroom 559
15.17 객체들 테스트 시 잠재적인 문제점 560
15.18 단위 테스팅 관리적 측면 562
15.19 코드 산출물을 디버깅하기보다는 재구축할 시기 563
15.20 통합 테스팅 565
15.21 프로덕트 테스팅 565
15.22 승인 테스팅 567
15.23 텍스트 워크플로: The MSG Foundation Case Study 568
15.24 구현용 CASE 툴 568
15.24.1 전체 소프트웨어 프로세스용 CASE 툴 568
15.24.2 통합 개발 environment 569
15.24.3 비즈니스 애플리케이션용 Environment 570
15.24.4 대중적인 툴 기반 구조 570
15.24.5 Environment들이 갖는 잠재적 문제점 571
15.25 구현 워크플로용 CASE 툴들 571
15.26 구현 워크플로용 척도 572
15.27 구현 워크플로 난제 573

제16장 인도 후 유지보수 583

16.1 개발과 유지보수 584
16.2 인도 후 유지보수 필요성 586
16.3 인도 후 유지보수 프로그래머들 요구는 무엇인가? 586
16.4 Postdelivery Maintenance Mini Case Study 589
16.5 인도 후 유지보수 관리 590
16.5.1 결점 보고 590
16.5.2 프로젝트에 대한 변경 권한 591
16.5.3 유지보수성 보장 592
16.5.4 반복되는 유지보수 문제 592
16.6 객체-지향 소프트웨어 유지보수 593
16.7 인도 후 유지보수 스킬 대 개발 스킬 596
16.8 역 공학 596
16.9 인도 후 유지보수 동안 테스팅 597
16.10 인도 후 유지보수용 CASE 툴 598
16.11 인도 후 유지보수용 척도 599
16.12 인도 후 유지보수: The MSG Foundation Case Study 599
16.13 인도 후 유지보수의 난제 600

제17장 UML의 세부 사항 607

17.1 UML은 방법론이 아니다 608
17.2 클래스 다이어그램 609
17.2.1 집합 610
17.2.2 다중성 610
17.2.3 합성 612
17.2.4 일반화 612
17.2.5 연관 613
17.3 노트 614
17.4 유스??케이스 다이어그램 614
17.5 스테레오타입 615
17.6 상호작용 다이어그램 616
17.7 상태 차트 618
17.8 액티비티 다이어그램 621
17.9 패키지 623
17.10 컴포넌트 다이어그램 623
17.11 배치 다이어그램 624
17.12 UML 다이어그램 복습 624
17.13 UML과 반복 625

제18장 미래 신기술 629

18.1 관점-지향 기술 630
18.2 모델-중심 기술 632
18.3 컴포넌트-기반 기술 633
18.4 서비스-지향 기술 634
18.5 서비스-지향과 컴포넌트-기반 기술의 비교 634
18.6 소셜 컴퓨팅 636
18.7 웹 공학 636
18.8 클라우드 기술 638
18.9 웹 3.0 638
18.10 컴퓨터 보안 638
18.11 모델 체킹 639
18.12 현재와 미래 640

Appendix
{A} Term Project: Chocoholics Anonymous 643
{B} 소프트웨어 공학 자원들 647
{C} 요구사항 워크플로: The MSG Foundation Case Study 649
{D} 구조적 시스템 분석: The MSG Foundation Case Study 650
{E} 분석 워크플로: The MSG Foundation Case Study 653
{F} SPMP: The MSG Foundation Case Study 654
{G} 설계 워크플로: The MSG Foundation Case Study 659
{H} 구현 워크플로: The MSG Foundation Case Study(C++ 버전) 664
{I} 구현 워크플로: The MSG Foundation Case Study(Java 버전) 665
{J} 테스트 워크플로: The MSG Foundation Case Study 666

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책