목차
PART 1 기초지식
   Chapter 1 시스템 분석의 개요 ... 17
      1.1 시스템 분석의 개요 ... 18
      1.2 비즈니스 시스템 ... 18
      1.3 정보 시스템 ... 19
        1.3.1 시스템의 기본 ... 20
      1.4 시스템의 특성 ... 22
      1.5 시스템의 유형 ... 24
        1.5.1 개방 시스템 ... 24
        1.5.2 폐쇄 시스템 ... 25
      1.6 시스템 분석의 연구 ... 25
   Chapter 2 시스템 분석가 ... 27
      2.1 시스템 분석가의 출현 ... 28
      2.2 시스템 부서의 발전 ... 29
      2.3 시스템 분석가의 의무 ... 30
      2.4 통신과 조직 ... 32
      2.5 업무 명세 ... 33
      2.6 지식ㆍ기술ㆍ교육 ... 34
        2.6.1 비즈니스 지식 ... 35
        2.6.2 기술지식 ... 35
        2.6.3 관리와 인간관계 기술 ... 36
      2.7 시스템 분석의 경험 축적 ... 36
      2.8 시스템 분석가의 미래 ... 37
      2.9 공식적 조직체계 ... 37
        2.9.1 라인 조직 ... 38
        2.9.2 라인 및 스탭 조직 ... 39
        2.9.3 위원회 조직 ... 40
        2.9.4 정보 부서의 조직 ... 41
      연습문제 ... 42
PART 2 시스템 분석 도구
   Chapter 3 시스템 개발 수명주기 ... 45
      3.1 원인과 결과의 관계 ... 46
      3.2 과학적 방법 ... 47
        3.2.1 문제 인식 ... 48
        3.2.2 문제의 정량적 표현 ... 49
        3.2.3 분석결과 선정과 대안 선택 ... 49
        3.2.4 기법의 구현 ... 50
        3.2.5 결과의 평가 및 최적화 ... 50
      3.3 구조적 시스템 분석 방법론 ... 51
      3.4 시스템 개발 수명주기 ... 52
        3.4.1 계획단계 ... 53
        3.4.2 분석단계 ... 53
        3.4.3 설계단계 ... 54
        3.4.4 개발단계 ... 54
        3.4.5 구현단계 ... 55
      연습문제 ... 57
   Chapter 4 시스템 분석 도구 ... 59
      4.1 시스템 모델링 ... 60
      4.2 설계 다이어그램의 이점 ... 61
      4.3 전통적 설계도구 ... 62
        4.3.1 간트차트 ... 63
        4.3.2 디시전 트리 ... 64
        4.3.3 디시전 테이블 ... 65
        4.3.4 순서도 ... 67
      4.4 구조적 설계 도구 ... 71
        4.4.1 자료흐름도 ... 71
        4.4.2 자료사전 ... 85
        4.4.3 미니스팩 ... 91
        4.4.4 HIPO 차트 ... 96
        4.4.5 N-S 차트 ... 102
        4.4.6 Warnier-Orr 도표 ... 106
        4.4.7 프로그램 기술언어 ... 111
      연습문제 ... 115
PART 3 계획단계
   Chapter 5 예비계획과 조사 ... 119
      5.1 시스템 조사 진행방법 ... 120
      5.2 문제인식 ... 121
      5.3 서비스(개발) 요청 ... 121
      5.4 시스템 조사방법 ... 124
      5.5 문제 정의 ... 124
      5.6 타당성 조사 ... 126
        5.6.1 업무추진의 담당 ... 127
        5.6.2 예비조사 ... 128
        5.6.3 기초조사 ... 132
        5.6.4 최종 보고서 ... 141
        5.6.5 시스템 조사방법 ... 142
      연습문제 ... 151
   Chapter 6 프로젝트 관리 ... 153
      6.1 프로젝트의 개념 ... 154
      6.2 프로젝트 관리의 필요성 ... 154
      6.3 프로젝트의 실패요인 ... 155
      6.4 프로젝트 관리 ... 156
      6.5 전통적 프로젝트 관리 ... 159
        6.5.1 목표 정의 ... 159
        6.5.2 예산 확보와 자원 할당 ... 160
        6.5.3 추진 일정표와 작업 계획 ... 160
        6.5.4 프로젝트의 모니터와 추적 ... 161
        6.5.5 보고서와 문서 ... 161
      6.6 컴퓨터의 프로젝트 관리 ... 162
        6.6.1 CPM ... 162
        6.6.2 예산작성 프로그램 ... 164
      연습문제 ... 165
PART 4 분석단계
   Chapter 7 시스템 분석 ... 169
      7.1 개요 ... 170
      7.2 기능분석 ... 171
        7.2.1 기능분석의 추진 ... 171
        7.2.2 시스템의 도해(圖解) ... 173
      7.3 예비설계 ... 173
      7.4 비용효과 분석 ... 176
      7.5 소프트웨어의 수명주기 ... 177
      7.6 구조적 분석 과정 ... 181
        7.6.1 개요 ... 181
        7.6.2 구조적 분석 절차 ... 183
      7.7 구조적 검토회의 ... 209
      연습문제 ... 215
