본문 바로가기

자격/정보처리기사

[정보처리기사][실기] 개인적인 정리 (암기List)

반응형

 


요구사항 도출

    - 인터뷰

      → 

    - 관찰

      → 

    - 프로토타입

      → 

    - 벤치마킹

      → 

    - 사용자 스토리텔링

      → 

    - 문헌조사

      → 

    - 업무절차 및 양식 조사

      → 

    - 설문

      → 

    - 브레인스토밍

      → 


요구사항 검토

  * 방법

    - 동료검토

      → 

    - 워크스루

      → 

    - 인스펙션

      → 


요구사항 정의

    - 기능적 요구사항

      → 시스템에서 제공되어야 할 특정 기능을 정의

    - 비기능적 요구사항

      → 시스템의 전체적 품질이나 기능적 요구사항의 구현 시 고려해야하는 제약사항


2022.07.22 - [자격/정보처리기사] - [정보처리기사][실기] 개인적인 정리 (객체지향)

 

[정보처리기사][실기] 개인적인 정리 (객체지향)

객체지향 * 설계 원칙 - 단일책임 원칙 (SRP, Single Responsibility Principle) → 객체는 단 하나의 책임만을 가져야함 → 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다 → 같은 이유로

joke.tistory.com


클라우드 컴퓨팅

    - IaaS (Infra as a Service)

      → 인프라 서비스 제공

 

    - PaaS (Platform as a Service)

      → 플랫폼 제공 서비스 제공

 

    - SaaS (Service as a Service)

      → 온디맨스(on-demand) 서비스 제공


2022.07.17 - [자격/정보처리기사] - [정보처리기사][실기] 개인적인 정리 (UML 다이어그램)

 

[정보처리기사][실기] 개인적인 정리 (UML 다이어그램)

집중 암기 UML 객체 지향 소프트웨어 개발과정에서 산출물을 명세화, 시각화, 문서화할 때 사용되는 모델링 기수과 방법론을 통합하여 만든 표준화된 범용 모델링 언어 UML의 특징 가시화 언어 개

joke.tistory.com


애자일(Agile) 개발 프로세스

      → 애자일 : 좋은 것을 빠르고 낭비 없게 만드는 것.

      → 절차보다는 사람이 중심, 변화에 유연하고 신속하게 적응, 일정한 주기 반복, 개발하는 방법론

 

    - XP (eXtreme Programming)

      → 의사소통 개선과 즉각적인 피드백에 의한 단순한 코딩으로 SW 품질을 높이기 위한 방법론

      → 5가지 가치 : 용기, 단순성, 의사소통, 피드백, 존경

      → 12개 실천 항목

 

    - SCRUM

      → 매일 정해진 시간에 정해진 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심의 방법론

           백로그 : 제품과 프로젝트에 대한 요구사항

           스프린트(Sprint) : 30일 단위(iteration)의 짧은 개발기간으로 분리하여 반복적 수행

           스크럼 미팅: 매일 스크럼 미팅으로 오늘과 내일의 해야할일의 계획 수립

           스크럼 마스터 : 프로젝트 리더, 스크럼 수행 시 문제 인지 및 이를 해결하려고 노력하는 사람

 

    - Lean

      → 린 시스템의 품질 기법을 소프트웨어 개발 프로세스에 적용하여 프로세스의 낭비요소를 제거 후 결과를 측정, 성과를 분석하여 소프트웨어의 품질을 향상시키는 개발 방법론

      → 7가지 원칙 : 낭비제거, 품질 내재화, 지식 창출, 늦은 확정, 빠른 인도, 사람 존중, 전체 최적화

 


  * 모델링

      → 실세계의 물리현상을 특정한 목적에 맞추어 이용하기 쉬운 형식으로 표현하는 일

 

    - 개념 모델링 역할

      → 요구사항 분석의 핵심, 문제가 발생하는 상황에 대한 이해를 증진시키고 해결책을 설명

 

    - 종류와 표기법

      → 유즈케이스 다이어그램

      → 데이터흐름 모델

      → 상태모델

      → 목표기반 모델

      → 사용자 인터액션

      → 객체 모델

      → 데이터모델 등 다양한 모델 작성

      → 대부분 모델링 표기법은 UML 사용


