제1장 시스템의 개념 1. 시스템의 개요 ... 15 1.1 시스템(system)의 정의 ... 15 1.2 시스템의 특성 ... 16 1.3 시스템의 기본 요소 ... 17 1.4 시스템의 대상 ... 18 1.5 정보 처리 시스템의 형태 ... 19 2. 시스템 개발 주기 ... 21 2.1 시스템 개발 단계 ... 21 2.2 소프트웨어 생명 주기 ... 22 2.3 시스템의 개발 방법 ... 24 2.4 기초 조사 ... 25 2.5 시스템 분석 ... 29 2.6 시스템 설계 ... 32 2.7 구현 단계 ... 38 2.8 실행 단계 ... 40 2.9 유지보수 단계 ... 41 연습문제 ... 42 해답/해설 ... 49 제2장 코드의 설계 1. 코드의 기능과 분류 ... 57 1.1 코드의 기능 ... 57 1.2 코드의 종류 ... 59 1.3 코드 설계의 목적 ... 68 2. 오류의 방지와 검출 ... 69 2.1 오류의 방지 ... 69 2.2 오류의 검출 ... 71 3. 코드의 설계와 관리 ... 76 3.1 설계 순서 ... 76 3.2 코드의 관리 ... 82 연습문제 ... 84 해답/해설 ... 89 제3장 입력과 출력의 설계 1. 개요 ... 97 2. 입력 매체와 형식 ... 98 2.1 인간으로부터의 입력 ... 99 2.2 기계로부터의 입력 ... 109 2.3 입력 정보의 설계 순서 ... 110 3. 출력 매체와 형식 ... 115 3.1 출력 방식 ... 115 3.2 출력 시스템의 종류 ... 117 3.3 출력 정보의 설계 순서 ... 119 연습문제 ... 123 해답/해설 ... 129 제4장 파일의 설계 1. 파일 설계의 개요 ... 137 1.1 파일의 종류 ... 138 1.2 파일과 레코드 ... 145 2. 파일의 속성 ... 149 2.1 데이터 구조 ... 149 2.2 파일 속성의 검토 ... 154 3. 파일 매체의 설계 ... 157 3.1 개요 ... 157 3.2 파일 매체 ... 159 3.3 파일 설계의 순서 ... 161 4. 파일 편성의 방법 ... 162 4.1 순차 편성 방법 ... 162 4.2 색인 순차 편성 방법 ... 164 4.3 랜덤 편성 방법 ... 167 4.4 리스트 편성 방법 ... 170 연습문제 ... 172 해답/해설 ... 177 제5장 프로세스와 프로그래밍의 설계 1. 프로세스 설계의 개념 ... 185 1.1 흐름도(flowchart) ... 186 1.2 흐름도에 사용되는 기호 ... 190 2. 프로세스의 처리 패턴 ... 197 2.1 일괄 처리 시스템 ... 198 2.2 온라인 처리 시스템 ... 206 2.3 프로세스 설계 절차 ... 207 3. 체크 시스템과 종류 ... 210 3.1 원시 데이터의 발생 장소에서의 체크 ... 210 3.2 입력 매체로 변환 과정에서의 체크 ... 211 3.3 컴퓨터 처리 단계에서의 체크 ... 211 3.4 오류 데이터의 표시와 수정 ... 213 4. 프로그래밍의 설계 ... 214 4.1 프로그래밍 설계서 작성의 효과 ... 215 4.2 프로그래밍 설계서 작성 방법 ... 215 4.3 프로그래밍 테스트 ... 224 연습문제 ... 227 해답/해설 ... 234 제6장 시스템 평가와 문서화 1. 시스템의 평가 ... 243 1.1 처리 시간의 견적 ... 243 1.2 시스템 운용 계획의 입안 ... 245 1.3 기능, 성능, 신뢰성의 평가 ... 246 2. 시스템 도입의 평가 ... 248 2.1 정보 작성 원가의 계산 ... 249 2.2 시스템의 이행 계획의 입안 ... 249 2.3 도입 효과의 평가 ... 251 3. 시스템의 문서화(documentation) ... 255 3.1 문서화의 목적 ... 255 3.2 문서화의 효과 ... 256 3.3 문서화의 규칙 및 대상 ... 256 3.4 문서화의 표준화 ... 257 3.5 문서화의 요건 ... 258 3.6 문서화의 문제점 ... 260 3.7 문서화의 과정 ... 261 연습문제 ... 266 해답/해설 ... 270 제7장 효율적인 프로그래밍 기법 1. 소프트웨어의 개발 주기 ... 279 1.1 소프트웨어 위기(software crisis) ... 279 1.2 소프트웨어 공학 ... 283 1.3 소프트웨어 개발 주기 ... 285 2. IPT의 각 기법 ... 292 2.1 IPT의 각 기법 ... 292 2.2 HIPO 기법 ... 301 3. 모듈의 설계(Module Design) ... 311 3.1 모듈 설계의 개요 ... 312 3.2 프로그램 기술 언어 ... 314 3.3 모듈화의 특징 ... 317 연습문제 ... 319 해답/해설 ... 324 제8장 구조적 분석과 설계 1. 구조적 분석 ... 335 1.1 구조적 분석(structured analysis) 기법의 개념 ... 335 1.2 구조적 분석 도구 ... 337 1.3 구조적 분석 절차 ... 360 2. 구조적 설계 ... 364 2.1 구조적 설계(structured design) 기법의 개념 ... 364 2.2 구조적 설계 절차 ... 365 2.3 구조적 설계 도구 ... 368 2.4 구조적 설계 전략 ... 374 2.5 구조적 설계 평가 지침 ... 379 2.6 설계 단계 후 작업 ... 387 연습문제 ... 393 해답/해설 ... 398 제9장 객체 지향 분석과 설계 1. 객체 지향의 개념 ... 409 2. 객체 지향 개발 과정 ... 419 2.1 객체 지향 분석(object oriented analysis) ... 420 2.2 객체 지향 설계(object oriented design) ... 430 2.3 객체 지향 프로그래밍 ... 434 3. 코드와 요든의 객체 지향 분석과 설계 ... 439 3.1 객체 지향 분석 ... 441 3.2 객체 지향 설계(object oriented design) ... 445 4. 부치의 객체 지향 분석과 설계 ... 447 연습문제 ... 454 해답/해설 ... 458 찾아보기 ... 467 참고문헌 ... 474