SW 35

개발 방법론

개발 방법론 - 소프트웨어를 생산하는 데 필요한 프로그램 개발 과정들을 정리하고 표준화하여, 개발 과정에서의 일관성을 유지하고 효과적인 협업이 이루어질 수 있도록 돕기 위한 방법론 1. 폭포수 방식(Waterfall) - 순차적인 소프트웨어 개발 프로세스로(소프트웨어를 만들기 위한 프로세스)로, 개발의 흐름이 마치 폭포수처럼 지속적으로 아래로 향하는 것처럼 보이는 데서 이름이 붙여짐 - 폭포수 모델의 흐름은 소프트웨어 요구 사항 분석 단계에서 시작하여, 소프트웨어 설계, 소프트웨어 구현, 소프트웨어 시험, 소프트웨어 통합 단계 등을 거쳐, 소프트웨어 유지보수 단계에까지 이름 2. 프로토타이핑(Prototyping) - 프로토타입 반복 횟수 허용 제한 있음 (대부분 기업) - 최종 프로토타입 개발 시 변..

이론 공부 2023.03.14

[정보처리기사 필기] SW 개발 : 인터페이스 구현 검증

정보처리기사 필기 2과목 - 소프트웨어 개발 : 인터페이스 구현 검증 [1] 인터페이스 구현 / 감시 1. 인터페이스 구현 검증 - 구현된 인터페이스의 동작을 검증하기 위해 인터페이스 구현 및 감시 도구를 통해서 동작 상태를 검증 및 감시할 수 있음 1) 인터페이스 구현 검증 도구 ⭐ - 인터페이스 구현을 검증하기 위해서는 인터페이스 단위 기능 및 시나리오에 기반한 통합 테스트가 필요 - 테스트 자동화 도구를 이용하여 단위 및 통합 테스트의 효율성 높일 수 있음 도구 설명 xUnit Java(Junit), C++(Cppunit), .Net(Nunit) 등 다양한 언어를 지원하는 단위 테스트 프레임 워크 STAF ⭐ 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크 FitNesse..

[정보처리기사 필기] SW 개발 : 인터페이스 구현

