목차 일부
1장 소프트웨어 공학 개요
1.1 소프트웨어와 시스템 = 15
1.1.1 소프트웨어 = 15
1.1.2 시스템 = 17
1.2 소프트웨어 위기 = 18
1.3 소프트웨어 공학 = 20
1.3.1 방법 = 22
1.3.2 도구 = 22
1.3.3 프로세스 = 23
...
목차 전체
1장 소프트웨어 공학 개요
1.1 소프트웨어와 시스템 = 15
1.1.1 소프트웨어 = 15
1.1.2 시스템 = 17
1.2 소프트웨어 위기 = 18
1.3 소프트웨어 공학 = 20
1.3.1 방법 = 22
1.3.2 도구 = 22
1.3.3 프로세스 = 23
1.3.4 패러다임 = 23
1.4 좋은 소프트웨어의 조건 = 24
1.4.1 프로덕트 품질 = 26
1.4.2 프로세스 품질 = 27
1.5 소프트웨어 프로세스 모형 = 28
1.5.1 폭포수 모형 = 30
1.5.2 프로토타이핑 모형 = 35
1.5.3 점증적 모형 = 36
1.5.4 나선형 모형 = 38
1.5.5 V 모형 = 40
1.6 소프트웨어 개발에 영향을 미치는 요소 = 40
1.6.1 의사 소통(Communication) = 41
1.6.2 프로젝트의 성격 = 41
1.6.3 프로그래머의 역량 = 43
1.6.4 관리 = 43
연습문제 = 45
2장 계획
2.1 문제의 정의 = 55
2.2 일정 계획 = 56
2.2.1 작업 분해 = 57
2.2.2 CPM 네트워크 = 58
2.2.3 프로젝트 일정표 = 61
2.3 노력 추정 = 64
2.3.1 COCOMO 방법 = 65
2.3.2 기능 점수 방법 = 70
2.4 조직 계획 = 77
2.4.1 중앙 집중식 팀 구성 = 79
2.4.2 분산형 팀 구성 = 80
2.4.3 혼합형 팀 구성 = 81
2.5 위험 분석 = 82
2.6 계획서 작성 = 84
연습 문제 = 87
3장 요구 분석
3.1 요구 = 99
3.1.1 기능적 요구 = 100
3.1.2 비기능적 요구 = 101
3.2 요구 추출과 분석 = 102
3.2.1 요구 추출 = 103
3.2.2 요구 분석 = 105
3.3 구조적 분석 = 107
3.3.1 자료 흐름도 = 108
3.3.2 자료 사전 = 121
3.3.3 소단위 명세서 = 123
3.3.4 구조적 분석 사례 = 130
3.4 요구 분석 명세서 = 135
3.4.1 요구 분서 명세서 작성 = 135
3.4.2 요구 분석 명세서의 평가 = 137
연습 문제 = 139
4장 설계
4.1 설계 = 151
4.2 설계 원리 = 152
4.2.1 추상화 = 153
4.2.2 정보 은닉 = 154
4.2.3 단계적 분해 = 154
4.2.4 모듈화 개념 = 155
4.3 구조적 설계 = 159
4.3.1 변환 분석 = 164
4.3.2 처리 분석 = 171
4.3.3 설계 사례 = 173
4.4 소프트웨어 구조 = 176
4.5 프로그램 설계 = 181
4.5.1 알고리즘의 선택 = 182
4.5.2 알고리즘의 표현 = 185
4.6 사용자 인터페이스 설계 = 189
4.6.1 사용자 분석 = 190
4.6.2 대화 설계 원리 = 191
4.6.3 상호 작용 형태 = 192
4.6.4 화면 설계 = 200
4.7 설계서 작성 = 201
연습 문제 = 204
5장 구현
5.1 프로그래밍 언어의 선택 = 216
5.1.1 표현력과 적합성 = 217
5.1.2 단순성, 명확성, 직교성 = 218
5.1.3 언어의 문형 = 218
5.1.4 제어 구조 = 221
5.1.5 자료형 = 224
5.1.6 상수 = 228
5.1.7 프로시저와 함수 = 228
5.1.8 프로시저 및 자료 추상화 = 229
5.1.9 재사용 = 232
5.2 4세대 프로그래밍 언어 = 233
5.3 비주얼 프로그래밍 언어 = 234
5.4 구조적 코딩 기법 = 238
5.5 코딩 스타일 = 239
5.5.1 스타일 1 : 명확하게 작성하라 = 240
5.5.2 스타일 2 : 수식에서 의미하는 바를 간결하고 직접적으로 표현하라 = 243
5.5.3 스타일 3 : 임시 변수의 사용을 피하라 = 244
5.5.4 스타일 4 : 혼돈을 초래하지 않을 변수명을 선택하라 = 245
5.5.5 스타일 5 : 일관성 있는 변수명을 사용하라 = 246
5.5.6 스타일 6 : 문장 그룹이 명확히 구별되도록 { }와 들여 쓰기를 사용한다 = 247
5.5.7 스타일 7 : 두 가지 중 하나가 선택되는 제어 구조는 if…else로 강조한다 = 247
5.5.8 스타일 8 : if 다음에 if가 따라오는 구조나 null else는 피할 것 = 248
5.5.9 스타일 9 : 문장의 반복은 최소화한다 = 249
5.5.10 스타일 10 : 모듈화하라. 서브루틴을 사용하라 = 250
5.5.11 그 밖의 원칙들 = 252
5.6 원시 코드의 문서화 = 253
연습 문제 = 256
6장 테스트
6.1 테스트 = 268
6.2 테스트의 원리 = 270
6.3 화이트 박스 테스트 = 274
6.3.1 논리 흐름도에 의한 표현 = 275
6.3.2 테스트 케이스 = 279
6.3.3 화이트 박스 테스트의 수행 = 280
6.3.4 테스트 검증 기준 = 282
6.4 블랙 박스 테스트 = 284
6.5 자료 구조 중심 테스트 = 288
6.6 통합 테스트 = 289
6.6.1 동시식 통합 = 290
6.6.2 하향식 통합 = 291
6.6.3 상향식 통합 = 291
6.6.4 연쇄식 통합 = 291
6.6.5 통합 테스트 계획 = 293
6.6.6 기타 통합 테스트 = 295
6.7 인수 테스트 = 299
6.8 테스트 자동화 도구 = 300
6.8.1 코드 분석 도구 = 300
6.8.2 테스트 케이스 생성 도구 = 302
6.8.3 테스트 실행 도구 = 302
연습 문제 = 303
7장 유지 보수
7.1 유지 보스의 특성 = 317
7.1.1 유지 보수 작업 = 318
7.1.2 유지 보수 접근 방법 = 320
7.1.3 유지 보수 비용 = 321
7.1.4 유지 보수에서의 문제점 = 323
7.2 소프트웨어 형상 관리 = 323
7.2.1 관리적인 측면 = 324
7.2.2 기술적인 측면 = 327
7.3 소프트웨어 척도 = 331
7.3.1 복잡도 측정 = 331
7.3.2 Halstead의 척도 = 332
7.4 유지 보수 방법 및 도구 = 335
7.4.1 유지 보수 방법 = 335
7.4.2 유지 보수 도구 = 338
연습 문제 = 342
8장 객체지향 기초
8.1 객체지향의 특징 = 351
8.1.1 모형의 적합성 = 351
8.1.2 재사용 용이 = 352
8.1.3 Time-to-market = 353
8.1.4 설계와 프로그램의 매핑 = 354
8.2 객체지향 기본 개념 = 354
8.2.1 객체 = 355
8.2.2 클래스 = 356
8.2.3 캡슐화 = 358
8.2.4 상속 = 358
8.2.5 다형성 = 360
8.3 객체지향 프로세스 = 361
8.3.1 객체지향 분석 = 363
8.3.2 객체지향 설계 = 364
8.3.3. 객체지향 코딩과 테스트 = 365
8.3.4 RUP = 366
8.4 UML = 368
8.4.1 UML의 배경 = 369
8.4.2 클래스, 속성, 오퍼레이션의 표현 = 371
8.4.3 사용 사례 다이어그램 = 375
8.4.4 클래스 다이어그램 = 375
8.4.5 순서 다이어그램 = 378
8.4.6 상태 다이어그램 = 379
8.4.7 액티비티 다이어그램 = 382
8.5 설계와 구현의 매핑 = 383
8.5.1 연관 관계 = 384
8.5.2 전체 부분 관계 = 385
8.5.3 상속 관계 = 387
8.5.4 사용 관계 = 388
연습 문제 = 390
9장 객체지향 분석과 설계
9.1 사용 사례 = 405
9.1.1 액터 찾기 = 406
9.1.2 시나리오 찾기 = 407
9.1.3 사용 사례 작성 = 409
9.1.4 사용 사례 사이의 관계 찾기 = 412
9.2 객체 모델링 = 414
9.2.1 엔티티 클래스 찾기 = 416
9.2.2 경계 클래스 찾기 = 417
9.2.3 제어 클래스 찾기 = 418
9.2.4 연관 관계 찾기 = 418
9.2.5 속성 찾기 = 421
9.3 동적 모델링 = 422
9.3.1 상호 작용 다이어그램 작성 = 422
9.3.2 상태 다이어그램 작성 = 426
9.3.3 액티비티 다이어그램 작성 = 427
9.4 시스템 설계 = 429
9.4.1 설계 목표의 정의 = 431
9.4.2 패키지 다이어그램 작성 = 431
9.4.3 배치 다이어그램 작성 = 433
9.4.4 저장소의 설계 = 434
9.5 객체 설계 = 436
9.5.1 객체 서비스 정의 = 436
9.5.2 부품 선택 = 438
9.5.3 재구조화 = 440
9.5.4 최적화 = 440
9.6 디자인 패턴 = 442
9.6.1 Visitor 패턴 = 443
9.6.2 Observer 패턴 = 445
9.6.3 Factory 패턴 = 446
연습 문제 = 448
10장 품질 보증
10.1 품질 개념 = 460
10.1.1 품질의 의미 = 461
10.1.2 품질 요소 = 462
10.1.3 소프트웨어 특성과 품질 = 464
10.1.4 프로세스 품질 = 465
10.1.5 프로덕트 품질 = 466
10.2 품질 보증 활동 = 467
10.2.1 조직 = 468
10.2.2 계획 = 469
10.2.3 작업 = 470
10.3 프로세스 품질 = 471
10.3.1 CMM = 471
10.3.2 SPICE = 477
10.4 프로덕트 품질 측정 = 480
10.4.1 내부와 외부 품질 요소 = 480
10.4.2 품질 특성의 정의 = 481
10.4.3 메트릭 스케일 = 482
10.4.4 품질 측정 = 483
10.5 인스펙션 = 484
10.5.1 인스펙션의 목적 = 484
10.5.2 인스펙션 과정 = 485
10.5.3 인스펙션의 종류 = 488
연습 문제 = 491
11장 소프트웨어 공학 동향
11.1 CASE = 500
11.1.1 CASE 개념 = 500
11.1.2 CASE 기술 = 502
11.1.3 소프트웨어 개발 환경 = 504
11.1.4 상위 CASE = 506
11.1.5 하위 CASE = 510
11.1.6 통합 CASE = 512
11.2 컴포넌트 기반 소프트웨어 개발 = 513
11.2.1 컴포넌트 기반 개발 과정 = 514
11.2.2 컴포넌트란 무엇인가? = 516
11.2.3 Java 컴포넌트 = 519
11.2.4 COM+ 컴포넌트 = 522
11.2.5 CORBA 컴포넌트 = 524
11.3 웹 엔지니어링 = 525
11.3.1 웹 기반 응용 시스템의 특성 = 525
11.3.2 웹 엔지니어링 프로세스 = 526
11.3.3 웹 구조 설계 = 527
11.3.4 네비게이션 설계 = 529
11.3.5 인터페이스 설계 = 529
11.3.6 웹 테스트 = 530
11.4 소프트웨어 리엔지니어링 = 531
11.4.1 배경 = 531
11.4.2 리엔지니어링과 관련된 정의 = 533
11.4.3 리엔지니어링의 목적 = 533
11.4.4 리엔지니어링 기술 = 534
11.5 실시간 소프트웨어 설계 = 541
11.5.1 실시간 시스템에서의 이슈 = 541
11.5.2 실시간 시스템 설계 기법 = 542
참고 문헌 = 546
찾아보기 = 551
서평 (0 건)
*주제와 무관한 내용의 서평은 삭제될 수 있습니다.
서평추가