본문 바로가기

스터디/웹개발

221008 TIL - 정보처리기사 실기 정리 - 문제 체크, 소프트웨어 개발 방법론

정보처리기사 실기 정리

Daily 문제 체크

  • ( ) : 운영체제가 프로세스 관리를 위해 필요한 자료를 담고 있는 자료구조이다. 프로세스 식별자, 프로세스 상태, 프로그램 카운트, 레지스터 저장 영역, 프로세서 스케줄링 정보, 계정 정보, 입출력 상태 정보 등으로 구성된다
  • 프로세스 제어 블록(PCB; Process Control Block)
  • 클래스 다이어그램 구성요소 중 ( ) 는 클래스의 구조적 특성에 이름을 붙인 것으로 특성에 해당하는 인스턴스가 보유할 수 있는 값의 범위를 기술한 구성요소이다.
  • Attribute
  • 클래스 다이어그램의 클래스 간의 관계 중 ( ) 관계는 하나의 객체에 여러 개의 독립적인 객체들이 구성되는 관계로 하나의 사물이 다른 사물에 포함되어 있는 관계를 표현하고 포함되는 쪽에서 포함하는 쪽으로 속이 빈 마름모를 연결하여 표현한다.
  • Aggregation
  • ( ) : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 릴레이션을 조작하는 기본 도구
  • Operation
  • ( ) : 데잉터베이스에 논리적으로 표현될 대상으로서의 개체 타입과 개체 타입 간의 관계로 데이터 구조 및 정적 성질을 표현하는 요소
  • Structure
  • 유니코드 48=0, 65=A, 97=a 이다.
  • ( ) : HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메시지를 네트워크 상태에서 교환하는 프로토콜이다.
  • SOAP(Simple Object Access Protocol)
  • ( ) : 웹 서비스에 대한 정보를 등록하고 검색하기 위한 저장소로 공개적으로 접근, 검색이 가능한 레지스트리이자 표준이다.
  • UDDI(Universal Description, Discovery and Integration)
  • ( ) : 루비(Ruby) 기반 웹 애플리케이션 테스트 프레임워크로 모든 언어 기반의 웹 애플리케이션 테스트와 브라우저 호환성 테스팅이 가능하다
  • watir
  • IPSec 은 IP 계층(3계층)에서 메시지 Checksum 을 활용한 데이터 인증과 비연결형 무결성을 보장해주는 프로토콜인 ( ) 와 암호화 알고리즘을 활용한 캡슐화 기반 페이로드 기밀성을 제공하는 프로토콜인 ( ) 를 이용하여 양 종단 간(End Point) 구간에 보안 서비스를 제공한다.
  • AH(Authentication Header), ESP(Encapsulating Security Payload)
  • ( ) : 어떤 제품이나 컴퓨터 시스템, 암호시스템 혹은 알고리즘에서 정상적인 인증 절차를 우회하는 기법이다
  • Backdoor
  • ( ) : 시스템 침입 후 침입 사실을 숨긴 채 차후의 침읍을 위한 백도어, 트로이 목마 설치, 원격 접근, 내부 사용 흔적 삭제, 관리자 권한 획득 등 주로 불법적인 해킹에 사용되는 기능을 제공하는 프로그램의 모음이다.
  • Rootkit
  • 1980년대 중반 MIT의 Athena 프로젝트의 일환으로 개발된 ( ) 은/는 클라이언트/서버 모델에서 동작하며 대칭키 암호기법에 바탕을 둔 프로토콜이다. ( ) 은/는 “티켓”(ticket)을 기반으로 동작하는 컴퓨터 네트워크 인증 암호화 프로토콜로서 비보안 네트워크에서 통신하는 노드가 보안 방식으로 다른 노드에 대해 식별할 수 있게 허용한다.
  • 커버로스(Kerberos)
  • ( ) 은/는 한 번의 시스템 인증을 통하여 여러 정보시스템에 재인증 절차 없이 접근할 수 있는 통합 로그인 솔루션이다.
  • SSO(Single Sign On)
  • 자료 흐름도(DFD) 의 구성 요소 중 입력된 데이터를 원하는 형태로 변환하여 출력하기 위한 과정이며, 원으로 표시하는 것은 ( ) 이다.
  • 처리기(Process)
  • ( ) 은/는 장애나 재해로 인해 운영상의 주요 손실을 볼 것을 가정하여 시간 흐름에 따른 영향도 및 손실평가를 조사하는 BCP를 구축하기 위한 분석이다.
  • BIA(Business Impact Analysis)
  • ( ) 은/는 조직의 최고 경영층이 주요 지원 서비스의 중단으로 인한 업무의 영향에 대해 허용할 수 있는 최대의 시간을 의미한다.
  • MTD(Maximum Tolerable Downtime)
  • ( ) : 가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고, 남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점되는 알고리즘이다.
  • SRT(Shortest Remaining Time First)
  • ( ) : 대기 중인 프로세스 중 현재 응답률(Response Ratio)이 가장 높은 것을 선택하는 방법으로 긴 작업과 짧은 작업 간의 불평등을 완화하여 기아 현상을 방지하는 알고리즘이다.
  • HRN(Highest Response Ratio Next)
  • 프로세스 스케줄링 유형
  • 선점형 스케줄링 : 우선순위가 높은 프로세스가 CPU를 점유하는 스케줄링
  • 라운드 로빈(Round Robbin) : 프로세스는 같은 크기의 CPU 시간 할당
  • SRT(Shortest Remaining Time First) : 가장 짧은 시간이 소요되는 프로세스를 먼저 수행
  • 다단계 큐(MLQ, Multi Level Queue): 여러 개의 큐를 이용하여 상위단계 작업에 의한 하위단계 작업이 선점)
  • 다단계 피드백 큐(MLFQ, Multi Level Feedback Queue): 큐마다 서로 다른 CPU 시간 할당량을 부여, FIFO+라운드 로빈 스케줄링 기법 혼합
  • 비선점형 스케줄링 : 한 프로세스가 CPU를 할당 받으면 작업 종료 전까지 다른 프로세스는 CPU 점유 불가능한 스케줄링
  • 우선순위(Priority): 프로세스별 우선순위에 따라 CPU 할당
  • 기한부(Deadline): 작업들이 명시된 기한 내에 완료되도록 계획
  • FCFS(First Come First Service): 프로세스가 대기 큐에 도착한 순서에 따라 CPU할당=FIFO
  • SJF(Shortest Job First): 가장 짧은 작업부터 수행, 평균 대기 시간 최소화. 기아 현상 발생
  • HRN(Highest Response Ratio Next): 대기 중인 프로세스 중 현재 응답률(우선순위 계산식)이 가장 높은 것을 선택, 기아현상 최소화 기법
  • ( ) : 악의적인 해커가 불특정 웹 서버와 웹 페이지에 악성 스크립트를 설치하고, 불특정 사용자 접속 시 사용자 동의 없이 실행되어 의도된 서버(멀웨어 서버)로 연결하여 감염시키는 공격기법잉다.
    • 드라이브 바이 다운로드(Drive By Download)
  • ( ) : 사용자가 특정 웹사이트에 접속하였을 때(이메일 메세지에 포함된 사이트 주소를 클릭하는 경우 포함), 사용자도 모르게 악성 SW가 사용자의 디바이스(PC나 스마트폰)에 download 되도록 하는 해킹기법이라고 할 수 있다.
    • 드라이브 바이 다운로드(Drive By Download)
  • ( ) : 특정인에 대한 표적 공격을 목적으로 특정인이 잘 방문하는 웹 사이트에 악성코드를 심거나 악성 코드를 배포하는 URL로 자동으로 유인하여 감염시키는 공격기법이다.
    • 워터링홀(Watering Hole)
  • XSS : 공격자가 취약한 웹사이트에 악의적인 스크립트를 삽입하여 사용자가 실행(자신의 PC에서)하도록 유도한 후에 사용자의 정보를 탈취하는 공격기법이다.
  • CSRF : 공격자가 웹 서버의 취약점을 이용하여 악성 스크립트 구문을 삽입하고, 정상적인 사용자로 하여금 자신의 의지와는 무관하게 게시판 설정 변경, 회원 정보 변경 등 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격이다.
  • ( ) : 하드 디스크와 같은 데이터 저장 장치를 호스트 버스 어댑터에 직접 연결하는 방식이다.
  • DAS(Direct Attached Storage)
  • ( ) : 저장 장치와 서버를 직접 연결하는 것이 아니라 네트워크를 통해 스토리지에 접속하고, 파일 단위로 관리하는 방식이다.
  • NAS (Network Attached Storage)
  • SAN(Storage Area Network) : 서버와 스토리지를 저장 장치 전용 네트워크로 상호 구성하여 고가용성, 고성능, 융통성, 확장성을 보장하고 데이터를 블록(Block) 단위로 관리하는 기술
  • ( ) : 객체 지향 구성요소 중 특정 객체 내에 있는 변수와 메서드를 정의하는 일종의 틀이자 객체 지향 프로그래밍에서 데이터를 추상화하는 단위이다.
  • 클래스(Class)
  • 객체 지향 기법 중 ( ) 은/는 하나의 메시지에 대해 각 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력이자 상속받은 여러개의 하위 객체들이 다른 형태의 특성을 갖는 객체로 이용될 수 있는 성질이다.
  • 다형성(Polymorphism)
  • 객체 지향 기법 : 캡슐화(Encapsulation), 정보 은닉(Information Hiding), 추상화(Abstraction), 상속성(Inheritance), 다형성(Polymorphism)
  • ( ) : 사용자 계정을 탈취해서 공격하는 유형 중 하나로, 다른 곳에서 유출된 아이디와 비밀번호 등의 로그인 정보를 다른 웹사이트나 앱에 무작위로 대입해 로그인이 이루어지면 타인의 정보를 유출시키는 기법이다.
  • 크리덴셜 스터핑(Credential Stuffing)
  • ( ) : 컴퓨터의 소프트웨어나 하드웨어 및 컴퓨터 관련 전자 제품의 버그, 보안 취약점 등 설계상 결함을 이용해 공격자의 의도된 동작을 수행하도록 만들어진 절차나 일련의 명령, 스크립트, 프로그램을 사용한 공격 행위이다.
  • 익스플로잇(Exploti)
  • ( ) : 애플리케이션 성능 측정 지표 중 애플리케이션에 사용자가 요구를 입력한 시점부터 트랜잭션을 처리 후 그 결과의 출력이 완료할 때까지 걸리는 시간을 말한다.
  • Turnaround Time
  • ( ) : 소스 코드 품질 분석 도구 중 동적 분석 도구로 자동화된 메모리 및 스레드 결함 발견 분석 도구이다.
  • Valgrind
  • ( ) : 유한체 위에서 정의된 타원 곡선 군에서 이산대수의 문제에 기초한 공개키 암호화 알고리즘으로 키의 비트수를 적게하면서 동일한 성능을 제공한다.
  • ECC
  • ( ) : 국내 표준 서명 알고리즘 KCDSA(Korean Certificate-based Digital Signature Algorithm)를 위하여 개발된 해시함수로 MD5와 SHA1의 장점을 취하여 개발된 해시 알고리즘이다.
  • HAS-160

