반응형

정보처리기사 39

정보처리기사 5과목 정보시스템 구축 관리 (네트워크 관련 신기술 총정리)

용어 설명 비고 (링크) IoT (Internet of Things, 사물 인터넷) - 사람과 사물, 사물과 사물 간 지능 통신을 할 수 있는 M2M(Machine to Machine)의 개념을 인터넷으로 확장 - 사물은 물론, 현실과 가상 세계의 모든 정보와 상호 작용하는 개념 M2M (Machine to Machine) - 무선 통신을 이용한 기계와 기계 사이의 통신 - 모든 사물에 센서통신 기능을 부과하여 지능적으로 정보를 수집하고, 상호 전달하는 기술을 의미 Mobile Computing (모바일 컴퓨팅) 휴대형 기기로 이동하면서 자유롭게 네트워크에 접속하여 업무를 처리할 수 있는 환경 Cloud Computing (클라우드 컴퓨팅) - 각종 컴퓨팅 자원을 중앙 컴퓨터에 두고 인터넷 기능을 갖는 ..

정보처리기사 5과목 정보시스템 구축 관리 (무조건 한 문제 나오는 상향식 비용 산정의 LOC 기법 기출문제)

소프트웨어의 개발 규모를 소요되는 인원, 자원, 기간 등으로 확인하여 실행 가능한 계획을 수립하기 위해 필요한 비용을 산정한다. 프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 방법 중 소프트웨어 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하여 비용을 산정하는 기법을 LOC (원시 코드 라인 수, Source Line Of Code) 기법이라고 한다. COCOMO(Constructive Cost Model) 모형 - 보헴(Boehm)이 제안한 것으로, 원시 프로그램의 규모인 LOC에 의한 비용 산정 기법 - 비용 견적의 강도 분석 및 비용 견적의 유연성이 높아 소프트웨어 개발비 견적에 널리 통용되고 있음 - 같은 규모의 프로그램이라도 ..

정보처리기사 5과목 정보시스템 구축 관리 (소프트웨어 개발 방법론)

구조적 방법론 정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리 중심의 방법론 타당성 검토 → 계획 → 요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수 단계 정보공학 방법론 정보 시스템 개발을 위해 계획, 분석, 설계, 구축에 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 자료(Data) 중심의 방법론 객체지향 방법론 현실 세계의 개체(Entity)를 기계의 부품처럼 하나의 객체(Object)로 만들어, 소프트웨어를 개발할 때 기계의 부품을 조립하듯이 객체들을 조립해서 필요한 소프트웨어를 구현하는 방법론 구성 요소 : 객체(Object), 클래스(Class), 메시지(Message), 메서드(Method) 등 기본 원칙 : 캡슐화, 상속성, 다형성, 추상화, 정보 은닉 ..

정보처리기사 4과목 프로그래밍 언어 활용 (데이터의 교환 방식을 정의하는 프로토콜에 대해)

프로토콜(Protocol) 서로 다른 기기들 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜 놓은 통신 규약 프로토콜의 기본 요소 기본 요소 설명 구문(Syntax) 전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정 의미(Semantics) 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정 타이밍(Timing) 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정 TCP/IP (Transmission Control Protocol/Internet Protocol) 인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고 받을 수 있도록 하는 표준 프로토콜 TCP (전송 제어 프로토콜) Transmission Control Prot..

정처기 공부하다 빠져버린 FIFO 페이지 교체 알고리즘의 늪 (페이지 부재(page fault) 횟수 문제 완벽 이해)

