필기

1. 복잡도 개요 - 시스템이나 시스템 구성 요소 또는 소프트웨어의 복잡한 정도를 나타낸다 - 시스템 / 소프트웨어를 어느 정도의 수준까지 테스트해야 하는지 또는 개발하는데 어느 정도의 자원이 소요되는 예측하는데 사용 - 복잡도가 높으면 장애 발생 확률이 높아짐 - 측정 방법 : LOC(Line Of Code), 순환 복잡도(Cyclomatic Complexity) 등 -> 소프트웨어의 개별적인 기능에 대해 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용해 비용 산정 2. 시간 복잡도 - 알고리즘의 실행 시간 - 실행시간은 하드웨어 성능이나 언어에 따라 달라지기 때문에 시간이 아닌 명령어 실행 횟수를 표기한다. 이를 점근 표기법이라 한다 - 점근 표기법의 종류 빅오 표..
1. 애플리케이션 테스트 개념 - 잠재되어 있는 결함을 찾아내는 행위, 절차 - 개발된 소프트웨어가 요구사항을 만족하는지 확인(Validation)하고 기능을 정확히 수행하는지 검증(Verification)한다 - 테스트 전에 소프트웨어 유형을 분류하고 특성을 정리해서 테스트 사항 정리 소프트웨어 분류 1. 상용 소프트웨어 : 보통의 사용자들이 공통적으로 필요로 하는 기능을 제공한다. 1-1 산업 범용 소프트웨어 - 시스템 소프트웨어 : 하드웨어 전체를 제어하고 운영하는 소프트웨어로, 운영체제, 데이터 관리, 스토리지 소프트웨어, 소프트웨어 공학 도구, 가상화 소프트웨어, 시스템 보안 소프트웨어로 구분 - 미들웨어 : 운영체제와 해당 운영체제에 의해 실행되는 응용 프로그램 사이에서 운영체제가 제공하는 서..
1. 단위 모듈 테스트 개요 - 모듈이 정해진 기능을 정확히 수행하는지 검증하는 것 - 단위 테스트(Unit Test)라고도 하며, 화이트박스 테스트와 블랙박스 테스트 기법을 사용 화이트박스 - 소스 코드를 오픈시킨 상태에서 소스 코드의 모든 논리적인 경로를 테스트 블랙박스 - 소프트웨어가 수행할 특정 기능이 완전히 작동되는 것을 입증하는 테스트 - 테스트를 위해서는 모듈을 단독적으로 실행할 수 있는 환경과 테스트에 필요한 데이터가 준비되어야한다 - 시스템 수준의 오류는 잡아낼 수 없다 2. 테스트 케이스 - 테스트 항목에 명세서로, 명세 기반 테스트의 설계 산출물에 해당 명세 기반 테스트 - 사용자의 요구사항에 대한 명세를 빠짐없이 테스트 케이스로 구현하고 있는지 확인하는 것 - 테스트 전, 테스트에 ..
1. 절차형 SQL의 개요 - 절차형 SQL은 프로그래밍 언어와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 sql을 의미 - 일반적인 프로그래밍 언어에 비해 효율은 떨어진다 - 하지만 단일 sql 문장으로 처리하기 어려운 연속적인 작업들에는 적합 - 절차형 sql을 활용하여 다양한 기능을 수행하는 저장 모듈 생성 가능 - DBMS 엔진에서 직접 실행되기 때문에 입출력 패킷이 적은 편 - begin ~ end 형식으로 작성되는 블록 구조로 기능별 모듈화가 가능 - 3가지 종류 1. 프로시저 : 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 sql 작업을 수행 2. 트리거 : 데이터베이스 시스템에서 데이터의 입력, 갱신, 삭제 등의 이벤트가 발생할 때마다 ..
1. 데이터 입출력 개요 - 소프트웨어 기능 구현을 위해 데이터를 입력하거나 출력하는 작업을 의미 - 단순 입출력뿐만 아니라 데이터를 조작하는 모든 행위를 의미 - SQL를 사용한다 - 개발 코드 내에 SQL코드를 삽입하거나, 객체와 데이터를 연결하는 것을 데이터 접속이라고 한다 - SQL을 통한 조작을 수행할 때 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 수행되어야 할 일련의 연산들을 트랜잭션이라 한다 2. SQL(Structured Query Language) - 1974년 IBM 연구소에서 개발한 SQUEL에서 유래한다 - 국제 표준 데이터베이스 언어 - 관계대수와 관계해석을 기초로 한 혼합 데이터 언어 관계대수 : 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서..
1. 데이터 저장소 - 소프트웨어 개발 과정에서 다루어야 할 데이터들을 논리적인 구조로 조직화하거나, 물리적인 공간에 구축한 것을 의미한다 - 논리 데이터저장소 -> 데이터 및 데이터 간의 연관성, 제약조건을 식별하여 논리적인 구조로 조직화한 것 - 물리 데이터저장소 -> 논리 데이터저장소에 저장된 데이터와 구조들을 저장장치에 저장한것 -> 소프트웨어가 운용될 환경의 물리적 특성을 고려한다 - 논리 데이터저장소를 거쳐 물리 데이터저장소를 구축하는 과정 = 데이터베이스를 구축하는 과정 2. 데이터베이스 - 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임으로 다음과 같이 정의할 수 있다 - 통합된 데이터(Integrated Data) : 중복 자료를 배제한 데이터 모임 - 저장된 데이터(..
1. 삽입 정렬(Insertion Sort) - 가장 간단한 정렬 방식 - 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬한다. - 두 번째 키와 첫 번째 키를 비교해 순서대로 나열(1회전)하고, 이어서 세 번째 키를 첫 번째, 두 번째 키와 비교해서 순서대로 나열(2회전)하고, n번째 키를 n-1개의 키와 비교하여 알맞은 순서에 삽입하는 방식이다. - 평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다. 예제 -> 8,5,6,2,4를 삽입 정렬 -> 비교 대상 1회전 : 8 5 6 2 4 -> 5 8 6 2 4 두 번째 값(5)을 첫 번째 값(8)과 비교하여 8보다 작은 5를 첫 번째 자리에 삽입하고 8을 한 칸 뒤로 이동시킨다. 2회전 : 5 8 6 2 4 -> 5 6 8 2..
삼공비
'필기' 태그의 글 목록