220216_정리노트 7
정리 노트
보안 개발 방법론 📘 1과목_C1 소프트웨어 개발 방법론 활용
소프트웨어 개발보안 요구공학 프로세스 📘 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언어-데이터 가공 및 입출력
댓글남기기