목차
Chapter 01 파일처리 ... 1
1.1 파일처리종류와 구조 ... 2
1.1.1 파일의 기능에 따른 분류 ... 3
1.1.2 파일의 접근 유형에 따른 분류 ... 5
1.2 파일처리의 기본 작업 ... 7
1.2.1 파일처리 기본 작업의 종류 ... 7
1.3 파일시스템의 기능 ... 10
1.4 파일시스템의 종류 ... 12
1.4.1 FAT ... 14
1.5 이진파일과 텍스트 파일 ... 19
1.5.1 이진 파일(binary file) ... 19
1.5.2 텍스트 파일(text file) ... 21
1.6 순차접근과 임의접근 ... 22
1.6.1 순차 접근(sequential access) ... 22
1.6.2 임의 접근(random access) ... 24
1.7 해싱의 원리와 적용 ... 25
1.7.1 해싱 함수의 종류 ... 27
학습정리 ... 32
연습문제 ... 34
Workbook ... 36
Chapter 02 데이터베이스 ... 41
2.1 데이터베이스의 개념 ... 42
2.1.1 데이터베이스의 특징 ... 45
2.1.2 데이터베이스 관리 시스템의 장단점 ... 46
2.2 정규화 ... 49
2.2.1 정규형의 종류 ... 51
2.3 데이터베이스 관리시스템 및 종류 ... 60
2.3.1 DBMS의 필수 기능 ... 61
2.3.2 DBMS의 구성요소 ... 62
2.3.3 DBMS의 종류 ... 64
2.4 구조적 질의어(SQL) ... 66
2.4.1 SQL의 사용 방법 ... 66
학습정리 ... 77
연습문제 ... 79
Workbook ... 81
Chapter 03 자료구조 ... 85
3.1 자료구조의 개념 ... 86
3.2 배열 ... 87
3.2.1 배열이란? ... 87
3.2.2 다차원 배열 ... 88
3.3 리스트 ... 90
3.3.1 선형리스트 ... 90
3.3.2 연결리스트 ... 92
3.4 스택과 큐 ... 96
3.4.1 스택 ... 96
3.4.2 큐 ... 97
3.5 트리 ... 101
3.5.1 이진 트리 ... 102
3.5.2 히프 트리 ... 103
3.5.3 이진 탐색 트리 ... 104
3.6 정렬 ... 106
3.6.1 선택정렬 ... 107
3.6.2 버블정렬 ... 108
3.6.3 삽입정렬 ... 109
3.6.4 합병정렬 ... 110
3.6.5 기수정렬 ... 113
학습정리 ... 115
연습문제 ... 116
Workbook ... 118
Chapter 04 프로그램 개발과 언어 ... 123
4.1 프로그래밍의 개념 및 구조 ... 124
4.1.1 프로그램 언어의 선정 기준 ... 125
4.2 저수준 언어와 고수준 언어 ... 126
4.2.1 저수준 언어 ... 126
4.2.2 고수준 언어 ... 127
4.3 프로그래밍 언어의 종류 및 특성 ... 130
4.3.1 기계어(Machine Language) ... 130
4.3.2 어셈블리 언어(Assembly Language) ... 130
4.3.3 프로시저-지향 언어(Procedure-Oriented Langage) ... 131
4.3.4 문제-지향 언어(Problem-oriented Language) ... 135
4.3.5 제4세대 언어 ... 136
4.4 프로그래밍 기법 ... 138
4.4.1 프로그래밍 절차 ... 138
4.4.2 프로그램의 설계와 구현 ... 140
4.4.3 프로그램의 개발 방법 ... 142
4.5 프로그램 번역과 실행 ... 145
4.5.1 어셈블러(Assembler) ... 145
4.5.2 컴파일러(Compiler) ... 146
4.5.3 인터프리터(Interpreter) ... 146
학습정리 ... 147
연습문제 ... 148
Workbook ... 149
Chapter 05 객체지향 프로그램 ... 153
5.1 객체지향 프로그래밍의 배경 ... 154
5.1.1 하드웨어 발전 과정 ... 156
5.1.2 소프트웨어 발전 과정 ... 157
5.1.3 소프트웨어 위기(Software Crisis) ... 157
5.1.4 소프트웨어 위기와 객체기술 ... 158
5.2 객체지향 프로그래밍의 정의 ... 159
5.2.1 객체 지향의 기본개념 ... 159
5.2.2 객체 지향의 필요성 ... 164
5.2.3 객체 지향 관련용어 ... 164
5.3 객체지향 프로그래밍 언어 ... 166
5.3.1 객체지향 언어의 특징 ... 166
5.3.2 객체지향 언어의 종류 ... 167
5.3.3 객체지향 언어의 선택 ... 167
5.4 .NET 개발 환경 ... 168
5.4.1 .NET이란 무엇인가? ... 168
5.4.2 .NET Framework란? ... 168
5.4.3 .NET 설치하기 ... 169
5.4.4 .NET 환경 ... 175
학습정리 ... 177
연습문제 ... 179
Workbook ... 180
Chapter 06 소프트웨어 공학 ... 185
6.1 소프트웨어 공학의 이해 ... 186
6.1.1 소프트웨어란? ... 186
6.1.2 소프트웨어의 위기 ... 186
6.1.3 소프트웨어 공학의 출현 ... 187
6.2 소프트웨어 생명 주기 ... 188
6.2.1 전통적인 SDLC 모델(폭포수 모델) ... 189
6.2.2 프로토타입(Prototype) 모델 ... 191
6.2.3 나선형(Spiral) 모델 ... 194
6.2.4 객체 지향 방법론 ... 196
6.3 프로젝트와 구성 요소 ... 198
6.3.1 사람 ... 198
6.3.2 공정 ... 199
6.3.3 제품 ... 202
6.3.4 기술 ... 203
6.4 효과적인 프로젝트 관리 방법 ... 203
6.5 객체지향 소프트웨어 개발 방법 ... 205
6.5.1 객체 지향 개발 방법론의 특징 ... 206
6.5.2 객체지향 개발 방법론의 장점 ... 206
6.5.3 객체지향 분석/설계 단계 ... 207
6.5.4 객체지향 분석/설계 표준 경쟁 : UML과 OML ... 208
학습정리 ... 209
연습문제 ... 211
Workbook ... 213
닫기