반응형
SMALL
반응형
LIST
소프트웨어 개발 보안 요소소프트웨어 개발 보안 요소는 소프트웨어를 개발할 때 보안을 보장하기 위해 충족시켜야 할 핵심 요소들을 의미합니다. 보안의 3대 요소는 기밀성, 무결성, 가용성이며, 이 외에도 인증, 부인 방지가 중요한 보안 요소로 포함됩니다.1. 기밀성 (Confidentiality)기밀성은 시스템 내의 정보와 자원에 인가된 사용자만이 접근할 수 있도록 보장하는 요소입니다.목표: 정보가 허가되지 않은 사용자에게 노출되지 않도록 보호하는 것.특징: 정보가 전송 중에 노출되더라도, 암호화를 통해 데이터를 읽지 못하도록 합니다.2. 무결성 (Integrity)무결성은 시스템 내의 정보가 인가된 사용자만 수정할 수 있고, 정보가 변조되지 않도록 보장하는 요소입니다.목표: 데이터를 정확하고 완전하게 유지..
트리거(Trigger)는 데이터베이스에서 특정 이벤트(INSERT, UPDATE, DELETE)가 발생할 때 자동으로 실행되는 규칙입니다. 트리거는 데이터의 무결성 유지, 로깅, 자동 처리 등을 위해 사용되며, 사용자가 직접 실행하지 않아도 미리 정의된 작업이 자동으로 수행됩니다.트리거의 종류행 트리거: 각 데이터 행마다 실행됨.문장 트리거: SQL 문장이 실행될 때 한 번만 실행됨.트리거 예시 (삽입 후 로그 기록) CREATE TRIGGER log_insertAFTER INSERT ON StudentsFOR EACH ROWBEGIN INSERT INTO Logs (description, log_date) VALUES ('New student added: ' || NEW.Name, SYSDATE);..
데이터베이스 언어 (DDL, DML, DCL)데이터베이스 관리 시스템(DBMS)에서 데이터를 정의하고, 조작하고, 제어하기 위해 세 가지 주요 언어가 사용됩니다: DDL (Data Definition Language), DML (Data Manipulation Language), DCL (Data Control Language). 각 언어는 데이터베이스 내의 다양한 작업을 수행하며, 각각의 역할과 명령어는 다음과 같습니다.1. DDL (Data Definition Language) - 데이터 정의 언어DDL은 데이터베이스 구조(스키마)를 정의하거나 변경하는 언어입니다. 즉, 데이터베이스 테이블, 인덱스, 제약 조건 등의 구조적 요소를 생성, 수정, 삭제하는 데 사용됩니다.대표적인 DDL 명령어:CREAT..
소스 코드 최적화소스 코드 최적화는 나쁜 코드를 배제하고, 클린 코드로 작성하여 코드의 가독성과 유지보수성을 높이는 과정입니다. 코드 최적화를 통해 프로그램의 성능을 향상시키고, 유지보수가 용이한 코드 구조를 만듭니다.클린 코드클린 코드란 누구나 쉽게 이해하고, 수정 및 추가가 가능한 단순하고 명료한 코드를 의미합니다. 잘 구조화된 코드는 가독성이 뛰어나고, 유지보수가 용이합니다.특징:명확한 네이밍: 변수명, 함수명이 그 기능과 역할을 명확히 표현.간결한 로직: 불필요한 복잡성을 피하고, 간결한 논리로 구성된 코드.주석 활용: 코드의 흐름과 의도를 명확하게 설명하는 주석.나쁜 코드나쁜 코드는 프로그램의 로직이 복잡하고 이해하기 어려운 코드를 의미합니다. 이러한 코드는 유지보수에 많은 시간을 소요하고, 오..
하향식 통합 테스트하향식 통합 테스트는 상위 모듈에서 하위 모듈로 통합하면서 진행하는 테스트 방법입니다. 상위 모듈부터 점차 하위 모듈을 통합하여 시스템의 기능을 점검하는 방식으로 진행됩니다.절차주요 제어 모듈(상위 모듈)을 먼저 통합하고, 이 모듈이 호출하는 하위 모듈들은 스텁으로 대체합니다.하위 모듈들이 작성되는 대로 깊이 우선 또는 넓이 우선의 방식으로 스텁을 실제 모듈로 교체합니다.각 모듈이 통합될 때마다 테스트를 실시하여 시스템의 오류 여부를 확인합니다.통합 중 새로 발생하는 오류를 방지하기 위해 회귀 테스트를 병행합니다.스텁스텁은 상위 모듈이 호출하는 하위 모듈의 임시 대체물입니다. 해당 모듈의 기능을 단순히 흉내 내어 테스트가 진행될 수 있게 하며, 기본적인 입력과 출력만을 처리하는 시험용 ..
V-모델V-모델은 소프트웨어 개발 단계에 맞춰 테스트 단계를 매칭하여 진행하는 개발 모델입니다. 개발 단계와 그에 따른 테스트를 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트로 나누며, 개발이 왼쪽 아래로 진행될수록 테스트 단계는 오른쪽 위로 진행되는 V자 형태의 구조를 가집니다.단위 테스트단위 테스트는 소프트웨어의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 실시하는 테스트입니다. 코딩 직후에 진행되며, 각 모듈이 정상적으로 작동하는지를 확인합니다.주요 검사 항목:인터페이스: 모듈 간의 상호작용외부 입출력(I/O): 데이터의 입력과 출력이 올바른지 확인자료 구조, 경계 조건, 오류 처리 경로 등구조 기반 테스트와 명세 기반 테스트로 나뉘지만, 주로 구조 기반 테스트가 실행됩니다.통합 테스트통..