애자일
애자일은 고객 요구의 변화에 민첩하게 대응하기 위해 짧은 반복과 지속적인 의사소통을 사용하는 개발 접근이다.
핵심 정리
- 폭포수처럼 완료된 단계를 되돌리기 어려운 방식의 한계를 줄인다.
- 작은 결과물을 빠르게 보여 주고 피드백을 다음 반복에 반영한다.
- 전문 용어 차이로 생기는 사용자와 개발자의 이해 차이를 시각 자료와 대화로 좁힌다.
시험 포인트
- 애자일을 계획·문서가 전혀 없는 방식으로 설명한 선택지는 틀리다.
정보처리기사 필기 빈출 개념·비교·계산·기출 함정을 114개 단일 주제 카드로 직접 설명하고, 시험형 OX와 5지선다 문제로 확인합니다.
애자일은 고객 요구의 변화에 민첩하게 대응하기 위해 짧은 반복과 지속적인 의사소통을 사용하는 개발 접근이다.
제목이나 설명을 선택하면 해당 학습 카드로 이동합니다.
애자일은 고객 요구의 변화에 민첩하게 대응하기 위해 짧은 반복과 지속적인 의사소통을 사용하는 개발 접근이다.
이 카드 학습하기 →애자일 선언은 프로세스와 도구보다 개인과 상호작용, 방대한 문서보다 작동하는 소프트웨어, 계약 협상보다 고객 협력, 계획 준수보다 변화 대응을 더 중시한다.
이 카드 학습하기 →XP(Extreme Programming)는 의사소통을 개선하고 즉각적인 피드백을 얻는 데 초점을 둔 애자일 방법론이다.
이 카드 학습하기 →XP의 다섯 가지 가치는 의사소통, 단순성, 피드백, 용기, 존중이다.
이 카드 학습하기 →스크럼은 역할과 진행 체계를 명확히 정의하고 짧은 반복으로 제품을 점진적으로 개발하는 애자일 프레임워크다.
이 카드 학습하기 →제품 책임자(Product Owner)는 이해관계자의 요구를 수렴하고 제품 가치를 높이도록 제품 백로그의 우선순위를 관리한다.
이 카드 학습하기 →제품 백로그는 제품에 필요한 요구사항, 기능, 개선 사항, 기술 작업을 우선순위와 함께 정리한 목록이다.
이 카드 학습하기 →스프린트는 제품 백로그의 일부를 선택해 실행 가능한 제품 증가분을 만드는 짧고 고정된 반복 기간이다.
이 카드 학습하기 →스크럼 마스터는 팀이 스크럼을 올바르게 수행하도록 돕고 장애 요소 제거와 갈등 조정을 지원하는 촉진자다.
이 카드 학습하기 →속도(Velocity)는 한 번의 스프린트에서 팀이 완료할 수 있는 제품 백로그 작업량을 나타내는 추정·측정치다.
이 카드 학습하기 →스토리보드는 화면 구성, 화면 간 이동 순서, 기능 설명을 문서로 정리해 서비스의 전체 흐름을 한눈에 보여 주는 UI 설계 도구다.
이 카드 학습하기 →목업은 실제 화면과 유사하게 시각 요소를 배치하여 디자인과 사용 방법을 설명·평가하는 정적인 모형이다.
이 카드 학습하기 →프로토타입은 실제 구현된 것처럼 사용자가 조작하고 화면 전환이나 입력 결과를 시험할 수 있는 동적인 모형이다.
이 카드 학습하기 →유스케이스는 시스템 외부의 액터와 시스템이 제공하는 기능 사이의 상호작용을 사용자 관점에서 표현한다.
이 카드 학습하기 →객체지향 기법은 데이터와 행위를 객체 단위로 묶고 캡슐화·상속·다형성 등을 활용해 재사용성과 유지보수성을 높이는 접근이다.
이 카드 학습하기 →UML은 객체지향 시스템의 구조와 동작을 표준화된 다이어그램으로 표현하는 범용 모델링 언어다.
이 카드 학습하기 →SOLID는 객체지향 설계를 유연하고 변경에 강하게 만들기 위한 단일 책임, 개방-폐쇄, 리스코프 치환, 인터페이스 분리, 의존관계 역전의 다섯 원칙이다.
이 카드 학습하기 →GoF 디자인 패턴은 반복되는 객체지향 설계 문제에 적용할 수 있는 검증된 해법을 생성·구조·행위 패턴으로 분류한 것이다.
이 카드 학습하기 →단위 테스트는 모듈, 함수, 클래스처럼 가장 작은 소프트웨어 단위가 명세대로 동작하는지 개별적으로 검증하는 테스트다.
이 카드 학습하기 →테스트 드라이버는 상향식 통합 테스트에서 아직 구현되지 않은 상위 모듈을 대신해 시험 대상 하위 모듈을 호출하고 결과를 확인하는 임시 모듈이다.
이 카드 학습하기 →테스트 스텁은 하향식 통합 테스트에서 아직 구현되지 않은 하위 모듈을 대신해 상위 모듈의 호출에 임시 결과를 반환하는 모듈이다.
이 카드 학습하기 →스택은 마지막에 삽입된 데이터가 먼저 삭제되는 LIFO 구조다.
이 카드 학습하기 →큐는 먼저 삽입된 데이터가 먼저 삭제되는 FIFO 구조다.
이 카드 학습하기 →소프트웨어 재공학은 기존 소프트웨어를 분석하고 재구성해 기능은 유지하면서 품질, 유지보수성, 재사용성을 향상하는 활동이다.
이 카드 학습하기 →제품 소프트웨어 패키징은 개발된 소프트웨어를 사용자가 설치·배포·업데이트할 수 있는 형태로 구성하고 매뉴얼과 버전 정보를 함께 제공하는 활동이다.
이 카드 학습하기 →화이트박스 테스트는 프로그램 내부의 논리 구조, 제어 흐름, 조건과 경로를 알고 설계하는 구조 기반 테스트다.
이 카드 학습하기 →블랙박스 테스트는 내부 구현을 보지 않고 요구사항과 기능 명세에 따라 입력과 출력의 동작을 검증하는 기능 기반 테스트다.
이 카드 학습하기 →정렬은 데이터를 특정 키의 오름차순 또는 내림차순으로 재배치하는 알고리즘 문제 영역이다.
이 카드 학습하기 →FTR(Formal Technical Review)은 정해진 절차와 형식에 따라 소프트웨어 산출물의 결함, 요구사항 일치 여부, 표준 준수, 품질 수준을 확인하는 정적 검토 기법이다.
이 카드 학습하기 →FTR은 검토 범위와 의제를 명확히 제한하고 사람보다 제품에 집중하며 논쟁·반박과 장시간의 해결책 토론을 피하고 참가자 수도 적절히 제한한다.
이 카드 학습하기 →ISO/IEC 9126은 소프트웨어 품질 특성과 내부·외부 품질 및 사용 품질을 다룬 기존 품질 모델 표준이다.
이 카드 학습하기 →ISO/IEC 14598은 소프트웨어 제품의 품질 평가 절차와 평가 활동을 다루는 기존 국제 표준이다.
이 카드 학습하기 →ISO/IEC 12119는 패키지 소프트웨어 제품의 품질 요구사항과 시험에 관한 기존 국제 표준이다.
이 카드 학습하기 →ISO/IEC 25000 계열은 SQuaRE(Systems and software Quality Requirements and Evaluation)라는 이름으로 품질 요구사항, 품질 모델, 측정, 평가를 통합적으로 다루는 표준 체계다.
이 카드 학습하기 →ISO/IEC 25000 계열은 2500n 품질 관리, 2501n 품질 모델, 2502n 품질 측정, 2503n 품질 요구사항, 2504n 품질 평가 부문으로 구분된다.
이 카드 학습하기 →DISTINCT는 SELECT 결과에서 지정한 열 또는 열 조합의 중복 행을 제거하고 서로 다른 값만 반환한다.
이 카드 학습하기 →COUNT는 행이나 값의 개수를 세는 집계 함수이며 COUNT(*), COUNT(열), COUNT(DISTINCT 열)의 NULL·중복 처리 방식이 다르다.
이 카드 학습하기 →DDL은 데이터베이스의 테이블, 뷰, 인덱스 같은 구조를 정의·변경·삭제하는 언어로 CREATE, ALTER, DROP, TRUNCATE 등이 있다.
이 카드 학습하기 →DML은 테이블의 데이터를 조회·삽입·수정·삭제하는 언어로 SELECT, INSERT, UPDATE, DELETE가 대표적이다.
이 카드 학습하기 →DCL은 데이터베이스 사용자에게 접근 권한을 부여하거나 회수하는 제어 언어로 GRANT와 REVOKE가 대표적이다.
이 카드 학습하기 →트랜잭션 제어는 작업 결과를 확정하는 COMMIT과 마지막 확정 상태로 되돌리는 ROLLBACK 등을 통해 트랜잭션의 완료 여부를 관리한다.
이 카드 학습하기 →DROP은 데이터베이스 객체의 구조 자체를 제거하는 DDL이고, DELETE는 테이블 구조를 유지한 채 조건에 맞는 행을 삭제하는 DML이다.
이 카드 학습하기 →릴레이션은 관계형 데이터베이스에서 행과 열로 구성된 표 형태의 데이터 구조이며 일반적으로 테이블이라고 부른다.
이 카드 학습하기 →엔터티는 업무에서 독립적으로 식별하고 관리할 가치가 있는 사람, 사물, 장소, 사건, 개념 등의 개체다.
이 카드 학습하기 →속성은 엔터티의 특성을 나타내는 데이터 항목으로 관계형 테이블의 열(column)에 해당한다.
이 카드 학습하기 →튜플은 관계형 테이블의 한 행(row)에 해당하며 하나의 엔터티 인스턴스에 대한 속성값 집합이다.
이 카드 학습하기 →도메인은 하나의 속성이 가질 수 있는 데이터형, 범위, 형식 등 허용 값의 집합이다.
이 카드 학습하기 →차수(Degree)는 릴레이션을 구성하는 속성, 즉 열의 개수다.
이 카드 학습하기 →카디널리티(Cardinality)는 릴레이션에 저장된 튜플, 즉 행의 개수다.
이 카드 학습하기 →정규화는 함수적 종속 관계를 분석해 릴레이션을 적절히 분해함으로써 데이터 중복을 최소화하고 삽입·삭제·갱신 이상을 방지하는 과정이다.
이 카드 학습하기 →반정규화는 조회 성능과 처리 효율을 높이기 위해 정규화된 구조에 의도적으로 중복, 테이블 통합, 계산 값 등을 허용하는 설계 기법이다.
이 카드 학습하기 →데이터베이스 설계는 요구사항 분석 후 개념적 설계, 논리적 설계, 물리적 설계, 구현 순으로 진행한다.
이 카드 학습하기 →개념적 설계는 현실 세계의 요구를 DBMS와 독립적인 개념 모델로 표현하며 ER 다이어그램을 작성하는 단계다.
이 카드 학습하기 →논리적 설계는 개념 모델을 목표 데이터 모델의 논리 구조인 관계 스키마 등으로 변환하는 단계다.
이 카드 학습하기 →물리적 설계는 논리 스키마를 실제 저장 장치에 효율적으로 구현하기 위해 파일 조직, 인덱스, 접근 경로, 저장 구조를 결정하는 단계다.
이 카드 학습하기 →갱신 이상은 중복 저장된 동일 정보를 일부 튜플에서만 수정해 서로 다른 값이 남는 불일치 현상이다.
이 카드 학습하기 →삭제 이상은 특정 튜플을 삭제하면서 보존해야 할 다른 유용한 정보까지 함께 사라지는 현상이다.
이 카드 학습하기 →삽입 이상은 필요한 다른 속성값이 아직 없어 새 정보를 독립적으로 삽입하지 못하는 현상이다.
이 카드 학습하기 →뷰는 하나 이상의 기본 테이블에서 필요한 행과 열을 선택해 정의한 가상 테이블이다.
이 카드 학습하기 →개체 무결성은 기본키가 각 튜플을 유일하게 식별해야 하며 NULL 값을 가질 수 없다는 규칙이다.
이 카드 학습하기 →도메인 무결성은 속성에 입력되는 값이 정의된 데이터형, 범위, 형식 등 허용 도메인에 속해야 한다는 규칙이다.
이 카드 학습하기 →참조 무결성은 외래키 값이 참조 대상 테이블의 기본키 값과 일치하거나 허용된 경우 NULL이어야 한다는 규칙이다.
이 카드 학습하기 →ER 다이어그램은 개체를 사각형, 속성을 타원, 관계를 마름모로 표현한다.
이 카드 학습하기 →락킹 단위가 크면 제어는 단순하지만 동시에 접근할 수 있는 범위가 줄어 병행성이 낮아지고, 단위가 작으면 제어는 복잡하지만 병행성이 높아진다.
이 카드 학습하기 →시스템 카탈로그는 테이블, 열, 제약조건, 권한 등 데이터베이스 구조에 대한 메타데이터를 저장하며 DBMS가 자동으로 생성·갱신하는 데이터 사전이다.
이 카드 학습하기 →관계 대수는 관계형 데이터베이스에서 원하는 결과를 얻기 위한 연산 절차를 기술하는 절차적 질의 언어다.
이 카드 학습하기 →결합도는 서로 다른 모듈이 얼마나 강하게 의존하는지를 나타내며 낮을수록 변경 영향이 작고 좋은 설계다.
이 카드 학습하기 →자료 결합도는 모듈 사이에 필요한 단순 데이터 값만 매개변수로 전달하는 가장 낮고 바람직한 결합 형태다.
이 카드 학습하기 →스탬프 결합도는 배열, 레코드, 구조체, 객체처럼 복합 자료구조 전체를 모듈 사이에 전달하고 일부 필드만 사용하는 결합 형태다.
이 카드 학습하기 →제어 결합도는 한 모듈이 다른 모듈의 처리 흐름을 제어하는 플래그나 제어 정보를 전달하는 결합 형태다.
이 카드 학습하기 →외부 결합도는 여러 모듈이 외부 장치, 통신 프로토콜, 파일 형식처럼 외부에서 정한 데이터 형식이나 인터페이스를 함께 의존하는 결합이다.
이 카드 학습하기 →공통 결합도는 여러 모듈이 같은 전역 데이터 영역이나 전역 변수를 공유하는 결합 형태다.
이 카드 학습하기 →내용 결합도는 한 모듈이 다른 모듈의 내부 코드나 내부 데이터를 직접 참조·수정하는 가장 강하고 바람직하지 않은 결합 형태다.
이 카드 학습하기 →응집도는 하나의 모듈 내부 기능들이 하나의 목적을 위해 얼마나 밀접하게 관련되어 있는지를 나타내며 높을수록 좋은 설계다.
이 카드 학습하기 →기능적 응집도는 모듈의 모든 요소가 하나의 명확한 기능을 수행하기 위해 협력하는 가장 높은 응집 형태다.
이 카드 학습하기 →OSI 7계층은 물리, 데이터 링크, 네트워크, 전송, 세션, 표현, 응용 계층으로 네트워크 통신 기능을 계층화한 참조 모델이다.
이 카드 학습하기 →OSI 계층별 대표 PDU는 물리 계층의 비트, 데이터 링크 계층의 프레임, 네트워크 계층의 패킷, 전송 계층의 세그먼트다.
이 카드 학습하기 →ARP는 동일 네트워크에서 알고 있는 IPv4 주소에 대응하는 MAC 주소를 알아내는 프로토콜이다.
이 카드 학습하기 →RARP는 장치의 MAC 주소를 바탕으로 IP 주소를 알아내기 위해 사용되던 역주소 결정 프로토콜이다.
이 카드 학습하기 →Stop-and-Wait는 송신자가 프레임 하나를 전송한 뒤 확인 응답을 받을 때까지 다음 프레임 전송을 기다리는 흐름 제어 방식이다.
이 카드 학습하기 →Sliding Window는 확인 응답을 기다리는 동안에도 윈도우 범위 내 여러 프레임을 연속 전송해 전송 효율을 높이는 흐름 제어 방식이다.
이 카드 학습하기 →TCP는 연결 지향적이고 신뢰성 있는 전송을 제공하며 순서 제어, 오류 제어, 흐름 제어, 혼잡 제어를 수행한다.
이 카드 학습하기 →UDP는 연결 설정 없이 데이터그램을 전송하는 비연결형 프로토콜로 신뢰성 보장 기능은 적지만 헤더가 단순하고 빠르다.
이 카드 학습하기 →C·Java 등 일반적인 프로그래밍 언어의 식별자는 영문자, 숫자, 밑줄을 사용할 수 있고 공백과 대부분의 특수문자는 사용할 수 없다.
이 카드 학습하기 →식별자의 첫 글자는 일반적으로 영문자 또는 밑줄이어야 하며 숫자로 시작할 수 없다.
이 카드 학습하기 →C, Java, Python 등은 일반적으로 식별자의 대소문자를 구분하므로 name과 Name을 서로 다른 이름으로 처리한다.
이 카드 학습하기 →예약어는 언어 문법에서 특별한 의미로 미리 정해진 단어이므로 일반적인 변수명이나 함수명으로 사용할 수 없다.
이 카드 학습하기 →C와 Java에서는 일반적인 선언문·대입문·함수 호출문 등의 끝에 세미콜론(;)을 사용해 문장의 종료를 표시한다.
이 카드 학습하기 →C·Java·Python 코드 실행 결과와 빈칸 채우기 문제는 연산자 우선순위, 자료형, 반복·조건 흐름, 언어별 문법을 직접 추적해야 하는 반복 출제 영역이다.
이 카드 학습하기 →서브넷 마스크는 IP 주소에서 네트워크 부분과 호스트 부분을 구분하고 네트워크를 더 작은 서브넷으로 나누는 데 사용한다.
이 카드 학습하기 →IPv6는 128비트 주소를 사용하며 16비트씩 8개 그룹으로 나누어 16진수와 콜론(:)으로 표현한다.
이 카드 학습하기 →IPv6는 유니캐스트, 멀티캐스트, 애니캐스트를 지원하며 IPv4의 브로드캐스트는 사용하지 않는다.
이 카드 학습하기 →페이징은 프로세스의 논리 주소 공간을 고정 크기 페이지로, 물리 메모리를 같은 크기의 프레임으로 나누어 비연속적으로 배치하는 기법이다.
이 카드 학습하기 →내부 단편화는 고정 크기로 할당된 메모리 블록 내부에 프로세스가 사용하지 못한 공간이 남는 현상이다.
이 카드 학습하기 →세그멘테이션은 프로그램을 코드, 데이터, 스택처럼 의미 있는 논리 단위인 가변 크기 세그먼트로 나누어 메모리에 배치하는 기법이다.
이 카드 학습하기 →외부 단편화는 가변 크기 메모리 영역의 할당과 해제가 반복되어 빈 공간이 여러 곳에 흩어지고, 총 여유 공간은 충분해도 큰 연속 공간을 할당하지 못하는 현상이다.
이 카드 학습하기 →소프트웨어 생명주기 모델은 요구 분석부터 설계, 구현, 테스트, 운영·유지보수까지 개발 활동의 순서와 관계를 체계화한 모델이다.
이 카드 학습하기 →DoS 공격은 대량의 요청이나 자원 고갈을 유발해 정상 사용자가 시스템 서비스를 이용하지 못하게 만드는 가용성 공격이다.
이 카드 학습하기 →시큐어 코딩은 소프트웨어 개발 단계에서 입력 검증, 인증·권한, 오류 처리, 암호화, 자원 관리 등의 보안 약점을 예방하도록 코드를 작성하는 활동이다.
이 카드 학습하기 →테일러링은 조직 표준 프로세스나 개발 방법론을 프로젝트의 규모, 특성, 위험, 규제, 기술 환경에 맞게 선택·조정하는 활동이다.
이 카드 학습하기 →암호화는 평문을 권한 없는 사용자가 이해하기 어려운 암호문으로 변환해 기밀성을 보호하는 기술이다.
이 카드 학습하기 →취약점 관리는 자산의 보안 약점을 식별·평가하고 위험도에 따라 패치, 설정 변경, 완화 조치, 재검증을 수행하는 지속적 활동이다.
이 카드 학습하기 →리눅스 파일과 디렉터리 권한은 소유자(user), 소유 그룹(group), 기타 사용자(others)의 세 범주로 나누어 지정한다.
이 카드 학습하기 →리눅스 권한은 읽기 r=4, 쓰기 w=2, 실행 x=1로 표현하고 허용된 값을 더해 한 자리 8진수로 나타낸다.
이 카드 학습하기 →세 자리 권한 숫자는 앞에서부터 소유자, 그룹, 기타 사용자의 권한을 각각 나타낸다.
이 카드 학습하기 →새 일반 파일의 기본 최대 권한은 보통 666(rw-rw-rw-), 새 디렉터리의 기본 최대 권한은 777(rwxrwxrwx)이다.
이 카드 학습하기 →umask는 새 파일이나 디렉터리를 만들 때 기본 최대 권한에서 제거할 권한 비트를 지정하는 제한 마스크다.
이 카드 학습하기 →일반 파일의 기본 최대 권한 666에 umask 022를 적용하면 그룹과 기타 사용자의 쓰기 권한이 제거되어 최종 권한은 644가 된다.
이 카드 학습하기 →wtmp는 성공한 로그인·로그아웃과 시스템 부팅·종료 같은 과거 세션 이력을 기록하는 로그 파일이다.
이 카드 학습하기 →btmp는 실패한 로그인 시도 정보를 기록하는 로그 파일이다.
이 카드 학습하기 →utmp는 현재 로그인 중인 사용자와 세션 상태 정보를 기록하는 파일이다.
이 카드 학습하기 →시험에서 어려운 문제를 만나면 한 문제에 오래 매달리지 말고 표시한 뒤 쉬운 문제를 먼저 풀고 마지막에 돌아오는 것이 효율적이다.
이 카드 학습하기 →정보처리기사 필기는 각 과목의 과락을 피하면서 전체 평균 60점 이상을 확보하는 점수 전략이 중요하다.
이 카드 학습하기 →시험에서는 연습한 절차대로 문제를 풀고 한 문제의 난도에 당황하지 않도록 긴장을 관리하는 것이 중요하다.
이 카드 학습하기 →