정보처리기사 4과목 프로그래밍 언어 활용 (기억장치 관리 전략 정리(페이지교체 알고리즘 포함) 기억장치의 관리 전략의 개요 보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기 (when), 적재 위치(where) 등을 지정하여 한정된 주기억장치의 공간을 효율적으로 사용하기 위 3mmmeee.tistory.com 정보처리기사 공부 중 프로그래밍 언어 활용 4과목에서 비전공자에게 생긴 의문, FIFO 페이지 교체 알고리즘 계산법 문제에서 고비가 찾아왔다. 문제를 풀기 전에 간단한 개념부터 알고 가도록 한다. FIFO (First In Fisrt Out) - 말 그대로 선입선출 - FIFO는 '큐'라는 자료구조를 참고하면 이해하기가 쉬운데, 긴 파이프 모형 한쪽에 구슬을 넣으면 자연스럽게 다른 한..

활동/호기심 2023.05.09

정보처리기사 4과목 프로그래밍 언어 활용 (기억장치 관리 전략 정리(페이지교체 알고리즘 포함))

기억장치의 관리 전략의 개요 보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기 (when), 적재 위치(where) 등을 지정하여 한정된 주기억장치의 공간을 효율적으로 사용하기 위함 반입(Fetch) 전략 보조기억장치에 보관 중인 프로그램이나 데이터를 언제(when) 주기억장치로 적재할 것인지 결정하는 전략 요구 반입(Demand Fetch) : 실행 중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법 예상 반입(Anticipatory) : 실행 중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상해 적재하는 방법 배치(Placement) 전략 새로 반입되는 프로그램이나 데이터를 주기억장치의 어디에(where) 위치시킬지를 결정하는 전략 최초 적합(Firs..

정보처리기사 4과목 프로그래밍 언어 활용 (UNIX)

UNIX 1960년대 개발된 컴퓨터 운영체제 (Linux는 1990년대 초에 만들어진 UNIX의 변종) 소스가 공개된 개방형 시스템(Open System) 시분할 시스템(Time Sharing System)을 위해 설계된 대화식 운영체제 다중 작업(Multi-Tasking, 멀티태스킹) 지원 대부분 C언어로 작성되어 있으며 이식성이 높고 장치, 프로세스 간의 호환성이 높음 파일을 구성하고 저장하기 위한 계층 구조(트리 구조)의 파일 시스템 하드웨어 > 커널 > 쉘 > 유틸리티 > 사용자 커널(Kernel) UNIX의 가장 핵심적인 부분 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할을 담당 프로세스 관리, 기억장치 관리, 파일 관리..

정보처리기사 4과목 프로그래밍 언어 활용 (운영체제OS 기능과 종류 / Windows 주요특징)

운영체제(OS; Operating System) - 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임 사용자 > 응용 프로그램 > 유틸리티 > 운영체제(OS) > 하드웨어 유틸리티 : 운영체계에서 제공되는 것 외에 추가의 기능을 제공하는 작은 프로그램 운영체제의 목적 목적 설명 처리 능력 (Throughput) 일정시간 내에 시스템이 처리하는 일의 양 반환 시간 (Turn Around Time) 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간 사용 가능도 (Availability) 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도 신뢰도 (Reliability) 시스템이 주어진 문제를 정확하게 ..

정보처리기사 4과목 프로그래밍 언어 활용 (절차적 프로그래밍 언어와 객체지향 프로그래밍 언어)

절차적 프로그래밍 언어 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술해나가는 언어 프로그램이 실행되는 절차(Procedure)를 중요시 한다. 장점 단점 - 컴퓨터의 처리 구조와 유사하여 실행 속도가 빠름 - 같은 코드를 복사하지 않고 다른 위치에서 호출하여 사용 가능 (이식성 Good) - 모듈 구성이 용이 (구조적인 프로그래밍 가능) - 프로그램 분석이 어려움 - 유지 보수나 코드 수정의 어려움 언어 특징 C - 1972년 미국 벨 연구소의 데니스 리치에 의해 개발됨 - 시스템 프로그래밍 언어로 널리 사용됨 - 자료의 주소를 조작할 수 있는 포인터 제공 - 고급 프로그래밍 언어, 저급 프로그래밍 언어의 특징을 모두 갖춤 - UNIX의 일부가 C언어로 구현됨 - 컴파일러 방식의 언어 - 이식성이..

정보처리기사 2과목 소프트웨어 개발 ('동적 테스트' 화이트박스 테스트와 블랙박스 테스트 정리)

프로그램 실행 여부에 따른 테스트 정적 테스트 프로그램을 실행하지 않고 명세서나 소스 코드를 대상으로 분석하는 테스트 ex) 워크 스루, 인스펙션, 코드 검사 동적 테스트 프로그램을 실행하여 오류를 찾는 테스트 ex) 화이트박스 테스트, 블랙박스 테스트 테스트 기반에 따른 테스트 명세 기반 테스트 사용자의 요구사항에 대한 명세를 빠짐없이 테스트 케이스로 만들어 구현하고 있는지 확인하는 테스트 ex) 동등 분할, 경계값 분석 (블랙박스 테스트) 구조 기반 테스트 소프트웨어 내부의 논리 흐름에 따라 테스트 케이스를 작성하고 확인하는 테스트 ex) 구문 기반, 결정 기반, 조건 기반 (화이트박스 테스트) 경험 기반 테스트 테스터의 경험을 기반으로 수행하는 테스트 ex) 에러 추정, 체크 리스트, 탐색적 테스팅..

정보처리기사 2과목 소프트웨어 개발 (버전 관리 도구(클라이언트/서버 방식 SVN과 분산 저장소 방식 Git), 깃허브 차이점)

