2021 1회 정보처리기사 실기 복원 문제를 바탕으로 정답 및 해답 정리하기
참고 : https://ss-o.tistory.com/140?category=967966
- RARP(Reverse Address Resolution Protocal) : 네트워크 계층
- 하드웨어 주소를 IP address로 변환 시켜주는 프로토콜
- 로컬 디스크가 없는 네트워크상에 연결된 시스템에 사용
- DHCP나 BOOTP처럼 IP를 자동으로 할당하지 않고 이미 다른 PC에 할당된 IP를 MAC주소만 가지고 알아옴
- ARP(Address Resolution Protocol) : 네트워크 계층
- IP Address를 물리적 네트워크 주소로 변환 시켜주는 프로토콜
- IP Address의 중복여부를 찾을 수 있음
- IP주소를 MAC(Media Access Contol) 주소로 대응시키기 위한 프로토콜
- 스스로 수정이 가능함
- 웹 서비스
웹이라는 네트워크 환경에 연결된 서로 다른 컴퓨터들이 동적으로 서로 연결되어 소통하고 실행될 수 있도록 하는 동적 환경 구현을 위한 소프트웨어 컴포넌트 묶음
- UDDI(Universal Decscription, Discovery, and Integration) : 전역 비즈니스 레지스트리
- 웹 서비스에 대한 정보인 WSDL을 등록하고 검색하기 위한 저장소
- 공개적으로 접근, 검색이 가능한 레지스트리
- 기업이나 단체, 개인이 자신들의 서비스 내용을 인터넷 상에 등록할 수 있게 하는 XLML 기반의 등록처
- SOAP(Simple Object Access Protocol) : 단순 객체 접근 프로토콜
- HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메세지를 네트워크 상태에서 교환하는 실행 프로토콜
- WSDL(Web Service Description Language) : 웹 서비스 기술 언어
- 웹 서비스명, 제공위치, 메시지 포맷, 프로토콜 정보 등 웹 서비스에 대한 상제 정보가 기술된 XML 형식으로 구현되어 있는 언어
(1) 기능적 요구사항은 시스템이 제공하는 기능 또는 서비스에 대해 상세하게 기술된 요구사항
(2) 비기능적 요구사항은 시스템 속성이나 시스템에 의해 제공되는 서비스나 기능에 대한 제약사항이 기술
- 요구사항 : 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영 되는 데 필요한 제약조건
- 요구사항 개발 프로세스 : 도출 → 분석 → 명세 → 확인
- 도출(요구사항 수집 단계) : 이해관계자 간의 의사소통 중요(인터뷰, 브레인스토밍, 유스케이스, 프로토타이핑)
- 분석(요구사항 분석 단계) : 도출된 요구사항의 타당성 조사, 내용 정리(중복 제거, 요구사항 통합)
- 개념 모델링 : 분류된 요구사항을 단순화하여 개념적으로 표현. UML 사용
- 요구사항 할당 : 요구사항을 만족시키기 위한 요소들을 할당
- 요구사항 협상 : 충돌되는 요구사항 해결
- 정형 분석 : 구문과 의미를 갖는 언어 이용, 수학적 기호
- 명세(요구사항 문서화 단계) : 승인을 위해 문서화 진행. 빠짐없이 명확하고 이해하기 쉽게 기록
- 확인(요구사항 검증 단계) : 명세서 검증, 형상관리 수행
- 요구사항 검토 : 가장 일반적. 훑어보기
- 프로토타이핑 : 프로토타입을 만든 후 요구사항 반영하면서 지속적으로 프로토타입 재작성
- 모델 검증 : 요구사항 분석 단계에서 개발된 모델이 요구사항을 충족 시키는지 검증
- 인수테스트 : 사용자가 실제로 사용될 환경에서 요구사항들이 모두 충족 되는지 사용자 입장에서 확인하는 과정
- 알파 테스트 : 선별된 사용자가 개발자와 함께 검사(통제된 환경)
- 베타 테스트 : 선별된 사용자가 여러 사용자를 통해 검사(통제되지 않은 환경)
class a:
list = ["Se","Ky","In","Da","De","Pu"]
str01 = ''
for i in a.list:
str01 = str01 + i[0]
print(str01)
변수 i = "Se","Ky","In","Da","De","Pu"
i의 0번째 인덱스는 SKIDDP
SELECT COUNT(*) FROM [TABLE] WHERE EMPNO>100 AND SAL>=300 OR EMPNO=200
EMPNO | SAL |
---|---|
100 | 1000 |
200 | 3000 |
300 | 1500 |
3
1
45
50
89
public class Test{
public static void main(String[] args){
int a[][] = {{45, 50, 75}, {89}};
System.out.println(a[0].length);
System.out.println(a[1].length);
System.out.println(a[0][0]);
System.out.println(a[0][1]);
System.out.println(a[1][0]);
}
}
a[0] = {45, 50, 75}
a[0].length = 3
a[1] = {89}
a[0].length = 1
a[0][0] = 45
a[0][1] = 50
a[1][0] = 89
- 데이터 모델링 절차 : 개념적 데이터 모델링 → 논리적 데이터 모델링 → 물리적 데이터 모델링
- 개념적 데이터 모델링 : 현실 세계의 인식을 추상적인 개념으로 모델링
- 논리적 데이터 모델링 : 개념적 구조를 컴퓨터가 이해할 수 있는 형태로 변환
- 물리적 데이터 모델링 : 논리 데이터 모델을 DBMS 특성 및 성능을 고려해 구체화 시킨 모델(반정규화는 물리 데이터 모델링에 속함)
- 정규화 : 관계형 데이터베이스 설계 시 중복을 최소화하여 데이터를 구조화 하는 과정
- 참고
반정규화 테이블 병합을 위한 테이블 : 1:1 관계 | 1:M 관계 | 슈퍼/서브 타입 관계
(1) 0 <= x <= 10 일 때 -1 0 10 11인 경우 사용하는 테스트 : 경계값 분석 테스트
(2) 유효값과 그렇지 않은 범위를 나눠야할 경우 사용하는 테스트 : 동등분할 테스트
- 블랙박스 테스트
- 프로그램 외부의 사용자 요구사항 명세를 보면서 수행하는 기능 테스트
- 경계값 분석, 동등분할 테스트, 결정 테이블, 상태전이, 유스케이스
- 화이트박스 테스트
- 내부로직을 보면서 수행하는 구조 기반 테스트
- 제어구조, 루프 테스트
- 테스트 레벨 : 한 번에 총체적으로 조직화하고 관리하는 테스트 활동의 묶음
- 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트
- 단위 테스트
- 모듈 테스트라고도 불리며 사용자 요구사항에 대한 단위 모듈, 서브루틴 등을 테스트
- 코딩 직후 SW 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트
- 사용자 요구사항을 기반으로 한 기능성 테스트 최우선
- 주로 구조 기반(화이트박스 테스트)
- 통합 테스트
- 인터페이스 간 시스템이 정상적으로 실행되는지 확인하는 테스트
- 단위 테스트를 통과한 개발 소프트웨어/하드웨어 컴포넌트 간 인터페이스 및 연동 기능 등을 구조적으로 접근하여 테스트
- 빅뱅 통합 테스트 : 모든 모듈을 한꺼번에 통합하고 결합 격리가 어려움
- 상향식 통합 : 가장 하부의 모듈부터 통합함. 드라이브가 필요
- 하향식 통합 : 가장 상부의 모듈부터 통합함. 스텁 필요
- 백본 통합 : 소프트웨어 리스크가 높은 것을 우선적으로 통합.
- 시스템 테스트
- 실제 환경과 가능한 유사한 환경에서 진행
- 기능적 요구사항(명세기반 기법), 비기능적 요구사항(구조기반 기법)
- 개발 조직과 독립된 테스트 조직에서 수행해야하고 사전 요구사항이 명확해야함
- 단위, 통합 테스트가 가능한 완벽히 완료된 상태여야함
(1) IPv6는 128비트
(2) IPv4는 32비트이며 8비트씩 4분할
- IPC 메서드(InterProcess Communication)
- Shared Memory : 다수의 프로세스가 공유 가능한 메모리를 구성하여 프로세스 간 통신을 수행
- Socket : 네트워크 소켓을 이용해 네트워크를 경유하는 프로세스들 간 통신을 수행
- Semaphores : 공유 자원에 대한 접근 제어를 통해 프로세스 간 통신을 수행
- Pipes&named Pipes : Pipe라고 불리는 선입선출 형태로 구성된 메모리를 여러 프로세스가 공유하여 통신을 수행
- Message Queueing : 메세지가 발생하면 이를 전달하는 형태로 프로세스 간 통신을 수행
EAI : 기업에서 운영 되는 서로 다른 플랫폼 및 애플리케이션들 간의 정보 전달, 연계, 통합을 가능하게 해주는 솔루션
- Point-to-Point : 가장 기본적. 변경 및 재사용이 어려움
- Hub&Spoke : 허브 시스템. 확장, 유지보수 용이
- Message Bus : 미들웨어를 두고 처리. 뛰어난 확장성
- Hybrid : Hub&Spoke + Message Bus. 병목 현상 최소화
[EAI 방식 VS ESB 방식]
- EAI
- 미들웨어(Hub)를 이용하여 Biz 로직을 중심으로 기업 내 APP 통합 연계
- 단일 접점인 허브 시스템을 통해 시스템을 통합하는 중앙집중방식
- Hub 장애시 전체 영향
- ESB
- 미들웨어(Bus)를 이용하여 서비스 중심으로 서비스를 지원하기 위한 관련 시스템의 유기적 연계
- 개발자가 서비스를 개발하고 적절한 API를 통해 서비스 간에 통신을 하는데 도움이 되는 인프라 스트럭처 소프트웨어
- 각 시스템을 Bus를 통해 연결하므로 뛰어난 확장tjd, 유연성, 신속성 제공
- network에 의존적
Lee
38
<데이터 모델의 구성 요소>
- 구조
- 논리적으로 표현된 개체들간의 관계
- 연산
- 데이터베이스에 저장된 데이터를 처리하는 방법에 대한 명세
- 데이터를 조작하는 기본 도구
- 제약 조건
- 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건
[출처] : https://velog.io/@ghgoo1798/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%AA%A8%EB%8D%B8%EC%9D%98-%EA%B0%9C%EB%85%90
- 데이터베이스 보안의 접근 통제
- 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한
- 데이터에 대해 다음과 같은 통제를 함으로써 자원의 불법적인 접근 및 파괴를 예방
- 무결성 모델 : 기밀성 모델에서 발생하는 불법적인 정보 변경을 방지하기 위해 무결성을 기반으로 개발된 모델. 무결성 보장이 최우선
- 접근 통제 기술
- 임의 접근 통제(DAC | Discretionay Access Control): 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여
- 강제 접근 통제(MAC | Mandatory Access Control) : 주체와 객체의 등급을 비교하여 접근 권한을 부여
- 접근 통제의 3요소 : 접근 통제 정책, 접근 통제 매커니즘, 접근 통제 보안모델
[결합도와 응집도]
- 결합도 : 상호의존의 정보. 결합도가 약해야 품질이 상승
(약) data < stamp < control < external < common < content (강)
- 자료 : 어떤 모듈이 다른 모듈을 호출하면서 매개 변수나 인수로 데이터를 넘겨주고, 호출 받은 모듈은 받은 데이터에 대한 처리 결과를 다시 돌려주는 방식
- 스탬프 : 두 모듈이 동일한 자료구조를 조회하는 경우
- 제어 : 한 모듈이 다른 모듈의 상세한 처리 절차를 알고 있어, 이를 통제하는 경우나 처리 기능이 두 모듈에 분리되어 설계도니 경우. 다른 모듈에서 흐름을 제어
- 외부 : 어떤 모듈에서 선언한 데이터를 외부의 다른 모듈에서 참조할 때
- 공통 : 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때(전역 변수~)
- 내용 : 한 모듈이 다른 모듈의 내부 기능 및 내부 자료를 직접 참조하거나 수정할 때(다른 모듈에서 사용하는 경우)
- 응집도 : 정보은닉 개념 확장. 응집도가 강할 수록 품질 상승
(약) coincidental < logical < temporal < procedural < communicaton < sequential < functional (강)
- 우연적 : 모듈 내부의 각 구성요소들이 서로 관련 없는 요소로만 구성된 경우
- 논리적 : 유사한 성격을 갖거나 특정 형태로 분류되는 처리요소들이 하나의 모듈이 되는 경우
- 시간적 : 특정 시간에 처리되는 몇 개의 기능을 모아 하나의 모듈로 작성한 경우
- 절차적 : 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행할 경우
- 통신적 : 동일한 입출력을 사용하여 서로 다른 기능을 수행하는 구성 요소들이 모였을 경우
- 순차적 : 모듈 내 하나의 활동으로부터 나온 출력 데이터를 그 다음 활동의 입력 데이터로 사용할 경우
- 기능적 : 모듈 내부의 모든 기능 요소들이 단일 문제와 연관되어 수행될 경우
결합도 : 자스제외공내
응집도 : 우논시절통순기
❗ 기억 안나는 부분, 몰랐던 부분 다시 한번 체크하고 외울 것