2022.07.15 - [자격/정보처리기사] - [정보처리기사][실기] 개인적인 정리 (결합도, 응집도)

 

[정보처리기사][실기] 개인적인 정리 (결합도, 응집도)

집중 암기! 결합도 (Coupling) - 개념 - 종류 응집도 (Cohesion) - 개념 - 종류 결합도 (Coupling) * 개념 확인 → 모듈과 모듈 사이의 관련성의 정도 * 종류 (결합도 : 낮음 → 높음) → 자(료) 스(탬프) 제(어).

joke.tistory.com


요구사항 설계

  * 설계 방법

     2022.04.14 - [Software 공부/Software Web Knowledge] - [Software][Knowledge] ORM, Data Model, Data Modeling

 

    - 개념적 설계

        → 사용자의 요구사항을 개념적 데이터 모델을 이용하여 표현하는 설계 단계 (E-R 모델 대표적)

 

    - 논리적 설계

        → 개념적 설계의 산출물인 E-R 다이어그램을 데이터 베이스 관리 시스템에 매핑 하는 설계 단계

        → 논리적 설계의 산출물은 테이블 명세서

 

    - 물리적 설계 

        → 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조 데이터로 변환

        → 실제 Database에 테이블을 생성하는 단계


소프트웨어 아키텍쳐

  * SW 아키텍쳐 4+1 View

    - 사용자 사례관점(Use Case View)

        → 시스템의 외부 사용자 관점에서 사용사례(Use Case)들 간의 관계를 정의

 

    - 논리 관점 (Logical View)

        → 상위 수준에서 시스템의 논리적인 구조/행위를 클래스 인터페이스 협력관계(Collaboration)로 정의

 

    - 구현 관점 (Implementation View)

        → 독립적으로 실행되는 컴포넌트와 이들 간 관계를 정의

 

    - 프로세스 관점 (Process View)

        → 시스템의 병렬처리 및 동기화 처리를 위한 스레드와 프로세스를 정의

 

    - 배치 관점 (Deployment view)

        → 실행되는 시스템 하드웨어와 소프트웨어 관계를 정의


2022.07.15 - [자격/정보처리기사] - [정보처리기사][실기] 개인적인 정리 (디자인패턴)

 

[정보처리기사][실기] 개인적인 정리 (디자인패턴)

디자인 패턴 (Design Pattern) : 반복적으로 나타나는 문제들을 해결해온 전문가들이 경험을 모아서 정리한 설계 기법 * 디자인 패턴 구분 - 생성 패턴(Creational Pattern) → 객체를 생성하는데 관련된

joke.tistory.com


2022.07.17 - [Software 공부/Software Database Knowledge] - [Database][기본] Data의 종류, Database의 종류

2022.07.17 - [Software 공부/Software Database Knowledge] - [Database][SQL Query][데이터베이스 이상]

2022.07.17 - [Software 공부/Software Database Knowledge] - [Database][정규화][데이터베이스 키]


