효율적인 프로그램을 작성할 때 가장 우선적인 고려사항은 저장 공간의 효율성과 실행시간의 신속성이다. 자료 구조는 프로그램에서 사용하기 위한 자료를 기억장치의 공간 내에 저장하는 방법과 저장된 그룹 내에 존재하는 자료 간의 관계, 처리 방법 등을 연구 분석하는 것을 말한
트리는 정점(Node)과 선분(Branch, 가지)을 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태이다.트리는 하나의 기억 공간을 노드라고 하며, 노드와 노드를 연결하는 선을 링크(Link)라고 한다.트리는 가족의 계보(족보), 조직도 등을 표현하기에 적
삽입 정렬은 가장 간단한 정렬 방식으로 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬한다.두 번째 키와 첫 번째 키를 비교해 순서대로 나열(1회전)하고, 이어서 세 번째 키를 첫 번째, 두 번째 키와 비교해 순서대로 나열(2회전)하고, 계속해서
이분 검색(이진 검색, Binary Search)은 전체 파일을 두 개의 서브파일로 분리해가면서 Key 레코드를 검색하는 방식이다.이분 검색은 반드시 순서화된 파일이어야 검색할 수 있다.찾고자 하는 Key 값을 파일의 중간 레코드 Key 값과 비교하면서 검색한다.비교
데이터저장소는 소프트웨어 개발 과정에서 다루어야 할 데이터들은 논리적인 구조로 조작화하거나, 물리적인 공간에 구축한 것을 의미한다.데이터저장소는 논리 데이터저장소와 물리 데이터자장소로 구분된다.논리 데이터저장소는 데이터 및 데이터 간의 연관성, 제약조건을 식별하여 논리
데이터 입∙출력은 소프트웨어의 기능 구현을 위해 데이터베이스에 데이터를 입력하거나 데이터베이스의 데이터를 출력하는 작업을 의미한다.데이터 입∙출력은 단순 입력과 출력뿐만 아니라 데이터를 조작하는 모든 행위를 의미하며, 이와 같은 작업을 위해 SQL(Structured
절차형 SQL은 C, JAVA 등의 프로그래밍 언어와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQL을 의미한다.절차형 SQL은 일반적인 프로그래밍 언어에 비해 효율은 떨어지지만 단일 SQL 문장으로 처리하기 어려운 연속적인 작업들을 처리하는데 적합하다.
데이터베이스의 정의로 가장 적합한 것은?공용 데이터(Share Data), 통합 데이터(Integrated Data), 저장 데이터(Stored Data), 운영 데이터(Operational Data)DBMS의 필수 기능 중 정의 기능이 갖추어야 할 요건에 해당하는 것
단위 모듈은 소프트웨어 구현에 필요한 여러 동작 중 한 가지 동작을 수행하는 기능을 모듈로 구현한 것이다.단위 모듈로 구현되는 하나의 기능을 단위 기능이라고 부른다.단위 모듈은 사용자나 다른 모듈로부터 값을 전달받아 시작되는 작은 프로그램을 의미하기도 한다.단위 모듈은
단위 모듈 테스트는 프로그램의 단위 기능을 구현하는 모듈이 정해진 기능을 정확히 수행하는지 검증하는 것이다.단위 모듈 테스트는 단위 테스트(Unit Test)라고도 하며, 화이트박스 테스트와 블랙박스 테스트기법을 사용한다.단위 모듈 테스트를 수행하기 위해서는 모듈을 단
통합 개발 환경은 코딩, 디버그, 컴파일, 배포 등 프로그램 개발과 관련된 모든 작업을 하나의 프로그램에서 처리할 수 있도록 제공하는 소프트웨어적인 개발 환경을 말한다.기존 소프트웨어 개발에서는 편집기(Editor), 컴파일러(Compiler), 디버거(Debugger
다음 중 대표적인 빌드 도구의 하나인 Ant에 대한 설명으로 잘못된 것은?1\. 아파치 소프트웨어 재단에서 개발한 소프트웨어로 자바 프로젝트의 공식적인 빌드 도구이다.2\. XML 기반의 빌드 스크립트를 사용한다.3\. 정해진 규칙이나 표준이 없어 자유롭게 모든 것을
소프트웨어 패키징이란 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것을 말한다.개발자가 아니라 사용자를 중심으로 진행한다.소스 코드는 향후 관리를 고려하여 모듈화하여 패키징한다.사용자가 소프트웨어를 사용하게 될 환경을 이해하여, 다양한 환경에서 소프트
릴리즈 노트는 개발 과정에서 정리된 릴리즈 정보를 소프트웨어의 최종 사용자인 고객과 공유하기 위한 문서이다.릴리즈 노트를 통해 테스트 진행 방법에 대한 결과와 소프트웨어 사양에 대한 개발팀의 정확한 준수 여부를 확인할 수 있다.소프트웨어에 포함된 전체 기능, 서비스의
자작권이란 소설, 시, 논문, 강연, 연술, 음악, 연극, 무용, 희화, 서예, 건축물, 사진, 영상, 지도, 도표, 컴퓨터 프로그램 저작물 등에 대하여 창작자가 가지는 배타적 독점적 권리로 타인의 침해를 받지 않을 고유한 권한이다.컴퓨터 프로그램들과 같이 복제가 쉬운
소프트웨어 사용자 매뉴얼은 사용자가 소프트웨어를 사용하는 과정에서 필요한 내용을 문서로 기록한 설명서와 안내서이다.사용자 매뉴얼은 사용자가 소프트웨어 사용에 필요한 절차, 호나경 등의 제반 사항이 모두 포함되도록 작성한다.소프트웨어 배포 후 발생될 수 있는 오류에 대한
형상 관리(SCM, Software Configuration Management)는 소프트웨어의 개발 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동이다.소프트웨어 변경의 원인을 알아내고 제어하며, 적절히 변경되고 있는지 확인하여 해당 담당자에게 통
공유 폴더 방식은 버전 관리 자료가 로컬 컴퓨터의 공유 폴더에 저장되어 관리되는 방식으로, 다음과 같은 특징이 있다.개발자들은 개발이 완료된 파일을 약속된 공유 폴더에 매일 복사한다.담당자는 공유 폴더의 파일을 자기 PC로 복사한 후 컴파일 하여 이상 유무를 확인한다.
빌드란 소스 코드 파일들을 컴파일한 후 여러 개의 모듈을 묶어 실행 파일로 만드는 과정이며, 이러한 빌드를 포함하여 테스트 및 배포를 자동화하는 도구를 빌드 자동화 도구라고 한다.애자일 환경에서는 하나의 작업이 마무리될 때마다 모듈 단위로 나눠서 개발된 코드들이 지속적
다음 중 패키징 작업 과정에 대한 설명으로 잘못된 것은?1\. 짧은 개발 주기를 반복하는 애자일 기법인 경우 패키징 주기는 보통 2~4주 내에서 지정하며, 모든 주기가 완료된 후에 최종적으로 패키징을 수행한다.2\. 패키징한 결과물을 온라인으로 배포할 때는 별도로 마련
애플리케이션 테스트는 애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위 또는 절차이다.애플리케이션 테스트는 개발된 소프트웨어가 고객의 요구사항을 만족시키는지 확인(Validation) 하고 소프트웨어가 기능을 정확히 수행하는지 (Verification)한다.애플
애플리케이션을 테스트 할 때 프로로그램의 실행 여부에 따라 정적 테스트와 동적 테스트로 나뉜다.정적 테스트프로그램을 실행하지 않고 명세서나 소스 코드를 대상으로 분석하는 테스트이다.소프트웨어 개발 초기에 결함을 발견할 수 있어 소프트웨어의 개발 비용을 낮추는데 도움이
화이트박스 테스트는 모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법이다.화이트박스 테스트는 설계된 절차에 초점을 둔 구조적 테스트로 프로시저 설계의 제어 구조를 사용하여 테스트 케이스를 설계하며, 테스트
애플리케이션 테스트는 소프트웨어의 개발 단계에 따라 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트로 분류된다. 이렇게 분류된 것을 테스트 레벨이라고 한다.애플리케이션 테스트는 소프트웨어의 개발 단계에서부터 테스트를 수행하므로 단순히 소프트웨어에 포함된 코드
통합 테스트는 단위 테스트가 끝난 모듈을 통합하는 과정에서 발생하는 오류 및 결함을 찾는 테스트 기법이다.통합 테스트 방법에는 비점진적 통합 방식과 점진적 통합 방식이 있다.비점진적 통합 방식단계적으로 통합하는 절차 없이 모든 모듈이 미리 결합되어 있는 프로그램 전체를
애플리케이션 테스트 프로세스는 개발된 소프트웨어가 사용자의 요구대로 만들어졌는지, 결함은 없는지 등을 테스트하는 절차로, 다음과 같은 순서로 진행된다.테스트 계획 ➡️ 테스트 분석 및 디자인 ➡️ 테스트 케이스 및 시나리오 작성 ➡️ 테스트 수행 ➡️ 테스트 결과 평가
테스트 케이스는 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서로, 명세 기반 테스트의 설계 산출물에 해당된다.테스트 케이스를 미리 설계하면 테스트 오류를 방지
테스트 자동화는 사람이 반복적으로 수행하던 테스트 절차를 스크립트 형태로 구현하는 자동화 도구를 적용함으로써 쉽고 효율적으로 테스트를 수행할 수 있도록 한 것이다.테스트 자동화 도구를 사용함으로써 휴면 에러를 줄이고 테스트의 정확성을 유지하면서 테스트의 품질을 향상시킬
결함은 오류 발생, 작동 실패 등과 같이 소프트웨어가 개발자가 설계한 것과 다르게 동작하거나 다른 결과가 발생되는 것을 의미한다.사용자가 예상한 결과와 실행 결과 간의 차이나 업무 내용과의 불일치 등으로 인해 변경이 필요한 부분도 모두 결함에 해당된다.결함 관리 프로세
애플리케이션 성능이란 사용자가 요구한 기능을 최소한의 자원을 사용하여 최대한 많은 기능을 신속하게 처리하는 정도를 나타낸다.애플리케이션 성능 측정 지표처리량(Throughput)일정 시간 내에 애플리케이션이 처리하는 일의 양응답 시간(Response Time)애플리케이
복잡도(Complexity)는 시스템이나 시스템 구성 요소 또는 소프트웨어의 복잡한 정도를 나타내는 말로, 시스템 또는 소프트웨어를 어느 정도의 수준까지 테스트해야 하는지 또는 개발하는데 어느 정도의 자원이 소요되는지 예측하는데 사용된다.시스템의 복잡도가 높으면 장애가
소스 코드 최적화는 나쁜 코드를 배제하고, 클린 코드로 작성하는 것이다.클린 코드: 누구나 쉽게 이해하고 수정 및 추가할 수 있는 단순, 명료한 코드, 즉 잘 작성된 코드를 의미한다.나쁜 코드⏺ 프로그램의 로직이 복잡하고 이해하기 어려운 코드로, 스파게티 코드와 외계인
다음 중 애플리케이션 테스트에 대한 설명으로 틀린 것은?1\. 애플리케이션 테스트는 소프트웨어에 잠재되어 있는 결함을 찾아내는 일련의 행위이다.✅ 2. 테스트는 고객의 요구사항을 만족했는지 Verification해야 한다.3\. 테스트는 오류 검출뿐만 아니라 새로운 오
공통 기능은 모듈의 기능 중에서 공통적으로 제공되는 기능을 의미한다.데이터 인터페이스는 모듈 간 교환되는 데이터가 저장될 파라미터를 의미한다.모듈 간 공통 기능 및 데이터 인터페이스는 모듈 간 연계가 필요한 인터페이스의 기능을 식별하는데 사용된다.모듈 간 공통 기능 및
모듈 연계는 내부 모듈과 외부 모듈 또는 내부 모듈 간 데이터의 교환을 위해 관계를 설정하는 것으로, 대표적인 모듈 연계 방법에는 EAI와 ESB 방식이 있다.EAI는 개업 내 각종 애플리케이션 및 플랫폼 간의 정보 전달, 연계 통합 등 상호연동이 가능하게 해주는 솔루
인터페이스 데이터 표준은 모듈 간 인터페이스에 사용되는 데이터의 형식을 표준화하는 것이다.인터페이스 데이터 표준은 기존의 데이터 중에서 공통 영역을 추출하거나 어느 한쪽의 데이터를 변환하여 정의한다.확인된 인터페이스 데이터 표준은 인터페이스 기능 구현을 정의하는데 사용
인터페이스 구현은 송∙수신 시스템 간의 데이터 교환 및 처리를 실현해 주는 작업을 의미한다.정의된 인터페이스 기능 구현을 기반으로 구현 방법 및 범위 등을 고려하여 인터페이스 구현 방법을 분석한다.분석된 인터페이스 구현 정의를 기반으로 인터페이스를 구현한다.인터페이스를
인터페이스 예외 처리는 구현된 인터페이스가 동작하는 과정에서 기능상 예외 상황이 발생 했을 때 이를 처리하는 절차를 말한다.인터페이스 예외 처리는 인터페이스를 구현하는 방법에 따라 데이터 통신을 이용한 방법이나 인터페이스 엔티티를 이용한 방법이 있다.데이터 통신을 이용
인터페이스는 시스템 모듈 간 통신 및 정보 교환을 위한 통로로 사용되므로 충분한 보안 기능을 갖추지 않으면 시스템 모듈 전체에 악영향을 주는 보안 취약점이 될 수 있다.인터페이스의 보안성 향상을 위해서는 인터페이스의 보안 취약점을 분석한 후 적절한 보안 기능을 적용한다
연계 테스트는 구축된 연계 시스템과 연계 시스템의 구성 요소가 정상적으로 동작하는지 확인하는 활동이다.연계 테스트는 연계 테스트 케이스 작성, 연계 테스트 환경 구축, 연계 테스트 수행, 연계 테스트 수행 결과 검증 순으로 진행된다.연계 테스트 케이스 작성은 연계 시스
인터페이스 구현 검증은 인터페이스가 정상적으로 문제없이 작동하는지 확인하는 것이다.인터페이스 구현 검증 도구와 감시 도구를 이용하여 인터페이스의 동작 상태를 확인한다.인터페이스 구현 검증과 감시의 차이점인터페이스 구현 검증은 인터페이스의 입∙출력값이 예상과 일치하는지
인터페이스는 독립적으로 떨어져 있는 시스템 간 연계를 위한 기능이므로 인터페이스에서 발생하는 오류는 대부분 중요한 오류이다.인터페이스 오류 발생 시 사용자 또는 관리자는 오류사항을 확인하고 오류 처리 보고서를 작성하여 보고 체계에 따라 관리 조직에 보고해야 한다.인터페
다음 중 송∙수신 인터페이스 엔티티를 사용하여 인터페이스 동작을 할 때 발생할 수 있는 상황이 아닌 것은?1\. 데이터 정합성 오류2\. 데이터 전송 주체의 논리적 오류3\. DB Connection 오류✅ 4. 송신 데이터 생성 시 프로세스의 논리적 결함4번은 인터페
데이터베이스 설계란 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것이다.무결성: 삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가
데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화하여 체계적으로 표현한 개념적 모형이다.데이터 모델은 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약 조건 등을 기술하기 위한 개념적 도구들의 모임이다.현실 세계를 데이터베이스에 표현하
개체(Entity)는 데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체이다.개체는 실세계에 독립적으로 존재하는 유형, 무형의 정보로서 서로 연관된 몇 개의 속성으로 구성된다.파일 시스템의 레코드에 대응하는 것으로 어떤 정보를
속성(Attribute)은 데이터베이스를 구성하는 가장 작은 논리적 단위이다.파일 구조상의 데이터 항목 또는 데이터 필드에 해당한다.속성은 개체를 구성하는 항목이다.속성은 개체의 특성을 기술한다.속성의 수를 Degree 또는 차수라고 한다.속성은 속성의 특성과 개체 구