본문 바로가기

TIL : 컴퓨터 지식13

화이트박스 테스트의 검증 기준 (커버리지) 화이트박스 테스트 (White Box Test)화이트박스 테스트는 모듈의 코드를 열어서 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법이다. 이와 반대로 블랙박스 테스트는 코드를 보지 않고 프로그램의 구조와 상관 없이 각 기능들이 작동하는지만 확인하는 테스트이다.  화이트박스 테스트 종류1. 기초 경로 검사2. 제어 구조 검사 - 조건 검사 - 루프 검사 - 데이터 흐름 검사  화이트박스 테스트 검증 기준 (커버리지)문장(구문) 검증 기준코드의 모든 문장이 최소 한번은 수행되도록 구성하는 검증 기준분기(결정) 검증 기준코드의 조건식(전체)이 참/거짓인 경우가 한 번 이상 수행되도록 구성조건 검증 기준전체 조건식과 상관없이 개별 조건이 참/거짓인 경우가 한.. 2024. 4. 24.
디자인 패턴 디자인 패턴디자인 패턴은 각 모듈의 세분화된 역할이나 모듈들 간 인터페이스와 같은 코드를 작성하는 수준의 세부적인 구현 방안을 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제이다.GoF유형에 따라 생성 패턴(5), 구조 패턴(7), 행위 패턴(11)으로 구분된다. 생성 패턴객체의 생성과 참조 과정을 캡슐화하여 객체가 생성되거나 변경되어도 프로그램의 구조에 영향을 크게 받지 않도록 한다.추상 팩토리Abstract Factory- 구체적인 클래스에 의존하지 않고 인터페이스를 통해 서로 연관, 의존하는 객체들의 그룹으로 생성하여 추상적으로 표현함- 연관 서브 클래스를 묶어 한꺼번에 교체 가능함빌더Builder- 작게 분리된 인스턴스를 건축하듯 조합하여 객체를 생성함- 객체의 .. 2024. 4. 18.
관계대수, 관계해석 관계대수 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해 어떻게 유도하는가를 기술하는 절차적인 언어 구분 기호 이름 설명 순수관계 연산자 σ 셀렉션 selection 릴레이션에서 주어진 조건을 만족하는 튜플을 결과로 나타내는 연산 π 프로젝션 projection 릴레이션에서 주어진 속성들의 값을 추출하여 새 릴레이션을 만드는 연산 ⋈ 조인 join 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산 ÷ 디비전 division 릴레이션 A, B가 있을 때 릴레이션 B의 조건에 맞는 것들만 릴레이션 A에서 분리하여 프로젝션을 하는 연산 일반집합 연산자 ∪ 합집합 union 두 릴레이션의 합집합 (중복 튜플은 제거) ∩ 교집합 intersect 두 릴레이션의 교.. 2024. 4. 16.
네트워크 네트워크(Network)란? 컴퓨터 네트워크는 노드들이 자원을 공유할 수 있도록 하는 디지털 전기통신망이다. 즉, 분산된 컴퓨터를 통신망으로 연결한 것이다. 컴퓨터 네트워크에서 컴퓨팅 장치들은 노드 간 연결을 사용하여 서로 데이터를 교환한다. IP 주소 (IP address) 네트워크에서 컴퓨터를 식별하는 번호 번호로 표현되는 인터넷 주소 네트워크 어댑터(랜 카드)마다 할당돼 있음 명령 프롬프트에서 IPv4 주소 (000.000.000.000 형태) 확인 가능 포트 (Port) 같은 컴퓨터 내에서 프로그램을 식별하는 번호 클라이언트는 서버 연결 요청 시 IP주소와 포트를 같이 제공한다 0~65535 범위의 값 (2byte) 도메인 (Domain) 호스트(컴퓨팅 기능이 있는 시스템)의 이름으로 만든, 문자.. 2024. 3. 6.
SOLID 원칙 SOLID 원칙이란? 객체 지향 설계를 할 때, 시스템 변경이나 확장에 유연하게 설계하기 위해 지켜할 원칙을 의미한다. 정리 Single Responsibility Principle 단일 책임 원칙 - 객체는 단 하나의 책임만 가져야 한다 - 응집도(객체 내부)는 높고, 결합도(서로 다른 객체 간)는 낮아야 한다 Open-Closed Principle 개방-폐쇄 원칙 - 기존의 코드를 변경하지않고 기능을 추가할 수 있도록 설계해야 한다 - 공통 인터페이스를 하나의 인터페이스로 묶어 캡슐화하는 방법이 있다 Liskov Substitution Principle 리스코프 치환 원칙 - 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위를 수행할 수 있어야 한다 - 자식 클래스는 부모 클래스의 책임을 무시.. 2024. 3. 1.
모듈 간 결합도 결합도란? 결합도는 모듈 간 상호 의존의정도 또는 연관관계를 의미한다. 일반적으로 결합도가 높을수록 품질이 낮고, 낮을수록 품질이 좋다. 결합도의 종류 자료 결합도 인터페이스가 자료 요소로만 구성될 때의 결합도 스탬프(검인) 결합도 인터페이스로 배열이나 레코드 등 자료 구조가 전달될 때의 결합도 제어 결합도 어떤 모듈이 다른 모듈 내부 논리적인 흐름을 제어하기 위해 제어 신호를 이용해 통신하거나 제어 요소를 전달하는 결합도 외부 결합도 어떤 모듈이 외부로 전언한 데이터를 다른 모듈에서 참조할 때의 결합도 공통(공유) 결합도 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도 내용 결합도 한 모듈이 다른 모듈의 내부 기능 및 자료를 직접 참조하거나 수정할 때의 결합도 2024. 3. 1.
다이어그램 간략 다이어그램이란? 다이어그램은 어떤 것을 도형으로 표현한 것을 의미한다. 다이어그램은 시각 자료를 제공하므로 의사소통을 용이하게 해 준다는 장점이 있다. 소프트웨어 개발에서 쓰이는 다이어그램은 크게 구조적 다이어그램 (동적 모델링에서 주로 사용) 그리고 행위 다이어그램 (동적 모델링에서 주로 사용)이 있다. 구조적 다이어그램 종류 클래스 다이어그램 - 클래스와 속성, 관계를 포현함 - 시스템의 구조를 파악하고 구조상 문제점 도출 가능 객체 다이어그램 - 클래스에 속한 객체들, 즉 인스턴스를 특정 시점의 객체와 객체 사이 관계로 표현함 - 럼바우 객체지향 분석 기법에서 활용됨 컴포넌트 다이어그램 - 컴포넌트 간 관계나 인터페이스를 표현함 - 구현 단계에서 사용됨 배치 다이어그램 - 결과물, 프로세스, 컴포넌.. 2024. 2. 29.
데이터베이스 관련 신기술 간략정리 Apache Hadoop (아파치 하둡) 오픈 소스 기반 분산 컴퓨터 플랫폼 자바 소프트웨어 프레임워크 일반 컴퓨터들로 가상 대형 스토리지를 형성 -> 데이터세트를 병렬 처리 MapReduce (맵리듀스) 대용량 데이터 분산 처리용 프로그래밍 모델 Map - 흩어져 있는 데이터를 관련 데이터 분류로 묶기 Reduce - 중복 데이터 제거하고 원하는 것 추출 Tajo (타조) Hadoop 기반 분산 데이터 웨어하우스 프로젝트 한국 주도 개발 Data Mining (데이터 마이닝) 데이터 웨어하우스에 저장된 데이터 집합에서 사용하고 싶은 정보를 찾기 위한 기법 대량 데이터를 분석해 내재된 변수 사이 상호관계를 패턴화, 효율적 데이터 추출 OLAP (Online Analytical Processing) 다차원.. 2024. 2. 29.
데이터베이스 : 키 (DATABASE : KEY) 키(Key)란? 키는 데이터베이스에서 조건을 만족하는 튜플(행)을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있도록 기준이 되는 애트리뷰트(속성, 열)을 의미한다. 키의 종류로는 후보키, 기본키, 대체키, 슈퍼키, 외래키 등이 있다. 키의 유일성, 최소성 먼저 키의 속성 중 중요한 유일성과 최소성에 대해 정리하겠다. 유일성 : 하나의 키 값으로 하나의 튜플만을 식별할 수 있어야 함. 서로 중복되는 키 값이 없이 유일한 값만으로 있어 튜플들을이 각각 고유의 키값을 가지고 있음을 의미. 최소성 : 한 튜플이 반드시 갖고 있어야 하는 속성값들을 모두 갖고 있을 때, 최소성을 만족함. 다음과 같은 데이터 릴레이션(테이블)을 예시로 설명을 하겠다. 식당 이름 전화번호 사업자번호 소재 구 음식 구분 종업원.. 2024. 2. 28.