4 분 소요

정리 노트

보안 개발 방법론 📘 1과목_C1 소프트웨어 개발 방법론 활용


   " CWE, Seven Touchpoing, MS-SDL, CLASP "


소프트웨어 개발보안 요구공학 프로세스 📘 5과목_C4 소프트웨어 보안


   " 도출 > 분석 > 명세 > 확인 "

ISO/IEC 종류 📘 1과목_C1 소프트웨어 개발 방법론 활용

  • ISO/IEC 12207
    • 국제표준화기구에서 만든 표준 소프트웨어 생명 주기 프로세스
    • 소프트웨어의 개발, 운영, 유지보수 프로세스를 향상시키기 위한 표준을 제공
    • 기본, 지원, 조직 생명 주기 프로세스로 나뉨
  • ISO/IEC 12119
    • 패키지 소프트웨어 제품 품질 요구사항 및 테스트
  • ISO/IEC 29119
    • 소프트웨어 테스트
  • ISO/IEC 9126
    • 소프트웨어 품질 특성과 평가 관한 표준 지침서
    • 2011년에 호환성과 보안성을 강화하여 25010으로 개정
  • 기능성: 소프트웨어가 사용자 요구사항을 만족하는 기능을 제공하는지
특성 설명
적합성 지정된 작업과 사용자의 목적 달성을 위해 적절한 기능을 제공할 수 있는 능력
정확성 사용자가 요구하는 결과를 정확하게 산출할 수 있는 능력
상호운용성 다른 시스템들과 서로 어울려 작업할 수 있는 능력
보안성 정보에 대한 접근을 권한에 따라 허용하거나 차단하는 능력
준수성 기능과 관련된 표준, 규정 등을 준수하는 능력
  • 신뢰성: 기능을 정확하게 오류 없이 수행

  • 사용성: 소프트웨어의 기능과 그 기능의 결과를 사용자가 정확히 이해하고, 다시 사용할 의지가 있는지

  • 효율성: 한정된 시간과 자원으로 얼마나 빨리 처리할 수 있는지

  • 유지보수성: 새로운 요구사항 및 환경의 변화에 따라 소프트웨어를 개선할 수 있는지

  • 이식성: 소프트웨어가 다른 환경에서 얼마나 쉽게 적용되는지


UML 관계의 종류 📘 1과목_C2 UML

  • 연관
    • 둘 이상의 사물이 서로 관련되어 있음
    • 양방향일 경우 화살표 생략


  • 집합
    • 하나의 사물이 다른 사물에 포함되어 있는 관계
    • 전체와 부분은 서로 독립적임


  • 포함
    • 전체 사물의 변화가 부분 사물에 영향을 미침
    • 전체와 부분은 독립적이지 않음


  • 일반화
    • 하나의 사물이 다른 사물에 대해서 상위, 하위 관계를 표현


  • 의존
    • 필요에 의해 짧은 시간 동안만 연관성을 유지하는 관계


  • 실체화
    • 사물들의 기능적 요소로 서로 그룹화할 수 있는 관계
    • 한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 관계


UI의 종류 📘 1과목_C3 UI 표준

  • CLI(Command Line Interface)
    • 명령 문자열을 통해 시스템과 상호작용하는 UI
    • DOS, Linux, 명령 프롬프트 등에서 사용
  • GUI(Grapic User Interface)
    • 메뉴, 아이콘 등의 그래픽 요소를 통해 시스템과 상호작용하는 UI
    • windows, mac OS
  • NUI(Natural User Interface)
    • 사람의 음성, 온도, 터치 등을 통해 시스템과 상호작용하는 UI
    • 시마트폰, 지문 인식에 사용


패키징 도구 활용 시 주의사항 📘 2과목_C3 제품 소프트웨어 패키징

  • 반드시 내부 컨텐츠에 대한 암호화 및 보안 기능 고려
  • 여러 기종에 대한 콘텐츠 호환성 및 디지털 저작권 관리 기술(DRM: Digital Rights Management) 연동 고려
  • 사용자 편의성을 고려해 최대한 단순하고 효율적으로 적용될 수 있도록 함
  • 소프트웨어 종류에 맞는 암호화 알고리즘을 선택하여 범용성에 지장이 없도록 함
  • 지속적인 배포, 통합, 서비스를 고려하여 제공


블랙박스 테스트의 종류🔥 📘 2과목_C4 애플리케이션 테스트


   " 경계값 분석, 오류 예측, 원인-효과 그래프 검사, 비교 검사, 동치 분할 검사 "


사용자 매뉴얼 작성 절차 📘 2과목_C3 제품 소프트웨어 매뉴얼


   " 기능 식별 > 사용자 화면 분류 > 사용자 환경 파일 확인 >
초기화 절차 확인 > 이상 Case 확인 > 최종 매뉴얼 적용 "


인터페이스 기술 표준(EAI) 📘 2과목_C2 인터페이스 구현

  • 특징
    • 서로 다른 기종의 시스템 간의 연동을 가능하게 해주는 전사적 애플리케이션 통합 환경
    • 어댑터를 이용해 메시지 변환이 가능하여 서로 다른 코드나 프로토콜을 사용하는 시스템 간 통신 가능
    • Point-to-Point, Hub&Spoke, Message Bus(ESB)
  • Message Bus
    • 애플리케이션 사이에 미들웨어(Bus)를 두어 처리하는 방식
    • 미들웨어(Bus)를 통해서 통합되므로 뛰어난 확장성, 대용량 처리가 가능
    • 별도의 어댑터가 필요 없고 서비스 버스(Bus)라는 백본을 이용하여 통신
    • 웹 서비스 기반 통신으로 네트워크에 의존적이며 이용 자체가 복잡하고 변환을 사용하는 과정에 부하가 생김


