슬라이드 1 - Beautiful Mind

Download Report

Transcript 슬라이드 1 - Beautiful Mind

PART1 컴퓨터 일반
Chapter3
컴퓨터 소프트웨어
목차
소프트웨어
프로그래밍 언어
웹 프로그래밍 언어
2
Section 01
소프트웨어
소프트웨어(software)의 개념
시스템을 동작시키고 임의의 작업을 처리할 순서와 방법을 지시하는 명
령어의 집합인 프로그램과 프로그램의 수행에 필요한 절차, 규칙, 관련
문서의 총칭
소프트웨어의 분류
시스템 소프트웨어(system software)
 운영체제(OS; Operating System)
 DOS, Windows, OS/2, Unix, Linux 등
 언어 번역 프로그램(language translation program)
 인터프리터, 컴파일러, 어셈블러
 유틸리티 프로그램(utility program)
 압축, 통신, 쉘 프로그램 등
3
Section 01
소프트웨어
응용 소프트웨어(application software)
 워드프로세서, 스프레드시트, 그래픽 소프트웨어, 설계 소프트웨어, 데이터베이
스 관리 시스템 등
소프트웨어의 분류
 상용 소프트웨어
 공개 소프트웨어(freeware)
 셰어웨어(shareware) : 상용 소프트웨어를 일정기간 사용 후 구매
 데모버전(demo version) : 홍보 목적으로한 시연
 트라이얼 버전(trial version) : 체험판 소프트웨어
 알파 버전(alpha version)
 베타 버전(beta version)
 패치 프로그램(patch program)
4
Section 01
소프트웨어
유틸리티
유틸리티 개념
 사용자가 컴퓨터를 보다 쉽게 사용할 수 있도록 해 주거나 운영체제에서 제공하
지 않는 기능을 제공함으로써 컴퓨터를 이용하여 보다 편리하게 특정한 작업을
수행할 수 있도록 해주는 프로그램
압축 프로그램
 목적
 파일 압축을 통하여 디스크 공간 절약
 데이터 통신시 소요되는 시간 절약
 여러 개의 파일을 한 개의 압축 파일로 관리, 파일 백업 용이
 WinZip, WinRAR, Alzip, 지펜놀(Zip'N'All) 등
통신 프로그램
 웹 브라우저, 에뮬레이터, Outlook, FTP 프로그램 등
5
Section 01
소프트웨어
시스템 관리 프로그램
 쉘(shell) 프로그램
 컴퓨터를 보다 쉽게 사용할 수 있도록 해주는 프로그램
 명령어 해석기
» 유닉스(unix)의 대화형 사용자 인터페이스
» 사용자가 입력하는 명령어를 이해하고, 실행하는 역할 수행
 DOS Shell, MDIR, Bourne shell, Korn shell, C shell, Bourne Again shell 등
 노턴 유틸리티
 컴퓨터 사용 중에 발생하는 각종 문제들을 해결해 주는 유틸리티
6
Section 02
프로그래밍 언어
프로그래밍 언어 개념
각종 프로그램을 작성하기 위한 언어
일반 프로그래밍 언어
저급 언어(low level language) – 기계 중심 언어
 기계어(machine language)
 컴퓨터가 이해할 수 있는 바이너리 코드
 컴퓨터 기종에 따라 각기 다른 기계어 사용
 수행 속도 빠름
 프로그램 작성이 어렵고 복잡
 어셈블리어(assembly)
 기계어에 1:1로 대응하는 명령어를 가진 언어
 기계어에 비해 작성 용이하지만, 어셈블러(assembler) 필요
 기종 마다 다른 어셈블리어 사용
 고급언어에 비해 사용이 불편
 실행 속도 빠름
