목차
제Ⅰ부 소프트웨어 엔지니어의 기초지식
제1장 소프트웨어와 소프트웨어 工學
제1절 소프트웨어의 理解 = 22
1. 프로그램과 소프트웨어 = 22
2. 소프트웨어 개발의 특성 = 27
3. 소프트웨어의 분류 = 29
제2절 소프트웨어의 重要性과 소프트웨어 危機 = 33
1. 소프트웨어의 중요성과 기술발전 추이 = 33
2. 소프트웨어 위기 = 34
3. 잘못된 의식구조 = 40
제3절 소프트웨어 工學의 理解 = 43
1. 현실과 이상의 차이 = 43
2. 소프트웨어 공학의 역사 = 44
3. 소프트웨어 공학의 정의 = 53
제4절 소프트웨어 生命週期 = 57
1. 시스템 개발주기 = 58
2. 소프트웨어 생명주기 모형들 = 59
3. 생명주기의 역할 = 63
참고문헌 = 65
제2장 소프트웨어 學問과 技術의 動向과 展望
제1절 소프트웨어 學問과 敎育 = 68
1. 우리 나라 소프트웨어 관련 교육실태와 문제점 = 68
2. 전자계산학의 소프트웨어 공학의 관계 = 74
3. 소프트웨어 학문 관련 교과과정의 개선방향 = 76
4. 소프트웨어 학문의 체계와 발전대책 = 79
제2절 소프트웨어 技術現況과 展望 = 87
1. 국내 분야별 소프트웨어 기술현황 = 88
2. 선진국과의 소프트웨어 기술수준 비교 = 94
참고문헌 = 101
제Ⅱ부 소프트웨어 개발기술
제3장 소프트웨어 프로젝트의 計劃樹立과 統制
제1절 問題의 理解와 시스템定義書의 作成 = 106
1. 목표의 설정 = 106
2. 경영학적인 접근방법 = 107
3. 시스템 정의서의 작성 = 108
제2절 妥當性 分析 = 109
1. 경제적 타당성 = 109
2. 기술적 타당성 = 110
3. 법적 타당성 = 111
제3절 開發計劃書와 文書化 計劃 = 112
1. 개발절차계획 = 112
2. 문서화 계획 = 112
3. 인원 계획 = 112
4. 예산 계획 = 113
5. 개발환경 계획 = 113
제4절 開發費用의 算定 = 116
1. 개발비 산정시 고려요소들 = 116
2. 하향식 산정방법 = 119
3. 상향식 산정방법 = 121
4. 수학적 산정방법 = 124
제5절 日程計劃과 프로젝트의 統制 = 136
1. 통제의 원리 = 136
2. 개발진행의 감시 및 통제 = 140
3. 개발비용집행의 감시 및 통제 = 149
참고문헌 = 153
제4장 使用者의 要求分析
제1절 要求分析作業의 理解 = 156
1. 요구의 다양성 = 156
2. 요구분석의 문제점 = 158
3. 요구분석의 원리 = 160
4. 요구분석을 위한 접근방법 = 161
제2절 意思疏通技術 = 162
1. 분석대상과 용어의 선택 = 163
2. 의사소통과 요구수집기술 = 163
3. 프로토타이핑 = 165
제3절 자료흐름지향(構造化) 분석기법 = 167
1. 시스템의 환경분석 = 168
2. 자료흐름도 작성 = 168
3. 자료사전의 작성 = 174
4. 기능의 명세화 = 175
5. 구조적 분석 방법론 = 178
제4절 資料構造指向 분석기법 = 180
1. 워니어-오 분석기법 = 181
2. 잭슨 분석기법 = 185
제5절 實時間 시스템의 分析 = 188
1. 실시간 시스템의 이해 = 188
2. 성능분석방법 = 191
3. 상태전이 분석방법 = 195
제6절 데이타베이스 分析 = 195
1. 데이타 개체간의 관계분석 = 197
2. 용량분석 = 201
제7절 要求分析 自動化 道具 = 202
1. PSL/PSA/ = 202
2. SREM = 203
3. TAGS = 204
4. PROMOD = 205
5. SYSREM = 205
제8절 요구사항의 明細化 = 206
1. 명세화의 원리와 특성 = 207
2. 명세서 목차와 양식 = 207
참고문헌 = 214
제5장 使用者 인터페이스 設計
제1절 使用者 인터페이스와 對話型 소프트웨어 = 218
1. 인간 공학 = 219
2. 사용자의 다양성 = 220
3. 사용자 인터페이스론 = 224
제2절 인터페이스 方法論 = 228
1. 메뉴방식 = 230
2. 그래픽 사용자 인터페이스 방법 = 235
3. 언어 인터페이스 방법 = 235
4. 사용자 지도 인터페이스 = 239
제3절 入出力樣式의 設計와 相互作用機器 = 241
1. 입력양식 설계 = 241
2. 출력양식의 설계 = 242
3. 상호작용기기들 = 244
제4절 出力情報의 類型處理 = 247
1. 도형정보 = 247
2. 칼라 = 247
3. 오디오 = 249
4. 이미지 = 250
5. 애니 메이션 = 250
6. 미래형 기술 = 251
제5절 使用者 인터페이스 道具들 = 252
1. Dan Bricklin의 DEMO = 252
2. MS-Windows의 Dialog Box Editor = 253
3. JYACC사의 FORMAKER = 253
4. CASE Works사의 CASEWORKS = 255
참고문헌 = 258
제6장 소프트웨어 設計
제1절 設計의 槪念과 原理 = 262
1. 설계의 유형 = 262
2. 설계의 원리와 모듈화 = 263
제2절 設計表記法 = 272
1. 구조도 = 274
2. HIPO 다이아그램 = 275
3. 워니어-오 다이아그램 = 276
4. 잭슨 다이아그램 = 277
5. 액션다이아그램 = 278
6. HOS도표 = 279
제3절 자료흐름지향(構造的) 설계방법 = 280
1. 자료흐름도 작성·검토단계 = 281
2. 구조도 작성단계 = 281
3. 설계의 평가단계 = 285
4. 구현준비단계 = 286
5. 구조적 설계에 관한 평가 = 286
6. 하향식 설계방법 = 288
제4절 자료구조지향 설계방법 = 288
1. 워니어-오 설계방법 = 289
2. 잭슨설계방법 = 296
제5절 實時間 시스템의 設計 = 302
1. DARTS 설계방법 = 303
2. Mellor와 Ward의 설계방법 = 309
3. STATEMATE 방법 = 313
4. SSD방법 = 313
5. 다른 실시간 시스템 설계방법들 = 314
제6절 設計用 自動化 道具들 = 315
1. STP = 315
2. ARTIFEX = 318
제7절 設計任樣書의 作成 = 319
1. 설계의 검증 = 319
2. 설계사양서의 목차 = 320
3. 사용자지침서의 작성 = 321
참고문헌 = 323
제7장 프로그래밍과 소프트웨어 生産性
제1절 프로그래밍의 目標 = 328
제2절 프로그램의 構造的 表現 = 330
1. 흐름도 = 330
2. 구조적 프로그래밍 = 332
3. N-S도표 = 335
제3절 프로그래밍 言語 = 336
1. 프로그래밍 언어의 일반적 특성 = 336
2. 기초프로그래밍 언어론 = 337
3. 프로그래밍 언어의 분류 = 339
4. 프로그래밍 언어의 선택 = 346
제4절 코딩 方法論 = 348
1. 코딩스타일 = 348
2. 코드의 내부문서화 = 349
3. 코드의 외부문서화 = 351
제5절 소프트웨어 메트릭스 = 351
1. 소프트웨어 메트릭스 등장배경 = 352
2. 라인수 메트릭스 = 353
3. 소프트웨어 과학 메트릭스 = 357
4. 소프트웨어 복잡도 메트릭스 = 358
5. 소프트웨어 기능점수 메트릭스 = 361
6. 프로그래밍 언어와 소프트웨어 메트릭스 = 362
제6절 소프트웨어 生産性 = 362
1. 생산성 요소들 = 363
2. 생산성 향상방안 = 372
3. 생산성 향상방안의 기대효과 = 374
참고문헌 = 375
제8장 客體指向 分析·設計·프로그래밍
제1절 客體와 客體指向 개발단계 = 380
1. 객체의 속성 = 380
2. 객체지향의 기본원칙 = 382
3. 생산성 향상방안의 기대효과 = 382
제2절 客體指向分析 = 385
1. 객체모형화 = 385
2. 동적 모형화 = 385
3. 기능모형화 = 391
4. 객체지향 분석절차 = 400
제3절 客體指向設計 = 401
1. 시스템 설계 = 402
2. 객체설계 = 404
3. 객체지향 설계절차 = 408
제4절 客體指向 프로그래밍 = 409
1. 객체지향 프로그래밍 스타일 = 409
2. 객체지향 프로그래밍 언어의 유형 = 411
3. 객체지향 언어(C++)를 이용한 프로그래밍 = 412
참고문헌 = 416
제Ⅲ부 소프트웨어 품질확보기술
제9장 소프트웨어 試驗과 디버깅
제1절 소프트웨어 試驗의 槪念 = 422
1. 시험에 임하는 시각과 원칙 = 426
2. 시험의 경제성 = 427
3. 시험의 유형 = 427
4. 시험절차와 시험사례 설계 = 428
5. 시험계획서 = 429
제2절 시험기법과 시험용 도구 = 431
1. 블랙박스 시험 기법들 = 431
2. 화이트박스 시험 기법들 = 436
3. 시험용 도구들 = 441
제3절 段階別 소프트웨어 試驗 = 443
1. 모듈시험 = 444
2. 통합시험 = 446
3. 시스템 시험 = 450
4. 인수시험 = 453
5. 設置試驗 = 454
제4절 프로그램 디버깅 = 454
1. 맹목적 디버깅 = 455
2. 귀납법에 의한 디버깅 = 456
3. 연역법에 의한 디버깅 = 456
4. 역행조사에 의한 디버깅 = 457
5. 디버깅의 원리 = 457
참고문헌 = 459
제10장 소프트웨어 維持補修·再工學·形象管理
제1절 維持補修의 理解 = 462
1. 유지보수의 定義 = 462
2. 유지보수의 重要性 = 463
3. 유지보수 容易性과 소프트웨어 品質 = 465
4. 유지보수 작업의 分類 = 466
5. 유지보수 비용요소와 費用算定方法 = 467
6. 유지보수의 어려움 = 469
제2절 소프트웨어 維持補修方法 = 470
1. 소프트웨어의 理解 = 470
2. 소프트웨어의 修正 = 471
3. 소프트웨어 修正의 逆效果와 防止對策 = 473
4. 소프트웨어의 進化 = 474
5. 소프트웨어의 死亡 = 476
제3절 소프트웨어 再工學과 逆工學 = 477
1. 소프트웨어의 改造 = 478
2. 소프트웨어의 再構築 = 480
3. 소프트웨어 逆工學 = 481
4. 소프트웨어 再工學과 CASE = 481
제4절 소프트웨어 形象管理 = 483
1. 베이스라인과 形象個體 = 483
2. 형상관리의 機能 = 484
3. 형상관리 導入方法 = 485
참고문헌 = 490
제11장 소프트웨어 品質保證과 信賴度
제1절 소프트웨어 品質의 定義 = 494
1. 用語의 定義 = 494
2. 品質의 特性과 目標의 設定 = 495
제2절 品質保證의 槪念 = 499
1. 품질보증의 기능 = 499
2. 품질 보증 費用 = 500
3. 품질보증전문가와 조직 = 501
4. 품질보증 計劃書 = 503
5. 품질보증 실시요령 = 503
6. 품질보증의 效果와 問題點 = 506
제3절 소프트웨어 問題類型과 品質管理 = 508
1. 소프트웨어 문제의 유형 = 508
2. 검토회의 = 509
3. 단계별 검열회의 = 514
제4절 소프트웨어 信賴度 = 521
1. 신뢰도의 유형과 척도 = 521
2. 신뢰도 측정모형 = 523
3. 신뢰도의 활용 = 524
참고문헌 = 525
제12장 소프트웨어 性能工學
제1절 소프트웨어 性能工學의 必要性 = 530
1. 컴퓨터시스템 性能評價의 일반적 이해 = 530
2. 소프트웨어 성능공학(SPE)의 擡頭 = 533
제2절 소프트웨어 性能工學의 接近方法 = 536
1. 소프트웨어 성능공학의 效果 = 536
2. 소프트웨어 성능공학의 段階 = 537
3. 소프트웨어 성능공학의 評價模型 = 539
4. 소프트웨어 성능공학의 目標와 條件 = 539
제3절 성능 높은 소프트웨어 開發 原理 = 542
1. 固定·視覺 원리 = 543
2. 地域性-設計 원리 = 543
3. 處理와 頻度間의 상관관계 원리 = 545
4. 자원공유 원리 = 545
5. 同時處理 원리 = 545
6. 集中原理 = 546
7. 道具化 원리 = 546
8. 생명주기 後半部 = 546
제4절 소프트웨어 성능공학 環境 = 547
1. 소프트웨어 공학과의 互換性 = 547
2. 소프트에어 성능공학의 適用範圍 = 548
3. 費用·效果 및 危險要因 = 549
참고문헌 = 549
附錄
人事管理시스템 開發事例 = 553
事項索引 = 685
1. 한글 索引 = 685
2. 英文 索引 = 695