연계를 위한 테이블 📘 2과목_C2 인터페이스 구현


   " 연계 테이블, 로그 테이블, 매핑 테이블, 오류 코드 테이블 생성 "


무결성 제약 사항 📘 3과목_C1 관계형 데이터베이스

  • 도메인 무결성: 하나의 속성에 입력되는 값이 지정된 도메인의 범위를 벗어나지 않음
    • ex) 성별 속성 ‘남’ 또는 ‘여’ 이외의 값 입력 불가
  • 개체 무결성: 기본키로 지정된 속성은 중복값과 Null 값이 있어서는 안됨
  • 참조 무결성: 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야함
  • ex) <사원> 릴레이션의 '부서 번호' 속성에는 <부서> 릴레이션의 '부서 번호' 속성에 없는 값은 입력할 수 없음


SQL 명령어의 분류 📘 3과목_C2 SQL

  • 데이터 정의어(DDL)
    • 논리적, 물리적인 데이터베이스를 정의하거나 수정할 목적
    • 데이터베이스 관리자(DBA가 사용하는 언어
    • 명령어가 수행되면 이전 상태로 복귀 불가능
    • CREATE, ALTER, DROP, TRUNCATE 등
  • 데이터 조작어(DML)
    • 데이터를 검색, 삽입, 갱신, 삭제할 수 있도록 지원
    • 사용자와 DBMS 간의 인터페이스를 제공
    • 일반 사용자 및 응용 프로그래머가 사용하는 언어
    • 트랜잭션 제어어를 활용하여 실행 전 상태로 복귀 가능
    • SELECT, INSERT, UPDATE, DELETE
  • 데이터 제어어(DCL)
    • 여러 사용자가 데이터를 공유할 수 있도록 병행 제어를 수행하는 명령어
    • 데이터 무결성을 유지하면서 여러 규정이나 제약조건 등을 기술하기 위한 명령어
    • 사용자별로 데이터베이스 권한 부여 또는 회수
    • DBA가 사용
    • GRANT, REVOKE, COMMIT, ROLLBACK


물리적 데이터 설계🔥 📘 3과목_C1 논리 데이터 모델링


   " 논리적 모델 구체화 &
데이터베이스에 포함될 저장 레코드 양식, 데이터 구조, 응답 시간, 저장 공간 등 설계 "


병행 제어 기법 📘 3과목_C3 병행 제어와 로킹

  • 로킹
    • 하나의 트랜젝션에서 갱신하는 데이터를 다른 트랜잭션이 접근하지 못하도록 잠그는 행위
    • 로킹의 단위에 따라 데이터베이스의 성능에 영향을 미침
    • 적절한 로킹 단위를 지정하여 효율적인 병행 제어가 될 수 있도록 함
  • 타임스탬프 기법
    • 데이터베이스 병행 제어를 위해 데이터 항목에 타임스탬프를 부여하여 직렬 가능성을 보장
  • 낙관적 병행 제어
    • 트랜잭션 수행 동안은 어떠한 검사도 하지 않고, 트랜잭션 종료 시 일괄적으로 검사
    • 장기 트랜잭션 철회 시 자원낭비 가능성이 있어, 동시 사용 빈도가 낮은 시스템에서 주로 사용
  • 다중 버전 병행 제어
    • 트랜잭션의 데이터 점근 시, 그 트랜잭션의 타임스탬프와 접근 데이터의 여러 버전의 타임스탬프를 비교하여, 현재 실행 중인 스케줄의 직렬 가능성이 보장 되는 버전을 선택


정규형 📘 3과목_C1 정규화

  • 제 1정규형: 원자성을 가지지 못하는 반복 그룹 속성이 제거
  • 제 2정규형: 부분 함수 종속을 제거
  • 제 3정규형: 이행적 함수 종속 제거
  • BCNF: 결정자이면서 후보키가 아닌 함수 종속 제거
  • 제 4정규형: 다치 종속을 제거
  • 제 5정규형: 후보키를 통하지 않은 조인 종속 제거


클러스터 📘 3과목_C1 물리 데이터 모델 설계


   " 데이터 저장 시 데이터 액세스 효율을 향상시키기 위해
동일한 성격의 데이터를 동일한 데이터 블록에 저장 "

  • 클러스터링된 테이블은 데이터 조회 속도를 향상시킴
  • 클러스터는 데이터의 분포도가 넓을수록 유리
  • 데이터 분포도가 넓은 테이블을 클러스터링하면 저장 공간을 절약할 수 있음
  • 클러스터링된 테이블에 클러스터드 인덱스를 생성하면 접근 성능이 향상


헝가리안 표기법 📘 4과목_C2 C언어-데이터 가공 및 입출력


   " int nCount 처럼 변수명 앞에 n을 붙여서 자료형을 알 수 있게함 "

업데이트:

댓글남기기