정보처리기사 실기
1. 형상 통제
소프트웨어의 형상 변경 요청을 검토하고 승인하여 현재의 baseline에 반영할 수 있도록 통제하는 것
형상 관리 절차
식별 → 통제(BaseLine 설정) → 감사 → 기록(형상 관리 위원회: Configuration Control Board)
2. EAI 유형
: 기업에서 운영하는 서로 다른 플래폼, App간의 정보 전달, 연계, 통합을 위한 솔루션
Point To Point
- 중간에 미들웨어를 두지 않고, 각 애플리케이션 간 연결
- 상대적으로 저렴하게 통합 가능
- 변경, 재사용이 어려움
Hub & Spoke
- 허브 시스템을 통해 데이터를 전송하는 중앙 집중적 방식
- 확장, 유지보수 용이
- 허브 장애 시, 전체에 영향
Message Bus(ESB)
- 애플리케이션 사이 미들웨어(버스)를 두어 처리
- 시스템과 버스를 두어 연결하여 확장성이 뛰어나고, 대용량 처리가 가능
Hybrid
- 그룹 내: Hub & Spoke, 그룹 외: Message Bus
- 데이터 병목 최소화
3. UI 설계 원칙 4가지
직관성
: 사용자가 기능을 쉽게 파악할 수 있도록 해야 함유효성
: 사용자의 목적을 정확하게 달성해야 함학습성
: 누구나 쉽게 배울 수 있어야 함유연성
: 사용자의 요구를 최대한 수용하고, 오류를 최소화 해야 함
4. Code Coverage
애플리케이션에서 테스트를 수행한 정도
- 구문 Coverage: 코드 구조 내의
모든 구문
에 대해 한 번 이상 수행하는 테스트 커버리지 - 조건 Coverage: 결정 포인트 내의 모든
개별 조건식(if 조건문 내 and와 or로 연결된 개별 조건문)
에 대해 수행하는 테스트 커버리지 - 결정 Coverage:
결정 포인트(if 조건문 전체)
내의 모든 분기문에 대해 수행하는 테스트 커버리지 - 조건/결정 Coverage: 결정 포인트와 개별 조건식이 모두 T/F를 가져야 함
- 변경/조건 Coverage: 모든 결정 포인트 내의 개별 조건식은 적어도 한 번의 T/F를 가져야 함
- 다중 조건 Coverage: 결정 포인트 내의 모든 개별 조건식의 가능한 조합을 100% 보장
5. 화이트/블랙박스 테스트
- 화이트 박스 테스트: 모듈 내부 소스 코드를 보면서 수행하는 테스트
- 종류
기본 경로 커버리지(Base Path Coverage)
: 수행 가능한 모든 경로 테스트데이터 흐름 테스트(Data Flow Testing)
: 프로그램에서 변수의 정의와 변수 사용의 위치에 초점을 맞추어 검사조건 커버리지(Condition Coverage)
: 각 개별 조건식이 적어도 한 번은 참과 거짓의 결과가 되도록 수행- 루프 테스트
- 종류
- 블랙 박스 테스트: 외부 사용자의 요구사항 명세를 보면서 수행하는 테스트
동등(동치, 균등) 분할 테스트(Equivalence Partitioning Testing)
: 입력값의 범위를 유사한 특징을 갖는 동등그룹으로 나누고 각 그룹마다 대표값을 선정하는 테스트 기법경곗값 분석 테스트(Boundary Value Analysis Testing)
: 경계값을 테스트 케이스로 선정하여 검사원인-결과 그래프 테스트(Cause-Effect Graphing Testing)
: 입력 데이터간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석하여 효용이 높은 테스트 케이스를 선정하여 검사오류 예측 테스트(Fault Based Testing)
의사 결정 테이블 테스트(Decision Table Testing)
상태 전이 테스트(State Transition Testing)
6. SQL - ALTER
속성 추가
ALTER TABLE 테이블_이름 ADD 속성_이름 데이터_타입;
속성 변경
ALTER TABLE 테이블_이름 MODIFY 속성_이름 데이터_타입;
속성 추가
ALTER TABLE 테이블_이름 DROP 속성_이름;
7. SQL - GROUP BY & HAVING
SELECT 과목이름,
MIN(점수) AS 최소점수,
MAX(점수) AS 최대점수
FROM 성적
GROUP BY 과목번호
HAVING AVG(점수)>=90;
8. SQL - DML
DELETE FROM 학생 WHERE 이름='민수'
INSERT INTO TABLE_NAME(COLUMN1, COLUMN2, ...) VALUES(VAL1, VAL2, ...);
SELECT * FROM TABLE_NAME;
UPDATE TABLE_NAME SET COL1=VAL1, COL2=VAL2 WHERE ...;
DELETE FROM TABLE_NAME WHERE ...;
9. (개념) Schema
데이터베이스의 전체적인 구조와 제약조건을 정의한 것
Schema
- 외부 스키마
:사용자
의 입장에서 필요로 하는 DB의 논리적 구조 - 개념 스키마
:DB의 전체를 정의
, 조직 전체의 DB로 하나만 존재 - 내부 스키마
:물리적인 저장장치
의 입장에서 본 DB의 논리적 구조
- 독립성
- 논리적 독립성: 개념 스키마의 변경은 외부 스키마에 영향을 미치지 않음
- 물리적 독립성: 내부 스키마의 변경은 개념, 외부 스키마에 영향을 미치지 않음
(varchar2(10) ▶ varchar2(30)으로 변경한다고 해서 외부스키마와 개념스키마에 영향 X)
10. 관계 대수(Relation Algebra) & 관계 해석 (Relation Calculus)
관계 대수(Relation Algebra)
- 주어진 릴레이션 조작을 위한 연산 집합
- 일반 집합 연산: 합집합(∪), 교집합(∩), 차집합(-), 카티션 프로덕트(X)
- 순수 관계 연산: SELECT(σ), PROJECT(∏), DIVISION(÷), JOIN(▷◁)
- SELECT(σ)
- σ조건(테이블): 테이블에서 조건을 만족하는 튜플을 구하기 위한 연산
- PROJECT(∏)
- ∏속성리스트(테이블): 테이블에서 주어진 속성들의 값으로만 구성된 튜플 반환
- JOIN(▷◁)
- R▷◁S: 테이블 R과 테이블 S에서 공통으로 가지고 있는 속성을 이용해서 하나의 새로운 테이블을 만드는 연산자
- DIVISION(÷)
- R ÷ S: 테이블 R의 튜플 중 테이블 S에 속한 컬럼과 튜플을 제외하는 연산자
-
R1 S1 S2 A B C A B C 1 2 3 1 5 6 4 5 6 4 8 9 7 8 9 5 2 3 3 5 6 R1 ÷ S1 R1 ÷ S2 B C A 8 9 1 2 3 5 5 6
- SELECT(σ)
- 절차적 언어
- 원하는 정보를 얻기 위해 어떻게 (how) 질의를 해석하는지를 기술
- 관계 해석 (Relation Calculus)
- 비절차적 언어
- 원하는 정보가 무엇 (what) 인지만 명시
11. Routing Protocol
- 정적: 관리자가 직접 라우터에 경로 설정
- 동적: 라우터가 직접 경로 설정
- EGP: 외부 게이트웨이 프로토콜
- BGP: Board Gateway Protocol
- IGP: 내부 게이트웨이 프로토콜
- Distance Vector
- RIP: Routing Information Protocol
- 인접한 라우터간 일정 시간마다 상태 공유
- 최대 홉수 15로 제한
- RIP: Routing Information Protocol
- Link State
- OSPF: Open Shortest Path First (Protocol)
- 변경된 데이터가 있을 때마다 상태 공유
- 가장 많이 사용되는 내부 라우팅 프로토콜
- 홉 수 제한 X
- OSPF: Open Shortest Path First (Protocol)
- Distance Vector
12. ICMP
- IP의 비신뢰성을 보완하기 위한 Protocol
- IP 패킷 전송 중 발생하는 에러의 원인을 알려주거나 네트워크 상태를 진단해주는 기능을 제공
OSI 7 Layer Model
- 물리 계층(Physical Layer)
- 0과 1의 비트 정보를 회선에 보내기 위한
전기적 신호 변환
- 단위:
비트
- 주요 장비:
허브, 리피터
등
- 0과 1의 비트 정보를 회선에 보내기 위한
- 데이터 링크 계층(Data Link Layer)
인접 노드 간
프레임 전송, 신뢰성 있는 정보 전달- 단위:
프레임
- 주요 장비:
스위치, 브릿지
등
- 네트워크 계층(Network Layer)
- 단말기 간 데이터 전송을 위한
최적화된 경로
제공 - 단위:
패킷
- 주요 장비:
라우터
등 - 프로토콜
IP
: 데이터 전달ICMP
: IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜ARP
: 논리 주소인 IP 주소 ▶ 실제적인 물리 주소인 MAC 주소로 변환RARP
: 실제적인 물리 주소인 MAC 주소 ▶ 논리 주소인 IP 주소로 변환
- 단말기 간 데이터 전송을 위한
- 전송 계층(Transport Layer)
단말기(종단)
간의 연결. 신뢰성 있는 정보 전달- 단위:
세그먼트(TCP)
/데이터그램(UDP)
- 프로토콜
TCP
- FTP(20-데이터, 21-제어): 파일 전송
- telnet(23): 원격지의 호스트 컴퓨터에 접속하기 위해 사용되는 인터넷 프로토콜
- HTTP(80): 웹 서비스
- SMTP(25): 메일 송신
- POP3(110): 메일 수신
UDP
- DHCP: IP 자동 할당
- SNMP: 네트워크 관리
- DNS(53): 도메인 ▶ IP 주소로 변환
- 세션 계층(Session Layer)
- 송수신 간의 논리적 연결
- 단위: 데이터
- 표현 계층(Presentation Layer)
- 데이터 형식 설정, 암/복호화
- 단위: 데이터
- 응용 계층(Application Layer)
- 일반적인 응용 서비스를 수행
- 단위: 데이터
13. 헝가리안 표기법
프로그래밍 언어에서 변수 및 함수의 이름 앞에 데이터 타입을 명시하는 코딩 규칙
- iAge
- strName
14. Refactoring
성능 향상을 위해서 결과의 변경 없이 코드의 구조를 재조정하는 것
15. 통신 프로토콜의 기본요소 3가지
규약(Protocol)
: 컴퓨터가 메시지를 전달하고, 메시지가 제대로 도착했는지 확인하며, 미 도착 시 메시지를 재전송하는 일련의 방법구문(Syntax)
: 데이터의 구조나 형태를 정의타이밍(Timing)
의미(Semantic)
16. C언어
void main()
{
int i=0, c=0;
while(i<10){
i++;
c*=i;
}
printf("%d", c); /* 0 */
}
17. C언어
int r1(){
return 4;
}
int r10(){
return (30+r1());
}
int r100(){
return (200+r10());
}
void main(){
printf("%d", r100()); /* 234 */
}
18. JAVA
경계값 계산 유의
i==9일 때, sum에는 10이 더해짐
public static void main(String[] args){
int i=0;
int sum=0;
while(i<10){
i++;
if(i%2 == 1)
continue;
sum += i;
}
System.out.println(sum); // 30
}
19. JAVA
메서드 호출 시 어떤 메서드가 호출되는지는 참조 변수의 타입에 따라 결정
obj.getName("String") 시, Vehicle Type에는 존재하지 않으므로 오류 발생
public static abstract class Vehicle {
String name;
public Vehicle(String val){
this.name = val;
}
public String getName(){
return "Vehicle name: " + name;
}
}
public static class Car extends Vehicle{
private String name;
public Car(String val){
super(val);
name = val;
}
public String getName(String val){
return "Car name: " + val;
}
public String getName(byte val[]){
return "Car name: " + val;
}
}
public static void main(String[] args) throws IOException {
Vehicle obj = new Car("Spark");
System.out.println(obj.getName()); // Vehicle name: Spark
}
20. 생성자
객체 생성 시 자동으로 호출되는 메서드로, 멤버를 초기화하는 목적으로 주로 사용
🔗 마크다운 파일
📚 참고 자료
'Certificate > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 2021년 1회차 실기 (0) | 2023.09.06 |
---|---|
[정보처리기사] 2020년 4회차 실기 (0) | 2023.09.05 |
[정보처리기사] 2020년 2회차 실기 (0) | 2023.08.27 |
[정보처리기사] 2020년 1회차 실기 (0) | 2023.08.25 |
[정보처리기사] 2020년 1회차 (5)정보시스템 구축관리 (0) | 2023.07.19 |