[2020년 2회 영상]
01. 일정한 주기를 가지고 계속 검토해 나가며 필요할 때마다 요구사항을 더하고 수정하여
커다랗게 살을 붙이면서 개발하는 프로세스 모델 방식이다. 미리 정해진 몇 개의 단계에
따라 엄격한 순서대로 이루어지는 일직선의 과정인 폭포수 프로세스와는 비교가 많이 되는
반대의 개념이다. 이 소프트웨어 개발 방법론을 쓰시오.
→ 애자일 || 애자일 방법론
※ 생명주기 모형의 종류
• 폭포수 모형(Waterfall Model) : 선형 순차 모델
- 계획 → 요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수
• 프로토타입 모형(Prototype Model)
- 실제 개발될 시스템의 견본(Prototype)을 미리 만들어 최종 결과물을 예측하는 모형
• 나선형 모형(Spiral Model)
- 계획 수립 → 위험분석 → 공학적 개발 → 고객 평가 ★★(순서 외울 것)
• 애자일(Agile) 방법론
- XP(eXtremeProgramming)
‣ 의사소통, 단순성, 피드백, 용기, 존중 ★★
‣ 고객과 함께 2주 정도의 반복 개발을 하고, 테스트와 우선 개발이 특징
- SCRUM
‣ 프로젝트를 30일 마다 동작 가능한 제품을 제공하는 스프린트로 분리
‣ 매일 15분 정도 회의 진행
- 특징 주도 개발(FDD)
‣ 2주 정도의 반복 개발 실시
- 크리스털(Crystal)
02. 다음은 데이터베이스 설계의 순서이다. 빈 칸에 해당하는 설계 순서를 쓰시오.
| 요구사항 분석 → ( ) → ( ) → ( ) → 구현 |
→ 개념적 설계, 논리적 설계, 물리적 설계
03. 다음 빈 칸에 알맞은 용어를 쓰시오.
| 일반적으로 널리 알려진 HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜이다. ( )은 웹 서비스에서 기본적인 메시지를 전달하는 기반이 되는데, ( )에는 몇 가지 형태의 메시지 패턴이 있지만, 보통의 경우 원격 프로시저 호출(Remote Procedure Call : RPC) 패턴으로, 네트워크 노드(클라이언트)에서 다른 쪽 노드(서버)로 메시지를 요청하고, 서버는 메시지를 즉시 응답하게 되는 형식이다. 즉 ( )는 XML을 이용해서 분산처리 환경에서 정보 교환을 쉽게 할 수 있도록 도와준다. |
→ SOAP
※ 웹 서비스 3요소
1. UDDI (Universal Description, Discovery and Integration)
• 웹 서비스를 등록하고 검색할 수 있는 디렉토리 서비스
‣ 어떤 서비스가 어디에 있는지 찾는 역할
• 키워드 : 서비스 등록 / 검색
2. WSDL (Web Services Description Language)
• 웹 서비스의 구조와 사용 방법을 XML로 정의한 문서
‣ 어떤 기능 제공하는지
‣ 요청/응답 형식
‣ 접근 주소(URL)
• 키워드 : 서비스 설명
3. SOAP (Simple Object Access Protocol)
• XML 기반의 메시지 교환 프로토콜(실제로 데이터를 주고받는 통신 방식)
‣ HTTP 기반 전송
‣ XML 사용
• 키워드 : 서비스 통신
▶ 전체 관계 : UDDI(검색) → WSDL(설명) → SOAP(통신) ★★★★★(순서 외워)
04. 다음 빈 칸 안에 공통으로 들어갈 가장 적합한 용어를 쓰시오.
| • ( )는 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것으로, ( )는 일반적인 단순 버전관리 기반의 소프트웨어 운용을 좀 더 포괄적인 학술 분야의 형태로 넓히는 근간을 이야기한다. • ( )란 소프트웨어 소스 코드 뿐 아니라 개발 환경, 빌드 구조 등 전반적인 내역에 대한 관리 체계를 정의하고 있다. • 이를 지원하는 도구로 Git, SVN, CVS 등이 있다. |
→ 형상관리, Software Configuration Management
※ 형상관리 절차
• 형상 식별 → 형상 통제 → 형상 감사 → 형상 기록 ★★★
※ 버전 관리 도구 분류
• 공유 폴더 방식
‣ SCCS, RCS, PVCS
• 클라이언트/서버 방식
‣ CVS, SVN, Clear Case
• 분산 저장소 방식
‣ Git, GNU arch, Bazaar, Bitkeeper
05. 웹 페이지 전체를 다시 로딩하지 않고도, 웹 페이지의 일부분만을 갱신할 수 있는
비동기 방식 처리 기술의 약어를 쓰시오.
→ AJAX
★★★★★
06. 다음은 UI의 설계 원칙 4가지이다. 빈 칸에 알맞은 용어를 쓰시오.
| 설계 원칙 | 설명 |
| 직관성 | 누구나 쉽게 이해하고 사용할 수 있어야 한다. |
| ( ) | 사용자의 목적을 정확하게 달성하여야 한다. |
| 학습성 | 누구나 쉽게 배우고 익힐 수 있어야 한다. |
| 유연성 | 사용자의 요구사항을 최대한 수용하며, 오류를 최소화하여야 한다. |
→ 유효성
※ UI 설계 원칙
• 직관성
‣ 화면의 버튼, 항목, 입력란 등 누구나 쉽게 이해하고 사용할 수 있도록 함
• 유효성
‣ 사용자의 목적을 정확히 달성할 수 있도록 유용하고 효과적이어야 함
• 학습성
‣ 사용자가 쉽게 배우고 익힐 수 있어야 함
• 유연성
‣ 사용자의 요구를 최대한 수용하면서 오류를 최소화해야 함
07. 프로그램을 실행 시키지 않고, 소스코드에 대한 코딩 표준, 코딩 스타일, 복잡도, 보안 취약점,
잠재적인 결함을 찾는 테스트 활동이 무엇인지 쓰시오.
→ 정적 분석 || 정적 테스트
※ 애플리케이션 테스트 유형 분류
• 프로그램 실행 여부
‣ 정적 테스트 : 프로그램을 실행하지 않고 코드/문서 등을 검토
‣ 동적 테스트 : 프로그램을 실행하면서 동작을 확인
• 테스트 기법
‣ 화이트박스 테스트 : 코드 내부 로직을 기준으로 테스트
‣ 블랙박스 테스트 : 입력과 출력만 보고 기능을 테스트
• 테스트에 대한 시각
‣ 검증 테스트 : 개발 산출물이 명세대로 만들어졌는지 확인(개발자가 검증)
‣ 확인 테스트 : 결과물이 사용자 요구를 충족하는지 확인(사용자가 검증)
• 테스트 목적
‣ 회복 테스트 (Recovery Test)
- (일부러)장애 발생 후 시스템이 정상 상태로 복구되는지 테스트 → 장애 대응 능력
‣ 안전 테스트 (Security Test)
- 시스템이 외부 공격으로부터 안전한지 테스트(보안) → 인증, 권한, 취약점
‣ 강도 테스트 (Stress Test) ★
- 시스템에 과도한 부하를 줘서 한계 상황 테스트 → 최대 처리 한계
‣ 성능 테스트 (Performance Test)
- 응답시간, 처리량 등 성능 지표를 측정하는 테스트 → 속도, 처리량
‣ 구조 테스트 (Structure Test)
- 시스템의 내부 구조 및 로직을 기반으로 테스트 → 화이트박스 테스트와 유사
‣ 회귀 테스트 (Regression Test)
- 변경 후 기존 기능이 정상 동작하는지 재검증(수정 후, 다시 돌려봤을 때 오류가 없는지 여부 확인)
→ 수정 영향 확인
‣ 병행 테스트 (Parallel Test)
- 기존 시스템과 신규 시스템을 동시에 실행하여 결과 비교 → 시스템 전환 검증
• 테스트 기반
‣ 명세 기반 테스트 (Specification-based Test) - 시간 ↑
- 요구사항 명세서(SRS)를 기준으로 기능이 맞는지 테스트
→ 사용자 요구 중심/블랙박스 테스트와 연결
‣ 구조 기반 테스트 (Structure-based Test) - 시간 ↑
- 코드 내부 구조(로직, 경로)를 기준으로 테스트
→ 개발자 관점/화이트박스 테스트와 연결
‣ 경험 기반 테스트 (Experience-based Test) - QA
- 테스터의 경험과 직관을 기반으로 테스트 수행
→ 명세서 없이도 가능/오류 추정(Error Guessing) 포함
★★★
※ 블랙박스 테스트 종류
1. 동등 분할 테스트 (Equivalence Partitioning)
• 입력 데이터를 유효/무효 그룹으로 나누고 대표값만 테스트 → 테스트 케이스 수 감소
2. 경계값 분석 (Boundary Value Analysis)
• 오류가 많이 발생하는 최솟값, 최댓값 근처를 집중 테스트
3. 결정 테이블 테스트 (Decision Table)
• 여러 조건과 결과를 표 형태로 만들어 모든 경우 검증 → 복잡한 조건 처리에 적합
4. 상태 전이 테스트 (State Transition)
• 시스템의 상태 변화 흐름을 기반으로 테스트 → 상태 변화와 이벤트 중심
5. 원인-결과 그래프 (Cause-Effect Graph)
• 입력 조건과 결과 간 관계를 논리 그래프로 표현 후 테스트 → 논리 조합 검증
08. 아래 보기의 <학생> 테이블을 대상으로 <요구사항>을 적용하여 출력하는 SQL문을 작성하시오.
| <요구사항> 1. 3학년이거나 4학년 학생의 학번과 이름을 검색하시오. 2. 단, 조건절 작성 시 in 예약어를 사용하여 작성하시오. |
<학생> 테이블
| 학번 | 이름 | 학년 |
| 181101 | KKK | 1 |
| 171201 | HHH | 2 |
| 161107 | YYY | 3 |
| 151403 | QQQ | 4 |
→ SELECT 학번, 이름 FROM 학생
WHERE 학년 IN ( 3, 4 );
★★★
09. 다음 주어진 <student> 테이블의 name 속성을 오름차순하여 idx_name를 인덱스명으로
하는 인덱스를 생성하는 SQL 명령문을 작성하시오.
→ CREATE INDEX idx_name
ON student (name ASC);
10. 보안의 취약점 중 하나인 SQL Injection(SQL 인젝션)에 대해 간략히 서술하시오.
→ 웹 프로그램에 SQL 구문을 삽입하여, 서버의 데이터베이스를 공격할 수 있는 공격방식
'자격증 공부 > 정보처리기사 실기' 카테고리의 다른 글
| [흥달쌤] 기출해설특강) EAI 구축 유형, UI의 설계 원칙, 코드 커버리지, 관계대수 연산자 (0) | 2026.04.25 |
|---|---|
| [흥달쌤] 기출해설특강) IPSec, 리눅스 파일 보안, 시멘틱 웹, REST (0) | 2026.04.25 |
| [흥달쌤] 기출해설특강) 통신 프로토콜, 프로세스 스케줄링, 트랜잭션, OSI 참조 모델, 암호화 알고리즘 (0) | 2026.04.19 |
| [흥달쌤] 기출해설특강) 보안의 3요소, 서비스 공격 유형의 종류 (DoS, DDoS 등) (0) | 2026.04.19 |
| [흥달쌤] 기출해설특강) 반정규화, 결합도, 응집도 (0) | 2026.04.16 |