본문 바로가기
잡학/자격증

[정보처리기사] 2장 소프트웨어 개발 키워드 정리

by 핸디(Handy) 2020. 7. 24.

2. 소프트웨어 개발 1.데이터 입출력 구현

배열

동일한 자료형의 데이터들이 같은 크기로 나열되어 순서를 갖고 있는 집합

선형 리스트

일정한 순서에 의해 나열된 자료 구조

연결 리스트

임의의 기억공간에 기억시키되, 자료 항목의 순서에 따라 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조

스택

리스트의 한쪽 끝으로만 자료의 삽입. 삭제 작업이 이루어지는 자료 구조

트리

정점(node), 선분(branch)을 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태

데이터베이스

특정 조직의 업무를 수행하는데 필요한 상호 관련된 데이터들의 모임으로
통합된 데이터, 저장된 데이터, 운영 데이터, 공용 데이터로 이루어짐.

DBMS

사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해주는 SW

SQL

관계대수와 관계해석을 기초로 한 혼합 데이터 언어. 질의어지만 데이터 정의,조작,제어 기능을 갖추고 있음.

ORM

객체와 관계형 데이터베이스의 데이터를 연결하는 기술, JPA,Hibernate,Django 등이 있음.

트랜잭션

DB의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 일련의 연산을 의미

 

 

2. 소프트웨어 개발 2. 통합 구현

단위 기능 명세서

설계 가정에서 작성하는 기능 및 코드 명세서나 설계 지침과 같은 단위 기능을 명세화한 문서들을 의미

IPC

Inter-Process Communication, 모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 프로그래밍 집합. 복수의 프로세스를 수행하며 이뤄지는 프로세스 간 통신까지 구현가능.
Share Memory, Socket, Semaphores, Pipes&named Pipes, Message Queueing

테스트 케이스

구현된 SW가 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위해 테스트하기 위해 구성된 테스트 항목에 대한 명세서.

단위 모듈 테스트

프로그램의 단위 기능을 구현하는 모듈이 정해진 기능을 정확히 수행하는지 검증하는 것(단위테스트라고도 함)

테스트 프로세스

테스트를 위해 수행하는 모든 작업들이 테스트의 목적과 조건을 달성할 수 있도록 도와주는 과정.

IDE

통합개발환경. 편집기, 컴파일러, 디버거 등의 다양한 툴을 하나의 인터페이스로 통합.

빌드 도구

소스코드 파일들을 컴터에서 실행할 수 있는 Sw로 변화하는 과정, 결과물

단위 모듈

SW 구현에 필요한 여러 동작 중 한가지 동작을 수행하는 기능을 모듈로 구현한 것

Ant

자바의 공식 필드도구, XML 기반의 빌드 스크립트. 표준 없음

Maven

Ant의 대안. 의존성을 설정하여 라이브러리를 관리.

2. 소프트웨어 개발 3. 제품 소프트웨어 패키징

소프트웨어 패키징

모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것.

릴리즈 노트

개발 과정에서 정리된 릴리즈 정보를 SW의 최종 사용자인 고객과 공유하기 위한 문서.

DRM

디지털 저작권 관리. 저작권자가 배포한 디지털 콘텐츠가 저작권자가 의도한 용도로만 사용되도록 디지털 콘텐츠의 생성,유통,이용까지의 전 과정에 걸쳐 사용되는 디지털 콘텐츠 관리 및 보호 기술.

SW 설치 매뉴얼

개발 초기에서부터 적용된 기준이나 사용자가 SW를 설치하는 과정에 필요한 내용을 기록한 설명서와 안내서.

SW 사용자 매뉴얼

사용자가 SW를 사용하는 과정에서 필요한 내용을 문서로 기록한 설명서와 안내서이다.

형상 관리

SW의 개발 과정에서 SW의 변경 사항을 관리하기 위해 개발된 일련의 활동.

Subversion

SVN, CVS를 개선한 것, 클라이언트/서버 구조, 오픈소스, truck 디렉터리에서 수행

Git

지역저장소, 원격 저장소가 존재. 브랜치, 파일의 변화를 스냅샷으로 저장. 스냅샷의 포인터로 버전의 흐름을 파악.

Jenkins

JAVA 기반의 오픈소스형태. 빌드 자동화 도구, 서블릿 컨테이너에서 실행되는 서버 기반 도구

Gradle

Groovy를 기반으로 한 오픈소스. 안드로이드앱 개발 환경에서 사용. DSL을 스크립트 언어로 사용.

 

2. 소프트웨어 개발 4. 애플리케이션 테스트 관리

시각에 따른 테스트

-

화이트박스

모듈의 원시 코드를 오픈시킨 상태에서 논리적인 모든 경로를 테스트.

블랙박스

각 기능이 완전히 작동되는 것을 입증하는 테스트. 기능 테스트

단위 테스트

코딩 직후 SW 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트.

통합 테스트

단위 테스트가 완료된 모듈들을 결합하여 하나의 시스템으로 완성시키는 과정.

하향식 통합 테스트

프로그램의 상위 모듈에서 하위모듈방향으로 통합하면서 진행.
종속모듈은 Stub으로 대체하면서 테스트, 회귀 테스트도 함께 진행

상향식 통합 테스트

주요모듈+중속모듈-> 클러스터, 상위모듈의 입출력 테스트를 위한 드라이버 작성.

테스트 케이스

명세 기반 테스트의 설계 산출물

테스트 시나리오

테스트 케이스를 적용하는 순서에 따라 여러 개의 테스트 케이스들을 묶은 집합.

테스트 오라클

테스트 결과가 올바르지 판단하기 위해 사전에 정의도니 참 값을 대입하여 비교하는 기법 및 활동.

 

2. 소프트웨어 개발 5. 인터페이스 구현

인터페이스 설계서

시스템 사이의 데이터 교환 및 처리를 위해 교호나 데이터 및 관련 업무, 송수신 시스템 등에 대한 내용을 정의한 문서.

EAI

Enterprise Application Intergration. 기업 내 각종 애플리케이션 및 플랫폼 간의 정보전달, 연계, 통합 등 상호 연동을 가능하게 해주는 솔루션.

ESB

Enterprise Service Bus. 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스를 제공하는 솔루션. 서비스 중심 통합 지향

모듈 세부 설계서

모듈의 구성 요소와 세부적인 동작 등을 정의한 문서.

JSON

속성-값 쌍으로 이루어진 데이터 객체를 전달하기 위해 사람이 읽수 잇는 텍스트를 사용하는 개방형 표준 포맷.

XML

특수한 목적을 갖는 마크업 언어를 만드는데 사용되는 다목적 마크업 언어.

인터페이스 보안

-

xUnit

java,c++,.NET 등 다양한 언어를 지원하는 단위 테스트 프레임 워크.

NTAF

FitNesse의 장점인 협업 기능과 STAF의 장점인 재사용 및 확장성을 통합한 NHN의 테스트 자동화 프레임 워크

APM

Application Performance Management. 앱의 성능 관리를 위해 접속자, 자원현황, 트랜잭션 수행 내역, 장애 진단 등 다양한 모니터링 기능을 제공하는 도구를 의미.

 

댓글