트랜젝션

        → 데이터 베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위를 의미

        → 하나의 트랜젝션은 Commit 또는 Rollback을 완료

 

  * 트랜젝션 특성

    - 원자성(Atomicity)

      → 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장

      → Commit과 Rollback 명령어에 의해 보장 받는다.

 

    - 일관성(Consistency)

      → 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미한다.

      → 무결성 제약이 모든 계좌는 잔고가 있어야 한다면 이를 위반하는 트랜잭션은 중단된다.

 

    - 격리성(Isolation)

      → 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장

      → 트랜잭션 밖에 있는 어떤 연산도 중간 단계의 데이터를 볼 수 없음

 

    - 지속성(Durability)

      → 성공적으로 수행된 트랜잭션은 영원히 반영됨


    - XML (Extensible Markup Language)

      → W3C에서 개발된, 다른 특수한 목적을 갖는 마크업 언어를 만드는데 사용하도록 권장하는 다목적 마크업 언어

 

    - JSON (JavaScript Object Notation)

      → 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 방식

      → 키-쌍 값 사용 (XML 대체해서 데이터 전송등에 많이 사용)

 

    - SOAP (Simple Object Access Protocol)

      → HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜

      → SOA 개념을 실현하기 위한 기술

 

    - AJAX (Asynchronous JavaScript And XML)

      → XML HttpRequest 객체를 이용해서 전체 페이지를 새로 고치지않고 페이지 일부분만을 위한 데이터를 로드

 

    - REST (Representational State Transfer)

      → 기존 SOA 기반의 아키텍처의 비 효율성을 극복

      → UDDI 같은 중간 매체 없이, 고유한 URL로 직접 전송하기 때문에 빠르다

      → HTTP에서 제공하는 기본 메소드인 PUT, GET, POST, DELETE, PATCH만으로 자원에 접근할 수 있따

 


Code

C언어, PYTHON

기본 연산자

 

재귀 함수

 

선택정렬

버블정렬


UI (User Interface)

      → 사람들이 컴퓨터, 시스템, 기기, 도구 등 그사이에서 일어나는 상호작용을 매개하는 것

 

  * 목적

      → 심리학과 심리학에 기반하여 사용자가 필요로 하는 요소를 쉽게 찾고 사용하며 명확하게 의도한 결과를 쉽게 얻어 낼 수 잇어야함

 

  * 종류

    - CUI (Character based UI)

      → 문자방식의 명령어 입력 사용자 인터페이스

    - GUI (Graphic UI)

      → 그래픽 환경 기반의 마우스 입력 사용자 인터페이스

    - NUI (Natural UI)

      → 사용자의 말과 행동 기반 제스처 입력 인터페이스 등

 

  * 기본 원칙

    - 직관성

      → 앞의 구조를 큰 노력 없이도 쉽게 이해하고 쉽게 사용할 수 있게 제작해야 함

      → 용이한 검색 쉬운 사용성 일관성이 있어야 한다는 원칙

    - 유효성

      → 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작해야 하는 원칙

    - 학습성

      → 초보와 숙련자 모두가 쉽게 배우고 사용할 수 있게 제작해야 함

      → 쉽게 학습, 쉬운 접근, 쉽게 기억해야 한다는 원칙

    - 유연성

      → 사용자의 인터렉션을 최대한 포용하고, 실수를 방지할 수 있도록 제작해야 함

      → 오류예방, 실수 포용, 오류 감지가 가능하도록 해야한다는 원칙

 


2022.07.17 - [자격/정보처리기사] - [정보처리기사][실기] 개인적인 정리 (소프트웨어 테스트)

 

[정보처리기사][실기] 개인적인 정리 (소프트웨어 테스트)

집중 암기 소프트웨어 테스트 (정적 테스트, 동적 테스트) 정적테스트 종류 동적테스트 종류 소프트웨어 테스트의 기본 7원칙 - 테스팅은 결함이 존재함을 밝히는 활동이다 → 테스팅은 소프트

joke.tistory.com


V-모델

 

테스트 레벨에 따른 테스트의 유형

 

인수테스트 

알파테스트

베타 테스트


    - 에러

      → 결함의 원인 되는 것을 의미

      → 사람에 의해 생성된 실수가 대표적인 케이스

 

    - 결함, 결점, 버그

      → 에러가 원인이 되어 제품에 포함된 결함

      → 제거하지 않으면 실패 또는 문제으 ㅣ원이 된다

 

    - 실패, 문제

      → 제품의 결함이 있는 부분이 실행될 때 발생되는 현상


통합 테스트

    - 하향식 통합방법

      → 스텁(Stub)

 인자를 통해 받은 값을 가지고 테스트를 수행한 후 그 반환 값만 테스트할 모듈에 넘겨주는 역할

 

    - 상향식 통합 방법

      → 드라이버(Driver)

