- 소프트웨어(Software)의 개념
- 소프트웨어(Software)의 유형
- 1) 시스템 소프트웨어 (system) : 운영체제, 유틸리티
- 2) 응용 소프트웨어 (operating) : 정보작업, 콘텐츠 재생, 교육용, 시뮬레이션, 미디어
- 3) 개발 소프트웨어 : 인터프리터, 컴파일러
1. 소프트웨어(Software)의 개념
- 저장장치에 저장된 특정한 목적의 하나, 또는 다수의 컴퓨터 프로그램
- 컴퓨터 하드웨어에 직접 명령어를 주거나 다른 소프트웨어에 입력을 제공하여, 그것이 수행되도록 구현된 기능
- 한글, MS워드, 인터넷 익스플로러, 크롬 등과 같은 프로그램을 말함
2. 시스템 소프트웨어
- 시스템운영을 위해 설계된 컴퓨터 소프트웨어
- 컴퓨터 하드웨어를 동작, 접근할 수 있도록 설계된 소프트웨어
- 응용 소프트웨어 실행을 위한 플랫폼을 제공함
- 1) 운영체제, 2) 유틸리티
1) 운영체제 (Operating system)
- 하드웨어와 응용프로그램간의 인터페이스 역할 수행
- 중앙처리장치, 주기억장치, 입출력장치 등의 컴퓨터 자원을 관리함
- 인간과 컴퓨터 간의 상호작용 제공하며, 컴퓨터의 동작을 구동하고, 작업의 순서를 정하고, 입출력 연산을 제어한다.
- 운영체제의 기능 : 메모리관리, 프로세스 관리, 장치 및 파일 관리
- 모든 컴퓨터는 운영체제를 기반으로 운용된다.
- ex) 애플 iOS 운영체제, 구글 안드로이드 운영체제
2) 유틸리티
- 운영체제에 속해 있는 프로그램으로, 컴퓨터 시스템을 구성하는 다양한 자원과 주변 장치를 관리하는 프로그램
- 메모리, 하드디스크, 레지스트리, 프린터, 스캐너, 네트워크, 윈도 탐색기, 악성코드 제거 프로그램 등등
3. 응용 소프트웨어 (Application Software)
- 응용체제에서 실행되는 모든 소프트웨어
- OS위에서 사용자가 직접 사용하게 되는 소프트웨어
- 한글, 워드, 게임 등 일반 사용자에게 가장 친숙하고 흔하게 사용도는 컴퓨터 프로그램
- 스마트폰에서 사용되는 어플, 앱 등도 거의 대부분 응용 소프트웨어 프로그램에 해당한다.
- 1) 정보작업, 2) 콘텐츠 재생, 3) 교육용, 4) 시뮬레이션, 5) 미디어 응용
1) 정보 작업 소프트웨어
- 직장, 가정에서 다양한 형태의 정보를 다루면서 업무를 처리할 때 주로 사용되는 소프트웨어
- 워드프로세서, 스프레드시트, 이메일 소프트웨어, 일정관리 소프트웨어, 개인용 데이터베이스 관리, SNS 소프트웨어등
- 한글, MS Word, MS 파워포인트, 키노트, 구글 캘린더, 페이스북, 트위터, 인스타그램, 에버노트 등
2) 콘텐츠 재생 소프트웨어
- 텍스트, 이미지, 음악, 동영상, 웹페이지 등 다양한 유형의 콘텐츠를 엑세스하고 재생하는 소프트웨어
- 경우에 따라 콘텐츠 편집 기능을 포함할 수 있다.
- Acorobat Feacer, 곰플레이어, 알씨, 알쏭, 스윙브라우저, 인터넷 익스플로러 등
3) 교육용 소프트웨어
- 교육적으로 활용할 수 있는 모든 소프트웨어
- 교육적인 목적으로 특별히 개발된 응용소프트웨어를 지칭
- 1) 교육적 적을 달성하기 위해 특정한 과업을 수행하는 기능을 갖고 있는 소프트웨어
- 2) 콘텐츠만으로 구성되어 학습 목적으로 이용되는 소프트웨어 (= 교육용 콘텐츠 or 코스웨어 Courseware)
- 교육행정정보시스템 NEIS, 에듀넷 학습자료, 디지털 교과서, 구글 어스 등
4) 시뮬레이션 소프트웨어
- 비용이 많이 드는 조작이나 실험, 오랜 시간이 걸리는 사회적 현상, 지나치게 크거나 위험이 따르는 자연세계, 미시적 생명현상, 눈에 직접 보이지 않는 자연 등 실제 세계의 모습을 가상으로 구축하여 표현하는 것.
- 시뮬레이션 소프트웨어는 가상현실 VR 이나 증강현실 AR과 결합된 형태로 개발되어 사용하기도 한다.
- 낙하산 시뮬레이터, 사격 훈련 시뮬레이터, 응급의료, 비행, 드라이빙, 전략 시뮬레이터 등
- 과학, 수학교육, 군사훈련, 의료, 게임 등의 용도로 활용된다.
5) 미디어 응용 소프트웨어
- 새로운 미디어를 생성하거나 기존의 미디어를 편집하는 등 미디어의 생산 및 가공 기능을 가지는 소프트웨어
- 어도비 디자인, 일러스트 레이터, 마야, 오토캐드, 스케치업, 베가스, 아이콘오서, 오서웨어프로페셔널 등
4. 개발 소프트웨어
- 하드웨어나 소프트웨어를 개발하기 위한 소프트웨어
- 1) 인터프리터, 2) 컴파일러
1) 인터프리터
- 작성된 코드를 한 단계씩 해석하여 실행 결과를 바로 보여주는 방식으로 프로그램을 해석하는 방법
- 인터프리터는 비교적 소스코드를 작성하기 쉽고, 실행 결과를 바로 확인할 수 있어 초보자도 쉽게 이용할 수 있어 교육용으로 주로 이용한다.
- 그래픽 유저 인터페이스(GUI)를 갖춘 스크래치, 엔트리 등의 블록형 언어로 발전하여 교육용으로 널리 이용되고 있다.
2) 컴파일러
- 특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 프로그램
- 컴파일(Compile) : 원시 코드에서 목적 코드로 옮기는 과정
- 원시코드(소스코드) : 원래의 문서, 목적코드 : 출력된 문서
- 대부분의 개발자는 컴파일러를 이용하여 소프트웨어를 개발한ㄷ다.
- Java, C언어, Visual Basic 등 수많은 프로그래밍 언어가 존재하는데, 이 중 Java와 C언어가 현재 가장 많이 사용된다.
반응형
'★ 프로그래밍 > º 인공지능융합교육과' 카테고리의 다른 글
경인교대 과제 : 교육 빅데이터 분석 - 언플러그드 교수학습지도안_중등_체육 (hwp) (0) | 2021.04.22 |
---|---|
컴퓨팅 사고력 향상을 위한 SW교육방법 (언플러그드, 알고리즘 학습, 교육용 프로그래밍 언어, 피지컬 컴퓨팅) (0) | 2021.04.16 |
/ 프로그램의 구조 (순차구조, 선택구조, 반복구조) (0) | 2021.04.13 |
불확실성 발생요인과 불확실성의 유형, 확률과 베이지안 정리 (0) | 2021.04.05 |
알고리즘 : 특성, 특징, 평가기준, 설계기법, 표현방법 (0) | 2021.02.04 |