버전 관리가 필요한 이유 개발자 간의 협업을 위해 전체 개발 소스를 공유하면서 개발 파트를 나눌 수 있고 같은 모듈을 개발하더라도 소스를 공유하며 개발할 수 있기 때문이다. 공유 폴더 방식 버전 관리 자료가 로컬 컴퓨터의 공유 폴더에 저장되어 관리되는 방식 개발자들은 개발이 완료된 파일을 약속된 공유 폴더에 매일 복사함 담당자는 공유 폴더의 파일을 자기 PC로 복사해 컴파일 한 후 이상 유무 확인 파일의 변경 사항을 데이터베이스에 기록하며 관리 클라이언트/서버 방식 버전 관리 자료가 중앙 시스템(서버)에 저장되어 관리되는 방식 ex) CVS (Concurrent Versions System, 동시 버전 시스템), SVN (Subversion) 서버의 자료를 개발자별로 자신의 PC(클라이언트)로 복사해 작..

정보처리기사 2과목 소프트웨어 개발 (형상관리)

형상 관리 소프트웨어 패키징의 형상 관리(SCM; Software Configuration Management) 형상 관리는 소프트웨어의 개발 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동 소프트웨어 개발의 전 단계에 적용되는 활동이며, 유지보수 단계에서도 수행 형상 관리의 중요성 소프트웨어의 변경 사항을 체계적으로 추적하고 통제 가능 제품 소프트웨어에 대한 무절제한 변경 방지 진행 정도를 확인하기 위한 기준으로도 사용 제품 소프트웨어의 형상 관리 역할 (20년 3회 기출문제) 동일한 프로젝트에 대해 여러 개발자 동시 개발 가능 형상 관리를 통해 이전 리비전이나 버전에 대한 정보에 접근 가능하여 배포본 관리에 유용 불필요한 사용자의 소스 수정 제한 기능 형상 식별 형상 관리 대상에 ..

정보처리기사 2과목 소프트웨어 개발 (소프트웨어 패키징 고려사항과 작업 순서)

소프트웨어 패키징 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것 개발자가 아닌 사용자를 중심으로 진행 고려사항 운영체제(OS), CPU, 메모리 등에 필요한 최소 환경을 정의 하드웨어와 함께 관리될 수 있도록 Managed Service 형태로 제공 다양한 사용자의 요구사항 반영 패키징 작업 순서 기능 식별 모듈화(Modularity) - 기능 단위로 분해하고 추상화 되어 재사용 및 공유가 가능한 수준으로 만들어진 단위 빌드 진행 빌드(Build) : 소스코드 파일을 실행 가능한 소프트웨어 산출물로 만드는 일련의 과정, 그에 대한 결과물 사용자 환경 분석 패키징 및 적용 시험 패키징 변경 개선 배포 제품 소프트웨어 패키징 도구 활용시 고려사항 패키징 시 사용자에게 배포되는 소프트웨어이..

정보처리기사 2과목 소프트웨어 개발 (개발지원 도구와 빌드 자동화 도구)

통합 개발 환경(IDE; Integrated Development Environment) 개발에 필요한 환경, 즉 편집기(Editor), 컴파일러(Compiler), 디버거(Debugger) 등 다양한 툴을 하나의 인터페이스로 통합해 제공하는 것을 의미함 이클립스(Eclipse) (IBM), 비주얼 스튜디오(Visual Studio) (Microsoft), 엑스 코드(X Code) (Apple) 안드로이드 스튜디오(Android Studio) (Google), IDEA (JetBrains) 빌드 자동화 도구 소스코드를 소프트웨어로 변환하는 과정에 필요한 전처리 (Preprocessing), 컴파일 (Compile) 등 작업들을 수행하는 소프트웨어 Ant (Another Neat Tool) 아파치 소프트웨..

정보처리기사 2과목 소프트웨어 개발 (절차형 SQL(프로시저 / 트리거), 쿼리 성능 최적화 (APM / 옵티마이저))

절차형 SQL C, JAVA 등의 프로그래밍 언어와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQL 일반적인 프로그래밍 언어에 비해 효율이 떨어진다. 연속적인 작업들을 처리하는데 적합하다. BEGIN ~ END 형식으로 작성되는 Block 구조로 기능별 모듈화 가능 종류 프로시저 (Procedure) 호출을 통해 실행되어 미리 저장해놓은 SQL 작업 수행, 처리 결과는 한 개 이상의 값 또는 반환을 아예 하지 않음 트리거 (Trigger) 입력, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업을 자동 수행 사용자 정의 함수 프로시저와 유사하게 SQL을 사용해 일련의 작업을 연속적으로 처리 (종료 시 RETURN 예약어를 사용해 처리 결과를 단일값으로 변환) 테스트와 디버깅 테스트 전 구..

반응형