PART 5 설계단계
   Chapter 8 시스템 설계의 기초 ... 219
      8.1 시스템 설계 ... 220
      연습문제 ... 232
   Chapter 9 구조적 설계의 개요 ... 233
      9.1 구조적 설계의 기초지식 ... 234
      9.2 구조적 설계의 취지 ... 236
      9.3 구조적 설계 절차 ... 244
      9.4 구조도 ... 248
        9.4.1 구조도의 기초와 의미 ... 248
        9.4.2 구조도 작성의 예 ... 256
      9.5 구조도 설계상의 주요 검토사항 ... 259
      연습문제 ... 260
   Chapter 10 모듈 설계 ... 261
      10.1 모듈의 외부설계 ... 262
      10.2 모듈의 논리 설계 ... 263
      10.3 모듈의 논리설계 도구와 방법 ... 265
        10.3.1 프로그램 기술언어 ... 265
        10.3.2 N-S 차트 ... 268
        10.3.3 구조적 코딩 ... 271
      연습문제 ... 274
   Chapter 11 기능적 설계 ... 275
      11.1 출력설계 ... 276
        11.1.1 출력의 표준화 ... 276
        11.1.2 출력형태의 분류 ... 278
        11.1.3 출력설계 시 고려사항 ... 280
        11.1.4 출력설계 순서 ... 281
        11.1.5 보고서 및 화면설계 ... 285
      11.2 입력설계 ... 291
        11.2.1 입력의 표준화 ... 292
        11.2.2 입력의 형식 ... 294
        11.2.3 입력 매체와 설계 ... 296
        11.2.4 입력설계 순서 ... 301
        11.2.5 원시전표 설계 ... 303
        11.2.6 입력 데이터 체크 ... 307
      11.3 코드설계 ... 316
        11.3.1 코드의 기능 ... 316
        11.3.2 코드의 구비조건 ... 316
        11.3.3 코드의 종류 ... 317
        11.3.4 코드설계 순서 ... 324
        11.3.5 코드의 에러 방지 및 검출 ... 327
        11.3.6 코드의 문서화와 관리 ... 330
      11.4 파일 설계 ... 332
        11.4.1 파일의 종류 ... 334
        11.4.2 파일의 편성법 ... 336
        11.4.3 데이터의 기록형태 ... 352
        11.4.4 파일 설계의 추진 ... 354
        11.4.5 파일 매체 설계 ... 356
        11.4.6 파일 설계의 요약 ... 359
        11.4.7 데이터베이스 프로세스 설계 ... 368
      11.5 프로세스 설계 ... 368
        11.5.1 처리 패턴 ... 368
        11.5.2 프로세스 설계 원칙과 고려사항 ... 380
        11.5.3 프로세스 설계 과정 ... 381
      연습문제 ... 386
   Chapter 12 설계 기준 ... 387
      12.1 결합도 ... 388
        12.1.1 결합도의 유형 ... 388
      12.2 모듈 응집도 ... 395
        12.2.1 응집도의 유형 ... 396
        12.2.2 응집도 판정 기준 ... 403
      12.3 기타 기준 ... 404
        12.3.1 모듈 분해 ... 404
        12.3.2 제어폭 ... 406
        12.3.3 공유도 ... 407
        12.3.4 의사결정 분리 ... 407
        12.3.5 모듈 형태 ... 408
        12.3.6 에러처리 ... 409
        12.3.7 모듈크기 ... 410
        12.3.8 제한성과 일반성 ... 411
        12.3.9 초기화 및 종료모듈 ... 412
      연습문제 ... 413
   Chapter 13 구조도 설계전략 ... 415
      13.1 구조도 ... 416
      13.2 변환분석 ... 417
      13.3 거래분석 ... 426
      13.4 거래분석의 원칙 ... 429
      13.5 거래분석 절차 ... 431
      13.6 모듈 명세서 ... 431
      연습문제 ... 432
   Chapter 14 패키징 ... 433
      14.1 패키징 시기 ... 435
        14.1.1 분석 이후의 패키징 ... 435
        14.1.2 설계 이후의 패키징 ... 437
      연습문제 ... 438