» 하드웨어와 관련된 시스템 프로그램 작성에 사용
7
Section 02
프로그래밍 언어
고급 언어(high level language) – 사용자 중심 언어
 자연어에 가까운 표현을 사용
 프로그램 작성 용이
 컴파일러나 인터프리터를 통해 기계어로 번역
 기계어에 비해 처리 속도 느림
 기계어와 어셈블리어를 제외한 대부분의 언어
 Fortran : 과학 계산용 프로그래밍 언어
 COBOL(COmmon Business Oriented Language) : 사무처리용 프로그래밍 언어
 C 언어 : H/W 에 대한 직접적인 조작이 가능한 언어(중급 언어)
 C++, Java : 객체 지향 언어
 Algol, Basic, Pascal , Ada, Lisp 등
8
Section 02
프로그래밍 언어
9
Section 02
프로그래밍 언어
언어 번역기(language translation program)
 기계어가 아닌 언어로 작성된 프로그램을 기계어로 변환
 인터프리터(interpreter)
 대화식 언어 번역기
 기억 장소 낭비 방지(상대적)
 실행 시간 증가
 컴파일러(compiler)
 한꺼번에 번역하여 일시에 수행
 실행 속도 빠름
 기억 장소 낭비 우려(상대적)
 어셈블러(assembler)
 어셈블리어로 작성된 프로그램을 기계어로 번역
10
Section 02
프로그래밍 언어
11
Section 02
프로그래밍 언어
언어 번역 과정
원시 프로그램(source program)
 사용자가 프로그래밍 언어로 작성한 프로그램
목적 프로그램(object program)
 언어 번역기에 의해 기계어로 번역된 프로그램
로드 모듈(load module)
 링커(linker)에 의해 실행 가능한 상태로 만들어진 프로그램 모듈
(컴파일)
원시 프로그램
(Source
Program)
실행 가능한
프로그램
(Load Module)
목적 프로그램
(Object Program)
컴파일러
(로드)
(링크)
연계 편집
프로그램
12
실행
로더
Section 02
프로그래밍 언어
프로그래밍 작성 기법
구조적 프로그래밍 기법
상향식 프로그래밍 기법
하향식 프로그래밍 기법
객체 지향 프로그래밍 기법
비주얼 프로그래밍 기법
13
Section 03
웹 프로그래밍 언어
HTML (HyperText Markup Language)
하이퍼텍스트 문서를 작성하기 위한 언어
SGML (Standard Generalized Mark-up Language)
HTML의 바탕이 된 언어
XML (eXtensible Markup Language)
HTML과 SGML의 장점을 수용한 언어
Perl (Practical Extraction and Reporting Language)
CGI 프로그램을 작성에 이용되는 인터프리터 언어
CGI (Common Gateway Interface)
서버와 응용 프로그램 간에 데이터를 주고 받기 위한 규약
카운터, 방명록, 게시판과 같이 방문자 상호간의 정보 전달에 이용
14
Section 03
웹 프로그래밍 언어
자바 (JAVA)
선 마이크로시스템즈 사가 개발한 객체 지향 프로그래밍 언어
자바 스크립트 (Java Script)
넷스케이프 커뮤니케이션 사가 개발한 스크립트 언어
자바 애플릿 (Java Applet)
자바로 작성된 작은 소프트웨어
네트워크 전송에 적합
자바 스크립트
자바 애플릿
컴파일 불필요
컴파일 필요
클라이언트의 웹 브라우저에서 인터프리트
서버에서 컴파일, 클라이언트에서 인터프리트
객체 지향 언어의 특성
객체 지향 언어의 특성
HTML 문장 안에 포함
별도의 애플릿 파일 존재
15
Section 03
웹 프로그래밍 언어
ASP (Active Server Page)
동적 웹 페이지 작성을 위한 스크립트 언어
VB Script 사용
PHP (Hypertext Preprocesor)
동적 웹 페이지 작성을 위한 스크립트 언어
Unix, Linux, Windows 등의 환경에 작동
C, Java, Perl 문법과 유사
JSP (Java Server Page)
동적 웹 페이지 작성을 위한 스크립트 언어
자바 서블릿 코드로 변환 수행
16
Q&A