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 컨텐츠 | 패키저 | 보안 컨테이너설치 매뉴얼 / 사용자 매뉴얼이 있다.전체 백업: 데이터 전체를 백업차등 백업: 마지막 전체 백업 이후 변경된 데이터를 백업증분 백업: 정해진 시간을 기준으로 그 이후 변경된 데이터만을 백업