1.
객체 간의 동적 상호작용을 시간개념을 중심으로 모델링 하는 것이다.
2.
주로 시스템의 정적 측면을 모델링 하기 위해 사용한다.
3.
일반적으로 다이어그램의 수직 방향이 시간의 흐름을 나타낸다.
4.
회귀 메시지 (Self-Message), 제어블록 (Statement block) 등으로 구성된다.
해설
1.
느리고 안정적인 응답보다는 즉각적인 응답이 필요한 온라인 업무에 적합하다.
2.
독립적인 애플리 케이션을 하나의 통합된 시스템으로 묶기 위한 역할을 한다.
3.
송신측과 수신측의 연결 시 메시지 큐를 확용하는 방법이 있다.
4.
상이한 애플리케이션 간 통신을 비동기 방식으로 지원한다.
해설
1.
대표적인 구조적 방법론 중 하나이다.
2.
소규모 개발 조직이 불확실하고 변경이 많은 요구를 접하였을 때 적절한 방법이다.
3.
익스트림 프로그래밍을 구동시키는 원리는 상식적인 원리와 경험을 최대한 끌어 올리는 것이다.
4.
구체적인 실천 방법을 정의하고 있으며, 개발 문서보다는 소스코드에 중점을 둔다.
해설
1.
연관
2.
확장
3.
구체화
4.
일반화
해설
1.
시스템의 처리량 (throughput), 반응 시간 등의 성능 요구나 품질 요구는 비기능적 요구에 해당하지 않는다.
2.
“차량 대여 시스템이 제공하는 모든 화면이 3총 이내에 사용자에게 보여야 한다”는 비기능적 요구이다.
3.
시스템 구축과 관련된 안전, 보안에 대한 요구사항들은 비기능적 요구에 해당하지 않는다.
4.
“금융시스템은 조회, 인출, 입금, 송금의 기능이 있어야한다.’ 는 비기능적 요구이다.
해설
- 소프트웨어에 의해 간접적으로 제어되는 장치와 소프트웨어를 실행하는 하드웨어
- 기존의 소프트 웨어와 새로운 소프트웨어를 연결하는 소프트 웨어
- 순서적 연산에 의해 소프트웨어를 실행하는 절차.
1.
기능 (Function)
2.
성능 (Performance)
3.
제약 조건 (Constraint)
4.
인터페이스 (Interface)
정답
1.
Adapter 패턴
2.
Bridge 패턴
3.
Builder 패턴
4.
Proxy 패턴
해설
1.
시스템과 상호작용하는 외부시스템은 엑터로 파악해서는 안된다.
2.
유스케이스는 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술한다.
3.
시스템 엑터는 다른 프로젝트에서 이미 개발되어 사용되고 있으며, 본 시스템과 데이터를 주고받는 등 서로 연동되는 시스템을 말한다.
4.
액터가 인식할 수 없는 시스템 내부의 기능을 하나의 유스케이스로 파악해서는 안된다.
해설
1.
시스템을 구성하는 모듈의 인터페이스와 결합을 테스트한느 것이다.
2.
하향식 통합 테스트의 경우 넓이 우선(Breadth First) 방식으로 테스트를 할 모듈을 선택할 수 있다.
3.
상향식 통합 테스트의 경우 시스템 구조도의 최상위에 있는 모듈을 먼저 구현하고 테스트한다.
4.
모듈 간의 인터페이스와 시스템의 동작이 정삭적으로 잘되고 있는지를 빨리 파악하고자 할 떄 상향식 보다는 하향식 통합 테스트를 사용하는 것이 좋다.
해설
1.
2
2.
3
3.
4
4.
5
해설
1.
사용사례를 확장하여 명세하거나 설계 다이어그램 원시코드, 테스트 케이스 등에 적용할 수 있다.
2.
복잡한 알고리즘 또는 반복, 실시간 동작, 병행 처리와 같은 기능이나 동작을 이해하려고 할 때 유용하다.
3.
인스펙션(inspection)과 동일한 의미를 가진다.
4.
단순한 테스트 케이스를 이용하여 프로덕트를 수잡업으로 수행해 보는 것이다.
해설
① 테스트의 목표 및 테스트 방법을 결정하기 전에 테스트 케이스를 작성해야 한다.
② 프로그램에 결함이 있더라도 입력에 대해 정상적인 결과를 낼 수 있기 때문에 결함을 검사할 수 있는 테스트 케이스를 찾는 것이 중요하다.
③ 개발된 서비스가 정의된 요구 사항을 준수하는지 확인하기 위한 입력 값과 실행 조건, 예상 결과의 집합으로 볼 수 있다.
④ 테스트 케이스 실행이 통과되었는지 실패하였는지 판단하기 위한 기준을 테스트 오라클(Test Oracle)이라고 한다.
해설
① 위험을 이해하는 것
② 첫 번째 조치로 위험을 피할 수 있도록 하는 것
③ 위험 발생 후 즉시 조치하는 것
④ 위험 요소 징후들에 대하여 계속적으로 인지하는 것
해설
① 화이트박스 테스트의 이해를 위해 논리흐름도(Logic-Flow Diagram)를 이용할 수 있다.
② 테스트 데이터를 이용해 실제 프로그램을 실행함으로써 오류를 찾는 동적 테스트(Dynamic Test)에 해당한다.
③ 프로그램의 구조를 고려하지 않기 때문에 테스트 케이스는 프로그램 또는 모듈의 요구나 명세를 기초로 결정한다.
④ 테스트 데이터를 선택하기 위하여 검증기준(Test Coverage)을 정한다.
해설
① 주어진 작업을 수행하는 컴퓨터 명령어를 순서대로 나열한 것으로 볼 수 있다.
② 검색(Searching)은 정렬이 되지 않은 데이터 혹은 정렬이 된 데이터 중에서 키값에 해당되는 데이터를 찾는 알고리즘이다.
③ 정렬(Sorting)은 흩어져있는 데이터를 키값을 이용하여 순서대로 열거하는 알고리즘이다.
④ 선형 검색은 검색을 수행하기 전에 반드시 데이터의 집합이 정렬되어 있어야 한다.
해설
•
① 6, 9, 7, 3, 5
•
② 3, 9, 6, 7, 5
•
③ 3, 6, 7, 9, 5
•
④ 6, 7, 3, 5, 9
해설
•
① (가) - ㉡, (나) - ㉢
•
② (나) - ㉠, (다) - ㉢
•
③ (다) - ㉢, (라) - ㉤
•
④ (라) - ㉣, (마) - ㉢
해설
① 구현 단계에서 각 모듈의 개발을 완료한 후 개발자가 명세서의 내용대로 정확히 구현되었는지 테스트한다.
② 모듈 내부의 구조를 구체적으로 볼 수 있는 구조적 테스트를 주로 시행한다.
③ 필요 데이터를 인자를 통해 넘겨주고, 테스트 완료 후 그 결과값을 받는 역할을 하는 가상의 모듈을 테스트 스텁(Stub)이라고 한다.
④ 테스트할 모듈을 호출하는 모듈도 있고, 테스트할 모듈이 호출하는 모듈도 있다.
해설
① Coding - 프로그래밍 언어를 가지고 컴퓨터 프로그램을 작성할 수 있는 환경을 제공
② Compile - 저급언어의 프로그램을 고급언어 프로그램으로 변환하는 기능
③ Debugging - 프로그램에서 발견되는 버그를 찾아 수정할 수 있는 기능
④ Deployment - 소프트웨어를 최종 사용자에게 전달하기 위한 기능
해설
① a → b → d → c → e → g → h → f
② d → b → g → h → e → f → c → a
③ d → b → a → g → e → h → c → f
④ a → b → d → g → e → h → c → f
해설
① CppUnit
② JUnit
③ HttpUnit
④ IgpUnit
해설
•
① BCNF
•
② 제1정규형
•
③ 제2정규형
•
④ 제3정규형
해설
① 문헌의 색인, 사전과 같이 데이터를 쉽고 빠르게 찾을 수 있도록 만든 데이터 구조이다.
② 테이블에 붙여진 색인으로 데이터 검색 시 처리 속도 향상에 도움이 된다.
③ 인덱스의 추가, 삭제 명령어는 각각 ADD, DELETE이다.
④ 대부분의 데이터베이스에서 테이블을 삭제하면 인덱스도 같이 삭제된다.
해설
① 데이터 타입
② 데이터 값의 분포
③ 트랜잭션 모델링
④ 접근 빈도
해설
① 모든 튜플은 서로 다른 값을 가지고 있다.
② 하나의 릴레이션에서 튜플은 특정한 순서를 가진다.
③ 각 속성은 릴레이션 내에서 유일한 이름을 가진다.
④ 모든 속성 값은 원자 값(atomic value)을 가진다.
해설
① 뷰는 다른 뷰를 기반으로 새로운 뷰를 만들 수 있다.
② 뷰는 일종의 가상 테이블이며, update에는 제약이 따른다.
③ 뷰는 기본 테이블을 만드는 것처럼 create view를 사용하여 만들 수 있다.
④ 뷰는 논리적으로 존재하는 기본 테이블과 다르게 물리적으로만 존재하며 카탈로그에 저장된다.
해설
① Atomic key
② Super key
③ Candidate key
④ Test key
해설
① 산출물로 E-R Diagram을 만들 수 있다.
② DBMS에 독립적인 개념 스키마를 설계한다.
③ 트랜잭션 인터페이스를 설계 및 작성한다.
④ 논리적 설계 단계의 앞 단계에서 수행된다.
해설
① 0
② 2
③ 5
④ 14
해설
① 30
② 60
③ 80
④ 120
해설
① Header Length는 IP 프로토콜의 헤더 길이를 32비트 워드 단위로 표시한다.
② Packet Length는 IP 헤더를 제외한 패킷 전체의 길이를 나타내며 최대 크기는 232-1비트이다.
③ Time To Live는 송신 호스트가 패킷을 전송하기 전 네트워크에서 생존할 수 있는 시간을 지정한 것이다.
④ Version Number는 IP 프로토콜의 버전번호를 나타낸다.
해설
① either
② elif
③ else if
④ else
해설
① 경로 선택 메트릭은 홉 카운트(hop count)이다.
② 라우팅 프로토콜을 IGP와 EGP로 분류했을 때 EGP에 해당한다.
③ 최단 경로 탐색에 Bellman-Ford 알고리즘을 사용한다.
④ 각 라우터는 이웃 라우터들로부터 수신한 정보를 이용하여 라우팅 표를 갱신한다.
해설
① FIFO 스케줄링
② RR 스케줄링
③ HRN 스케줄링
④ MQ 스케줄링
해설
① 하나 이상의 작업에 대하여 백그라운드에서 수행이 가능하다
② Multi-User는 지원하지만 Multi-Tasking은 지원하지 않는다.
③ 트리 구조의 파일 시스템을 갖는다.
④ 이식성이 높으며 장치 간의 호환성이 높다.
해설
① 복소수(complex) 타입
② 리스트(list) 타입
③ 사전(diet) 타입
④ 튜플(tuple) 타입
해설
① 순차적 응집도(Sequential Cohesion)
② 기능적 응집도(Functional Cohesion)
③ 시간적 응집도(Temporal Cohesion)
④ 우연적 응집도(Coincidental Cohesion)
해설
① 체크섬(Checksum) 기능으로 데이터 체크섬(Data Checksum)만 제공한다.
② 패킷을 분할, 병합하는 기능을 수행하기도 한다.
③ 비연결형 서비스를 제공한다.
④ Best Effort 원칙에 따른 전송 기능을 제공한다.
해설
① 한 프로세스가 운영체제를 호출할 때 전체 프로세스가 대기할 필요가 없으므로 시스템 성능을 높일 수 있다.
② 동시에 여러 스레드가 커널에 접근할 수 있으므로 여러 스레드가 시스템 호출을 동시에 사용할 수 있다.
③ 각 스레드를 개별적으로 관리할 수 있으므로 스레드의 독립적인 스케줄링이 가능하다.
④ 커널 모드로의 전환 없이 스레드 교환이 가능하므로 오버헤드가 줄어든다.
해설
a[0]의 주소값이 10일 경우 다음 C언어 프로그램이 실행되었을 때의 결과는? (단, int 형의 크기는 4Byte로 가정한다.)
① 14, 10
② 14, 14
③ 18, 10
④ 18, 14
해설
① tcp wrapper
② trace checker
③ token finder
④ change detector
해설
① BcN(Broadband Convergence Network)
② Zing
③ Marine Navi
④ C-V2X(Cellular Vehicle To Everything)
해설
① 반제품 상태의 제품을 토대로 도메인별로 필요한 서비스 컴포넌트를 사용하여 재사용성 확대와 성능을 보장 받을 수 있게 하는 개발 소프트웨어이다.
② 라이브러리와는 달리 사용자 코드에서 프레임워크를 호출해서 사용하고, 그에 대한 제어도 사용자 코드가 가지는 방식이다.
③ 설계 관점에 개발 방식을 패턴화시키기 위한 노력의 결과물인 소프트웨어 디자인 패턴을 반제품 소프트웨어 상태로 집적화시킨 것으로 볼 수 있다.
④ 프레임워크의 동작 원리를 그 제어 흐름의 일반적인 프로그램 흐름과 반대로 동작한다고 해서 IoC(Inversion of Control)이라고 설명하기도 한다.
해설
① 클라우드(데이터센터) 기반 암호화 키 생성, 처리, 저장 등을 하는 보안 기기이다.
② 국내에서는 공인인증제의 폐지와 전자서명법 개정을 추진하면서 클라우드 HSM 용어가 자주 등장하였다.
③ 클라우드에 인증서를 저장하므로 기존 HSM 기기나 휴대폰에 인증서를 저장해 다닐 필요가 없다.
④ 하드웨어가 아닌 소프트웨어적으로만 구현되기 때문에 소프트웨어식 암호 기술에 내재된 보안 취약점을 해결할 수 없다는 것이 주요 단점이다.
해설