데이터 흐름도(Data Flow Diagram) 구성요소에는 프로세스(Process), 자료 흐름(Flow), 자료 저장소(Data Store), 단말(Terminal)이 있다.
데이터 사전(date dictionary)은 데이터 흐름도의 구성요소가 아니다.
생성패턴 - 객체의 생성과 관련한 패턴
→ Builder, 작게 분리된 인스턴스를 건축하듯이 조합하여 객체 생성
→ Prototype, 원본 객체를 복제하는 방법으로 객체 생성
구조패턴 - 클래스나 객체를 조합하여, 더 큰 구조로 만들 수 있게 하는 패턴
→ Bridge, 구현부에서 추상층을 분리하여, 서로가 독립적으로 확장할 수 있도록 구성
행위패턴 - 클래스나 객체들의 상호작용하는 방법, 방법 및 책임분배를 정의하는 패턴
→ Visitor, 각 클래스들의 데이터 구조에서 처리 기능을 분리하여 별도의 클래스로 구성
※ 시간 복잡도별 알고리즘 분류
O(1) : 상수형
→ 해시함수
O(logN) : 로그형
→ 이진탐색
O(N) : 선형
→ 순차탐색
O(NlogN) : 선형 로그형
→ 퀵정렬, 병합정렬
O(N^2) : 제곱형
→ 거품정렬, 선택정렬, 삽입정렬
※ 동작을 위한 Black Box Testing : Equivalnce Partitioning Testing, Boundary Value Testing, Cause-Effect Graphing Testing, Error Guessing, Comparison Testing
※ 간결성은 개발자 관점의 고려항목이 아니다.
서비스 호출, 컴포넌트 재사용의 특징을 가지는 테스트 프레임 워크는 STAF이다.
Java, C++ 등 다양한 언어를 지원하는 단위 테스트 프레임워크
→ xUnit
FitNesse
→ 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크(협업 장점)
NTAF
→ FitNesse의 장점인 협업 기능과 STAF의 장점인 서비스 호출 및 컴포넌트 재사용을 통합한 Naver의 테스트 자동화 프레임 워크
Selenium
→ 다양한 브라우저 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임 워크
Watir
→ Ruby를 사용하는 애플리케이션 테스트 프레임 워크(인터프리터 방식의 객체 지향 스크립트 언어)
EAI는 기업 내 각종 애플리케이션 및 플랫폼 간의 정보전달연계, 통합 등 상호연동을 가능하게 해주는 솔루션이다.
Tree는 EAI 구축유형이 아니다.
root를 가장 앞쪽에 둔다.
중위 순회는 가운데, 후위 순회는 가장 뒤쪽에 root를 위치한다.
학습성은 사용성(Usability)의 하위 특성이다.
ISO/IEC 9126의 하위 특성에는 기능성 신뢰성 사용성 효율성 유지보수성 이식성이 있다.
기능성 - 적합성 정확성 준수성 보안성 상호운영성
신뢰성 - 성숙성 결함허용성 복구성
사용성 - 이해성 학습성 운용성 준수성
효율성 - 시간반응성 자원효율성 준수성
유지보수성 - 분석성 변경성 안정성 시험성 준수성
이식성 - 적응성 설치성 공존성 대체성 준수성
트리의 차수 - 전체 트리에서 가장 큰 차수
단말 노드 수 - 자식이 없는 노드
방화벽 기술은 디지털 저작권 관리 기술이 아니다.
개발 과정에서 소프트웨어 변경사항을 최적의 비용으로 관리하는 것
Stub
상향식 통합시 상위 모듈 역할을 하는 Test Driver를 이용한다.
현실세계에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있도록, 물리적 저장장치에 맞게 변환 및 논리적 자료 구조로 바꾸는 과정이다.
개념세계의 데이터 필드를 data type, data type간 관계 등의 논리적 구조와 데이터로 모델화한다.
개념 스키마를 평가하고 정제, DBMS에 따른 (종속적인) 논리적 스키마를 설계한다.
트랜잭션의 인터페이스, 테이블(RDBMS), RDBMS에 따른 스키마를 설계하거나 이를 평가 및 정제한다.
레코드 집중의 분석 및 설계는 물리적 설계 단계에서 수행하는 과정이다(데이터 구조화).
물리적 설계 단계
위치 투명성(Location Trasparency) - 데이터베이스의 실제 위치를 알 필요없이, DB의 논리적 명칭만으로도 액세스 가능
중복 투명성(Replication Trasparency) - 데이터가 여러 곳에 중복되어 있더라도, 사용자는 마치 하나의 데이터만 있는 것처럼 동작 수행 가능(시스템은 여러 자료에 대해 자동으로 작업 수행)
병행 투명성(Concurrency Trasparency) - 다수의 트랜잭션이 동시에 실행되더라도, 서로 간섭하거나 결과에 영향을 주지 않는다.
장애 투명성(Failure Trasparency) - 트랜잭션, DBMS, 네트워크, 컴퓨터 장애가 발생하여도 데이터의 무결성을 보장할 수 있다(트랜잭션을 정확히 처리한다).
SELECT도 DML이다.
DROP은 DDL이다.
DCL, 데이터 제어 언어는 DB 관리자가 데이터 보안, 무결성 유지, 병행 제어, 회복을 하기 위해 사용하는 관리(control) 언어이다.
데이터의 논리적, 물리적 구조를 정의하는 언어는 DCL이다.
1NF - 원자값
2NF - 부분함수종속제거(완전 함수 종속 관계)
3NF - 이행함수종속제거
BCNF - 결정자 함수 종속
4NF - 다중값(다치) 종속성 제거
5NF - 조인 종속성 제거
IPv4의 패킷 크기가 64KByte로 고정되어 있다.
HTTP - Hyper Text Transfer Protocol
FTP - File Transfer Protocol
SMTP - Simple Mail Transfer Protocol
TCP - Transmission Control Protocol
※ 한 모듈내 처리요소들 간의 기능적인 연관관계는 응집도이다.
IPv4 - 유니캐스트, 멀티캐스트, 브로드캐스트
ARP이다(※ IP주소를 다시 TCP/IP주소로 변환하는 프로토콜은 RARP).
스크립트 언어는 서버 스크립트, 클라이언트 스크립트 언어로 분류한다.
javascript, Python, PHP, Basic(VB), JSP, ASP, Shell Script 등.
초기(initial) - 관리(반복, Repeatable) - 정의(Defined) - 정량적 관리(Manage) - 최적화(Optimize)
TripWire이다(MD5, CRC-32, SHA 등의 알고리즘을 사용한다).
※ Cron : 작업 예약 스케쥴러
※ 백도어 : 일반적인 인증을 통과, 원격접속 보장, plaintext로의 접근 보장 등의 행동을 들키지 않고 수행하는 과정을 일컫는다.
프로젝트 상황 특성에 맞게 정의된 소프트웨어 개발 방법론의 절차, 사용기법 등을 수정 및 보완하는 작업(개발 방법론의 맞춤형 적용).