PART 6 구현 및 운영
   Chapter 15 시스템 구현과 테스트 ... 441
      15.1 테스트의 개요 ... 442
      15.2 테스트의 종류 ... 442
        15.2.1 단위 테스트 ... 443
        15.2.2 통합 테스트 ... 444
        15.2.3 기능 테스트 ... 449
        15.2.4 시스템 테스트 ... 449
        15.2.5 개발공정 이후의 테스트 ... 451
      15.3 테스트 공정 ... 452
      15.4 명세서 변경과 관리 ... 459
      연습문제 ... 462
   Chapter 16 소프트웨어 유지보수 ... 463
      16.1 유지보수의 목적과 의미 ... 464
        16.1.1 유지보수의 의의와 유형 ... 464
        16.1.2 소프트웨어 수명주기와 유지보수의 역할 ... 465
        16.1.3 유지보수의 문제점 ... 466
      16.2 유지보수 활동의 개요 ... 467
        16.2.1 사용자에 대응 ... 467
        16.2.2 제품에 대응 ... 469
      16.3 사후 유지보수 ... 471
        16.3.1 트러블 상담 ... 471
        16.3.2 원인 해석 ... 475
        16.3.3 소프트웨어 불량의 수정 ... 476
      16.4 예방 유지보수 ... 479
        16.4.1 예방 수정의 적용 ... 479
        16.4.2 기술지원 ... 480
        16.4.3 제품의 개량 ... 481
      16.5 유지보수 체제 ... 483
      16.6 유지보수 엔지니어 교육 ... 484
      연습문제 ... 486
   Chapter 17 시스템 평가 및 최적화 ... 487
      17.1 수행기준 ... 488
        17.1.1 시간적 요소 ... 489
        17.1.2 비용요소 ... 490
        17.1.3 하드웨어 능력 ... 492
        17.1.4 소프트웨어 수행능력 ... 493
        17.1.5 생산성 ... 493
        17.1.6 정확도 ... 494
        17.1.7 컴퓨터 시큐리티 ... 494
        17.1.8 사기 ... 501
        17.1.9 사용자와 고객의 반응 ... 501
      17.2 시스템 최적화 ... 502
      17.3 요약 ... 502
      연습문제 ... 504
PART 7 객체지향 분석과 설계
   Chapter 18 객체지향 방법론의 대두 ... 507
      18.1 개요 ... 508
      18.2 통합 개발환경의 필요성 제기 ... 509
      18.3 객체지향의 개념 ... 514
        18.3.1 기초적 개념과 성질 ... 514
      18.4 객체지향 개발단계와 방법론 ... 520
        18.4.1 객체지향 개발단계의 개요 ... 520
        18.4.2 객체지향 방법론의 진화 ... 522
      연습문제 ... 525
   Chapter 19 객체지향 분석 ... 527
      19.1 분석론 기초사항 고찰 ... 528
        19.1.1 개요 ... 528
        19.1.2 문제 정의 ... 529
        19.1.3 객체 식별과 결정 ... 531
        19.1.4 객체의 구조 결정 ... 536
        19.1.5 속성의 기술 ... 540
        19.1.6 연산의 파악 ... 540
        19.1.7 메시지 ... 544
      19.2 람바우 및 GE의 방법 ... 544
        19.2.1 객체 모델 ... 544
        19.2.2 동적모델 ... 548
        19.2.3 기능모델 ... 553
        19.2.4 모델의 유도방법 ... 556
      19.3 코드와 요든의 방법 ... 557
        19.3.1 객체 및 구조식별 ... 557
        19.3.2 주제정의 ... 558
        19.3.3 인스턴스와 메시지 연결 ... 560
      19.4 UML의 다이어그램 ... 561
        19.4.1 유즈케이스 다이어그램 ... 561
        19.4.2 시퀀스 다이어그램 ... 562
        19.4.3 협력 다이어그램 ... 564
        19.4.4 클래스 다이어그램 ... 564
        19.4.5 상태 다이어그램 ... 566
        19.4.6 패키지 다이어그램 ... 566
        19.4.7 활동 다이어그램 ... 567
        19.4.8 배치 다이어그램 ... 567
      연습문제 ... 568
   Chapter 20 객체지향 설계 ... 569
      20.1 기초개념 및 원칙 ... 570
        20.1.1 설계의 대상 ... 570
        20.1.2 객체지향 설계의 과정 ... 571
        20.1.3 설계 결과물의 평가기준 ... 572
      20.2 객체지향 설계의 구체적 절차 ... 573
        20.2.1 시스템 분할 ... 574
        20.2.2 동시성 문제 해결 ... 574
        20.2.3 처리기 할당 ... 575
        20.2.4 자료관리법 확정 ... 575
        20.2.5 자원 선정 ... 575
        20.2.6 소프트웨어 제어방법 결정 ... 575
        20.2.7 경계조건 결정 ... 576
        20.2.8 우선순위 결정 ... 577
      20.3 람바우의 객체설계 ... 577
        20.3.1 분석모델 통합 ... 578
        20.3.2 알고리즘 설계 ... 578
        20.3.3 설계 내용의 최적화 ... 579
        20.3.4 제어전략 ... 579
        20.3.5 상속성 조정 ... 580
        20.3.6 객체사이 관계 정의 ... 580
        20.3.7 객체 표현 ... 582
        20.3.8 패키징 ... 582
      20.4 코드 및 요든의 객체지향 설계 ... 583
      20.5 부치의 객체지향 설계 ... 585
        20.5.1 클래스 다이어그램 ... 585
        20.5.2 객체 다이어그램 ... 586
        20.5.3 모듈 다이어그램 ... 587
        20.5.4 프로세스 다이어그램 ... 588
      20.6 객체지향 프로그래밍 ... 589
      연습문제 ... 590
닫기