반응형

소프트웨어 개발 7

정보처리기사 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 예약어를 사용해 처리 결과를 단일값으로 변환) 테스트와 디버깅 테스트 전 구..

정보처리기사 2과목 소프트웨어 개발 (선형 구조(Linear Structure) / 비선형 구조 (Non-Linear Structure))

자료 구조의 분류 선형 구조 (Linear Structure) 배열 (Array) - 정적인 자료 구조로 기억장소의 추가가 어렵고 메모리 낭비 발생 - 첨자를 이용 - 반복적인 데이터 처리 작업에 적합한 구조 - 데이터마다 동일한 이름의 변수를 사용해 처리가 간편 스택 (Stack) - 리스트의 한쪽 끝으로만 자료의 삽입, 삭제 작업이 이뤄지는 자료 구조 - LIFO (Last In First Out) / FILO (First In Last Out) 순서 완전히 꽉 찼을 때 Overflow 상태 완전히 비어 있으면 Underflow 상태 삽입(Push)과 제거(Pop) 모두 Top라는 스택의 한쪽 끝에서만 발생 LIFO : 마지막으로 들어온 값이 처음으로 나가는 것 FILO : 처음 들어온 값이 마지막에..

반응형