정처기

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..
자료구조의 정의 자료구조란 기억장치 공간 내에 저장하는 방법 그룹 내에 존재하는 자료 간의 관계 처리 방법 프로그램 작성시 가장 우선적 고려사항 저장 공간의 효율성 실행시간의 신속성 자료 구조 분류 선형 구조 배열 선형 리스트 연속 리스트(Contiguous List) 연결 리스트(Linked List) 스택 큐 데크 비선형 구조 트리 그래프 배열 동일한 자료형의 데이터들 같은 크기로 나열되어 순서를 가지고 있는 집합 정적인 자료 → 추가가 어렵다 삭제된 데이터의 기억장소가 null로 남아 메모리 낭비 발생 첨자를 이용해 데이터 접근 반복적인 데이터 처리 작업에 적합 데이터마다 동일한 이름의 변수를 사용하여 처리가 간편 사용한 첨자의 개수에 따라 n차원 배열이라고 부름 크기가 n인 1차원 배열a[0] a..
삼공비
'정처기' 태그의 글 목록