I. 요구사항 확인

Chapter 01. 소프트웨어 개발 방법론

  • 소프트웨어 생명주기 모델 종류 : [폭프나반] 폭포수 모델 / 프로토타피이 모델 / 나선형 모델 / 반복적 모델
  • 나선형 모델 절차 : [계위개고] 계획 및 정의 / 위험 분석 / 개발 / 고객 평가
  • 럼바우의 객체 지향 분석 절차 : [객동기] 객체 모델링 / 동적 모델링 / 기능 모델링)
  • Man Month = LoC / 프로그래머의 월간 생산성
  • 프로젝트 기간 = ManMonth / 프로젝트인력
  • 구조적 방법론 : 전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합하는 분할과 정복 접근 방식의 방법론
  • 정보공학 방법론 : 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론, 개발주기를 이용해 대형 프로젝트를 수행하는 체계적인 방법론
  • 객체 지향 방법론 : ‘객체’라는 기본 단위로 시스템을 분석 및 설계하는 방법론. 복잡한 현실 세계를 사람이 이해하는 방식으로 시스템에 적용하는 방법론
  • 컴포넌트 기반 방법론(CBD) : 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 작성하는 방법론
  • 애자일 방법론 : 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발 방법론. 개발 과정의 어려움을 극복하기 위해 적극적으로 모색한 방법론
  • 제품 계열 방법론 : 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론. 임베디드 소프트웨어를 작성하는데 유용한 방법론
  • 테스트 기반 개발(TDD) : 작성해야 하는 프로그램에 대한 테스트를 먼저 수행하고, 이 테스트를 통과할 수 있도록 실제 프로그램의 코드를 작성한다는 원리.
  • XP의 12가지 가치 : 짝 프로그래밍, 지속적인 통합(CI), 메타포어, 테스트 기반 개발(TDD), 리팩토링, 공동 코드 소유, 계획 세우기, 작은 릴리즈, 간단한 디자인, 40시간 작업, 고객 상주, 코드 표준
  • 델파이 기법(Delphi Method) : 전문가의 경험적 지식을 통한 문제 해결 및 미래예측을 위한 기법이다.