Builder
: 생성과 구현을 분리해서 복잡한 객체를 생성Prototype
: 원형을 복사하여 필요한 부분만 수정하여 사용Factory Method
: 상위 클래스는 인터페이서 정의, 하위 클래스에서 오버라이딩해서.Abstract Factory
: 구체적인 클래스에 의존x, 동일한 주제의 다른 팩토리를 묶음Singleton
: 한 클래스에 한 객체만 존재하도록 제한Bridge
: 추상화된 부분과 실제 구현 부분을 독립적으로 확장 가능Decorator
: 클래스에 필요한 기능을 추가해 나가는 패턴Facade
: 단순한 인터페이스 제공Flyweight
: 가상 인스턴스 제공, 클래스의 경량화Proxy
: 실제 객체에 대한 대리 객체Composite
: 객체들의 관계를 트리로 구성. 복합 객체와 단일 객체를 동일하게 취급Adapter
: 기존에 생성된 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할Chain of Responsibility
: 한 객체가 처리하지 못하면 다음 객체로 넘어감Command
: 요청을 객체 형태로 캡슐화Interpreter
: 언어에 문법 표현을 정의하는 패턴Iterator
: 접근 잦은 객체에 대해 동일 인터페이스를 사용하도록Mediator
: 객체들 간 복잡한 상호작용을 캡슐화Template Method
: 캡슐화 하여 상위 작업의 구조를 바꾸지 않으면서 서브 클래스로 작업의 일부분을 수행Observer
: 상태가 바뀌면 의존하는 객체들에 연락이 간다.Strategy
: 행위를 클래스로 캡슐화해 동적으로 행위를 자유롭게 변경Mememto
: Undo 요청 가능State
: 상태에 따라 동일 동작을 다르게 처리해야 할 때Visitor
: 처리 기능을 분리하여 별도의 클래스로 구성도출
> 분석
> 명세
> 확인
직관성
: 누구나 쉽게 이해하고 사용할 수 있어야 함유효성
: 정확하고 완벽하게 사용자의 목표가 달성될 수 있어야 함학습성
: 모두가 쉽게 배우고 사용할 수 있어야 함유연성
: 사용자의 요구사항을 최대한 수용하고, 실수를 방지할 수 있어야 함와이어프레임
: 간략한 흐름을 공유하기 위해 화면 단위의 레이아웃을 설계스토리보드
: 모든 정보가 담겨 있는 설계 산출물프로토타입
: 와이어프레임 또는 스토리보드에 동적 효과를 적용하여 시뮬레이션 가능한 시제품사물
/ 관계
/ 다이어그램
클래스
객체
컴포넌트
배치
복합체 구조
패키지
유즈케이스
시퀀스
커뮤니케이션
: 시스템이나 객체들이 메시지를 주고받으며 시간에 따라 상호 작용하는 과정을 표현상태
: 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 상호 작용에 따른 상태 변화를 표현활동
: 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서대로 표현타이밍
요구조건 분석
개념적 설계
논리적 설계
물리적 설계
1정규형(1NF)
2정규형(2NF)
3정규형(3NF)
보이스-코드 정규형(BCNF)
4정규형(4NF)
5정규형(5NF)
직접연계방식 / 간접연계방식
DB 링크
: 데이터베이스에서 제공하는 DB 링크 객체를 이용
DB 연결
: DB 커넥션 풀을 생성하고 이용하여 연결
커넥션 풀: DB와 연결된 커넥션을 미리 만들어서 풀에 저장해 두고 필요할 때 커넥션을 풀에서 가져다 쓰고 다시 풀에 반환하는 기법
API
: 데이터를 주고받기 위해 규격을 정해놓은 인터페이스
JDBC
: 수신 시스템의 프로그램에서 JDBC 드라이버를 이용하여 송신 시스템 DB와 연결
JDBC: 자바에서 DB에 접속할 수 있도록 하는 자바 API
하이퍼 링크
: 다른 페이지로 이동하게 해주는속성
EAI
웹 서비스 / ESB
소켓
: 소켓을 생성하여 포트를 할당하고, 클라이언트의 요청을 연결하여 통신
포인트 투 포인트
허브 앤 스포크
메시지 버스
하이브리드
메시지 큐
/ 공유메모리
/ 소켓
/ 세마포어
입력데이터 검증 및 표현
보안 기능
시간 및 상태
에러 처리
코드 오류
캡슐화
API 오용
카멜 표기법
파스칼 표기법
스네이크 표기법
헝가리안 표기법
ACID
외부 스키마
: 사용자나 개발자의 관점에서 필요로 하는 DB의 논리적 구조개념 스키마
: DB의 전체적인 논리적 구조내부 스키마
: 물리적 저장장치의 관점에서 보는 DB 구조프로시저
사용자 정의 함수
트리거
ALTER TABLE 사원 DROP 생년월일;
GRANT SELECT ON 사원 TO 홍길동;
SELECT 이름, 연봉, RANK() OVER (ORDER BY 연봉 DESC) 순위 FROM 사원;
CREATE INDEX idx_name ON student(name);
형상 식별 > 형상 통제 > 형상 감사 > 형상 기록
자료 결합도
스탬프 결합도
제어 결합도
외부 결합도
공통 결합도
내용 결합도
기능적 응집도
순차적 응집도
통신적 응집도
절차적 응집도
시간적 응집도
논리적 응집도
우연적 응집도
기밀성
: 인가되지 않은 개인 혹은 시스템 접근을 차단하는 특성무결성
: 정당한 방법이 아니라면 데이터가 변경될 수 없음가용성
: 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속해서 사용할 수 있음을 보장하는 특성SYN Flooding
: TCP 프로토콜의 구조적 문제 이용. SYN 패킷만 보내고 ACK 발송 X.Smufing(스머핑)
: 출발 주소를 공격 대상의 IP로 설정. 직접 브로드캐스팅.PoD(죽음의 핑)
: ICMP 패킷 크게 만들어 재조합 과정에서 부하 발생Land Attack(랜드 어택)
: 출발지 IP == 목적지 IPTear Drop(티어 드롭)
: IP패킷 재조합 과정에서 잘못된 Fragment offset에 의해.세션 하이재킹
: TCP의 세션 관리 취약점을 이용한 공격기법지식기반 인증
: ID/패스워드소지기반 인증
: 공인인증서, OTP생체기반 인증
: 홍채, 정맥, 얼굴, 지문특징기반 인증
: 서명, 발걸음, 몸짓임의적 접근통제 (DAC)
: 주체의 신분에 근거하여 객체에 대한 접근을 제한강제적 접근통제 (MAC)
: 객체에 포함된 정보의 허용등급에 대하여역할 기반 접근 통제 (RBAC)
: 중앙 관리자가 사용자와 시스템의 상호관계를 통제하며 조직 내 맡은 역할에 기초하여인증 (Authentication)
권한 부여 (Authorization)
계정 관리 (Accounting)
DES
: 1975년 IBM 개발 / 블록 암호화 알고리즘 / 블록 크기 64bitSEED
: 1999년 국내 한국인터넷진흥원 / 블록 암호화 알고리즘 / 블록 크기 128bitAES
: 블록 암호화 알고리즘 / DES 문제 극복 / 라운드 수 분류RSA
: 소인수 분해 기반 / 공개키 암호화 알고리즘MD5
: MD4를 개선한 암호화 알고리즘 / 512비트 입력에 대해 128비트 해시값 생성SHA-1
: 1993년 NSA 미 정부 표준 / 160비트 해시값 생성IPSec
: IP 계층에서 무결성과 인증을 보장하는 인증 헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용한 IP 보안 프로토콜SSL/TLS
: Transport 계층과 Presentation 계층 사이에서 클라이언트와 서버 간의 데이터 무결성을 보장하는 보안 프로토콜S-HTTP
: 웹 상에서 네트워크 트래픽을 암호화하는 방법. 모든 메시지를 각각 암호화하여 전송XSS
: 웹페이지에 포함된 부적절한 스크립트가 실행되는 공격사이트 간 요청 위조(CSRF)
: 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격SQL 삽입
: 악의적인 SQL 구문을 삽입, 실행시켜서 정보 탈취 및 조작구문(문장) 커버리지
: 모든 명령문을 적어도 한 번 수행결정(선택, 분기) 커버리지
: 결정 포인트 내의 전체 조건식이 적어도 한 번은 참과 거짓의 결과를 수행조건 커버리지
: 결정 포인트 내의 개별 조건식이 적어도 한 번은 참과 거짓의 결과가 되도록 수행조건/결정 커버리지
: 전체 조건식뿐만 아니라 개별 조건식도 참 한 번, 거짓 한 번 결과가 되도록 수행동등분할 테스트
: 입력 데이터의 영역을 유사한 도메인별로 그룹핑하여 대푯값 테스트경계값 분석 테스트
회복 테스트
: 시스템의 정상적 복귀 여부를 테스트안전 테스트
: 불법적인 sw가 시스템을 파괴하지 못하도록 결함을 미리 점검성능 테스트
: 응답 시간, 특정 시간 내 업무 처리량, 반응 속도 등을 측정구조 테스트
: 시스템의 내부 논리 경로, 소스 코드의 복잡도를 평가회귀 테스트
: 수정한 시스템에서 새롭게 유입된 오류가 없는지 확인하는 반복 테스트 기법병행 테스트
: 변경된 시스템과 기존 시스템에 동일한 데이터를 입력 후 결과를 비교동료 검토
: 요구사항 명세서 작성자가 요구사항 명세서를 설명하며 결함을 발견인스펙션
: 다른 전문가 또는 팀이 검사하여 문제를 식별하고 해결을 찾아냄워크스루
: 검토 자료를 바탕으로 사전 검토한 후 짧은 시간 동안 회의를 진행Application Layer(응용)
Presentation Layer(표현)
Session Layer(세션)
Transport Layer(전송)
Network Layer(네트워크)
Data Link Layer(데이터 링크)
Physical Layer(물리)
1계층 장비 - 허브
여러 대의 컴퓨터를 연결하여 네트워크로 보내거나, 하나의 네트워크로 수신된 정보를 여러 대의 컴퓨터로 송신하기 위한 장비
2계층 장비 - 브리지
두 개의 근거리통신망(LAN)을 서로 연결해 주는 통신망 연결 장치
3계층 장비 - 라우터
LAN-LAN 혹인 LAN-WAN을 연결하기 위한 인터넷 네트워킹 장비
패킷 위치 추출, 최적 경로 지정, 경로를 따라 패킷을 전송
구문
/ 의미
/ 타이밍
단편화
: 전송이 가능한 작은 블록으로 나누어지는 기법재조립
: 단편화되어 온 조각들을 원래 데이터로 복원하는 기법캡술화
: 상위 계층의 데이터에 각종 정보를 추가하여 하위 계층으로 보내는 기법연결 제어
: 데이터의 전송량이나 속도를 제어하는 기법오류 제어
: 전송 중 잃어버리는 데이터나 오류가 발생한 데이터를 검증하는 제어 기법동기화
: 송신과 수신 측의 시점을 맞추는 기법다중화
: 하나의 통신 회선에 여러 기기들이 접속할 수 있는 기술주소 지정
: 송신과 수신지의 주소를 부여하여 정확한 데이터 전송을 보장하는 기법데이터그램 방식
: 연결 경로를 확립하지 않고 순서에 무관하게 패킷을 독립적으로 전송가상회선 방식
: 패킷 전송 전, 송수신 간의 논리적 통신 경로를 미리 설정헤더
: 문서 이름, 제품 이름, 버전 번호, 릴리즈 날짜, 참고 날짜, 노트 버전개요
| 목적
| 이슈 요약
등콘텐츠 제공자
| 콘텐츠 소비자
| 콘텐츠 분배자
클리어링 하우스
: 저작권에 대한 사용 권한, 라이센스 발급, 사용량에 따른 관리 등을 수행DRM 컨트롤러
: 배포된 디지털 콘텐츠의 이용 권한을 통제DRM 컨텐츠
| 패키저
| 보안 컨테이너
설치 매뉴얼
/ 사용자 매뉴얼
이 있다.전체 백업
: 데이터 전체를 백업차등 백업
: 마지막 전체 백업 이후 변경된 데이터를 백업증분 백업
: 정해진 시간을 기준으로 그 이후 변경된 데이터만을 백업