목차
1장 소프트웨어 공정 과정과 요구사항분석
1.1 소프트웨어 개발 라이프 사이클 = 18
1.1.1 요구사항 분석(Requirements Analysis) = 19
1.1.2 소프트웨어 설계 = 23
1.1.3 소프트웨어 구현(Implementation) = 24
1.1.4 시험(Testing) = 25
1.1.5 소프트웨어 유지보수(Maintenance) = 25
1.2 요구사항 분석 과정 = 26
1.2.1 분석의 특징 = 29
1.2.2 요구사항 명세서 = 31
1.2.3 모델링 = 33
1.2.4 소프트웨어 시스템의 세 가지 관점 = 36
1.3 요약 = 40
제5부 소프트웨어 설계
2장 소프트웨어 설계 기법
2.1 소프트웨어 설계 개요 = 47
2.2 소프트웨어 설계 문서 = 49
2.3 소프트웨어 설계 활동 = 52
2.3.1 설계의 기술적인 관점 = 52
2.3.2 설계의 관리적 관점 = 55
2.4 설계의 고려 사항 = 57
2.4.1 추상화(abstraction) = 58
2.4.2 정보 은닉(information hiding) = 62
2.4.3 단계적 정제(stepwise refinement) = 67
2.4.4 모듈화(modularity) = 68
2.4.5 프로그램 구조화 (program structure) = 69
2.5 설계의 품질요소 = 74
2.5.1 모듈 독립성(module independence) = 75
2.5.2 응집도 (cohesion) = 76
2.4.3 결합도 (coupling) = 85
2.4.4 이해도 (understandability) = 95
2.4.5 적응도 (adaptability) = 96
2.6 요약 = 98
3장 자료흐름 중심 설계 (Data Flow Oriented Design)
3.1 자료흐름 중심 설계 개요 = 108
3.2 구조적 설계의 기본 개념 = 110
3.3 구조도표의 표기법 = 112
3.4 정보 흐름의 유형 = 114
3.5 변화흐름중심설계 (Transform Flow-Oriented Design) = 116
3.6 트랜잭션흐름 (Transaction Flow) 중심 설계 = 133
3.7 요약 = 143
4장 실시간 시스템 설계 (Real-Time System Design)
4.1 동적 모델링 개념 = 150
4.2 유한상태기계 (Finite State Machine) = 152
4.2.1 실시간 시스템 설계 = 154
4.3 실시간 설계 가이드라인 = 158
4.4 제어명세서를 구조도로 전환 (DARTS) = 168
4.4.1 DARTS 표기법 = 170
4.4.2 DARTS 프로세스 = 172
4.5 실시간 동작 이해 = 173
4.6 요약 = 176
5장 데이터 디자인
5.1 관계형 모델 = 184
5.1.1 관계형 모델 제약 조건 = 184
5.2 EER 모델에서 관계형 모델로의 매핑 = 187
5.3 중복성 관리와 정규화 (Normalisation) = 199
5.4 뷰 (View) = 206
5.5 시스템의 데이터 처리 = 209
5.6 요약 = 210
6장 객체지향 설계
6.1 시스템 설계 = 220
6.1.1 시스템의 병행성 규명과 처리 = 229
6.1.2 소프트웨어 기능을 하드웨어에 할당 = 233
6.1.3 소프트웨어 제어와 구조 = 235
6.2 객체 설계 = 245
6.2.1 세 모델의 통합 = 247
6.2.2 알고리즘 설계 = 254
6.2.3 객체 접근 경로의 최적화 = 257
6.2.4 제어 방법의 설계 = 259
6.2.5 상속성의 증가 = 259
6.2.6 집단화와 연관성에 대한 설계 = 261
6.2.7 객체 표현 (Object Representation) = 266
6.2.8 플리모피즘 (Polymorphism) = 267
6.3 요약 = 271
7장 사용자 인터페이스
7.1 인터페이스 개발 과정 = 281
7.2 인적요소 = 283
7.2.1 인식 모델 = 283
7.2.2 사회적 및 조직적인 요소 = 286
7.3 사용자 인터페이스 방식 = 287
7.3.1 명령어 (Command Language) = 287
7.3.2 메뉴지향 시스템 = 289
7.3.3 서식 기입 (Form Fill-in) = 293
7.4 인터페이스 설계 지침 = 294
7.5 객체지향 사용자 인터페이스 = 298
7.6 요약 = 302
8장 상세 설계
8.1 상세 설계의 표기법 = 307
8.1.1 순서도 (Flowchart) = 308
8.1.2 N-S 도표 = 310
8.1.3 프로그램 설계 언어(PDL) = 312
8.2 구조적 프로그래밍 = 313
8.3 객체지향적 상세 설계 = 321
8.4 요약 = 323
제6부 프로그래밍
9장 프로그래밍
9.1 프로그래밍 언어 개요 = 327
9.2 프로그래밍 표준 = 331
9.2.1 코드의 문서화 = 332
9.2.2 코드의 간결성 = 333
9.2.3 코드의 명확성 = 336
9.3 객체지향 프로그래밍 = 339
9.4 요약 = 344
10장 코드 검사
10.1 코드 검사 계획 = 349
10.2 코드 검사 진행 = 350
10.3 코드 검사 오류 항목 = 353
10.4 코드 검사 사후 검토 = 355
10.5 요약 = 355
제7부 품질과 시험
11장 소프트웨어 품질
11.1 소프트웨어 품질 정의 = 363
11.2 소프트웨어 품질 요소 = 366
11.3 품질 표준 = 369
11.4 검토 기법 = 372
11.4.1 공식기술검토회 (Formal Technical Review) = 373
11.5 소프트웨어 측정 = 376
11.6 요약 = 378
12장 소프트웨어 시험(Testing)
12.1 시험의 개요와 목적 = 384
12.2 시험 계획 = 385
12.3 검증과 확인 = 389
12.3.1 검증(Validation) = 389
12.3.2 확인(Verification) = 391
12.4 블랙박스 시험 = 395
12.4.1 등가 분할 = 395
12.4.2 경계값 분석 = 397
12.5 화이트박스 시험 = 398
12.5.1 모든 실행문의 수행 조사 = 399
12.5.2 분기점 조사 = 401
12.5.3 조건 조사 = 403
12.5.4 화이트박스 시험의 필요성 = 404
12.6 시험 절차 = 407
12.6.1 단위 시험 = 408
12.6.2 통합 시험 = 410
12.6.3 검증 시험 = 415
12.6.4 시스템 시험 = 416
12.7 요약 = 418
제8부 유지보수
13장 유지보수(Maintenance)
13.1 유지보수 정의 = 427
13.2 역공학과 재공학 = 430
13.3 유지보수 절차와 조직 = 433
13.4 소프트웨어 형상관리 = 438
13.4.1 형상관리 과정 = 444
13.5 요약 = 447
찾아보기