정보처리기사 필기 2과목 - 소프트웨어 개발 : 인터페이스 구현 [1] 인터페이스 구현 - 여러가지 방법으로 인터페이스는 구현될 수 있지만, 대표적인 방법으로는 데이터 통신을 이용한 인터페이스 구현 방법과 인터페이스 테이블을 이용한 인터페이스 구현 방법으로 나눌 수 있음 1. 데이터 통신을 통한 인터페이스 구현 ⭐⭐ - 애플리케이션 영역에서 인터페이스 형식에 맞춘 데이터 포맷을 인터페이스 대상으로 전송하고 이를 수신측에서 파싱(Parsing)하여 해석하는 방식 * 파싱? 원시 부호를 기계어로 번역하는 과정의 한 단계 - JSON 및 XML 형식의 데이터 포맷을 사용하여 인터페이스를 구현 1) JSON (JavaScript Object Notation) - 속성-값 쌍(Attribute-Value Pair..

[정보처리기사 필기] SW 개발 : 인터페이스 설계

정보처리기사 필기 2과목 - 소프트웨어 개발 : 인터페이스 설계 [1] 인터페이스 설계서 - 서로 다른 기종 시스템 또는 컴포넌트 간 데이터 교환 및 처리를 위한 목적으로 각 시스템의 교환 데이터 및 업무, 송수신 주체 등이 정의되어 있음 [2] 내부, 외부 모듈 간 공통 기능 및 데이터 인터페이스 확인 순서 1. 인터페이스 설계서의 외부 및 내부 모듈의 기능을 확인 - 인터페이스와 통신하는 외부 및 내부 모듈의 기능을 인터페이스 설계서를 통하여 확인하여 향후 인터페이스 개발에 필요한 공통 영역 도출 가능 2. 인터페이스 설계서의 외부 및 내부 모듈을 기반으로 공통적으로 제공되는 기능과 각 데이터의 인터페이스를 확인 - 식별된 외부 및 내부 모듈의 기능을 분석하여 공통적으로 제공되는 기능을 확인하고 이를..

[정보처리기사 필기] SW 개발 : 애플리케이션 성능

정보처리기사 필기 2과목 - 소프트웨어 개발 : 애플리케이션 성능 [1] 애플리케이션 성능 분석 - 애플리케이션 성능 : 사용자의 요구 기능을 해당 애플리케이션이 최소의 자원을 사용하면서 얼마나 빨리, 많은 기능을 수행하는가를 육안 또는 도구를 통하여 점검하는 것 1. 애플리케이션 성능 측정 지표 ⭐⭐ 처리량 (Throughput) - 애플리케이션이 주어진 시간에 처리할 수 있는 트랜잭션의 수 (= 일정 시간 내 애플리케이션이 처리하는 일의 양) - 웹 애플리케이션의 경우 시간당 페이지 수로 표현하기도 함 응답 시간 (Response Time) - 사용자 입력이 끝난 후 애플리케이션의 응답 출력이 개시될 때까지의 시간 (= 애플리케이션에 요청을 전달한 시간부터 응답이 도착할 때까지 걸린 시간) - 웹 애..

[정보처리기사 필기] SW 개발 : 결함 관리

정보처리기사 필기 2과목 - 소프트웨어 개발 : 결함 관리 [1] 소프트웨어 결함 - 에러, 결함, 결점, 버그, 실패와 같은 용어 사용 - 이러한 결함으로 인해 장애가 발생되지 않도록 예방하는 관리가 필요 [2] 테스트 결함 관리 - 각 단계별 테스트 수행 후 발생한 결함의 재발을 방지하고, 유사 결함 발견 시 처리 시간 단축을 위해 결함을 추적하고 관리하는 활동 1. 결함 관리 프로세스 에러 발견 ▶ 에러 등록 ▶ 에러 분석 ▶ 결함 확정 ▶ 결함 할당 ▶ 결함 조치 ▶ 결함 검토 및 승인 [3] 결함 추이 분석 - 테스트 완료 후 발견된 결함의 결함 관리 측정 지표의 속성값들을 분석하고, 향후 애플리케이션의 어떤 모듈 또는 컴포넌트에서 결함이 발생할지를 추정하는 작업 1. 결함 관리 측정 지표 (=..

[정보처리기사 필기] SW 개발 : 테스트 레벨

정보처리기사 필기 2과목 - 소프트웨어 개발 : 테스트 레벨 [1] 테스트 레벨 - 애플리케이션 테스트는 개발 단계에 따라 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트, 설치 테스트로 분류하며 이런 단계를 테스트 레벨이라고 함 1. 단위 테스트 (Unit Test) - 소프트웨어 설계의 최소 단위인 모듈이나 컴포넌트를 테스트 - 사용자의 요구사항을 기반으로 한 기능성 테스트를 최우선으로 수행 - 인터페이스 테스트, 자료 구조 테스트, 수행 경로 테스트, 오류 처리 테스트, 경계 테스트 - 명세 기반 테스트, 구조 기반 테스트 중 주로 구조 기반 테스트를 시행 * 명세 기반 테스트 / 구조 기반 테스트 - 명세 기반 테스트 : 주어진 명세를 빠짐없이 테스트 케이스로 구현하고 있는지 확인하는 테..

[정보처리기사 필기] SW 개발 : 테스트 케이스 / 테스트 시나리오 / 테스트 오라클 / 테스트 하네스

정보처리기사 필기 2과목 - 소프트웨어 개발 : 테스트 케이스 / 테스트 오라클 [1] 테스트 케이스 1. 정의 - 명세 기반 테스트의 설계 산출물 - 특정한 프로그램의 일부분 또는 경로에 따라 수행하거나, 특정한 요구사항을 준수하는지 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과로 구성된 테스트 항목의 명세서 - 미리 설계시 테스트 오류 방지 및 테스트 수행 자원의 낭비를 줄일 수 있음 2. 작성 순서 테스트 계획 검토 및 자료 확보 ▶ 위험 평가 및 우선순위 결정 ▶ 테스트 요구사항 정의 ▶ 테스트 구조 설계 및 테스트 방법 결정 ▶ 테스트 케이스 정의 ▶ 테스트 케이스 타당성 확인 및 유지 보수 [2] 테스트 시나리오 1. 정의 - 테스트 케이스를 적용하는 순서에 따라 여러 개의 테스트 케..

[정보처리기사 필기] SW 개발 : 애플리케이션 테스트의 유형

정보처리기사 필기 2과목 - 소프트웨어 개발 : 애플리케이션 테스트의 유형 (= 소프트웨어 테스트의 유형) [1] 시각에 따른 테스트 1. 검증(Verification) - 제품의 생산 과정을 테스트 ▶올바른 제품을 생산하고 있는지를 검증하는 것 - 단위 테스트, 통합 테스트, 시스템 테스트 2. 확인(Validation) - 생산된 제품의 결과를 테스트 ▶ 생산된 제품이 정상적으로 동작하는지 확인하는 것을 의미 - 인수 테스트(알파 테스트, 베타 테스트) ⭐ [2] 프로그램 실행 여부에 따른 테스트 1. 정적 테스트 - 프로그램 실행 없이 명세서나 소스코드의 구조를 분석하여 논리적으로 검증하는 테스트 - 인스펙션, 코드 검사, 워크스루 등 2. 동적 테스트 - 프로그램의 실행을 요구하는 테스트 - 화이..

[정보처리기사 필기] SW 개발 : 애플리케이션 테스트

정보처리기사 필기 2과목 - 소프트웨어 개발 : 애플리케이션 테스트 (= 소프트웨어 테스트) [1] 애플리케이션 테스트의 개념 - 애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위 또는 절차 - 개발된 소프트웨어가 고객의 요구사항을 만족시키는지 확인(Validation) - 소프트웨어가 기능을 정확히 수행하는지 검증(Verification) [2] 애플리케이 테스트의 필요성 1. 오류 발견 관점 - 프로그램에 잠재된 오류를 발견하고 이를 수정하여 올바른 프로그램을 개발하는 활동 2. 오류 예방 관점 - 프로그램 실행 전에 코드 리뷰, 동료 검토, 인스펙션 등을 통해 오류를 사전에 발견하는 예방 차원의 활동 3. 품질 향상 관점 - 사용자의 요구사항 및 기대 수준을 만족하도록 반복적인 테스트를 거쳐..