목차 일부
제1장 소프트웨어공학 ... 1
1.1 소프트웨어공학 정의와 개념 ... 1
1.2 소프트웨어공학의 역사 ... 2
1.3 소프트웨어공학의 형태 ... 4
1.4 소프트웨어공학의 특색 ... 6
1.5 좋은 소프트웨어란 ... 8
1.6 소프트웨어의 품질 ... 12
1.7 소프트웨어의 위기 ... 14
제2장 소프트웨...
더보기
목차 전체
제1장 소프트웨어공학 ... 1
1.1 소프트웨어공학 정의와 개념 ... 1
1.2 소프트웨어공학의 역사 ... 2
1.3 소프트웨어공학의 형태 ... 4
1.4 소프트웨어공학의 특색 ... 6
1.5 좋은 소프트웨어란 ... 8
1.6 소프트웨어의 품질 ... 12
1.7 소프트웨어의 위기 ... 14
제2장 소프트웨어의 라이프싸이클 ... 17
2.1 라이프싸이클의 개요 ... 17
2.2 요구분석 ... 22
2.1.1 니즈분석 ... 23
2.1.2 요구사양화 ... 24
2.3 설계 ... 26
2.4 코우딩 ... 28
2.5 테스트 ... 29
2.6 운용·보수 ... 30
2.7 개발기술의 진전 ... 38
제3장 요구분석 ... 39
3.1 요구분석의 중요성 ... 39
3.1.1 요구분석이란 ... 39
3.1.2 요구분석의 문제점 ... 40
3.1.3 요구분석의 사고법 ... 43
3.2 요구분석의 작업공정 ... 45
3.3 요구분석 방법론 및 도구 ... 48
3.1.1 니즈분석 공정의 방법론 및 도구 ... 50
3.1.2 요구사양화 공정의 방법론 및 도구 ... 53
3.4 실예의 요구분석 ... 65
3.4.1 목적 ... 65
3.4.2 무엇을 할 것인가 ... 66
3.4.3 환경 ... 69
3.5 실예의 사양석 ... 69
3.5.1 개요설계 ... 71
3.5.2 입출력 등의 기본적인 방식을 결정 ... 71
3.5.3 외부사양서의 기술 ... 77
제4장 설계표현 ... 79
4.1 HIPO ... 79
4.2 데이터플로우 다이어그램(DFD) ... 102
4.3 구조화챠트 ... 111
4.4 Warnier-Orr 다이어그램 ... 118
4.5 Nassi-Shneiderman 챠트 ... 127
4.6 Program Design Language(PDL) ... 132
제5장 설계개념 ... 139
5.1 설계법의 분류 ... 139
5.1.1 설계법이란 ... 139
5.1.2 설계법의 중요성과 역사 ... 140
5.1.3 설계법의 범위 ... 141
5.2 모듈화 ... 144
5.3 추상화 ... 146
5.4 추상데이타형 ... 152
5.5 추상데이타형의 예 ... 155
5.6 객체지향 ... 161
5.6.1 객체 ... 162
5.6.2 메시지 ... 162
5.6.3 크래스와 인스턴스 ... 163
5.6.4 수퍼크래스와 계승 ... 164
제6장 톱다운과 보텀업 설계 ... 169
6.1 개요 ... 169
6.2 설계사상과 설계 ... 170
제7장 모듈러 설계 ... 175
7.1 개요 ... 175
7.2 모듈의 설계 ... 176
7.2.1 모듈의 외부설계 ... 176
7.2.2 모듈의 논리설계 ... 177
7.3 모듈러 프로그래밍의 장단점 ... 178
7.4 모듈 설계의 예제 ... 179
제8장 구조화설계와 복합설계 ... 189
8.1 구조화의 중요성 ... 189
8.2 복합설계 ... 192
8.2.1 표기법 ... 193
8.2.2 설계방법 ... 194
8.2.3 모듈분할기준 ... 200
8.2.4 복합설계상의 주의점 ... 211
8.2.5 복합설계의 특징 ... 211
8.2.6 복합설계의 샘플 예 ... 212
8.3 프로그램 구조설계의 예 ... 214
8.3.1 분할의 실예 ... 215
8.3.2 공통기능 모듈의 발견 ... 218
8.3.3 인터페이스의 명시 ... 221
8.4 모듈 내부설계의 설예 ... 223
8.4.1 모듈 내부설계를 요하는 모듈 ... 223
8.4.2 상위레벨 모듈 내부설계도 ... 224
8.4.3「메뉴표시와 선택」의 모듈 내부설계도 ... 227
8.4.4.「화일내용의 표시」의 모듈 내부설계도 ... 227
8.4.5 단순한 기능 모듈의 설계 ... 227
8.5 설계의 다큐먼트 기술 ... 239
8.5.1 다큐먼트의 역할 ... 239
8.5.2 프로그램사양서 ... 240
8.5.3 설계 다큐먼트의 종류 ... 241
8.5.4 실예의 화일명 ... 242
제9장 데이터구조지향 설계법 ... 247
9.1 Jackson 설계법 ... 248
9.1.2 설계순서 ... 249
9.1.2 구조일치 경우의 설계순서 ... 253
9.1.3 구조불일치 경우의 설계순서 ... 258
9.2 Warnier 설계법 ... 260
9.2.1 설계순서 ... 260
9.2.2 설계순서의 구체적인 예 ... 265
제10장 데이타플로우지향 설계법 ... 271
10.1 설계와 정보의 흐름 ... 271
10.1.1 기원 ... 271
10.1.2 어플리케이션의 범위 ... 272
10.2 설계과정의 고찰 ... 272
10.2.1 변환 플로우 ... 273
10.2.2 트랜잭션 플로우 ... 274
10.2.3 처리의 추상화 ... 275
10.3 변환분석 ... 276
10.3.1 예제 ... 276
10.3.2 설계단계 ... 278
10.4 트랜잭션 분석 ... 285
10.4.1 예제 ... 285
10.4.2 설계단계 ... 286
10.5 블록구축 ... 292
10.6 설계의 뒷처리 ... 293
10.7 설계의 최적화 ... 295
제11장 객체지향 설계 ... 297
11.1 객체지향 설계방법 ... 298
11.2 문제정의 ... 298
11.3 비정규적 전략 ... 301
11.4 전략의 정식화 ... 302
11.4.1 객체 및 그속성 ... 305
11.4.2 객체에 적용되는 조작 ... 305
11.4.3 프로그램 구성요소와 인터페이스 ... 308
11.4.4 객체지향 설계에 대한 그래픽 표현 ... 311
11.4.5 실행 세부사항 ... 313
11.5 다른 대안을 이용한 접근방법 ... 318
11.5.1 설계단계 ... 319
11.5.2 설계 예 ... 320
제12장 코우딩 기술 ... 329
12.1 코우딩 지침 ... 329
12.1.1 표현방법 ... 330
12.1.2 구조의 선택 ... 330
12.1.3 시스템 장해대책 수립 ... 330
12.1.4 품질향상 ... 330
12.1.5 코우딩 스타일 ... 331
12.1.6 모듈 헤더 ... 334
12.2 제어구조문 ... 335
12.2.1 선택구조 ... 335
12.2.2 반복구조 ... ?
12.3 헤더화일 ... 338
12.3.1 마크로치환 ... 338
12.3.2 함수의 프로우트타입 ... 339
12.3.3 화일포함 ... 341
12.4 코우딩의 예 ... 345
12.4.1 문자열입력 모듈 ... 345
12.4.2 코드변환 모듈 ... 349
12.4.3 10→16진수 변환처리 모듈 ... 353
제13장 테스트 기술 ... 359
13.1 테스트와 검사의 사고법 ... 360
13.1.1 단위테스트와 통합테스트 ... 361
13.1.2 단위테스트를 위한 특별한 모듈 ... 362
13.1.3 통합테스트 방법 ... 363
13.1.4 단위테스트의 개요 ... 366
13.1.5 시스템 테스트 ... 368
13.2 테스트케이스의 설계방법 ... 369
13.2.1 블랙박스 테스트 ... 370
13.2.2 화이트 박스 테스트 ... 376
13.2.3 테스트케이스의 설계순서 ... 379
13.3 테스트도구 ... 380
13.4 실예의 드라이버 / 스타브 ... 383
13.4.1 드라이버 ... 383
13.4.2 실예의 스타브 ... 388
13.5 실예의 코우딩 리스트와 테스트 드라이버 ... 390
제14장 디자인 리뷰 ... 433
14.1 디자인 리뷰의 중요성 ... 433
14.1.1 디자인 리뷰 ... 433
14.1.2 디자인 리뷰의 목적 ... 434
14.1.3 디자인 리뷰의 필요성 ... 434
14.1.4 소프트웨어의 설계품질의 개념 ... 436
14.2 디자인 리뷰의 내용과 실시방법 ... 437
14.2.1 디자인 리뷰의 내용 ... 437
14.2.2 소프트웨어의 개발공정과 생산물 ... 439
14.2.3 디자인 리뷰의 관리체제와 관리방법 ... 440
14.2.4 디자인 리뷰 준비 ... 442
14.2.5 디자인 리뷰 실시방법 ... 442
14.2.6 체크리스트 ... 446
제15장 프록그램의 품질관리 - 워크스루우 / 인스펙션 ... 451
15.1 프로그램의 품질 ... 451
15.2 품질관리 방침 ... 452
15.2.1 에러의 방지 ... 452
15.2.2 에러의 검출 ... 455
15.3 IPI와 품질관리 ... 459
15.4 구조화챠트 워크스루와 인스펙션 ... 461
15.4.1 종래의 리뷰미팅의 반성 ... 461
15.4.2 구조화 워크스루우란 ... 462
15.4.3 워크스루우와 인스펙션 ... 464
15.5 워크스루우의 진행방법 ... 465
15.6 코드 리딩 ... 467
15.7 워크스루우와 프로그래머팀장 ... 471
15.8 워크스루우와 프로젝트 계획 ... 474
제16장 운용·보수 ... 477
16.1 소프트웨어 보수의 형태 ... 477
16.2 소프트웨어 라이프싸이클과 보수 ... 479
16.3 보수성이란 ... 481
16.4 보수 작업순서 ... 486
16.5 소프트웨어 보수의 문제점 ... 489
16.6 해결에의 어프로치 ... 491
16.7 보수용 도구 ... 493
16.7.1 개별 도구의 문제점 ... 493
16.7.2 도구시스템의 문제점 ... 494
16.7.3 보수용 도구의 예 ... 499
제17장 프로젝트의 관리 ... 505
17.1 프로젝트의 계획과 관리의 방법 ... 505
17.2 시스템 계획 ... 506
17.2.1 시스템계획이란 ... 506
17.2.2 새로운 작업의 추가와 일정의 변경 ... 509
17.2.3 시스템계획의 작성 ... 511
17.2.4 시스템계획 미팅 ... 512
17.2.5 문제의 해결과 트래킹 ... 515
17.2.6 프로젝트 의존사항 ... 515
17.2.7 설계변경 건수와 확인 ... 515
17.2.8 코우딩 및 유니트테스트의 진척상황과 관리 ... 517
17.2.9 테스트의 진척관리 ... 518
제18장 소프트웨어의 재이용 기술 ... 521
18.1 재이용의 설계기술 ... 521
18.2 소프트웨어 재이용의 개념 ... 523
18.2.1 소프트웨어 개발과 재이용 ... 525
18.2.2 재이용의 단위 ... 526
18.2.3 소프트웨어 버스 ... 529
18.3 재이용 도구 ... 530
참고문헌 ... 541
찾아보기 ... 547
더보기 닫기