상위나 하위 모듈이 개발될 때까지 기다릴 수 없어 가상의 상위나 하위 모듈을 만들어 사용

상위 모듈 역할을 하는 가상의 모듈

테스트할 모듈을 호출하고, 모듈 테스트 수행 후의 결과를 도출하는 역할


2022.07.18 - [Software 공부/Software Database Knowledge] - [Database][SQL Query] 데이터 정의어

2022.07.18 - [Software 공부/Software Database Knowledge] - [Database][SQL Query] 데이터 조작어


2022.07.15 - [자격/정보처리기사] - [정보처리기사][실기] 개인적인 정리 (암호화 알고리즘)

 

[정보처리기사][실기] 개인적인 정리 (암호화 알고리즘)

집중 암기! 대칭키 알고리즘 - 특징 - 비대칭키와 비교 비대칭키 알고리즘 - 특징 - 대칭키와 비교 대칭키 알고리즘 종류 - 특징 비대칭키(암호화) 알고리즘 종류 - 특징 암호화 알고리즘 : 평문 (Pl

joke.tistory.com


2022.07.22 - [자격/정보처리기사] - [정보처리기사][실기] 개인적인 정리 (소프트웨어 개발 보안)

 

[정보처리기사][실기] 개인적인 정리 (소프트웨어 개발 보안)

정보 보안 - 기밀성 → 자산이 인가(Authorization)된 당사자에 의해서 접근 보장  위험요소 - 도청, 사회공학 공격 등 - 무결성 → 자산이 인가된 당사자에 의해 인가된 방법으로만 변경 가능. 완

joke.tistory.com


분산 컴퓨팅 구조

 


교착 상태

  * 교착 상태 발생 조건

    - 상호배제 (Mutual Exclusive)

        → 프로세스가 자원을 배타적으로 점유하여 다른 프로세스가 그 자원을 사용할 수 없습니다

 

    - 점유와 대기 (Block & Wait)

        → 한 프로세스가 자원을 점유하고 있으면서 또 다른 자원을 요청하여 대기하고 있는 상태

 

    - 비 선점 (Non Preemption) 

        → 한 프로세스가 점유한 자원에 대한 다른 프로세스가 선점할 수 없고, 오직 점유한 프로세스만이 해제 가능

 

    - 환형 대기 (Cicular wait)

        → 두개 이상의 프로세스 간 자원의 점유와 대기가 하나의 원형을 구성한 상태

 

  * 교착상태 해결 방안

    - 예방(Prevention)

        → 상호배제, 점유와 대기, 비선점 및 환형대기 조건의 부정

 

    - 회피 (Avoidance)

        → 은행가 알고리즘 (Banker's Algorithm)

        → Wait-die, wound-wait 알고리즘

 

    - 발견 (Detection)

        → 시스템의 상태를 감시 알고리즘을 통해 교착 상태 검사

        → 자원 할당 그래프,. wait for Graph

 

    - 회복 (Recovery)

        → Deadlock이 없어질 때까지 프로세스를 순차적으로 Kill하여 제거


2022.07.16 - [자격/정보처리기사] - [정보처리기사][실기] 개인적인 정리 (OSI 7계층)

 

[정보처리기사][실기] 개인적인 정리 (OSI 7계층)

집중 암기 OSI 7계층(Layer) OSI 7계층(Layer) 주요 프로토콜 OSI 7계층(Layer) * 정리 - 물(리) → 데(이터링크) → 네(트워크) → 전(송) → 세(션) → 표(현) → 응(용) - 물리 계층 - 데이터링..

joke.tistory.com


프로토콜

  * 정의

      → 서로 다른 시스템에 있는 두개체 간에 성공적으로 데이터를 전송하는 통신규약

            (외교분야에서의 의례 또는 의정서를 의미하는 용어)

      → 컴퓨터가 메시지를 전달하고 메시지가 제대로 도착했는지 확인하며

            도착하지 않았을 경우 메시지를 재전송하는 일련의 방법

 

  * 기능

    - 단편화(Fragmentation)와 재합성(Assembly)

      → 송신 측에서는 긴 데이터 블록을 전송이 용이하도록 같은 크기의 작은 블록으로 나누어 전송

      → 수신 측에서는 작은 데이터 블록을 재합성하여 원래의 메시지로 복원하는 기능

 

    - 캡슐화 (Encapsulation)

      → 비연결 데이터 전송(데이터그램)과 연결 위주 데이터전송(가상회선)을 위한 통신로를 개설 유지 종결하는 기능

 

    - 흐름 제어 (Flow Control)

      → 데이터 양이나 통신 속도 등이 수신측의 처리 능력을 초과하지 않도록 조정하는 기능

 

    - 오류제어(Error Control)

      → 데이터 전송 중 발생할 수 있는 오류나 착오 등을 검출하고 정정하는 기능

 

    - 순서 결정 (Sequencing)

      → 연결 위주의 데이터를 전송할 때 송신 측이 보내는 데이터 순서대로 수신측에 전달하는 기능

 

    - 주소 설정(Addressing)

      → 발생지, 목적지 등의 주소를 명기하여 데이터를 정확하게 전달하는 기능

 

    - 동기화(Synchronization)

      → 하나의 통신로를 여러개로 나누거나(Upward) 회선 여러개를 하나의 통신로로 변환(Downward) 시켜

      → 다수의 가입자가 동시에 사용하는 기능

 

    - Transmission Service

      → 통신 객체를 사용하기 쉽도록 별도로 추가 서비스 (패러티 검사, 보안도, 서비스 등급, 우선순위 등)를 제공하는 기능

 

  * 기본 3요소

    - 구분(Syntax)

      → 데이터의 구조나 형태(포맷)을 정의

      → 16bit 정보 송신 시 앞에 8bit는 주소, 다음 8bit는 데이터로 정의

 

    - 타이밍(Timing)

      → 어떤 데이터를 보낼 것인지 얼마나 빨리 보낼 것인지를 결정

 

    - 의미(Semantics)

      → 데이터의 각 부분이 무엇을 뜻하는지 알 수 있게 미리 정해둔 규칙

      → 오류 제어, 동기화, 흐름제어


    - ISO9126

      → SW의 최상위의 품질 목표 달성을 위한 소프트웨어 품질 특성에 대한 국제 표준

 

      → 기능성

      → 신뢰성

      → 사용성

      → 효율성

      → 유지보수성

      → 이식성


스키마

      → 전체적인 구조와 제약조건에 대한 명세 기술 정의

 


    - RIP (Routing Information Protocol)

      → 인접해 있는 라우터와 라우팅 정보를 교환하는 거리벡터 라우팅

      → 소규모 동종의 네트워크 내에서 효율적인 방법

      → 최대 홉(Hop) 수를 15로 제한

      → 벨만포드 알고리즘, Hop Count, Distance Vector

 

    - OSPF (Open Shortest Path First)

      → 홉수에 제한이 없어 대규모 네트워크에서 많이 사용되는 프로토콜

      → 라우팅 정보에 변화가 있을 때 변화된 정도만 네트워크 내의 모든 라우테게 알리는 링크상태 라우터

 

    - BGP(Border Gateway Protocol)

      → AS(Autonomous System) number가 서로 다른 네트워크 간에 라우팅 정보를 주고 받을 때, 기용될 수 있는 Exterior Gateway Protocol

      → 다익스트라 알고리즘, Cost(Bandwidth), LS(Link-State)

 


    - 인덱스

      → 검색 연산의 최적화를 위해 데이터 베이스 내의 튜플들에 대한 정보를 구성하는 데이터 구조

 

    - 

      → 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해

      → 하나 이상의 기본 테이블로부터 유도된 이름을 가지는 가상의 테이블


 

반응형