1. 프로그래밍 언어의 개요
가) 프로그래밍 언어 개념
- 정의 : 프로그램을 작성함에 있어 사람이 컴퓨터와 쉽게 소통할 수 있도록 하기 위한 언어
- 저급언어 : 기계어(0, 1로 이루어짐), 어셈블리어(기계어를 간단한 문자로 표현)
- 고급언어 : 사람이 이해하기 쉬움, 코볼, Java, C 등등
나) 인터프리터 언어
- 원시코드를 번역과 동시에 실행, 메모리 절약, 재실행시 비효율적
다) 컴파일러 언어
- 원시코드를 저급언어로 변경(컴파일) 한 후 실행, 재실행시 효율적, 기계어 변환과정에 긴 시간 소요
2. 주요 프로그래밍 언어의 특징
가) C언어
- 빠른 실행속도와 효율적인 메모리 관리, 절차지향적 언어
- IOS, 안드로이드 등의 운영체제에 사용
나) C++언어
- C언어에서 객체지향 프로그래밍 지원하는 언어로 발전
다) JAVA 언어
- C++의 문제점 개선, 자동 가비지 컬렉션 수행, JVM에 의한 플랫폼 독립적
- 앱, 모바일 등에 주로
라) Python 언어
- 객체지향 인터프리터 언어, 쉬운 문법, 멀티 패러다임(절차형 언어, 함수형 언어, 객체지향 언어) 지원
- 웹, 빅데이터, 인공지능 등에 주로
마) JavaScript 언어
- 객체기반 스크립트 프로그래밍 언어, 웹브라우저내에서 주로 사용되나 최근엔 서버 사이드에도 사용되며 확장성, 개발성 높음
3. 소프트웨어 개발 프레임워크
가) 소프트웨어 개발 프레임워크 개념
- 정의 : 효율적인 정보시스템 개발을 위한 코드 라이브러리, 인터페이스 규약, 설정정보 등의 집합
- 이점 : 코드 품질 향상, 개발 생산성 증대, 유지보수성 향상, 위험 감소
나) 스프링 프레임워크
- 자바 플랫폼을 위한 오픈소스 어플리케이션 프레임워크, 전자정부 표준개발 프레임워크의 핵심 근간
다) 전자정부 표준프레임워크
- 정의 : 자바기반 시스템의 개발, 운영시 필요한 기본기능들을 표준화하여 구현해둔 공공사업용 표준개발프레임워크
- 목적 : 전자정부 서비스 품질향상, 투자효율성 향상, 공정한 경쟁
- 특징 : 개방형 표준준수, 상용 솔루션 연계, 국가적표준화 지향, 변화 유연성
4. 통합개발환경(IDE)
가) 통합개발환경 개념
- 정의 : 코딩, 디버깅, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 소프트웨어 안에서 처리하는 환경을 제공하는 개발용 소프트웨어
- 예시 : 이클립스, 비쥬얼스튜디오
- 구성요소 : 편집기, 빌드도구, 디버거, 프로젝트 관리
나) CI(Continuous Integration)
- 정의 : 소프트웨어 작업 결과를 자동화된 빌드와 테스트를 수행한 후 주기적으로 병합하는 방식
- 목적 : 품질향상, 배포 소요시간 단축, 이른시기에 문제점 발견, 애자일 지원
- 소스코드 -> 레파지토리 -> CI서버(빌드, 테스트, 배포) -> 타겟 서버
다) 소프트웨어 빌드
- 정의 : 소스코드 파일을 컴퓨터에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정
라) 일일 빌드 및 동작 테스트
- 정의 : 소프트웨어 제품을 매일 전체적으로 컴파일하고 일련의 테스트 과정을 거치는 과정
- 목적 : 통합실패, 낮은 품질, 프로젝트 가시성 등의 리스크 감소, 프로젝트 효율성 및 고객만족도 증대
마) 소프트웨어 배포
- 정의 : 사용할 소프트웨어 시스템을 만드는 모든 행위
'TOPCIT > TOPCIT교재' 카테고리의 다른 글
V.소프트웨어 아키텍처 설계 - 손선희 (1) | 2022.07.18 |
---|---|
소프트웨어 설계 원리와 구조적 설계 - 손기봉 (0) | 2022.07.18 |
자료구조와 알고리즘 - 이강욱 (0) | 2022.07.18 |
II.소프트웨어 재사용 - 손선희 (0) | 2022.07.18 |
1. 소프트웨어 공학 개요 - 문경숙 (0) | 2022.07.18 |