2. 데이터 입출력 구현
- 데이터 모델링 : 개념적 -> 논리적 -> 물리적
- 이상현상 : 데이터의 중복성으로 인해 테이블을 조작할 대 발생하는 비합리적인 현상(삽입,삭제,갱신)
- 반정규화 : 시스템의 성능 향상을 위해 정규화 원칙을 의도적으로 위배하는 행위
- Index : 검색 연산의 최적화를 위해 키값과 포인터쌍으로 구성되는 데이터 구조
- View : 사용자에게 허용된 정보만 보여주기 위해 하나 이상의 테이블로부터 유도된 논리적인 가상 테이블
- Cluster : 데이터 접근 효율을 높이기 위해 동일한 성격의 데이터를 같은 데이터 블록에 저장하는 방법
- Partitioning : 대용량 테이블이나 인덱스를 작은 논리적인 단위인 파티션으로 나누는 것(레인지,해시,컴포지트)
- PL/SQL(procedural Language for SQL) : 표준 SQL을 기반으로 Oracle에서 개발한 데이터 조작 언어
- APM(Application Performance Monitoring) : 안정적인 시스템 운영을 위한 성능 모니터링 도구
- Optimizer : SQL을 가장 빠르고 효율적으로 수행할 수 있는 최적의 경로(=실행 계획) 생성
- RBO(규칙 기반 옵티마이저-사전등록규칙에따라), CBO(비용기반옵티마이저-모든 접근 경로를 고려)
9. 소프트웨어 개발 보안 구축
- 보안의 3요소 : 기밀성(인가자만 접근), 무결성(인가자만 수정), 가용성(인가자는 언제나 사용 가능)
- 인증 : 시스템 내 정보/자원을 사용하려는 사람이 합법적인 사용자인지 확인하는 모든 행위
- 부인 방지 : 데이터를 송수신한 자가 송수신 사실을 부인할 수 없도록 송수신 증거 제공
- nmap : 서버에 열린 포트 정보를 스캐닝해서 보안 취약점을 탐지하는 도구, 해커들이 공격 전 주로 사용
- Dos공격 : 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 사용 못하게 하는 공격
- DDOS 공격 : 분산 배치된 공격자가 동시에 특정 시스템 공격
- XSS(크로스 사이트 스크립팅) : 사용자가 해당 웹페이지를 열람하으로써 악의적인 스크립트가 실행되도록
- SQL삽입 : 유효성 검증을 하지 않을 경우, 입력창/URL에 SQL 삽입하여 DB열람/조작을 가하는 공격
- CSRF : 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 웹사이트에 요청하도록 만드는 공격
- SYN Flooding : TCP의 3-way-handshake의 약점을 노린 공격자가 다량의 SYN 패킷을 보내는 공격
- TFN : 많은 소스에서 여러 목표 시스템에 서비스 거부 공격하는 분산 공격 도구
- 스머핑 : 고성능 컴퓨터로 제 3의 사이트를 이용해 엄청난 양의 ICMP Echo패킷을 보내 마비시키는 공격
- 파밍 : 합법적으로 소유하고 있던 사용자의 도메인틀 탈취함으로써 사용자들로 하여금 진짜 사이트로 오인하여 접속하도록 유도한 뒤 훔치는 기법
- 스머핑(마비시키기), 스푸핑(승인받은 것처럼 ip위조) , 스니핑(도청),
- Ping of Death : 허용 범위 이상 크기의 패킷을 고의적으로 전송하는 서비스 거부 공격
- RUDY : 요청 헤더의 Content-length를 비정상적으로 크게, 메시지 body부분은 매우 소량으로 연결 상태를 유지시키는 공격
- LAND ATTACK : 출발자 IP와 목적지 IP를 같은 패킷주소로 만들어 보냄 -> 자기 자신에게 응답을 보내게 함
- Tear Drop : ip패킷 재조합 과정에서 잘못된 fragment offset 정보로 인해 문제를 발생시키도록 하는 공격
- worm : 네트워크를 통해 연속적으로 자신을 복제하여 시스템의 부하를 높이는
- key logger attack : 컴퓨터 사용자의 키보드 움직임을 탐지해 개인 정보를 몰래 빼가는 해킹 공격
- 스턱스넷 : 독일 지멘스의 SCADA 시스템의 제어 SW에 침투하여 시스템을 마비시킨 악성 코드, 원자력 발전소와 같은 산업기반시설에 사용되는 제어 시스템에 침투하여 오동작을 유도하는
- Crimeware : 온라인에서 불법 활동을 조장하기 위해 맏들어진 프로그램 = 공격용 툴킷
- Honey Pot : 침입자를 속이는 침입탐지기법, 공격을 당하는 것처럼 보이게 하여 크래커를 추적
- Buffer Overflow : 정해진 메모리의 범위를 넘치게 해서 임의의 프로그램이나 함수를 실행시키는 공격
- 스택가드 : 카나리라고불리는 무결성체크용 값을 복귀주소와 변수 사이에 삽입해 두고 버퍼 오버플로우 시 카나리 값이 변하게 되면 복귀주소를 호출하지 않는 방법
- 스택쉴드 : 함수 시작시 복귀주소를 Global RET라는 특수 스택에 저장해 두고 함수 종료 시 저장된 값과 스택의 RET값을 비교해서 다를 경우 오버플로우로 간주하고 프로그램 실행을 중단하는 방법
- DAC(임의접근통제, 신분), MAC(강제접근통제, 주체/객체 등급/권한을 비교), RBAC(역할기반, 역할에따라)
- WAF(Web Application Firewall) : 웹방화벽, 웹app 보안에 특화되어 개발된 솔루션, 웹 공격 탐지 및 차단
- 벨 라파듈라 모델 : 미 국방부를 위해 개발된 모델, 기밀성 강조(No Read Up, No Write Down)
- 비바 모델 : 벨 라파듈라 모델의 단점인 무결성을 보장할 수 있는 모델(No Read Down, No Write Up)
- DLP(Data Loss Prevention) : 데이터 유출 방지, 기업 내에서 정보가 외부로 유출되는 것을 밪이
- APT(Advanced Persistent Threat, 지능형 지속 공격) : 조직이나 기업을 표적으로 정한 뒤 장기간에 걸쳐 다양한 수단을 총동원하는 지능적 해킹 방식, 지속적으로 정보를 수집하고 취약점을 분석하여 공격
- 사이버 킬체인 : 록히드 마틴의 APT공격방어분석모델. 7단계 프로세스별 공격분석 및 대응을 체계화
- 대칭키 - 블록암호:DES(64비트)/AES(DES대체), SEED(KISA구현)/ARIA(국정원)
- 대칭키 - 스트림암호 : RC4(취약한 것으로밝혀짐)
- 비대칭키(공개키) : RSA(소인수분해의 어려움을 이용하여 암호화), 대칭키(개인키)/비대칭키(공개키) 모두 양방향
- HASH(단방향) : MD4, MD5, SHA(미국국가표준), HAS-160(MD5+SHA1 장점합침,국내 표준서명알고리즘)
- 솔트 : 단방향 해시 함수에서 추가 입력으로 사용되는 임의의 문자열(원문에 가미)
- Seven Touchpoints: 소프트웨어 보안의 모범사례를 SDLC에 통합한 방법론
- Secure Coding : 설계 및 구현 단계에서 보안 취약점을 사전에 제거하고 안전한 sw를 만드는 코딩 기법
11. 응용 SW 기초 활용
- Shell : 커널과 사용자간을 연결하는 명령어 창
- 커널 : 프로세스/파일/입출력 관리 등 여러 기능을 수행
- PCB(Process Contro Block) : OS가 프로세스의 정보를 표현
- MMU(Memory Mangement Unit) : 가상 메모리를 실제 메모리 주소로 변환해주는 장치
- 문맥교환 : CPU가 실행중인 프로세스의 상태를 PCB에 저장하고 다음 프로세스의 PCB로부터 문맥 복원
- 응답률 : (서비스시간+대기시간)/서비스시간 -> HRN
- 선점형 스케줄링 : 우선순위가 높은 다른 프로세스가 현재 프로세스 중단 후 CPU를 점유하는 방식
- 라운드 로빈 : 프로세스가 할당 시간동안 처리되지 않으면 큐의 맨뒤로 이동하고 다음 프로레스 할당
- SRT : 가장짧은시간이 소요되는 프로세스를 먼저 처리(SJF의 선점형태)
- LUR : 최근에 사용하지 않은 페이지 교체
- 비선점형 스케줄링 : FCFS, SJF, HRN
- Thrashing(스레싱) : 페이지 부재의 지속으로 실제 처리 시간보다 페이지 교체 시간이 더 길어지는 현상
- 워킹 셋 : os의 가상기억장치관리에서 프로세스가 일정 시간동안 자주 참조하는 페이지들의 집합
- 교착상태(Deadlock) : 두개이상의 프로세스들이 서로의 자원을 요구하며 무한정 기다리는 현상
- 교착상태 발생조건 : 상호배제, 점유와 대기, 비선점, 환형대기
- 은행가 알고리즘 : 교착 상태 회피 기법, 안정 상태 일때만 자원을 프로세스에 할당
- 컴퓨터 클라우딩 : 네트워크를 통해 어디서든 자원에 접속할 수 있는 기술
- WAN : 전송 거리가 넓고 라우팅 알고리즘이 필요한 광대역 네트워크
- OSI 7계층 : 국제표준화기구(ISO)에서 개발, 네트워크 프로토콜 디자인과 통신을 계층으로 나눠 설명한 것
- 1. 물리 : 실제 장치들 연결 - 비트 - 리피터(입력신호증폭), 허브(가까운 컴퓨터들을 연결)
- 2. 데이터링크 : 각종 흐름, 순서 제어 -프레임 -브리지(LAN 연결), 스위치(큰 LAN생성)
- 3. 네트워크 : 라우팅, 혼잡제어 - 패킷 - 라우터(경로 설정) - IP, IGMP, BGP, ARP, RARP
- 4. 전송 : 종단시스템간 투명한 데이터 전송 - 세그먼트 - 게이트웨이 -TCP, UDP
- 5. 세션 : 동기점(오류가 있는 데이터 회복), 대화제어자 - TLS, SSH
- 6. 표현 : 통신에 적당한 형태로 변환, 데이터 암호화/복호화 - , JEPG
- 7. 응용 : 사용자에게 편리한 환경 제공 - HTTP, HTTPS, SMTP, DNS, FTP
- 프로토콜 : 이기종시스템간 데이터 교환을 할 수 있도록 하는 표준화 통신 규약(구문,의미,시간)
- TCP : 근거리 통신망이나 인터넷에서 신뢰성 있는 전송을 수행하는 프로토콜
- UDP : 비연결성이고 신뢰성이 없으며 순서화되지 않은 데이터 그램 서비스를 제공하는 통신 프로토콜
- IGMP : 멀티캐스트 그룹 유지를 위해 사용되는 프로토콜
- ICMP : 오류 메시지 등 여러 정보를 전달/컨트롤 하는 프로토콜
- LDAP(Lightweight Directory Access Protocol) : 디렉터리 서비스의 등록/수정/삭제 및 검색 프로토콜
- DHCP(Dynamic Host Configuration Protocol) : IP주소 및 설정 정보를 클라이언트에게 동적으로 할당
- SSH : 포트번호 22, 높은 안정성을 보장하는 원격 접속 프로토콜
- IPv4 : 데이터 교환을 위해 32 bit 주소 체계를 갖는 네트워크 계층의 프로토콜(유니/멀티/브로드캐스트)
- IPv6 : 차세대 인터넷 프로토콜, IPv4 문제점 해결, 128bit 주소체계(유니/멀티/애니캐스트)
- 유니캐스트 : 단 하나의 수신자에게 1대1로 정보전송
- 멀티캐스트 : 같은 내용의 데이터를 여러명의 특정한 일부 그룹의 수신자들에게 동시에 전송
- 애니캐스트 : 수신자 그룹 안에서 각장 가까운 노드로 데이터그램을 연결시키는 프로토콜
- 브로드캐스트 : 하나의 송신자가 같은 서브네트워크 상의 모든수신자에게 데이터를 전송하는 기술
- DNS : 도메인 네임을 IP 주소로 매핑하는 시스템
- 네트워크슬라이싱 : 하나의 네트워크를 다수의 독립적 가상 네트워크로 분리, 전용 네트워크 제공
- 패킷 스위칭 : 작은 블록의 패킷으로 데이터 전송, 전송 동안만 네트워크 자원 사용(X.25, ATM,프-릴)
- X.25 : 두 단말 장치가 패킷 통신망을 통해 원활한 패킷 전송을 하기 위한 프로토콜
- 프레임 릴레이 : 프로토콜 처리 간략화, 데이터프레임들의 중계/다중화 기능만 수행 -> 처리속도 향상
- ATM : 53바이트 셀 단위로 전달하는 비동기식 시분할 다중화 방식의 패킷형 전송 기술
- 서킷 스위칭 : 네트워크 리소스를 특정 사용계층이 독점하여 통신하는 방식
- SAN : 여러 OS의 기종들이 동일 저장장치의 데이터 공유 -> 백업 장비 단일화
- NAT(Network Address Translation) : 사설 IP주소로 바꿔주는 네트워크 주소 변환 기술
- MQTT(Message Queuing Telemetry Transport) : 제한된 대역폭의 푸시기술 기반 경량 메시지 전송 규약
- 라우팅 프로토콜 : 최종목적지까지 패킷을 최소 비용/홉수로 적절한 경로를 설정해주는 프로토콜
- 거리벡터알고리즘 : 인접 라우터와 정보를 공유하여 목적지까지의 방향과 거리를 결정(RIP, IGRP)
- RIP : 거리벡터알고리즘(벨만포드)
- IGRP : 거리벡터알고리즘, 모든 라우터에 정보 전달, 다익스트라, 대규모네트워크, 홉수제한 X
- OSPF : 링크 상태 알고리즘, 모든 라우터에 정보 전달, 다익스트라, 대규모 네트웤, 홉수제한 X
- BGP : 경로 벡터 알고리즘, 대규모 네트워크,
- VPN : 인터넷과 같은 공중망을 마치 전용선으로 사설망을 구축한 것처럼 사용
7. 애플리케이션 테스트 관리
- 살충제 패러독스 : 동일한 TC로 테스트를 진행하면 더이상 새로운 결함을 찾을 수 없다.
- 오류-부재의 궤변 : 사용자의 요구사항이 충족되지 않으면 결함이 없다해도 품질이 높다고 볼 수 없다.
- 워크스루 : 검토회의전 요구사항 명세서를 미리 배포하여 사전 검토 회의를 통해 결함 발견
- 인스펙션 : 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 결함 발견
- 동료 검토 : 요구사항 명세서 작성자가 내용을 직접 설명, 동료들이 이를 들으면서 결함 발견
- 테스트 커버리지 : 주어진 TC에 의해 수행되는 SW의 테스트 범위를 측정하여 테스트의 정확성과 신뢰성을 향상시키는 역할을 수행하는 테스트 품질 기준
- 테스트 : 검정/확인, 단위->통합->시스템->인수, 정적/동적, 구조기반/명세기반/경험기반로 분류가능
- 검증테스트 : 개발자시각 VS 확인테스트: 사용자시각
- 단위테스트 : 사용자 요구사항에 대한 단위 모듈, 서브루틴 등을 테스트(인터페이스/자료구조/실행경로)
- 통합테스트 : 단위 테스트를 통과한 SW/HW 컴포넌트 간 인터페이스 및 연동 기능을 구조적으로 테스트
- 하향식 통합(깊이 OR 너비우선 ,Stub), 상향식 통합(Cluster -> Driver), 빅뱅통합(모든 모듈을 한번에 통합)
- 시스템 테스트 : 실제 환경과 유사한 환경에서 진행(단위/통합 테스트 통과 후)
- 인수 테스트 : 사용자의 입장에서 테스트, 알파테스트와 베타테스트가 존재
- 정적테스트 : 명세서나 소스코드를 대상으로 분석하는 테스트(워크스루, 인스펙션, 코드검사 등)
- 동적테스트 : 프로그램을 실행하여 오류를 찾는 텥스트(블랙/화이트박스테스트)
- 구조기반테스트(화이트박스테스트) : 구문커버리지(모든명령문한번씩), 결정커버리지(모든결정문이 참과 거짓수행), 조건커버리지(모든결정문 내 각 조건이 참과 거짓 수행), 조건-결정커버리지(개별 조건식도 참과 거짓 수행), 다중 조건커버리지(모든 개별식 조건의 모든 조합 고려)
- 명세기반테스트(블랙박스테스트) : 동치분할(그룹핑), 경계값분석
- 경험기반테스트 : 테서터의 경험을 기반으로 수행(에러추정, 체크리스트, 탐색적 테스팅)
- 회복(결함->실패 후 올바르게 복구), 안전(침입으로부터 보호), 강도(과부하 시 정상실행), 구조(논리적 경로, 복잡도), 회귀(변경된 코드에 새로운 결함 여부), 병행(변경/기존sw에 동일한 데이터 입력 후 비교)
- 맥케이브 순환 복잡도 : 제어 흐름의 정보를 정량적을 표시하는 기법, 간선수 - 노드수 +2(E-N+2)
- 테스트 하네스 : 테스트를 지원하기 위한 코드와 데이터를 의미, 개발자가 테스트를 위해 작성함
- 테스트 오라클 : 테스트의 결과값이 참인지 거짓인지 판단하기 위해 사전에 정의한 참값과 비교 , 참(모든입력값), 샘플링(몇개입력값), 추정(휴리스틱, 나머진 추정), 일관성 검사(변경 전후 비교)오라클
- 성능테스트도구 : APP 처리량, 응답시간(작업요청~응답도착) ,경과시간(작업의뢰~처리완료)테스트
- 자원 사용률 : APP이 작업을 처리할 동안의 CPU등의 사용량
- 외계인 코드 : 아주 오래된 참고문서 또는 개발자가 없어 유지보수 작업이 매우 어려운 코드
- 스파게티 코드 : 실행은 되지만 소스코드가 얽혀 있어 구조를 파악하기 힘든 코드
. 4. 서버프로그램 구현
- JVM : JAVA 기반 APP을 위해 시스템 메모리를 관리하고 실행 환경을 제공하는 가상 머신
- JDK : JAVA 기반 APP을 개발하는데 필요한 툴들을 모아 놓은 소프트웨어 패키지(JVM포함)
- JUnit : JAVA용 단위 테스트 도구 *어노테이션 : 주석을 달아 특별한 의미를 부여하는 메타데이터
- Module : 기능 단위로 분해 및 추상화되어 재사용 및 공유가 가능한 단위
- 모듈화 : 무듈을 통해 소프트웨어의 성능을 향샹시키고 디버깅, 수정, 통합을 용이하게 하는 설계 기법
- 결합도 : 상호 의존의 정도(data-stamp-control-exteranl-common-content, 내공외제스자)
- 자료(데이터념겨주기), 스탬프(자료구조), 제어(흐름), 외부(참조), 공통(여럿이 공유), 내용(직접참조/수정)
- 응집도 : (우논시절교순기, functional - sequential - communication - procedual - temporal - logical - coincidental)
- 기능(단일), 순차(출력->입력), 통신/교환(동일한 입출력), 절차(순차 수행), 시간, 논리(유사한성격), 우연
- DTO(Data Transfer Object) : 프로세스 사이에서 데이터를 전송하는 객체
- VO(Value Object ) : 고정 클래스를 가지는 객체
- DAO(Data Access Object) : 특정 타입의 DB의 추상 인터페이스를 제공하는 객체
- GOF(Gang of Four)디자인패턴 : 생성패턴, 구조패턴, 행위패턴
- 생성패턴 : 추상팩토리(의존적인 객체들의 조합), 빌더(복잡한 인스턴스 조립, 생성과 표기분리), 팩토리메소드(상위클래스-인터페이스정의/ 하위클래스-인스턴트 생성),프로토타입(일반적인 원형을 복제, 필요한 부분만 수정), 싱글톤(전역변수 사용 않고 한 클래스에 한 객체만)
- 구조패턴 : 어댑터(기존 클래스 재사용, 덧씌움), 브리지(구현부에서 추상층 분리), 컴포지트(트리구조, 부분-전쳬게층), 데코레이터(기능을 추가해 나감), 퍼싸드(거대한 코드에 접근할 수 있는 단순한 인터페이스 제공), 플라이웨이트(유사 객체들 메모리 사용량 최소화), 프록시(접근 힘든 객체에 대한 대역 제공)
- 행위패턴 : 커맨드(캡슐화->재사용성 높은 클래스 설계), 옵저버(객체 상태 변화시 다른 객체들에게 연락), 템플릿 메소드(알고리즘 정의), 책임 연쇄(처리 못하면 다음 객체로), 중재자(객체간 의존성 줄여 결합도 감소), 전략(동일 알고리즘들 캡슐화 -> 상호교환), 메멘토(되돌리기)
- 팬인(어떤 모듈을 제어하는 수), 팬 아웃(어떤 모듈이 제어하는 수)
- 화이트박스테스트(내부구조와동작감시), 블랙박스테스트(기능작동여부확인)
- 배치프로그램 : 유저와 상호작용 없이 일련의 작업을 묶어 정기적으로 반복 수행하는 일괄 처리 방법
- 스프링 배치 : 스프링 프레임워크, 대용량 처리를 제공하는 세케줄러
- 쿼츠 스케줄러 : 스프링프레임워크에 플러그인, job/trigger 분리하여 유연성 제공하는 배치 스케줄러
- Cron 표현식 : 스케줄러를 실행시키기 위해 작업이 실행되는 주기를 설정하는 표현식
3. 통합구현
- 연계시스템구성: 송신시스템, 수신시스템, 중계서버
- 직접연계(DB Link, DB Connection, API, JDBC) vs 간접연계(EAI, ESB/Web Service, Socket)
- EAI : 기업에서 운영, 이기종 간 시스템 연계솔루션(Point-to-Point, Hub&Spoke, Message Bus, Hybrid)
- Adapter : 이기종 간을 연결하는 EAI의 핵심장치
- ESB : 기업에서 운영, 이기종간 서비스를 통합 -> 하나의 시스템으로 관리 운영(SOA의 토대, BUS이용)
- SOA(Service-Oriented Architecture) : 느슨하게 결합된 서비스 기반 app을 구현하기 위한 아키텍처 모델
- SOAP : HTTP, HTTPS, SMTP 프로토콜을 사용하여 XML 기반의 메시지를 교환하는 프로토콜
- WSDL(Web Service Description Language) : 웹 서비스에 대한 상세 정보를 기록한 파일
- UDDI(Universal Description Discovery Integration) : WSDL을 등록하고 검색하기 위한 저장소
- XML : HTML 문법이 호환되지 않는 문제와 SGML의 복잡함을 해결하기 위해 고안된 마크업 언어
- JSON : 비동기브라우저, 서버통신을 위해 속성-값 쌍으로 이루어진 개방형 표준 포멧
- AJAX : JS를 이용한 비동기 통신으로 클라이언트와 서버 간 XML데이터를 주고받는 기술
- REST : URL을 통해 자원을 명시하고 HTTP메서드를 통해 해당 자원을 조작할 수 있는 웹 아키텍처
5. 인터페이스 구현
- 인터페이스 설계서 : 이기종 시스템 및 컴포넌트 간 데이터 교환 및 처리를 위해 각 시스템이 교환되는 데이터, 업무, 송수신 주체 등이 정의된 문서
- 스니핑 : 직접 공격하지 않고 네트워크 중간에서 남의 패킷 정보를 몰래 도청하는 공격 기법
- IPSec : 무결성과 인증을 보장하는 인증 헤더와 기밀성을 보장하는 ip 보안 프로토콜(네트워크계층보안프로토콜)
- SSL/TLS : APP과 TCP/IP계층 사이(전송계층과 응용계층사이)에서 데이터를 암호화하고 기밀성 보장하는 공개키 기반 보안 프로토콜
- S-HTTP : 클라이언트와 서버 간에 전송되는 모든 메시지를 각각 암호화하여 전송하는 보안 프로토콜(클라이언트와 서버 간의 모든 메세지를 암호화하여 전송하는 보안프로토콜)
- 인터페이스 구현 검증을 위한 테스트 프레임워크 : xUnit(다양한언어), STAF(서비스 호출/컴포넌트재사용/다양한환경),FitNess(웹기반), NTAF(Fitness + STAF, NHN), Selenium(다양한 브라우저), Waitr(Ruby)
- 스카우터 : APP 모니터링 및 DB 모니터링, 인터페이스 감시 기능 제공하는 인터페이스도구
12. 제품 소프트웨어 패키징
- 릴리즈 노트 : 최종 사용자인 고객에게 잘 정리된 릴리즈 정보를 현재 시제로 제공하는 문서(헤더+개요)
- 릴리즈 노트 작성 : 모듈 식별 -> 릴리즈 정보 확인 -> 릴리즈 노트 개요 작성 -> 영향도 체크 -> 정식 릴리즈 노트 작성 -> 추가개선 항목식별
- DRM(디지털 저작권 관리) : 디지털 매체를 통해 유통되는 데이터의 저작권을 보호하기 위한 시스템
- Clearing House : 저작권에 대한 사용 권한, 라이서슨 발급, 결제 관리 등을 수행하는 곳
- PKI(public Key Infrastructure) : 공개키 암호화 방식 기반 디지털 인증서를 활용하는 sw, hw등을 총칭
- DOI(Digital Object Identifier) : 디지털 저작물에 특정 번호를 부여하는 일종의 바코드 시스템
- URI(Uniform Resource Identifier) : 인터넷에 있는 자원을 나타내는 유일한 주소
- 핑거프린팅 : 구매자정보삽입(구매자지문생각)
- 워터마크 : 판매자정보삽입
- MPEG-21 : 멀티미디어 프레임워크 표준 규격 , XrML : XML+권리조건표현
- 코드 난독화 : 역공학을 통한 공격을 막기 위해 프로그램 소스를 알아보기 힘든 코드로 바꾸는 기술
- 역공학 : 시스템의 구조 분석을 통해 기존에 개발된 시스템의 기술적인 원리를 도출해내는 작업
- Secure DB : 커널 암호화 방식으로 데이터베이스 파일을 직접 암호화, 접근제어/보안적요소추가된 기술
- CMS : 다양한 미디어 포맷에 따라 각종 콘텐츠 생산에서 활용, 폐기까지 전 공급과정을 관리하는 기술
- 형상관리 : SW변경사항을 관리하기 위해 개발된 일련의 활동
- 형상관리절차 : 형상식별 -> 형상통제(Base Line 조정) -> 형상감사 -> 형상 기록
- Base Line : SW 변경 통제 시점
- 버전 관리 도구 : 공유폴더(RCS), 클라이언트/서버(CVS, SVN), 분산저장소(GIT, Bitkeeper)방식
- SVN(Subversion) : cvs를 개선, 아파치에서 발표, 개발작업은 trunk 디렉터리에서 수행, revision 1씩증가
6. 화면설계
- UI : 유저와 시스템 사이에서 의사소통 할 수 있도록 고안된 물리적 가상의 매개체(CLI, GUI, NUI)
- UI설계원칙 : 직관성(누구나쉽게이해하고사용가능), 유효성(정확하고 완벽하게 사용자의 목표에 달성), 학습성(누구나쉽게 배우고 사용가능), 유연성(사용자의 인터랙션을 최대한 포용하고 실수방지)
- 리치클라이언트(SW 실행을 클라이언트가 책임) VS 씬 클라이언트(SW 실행을 전적으로 서버가 책임)
- SSO(Single Sing On) :한번의 로그인을 통해 다른 시스템에도 자동을 접속하여 이용하는 방법
- 페르소나 : 잠재적 사용자의 다양한 목적과 관찰된 행동 패턴을 응집시켜놓은 가상의 사용자
- 요구사항 매트릭스 : 페르소나의 목적을 기준으로 데이터요구, 기능의 기반으로 만든 요구사항 표
- 3C분석(고객/경쟁사/자가분석) , SWOT(강점/약점/기회/위협분석), 목업(와이어프레임보다 더 실제처럼)
- 와이어프레임 : 이해관계자들과 화면구성을 협의하거나 화면 단위로 대략적인 레이아웃만 구성한 문서
- 스토리보드 : UI화면설계를 위해 와이어프레임과 DB연동, 정책 등 구축하는 서비스의 정보가 수록된 문서
- 프로토타입 : 정적화면으로 설계된 와-프, 스-보에 동적인 요소를 적용하여 만든 시뮬레이션 가능한 모형
1. 요구사항 확인
- 프레임워크 : 소프트웨어의 특정 부분 설계 및 구현 시 재사용이 가능하도록 클래스 제공
- 소프트웨어 프레임워크의 특징 : 모듈화(인터페이스에 의한 캡슐화), 재사용성(반복적으로 사용하는 컴포넌트를 정의할 수 있게 함), 확장성(다형성을 통해 프레임워크의 인터페이스를 넓게 사용), 제어의 역흐름(프레임워크 코드가 전체 애플리케이션의 처리 흐름을 제어 -> 제어가 반대로 흐르게 한다)
- 다형성 : 프로그래밍 언어의 요소들이 다양한 자료형에 속하는 것이 허가되는 성질(오버로딩, 오버라이딩)
- Component : 특정 기능 수행을 위해 독립적 개발/보급되고 다른 부품과 조립되어 사용되는 S/W단위
- 4+1뷰 : 유스케이스, 논리,프로세스,배포, 구현 뷰
- JDBC : JAVA 언어를 이용하여 DB에 접근하여 관리할 수 있는 인터페이스
- ODBC : 응용프로그램에서 DB에 접근하여 데이터를 관리할 수 있는 표준 인터페이스
- MiddleWre : 운영체제와 sw사이에서 원만한 통신이 이루어질 수 있도록 중개/제어 역할을 하는 sw
- RPC(Remote Procedure Cal) : 원격프로시저를 마치 로컬 프로시저처럼 호출하는 방식의 미들웨어
- MOM(Message Oriented Middleware) : 메시지기반의 비동기형 메시지를 전달하는 방식의 미들웨어
- TP-Monitor : 온라인 트랜잭션 업무에서 트랜잭션을 처리 및 감시하는 미들웨어
- ORB(Object Request Broker) : 코바(CORBA)표준 스펙을 구현한 객체지향미들웨어
- WAS(Web Application Server) : 사용자의 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어
- OLTP(Online Transaction Processing) : 네트워크에서 여러 이용자가 실시간으로 DB작업 처리하는 방식
- tpmC : 특정서버1분당 최대 처리 건수, 객관적인 하드웨어 성능 지표로 사용
- 요구사항 개발 프로세스 : 도출->분석->명세 -> 확인
- Prototyping : 새로운 요구사항 도출 수단/요구사항에 대해 개발자가 해석한 것을 확인하기 위한 수단
- 하향식 선정방법 : 전문가판단, 델파이기법(전문가들의 경험적 지식을 통해 미래예측)
- 상향식 선정방법 : LOC, MAN/Month, Putnam(개발주기 단계별요구+인원분포, COCOMO(프로그램규모)
- UML : 개발자들의 의사소통을 원할히 해주는 객체지향 모델링 언어 -다이어그램,사물,관계
- UML 관계 : 연관 ㅡ, 집합◇ , 포함(영향끼침)◆ , 일반화 , 일반화 ―|> , 의존(일시적)--->, 실체화 ---|>
- 구조적다이어그램 : 클래스, 객체, 컴포넌트, 배치, 복합체 구조, 패키지
- 행위 다이어그램 : 유스케이스, 시퀀스(메시지흐름), 커뮤니케이션, 상태, 활동, 상호작용개요, 타이밍
연서중재시험문제
- NAT : 1개의 정식 IP주소에 대량의 가상 사설 IP주소를 할당 및 연결하는 기능
- VLAN(Virtual Local Area Network) : 하나의 물리적 스위치를 여러개의 논리적 환경으로 구성해서 각각 다른 설정과 관리를 할 수 있는 네트워크 가상화 기술 (데이터링크계층, 브로드캐스트도메인을나누기위해사용), 물리적인네트워크와 상관없이 논리적으로 네트워크를 분리하는 기술
- SYN FLOODING : 3wayhandshake과정을 의도적으로 중단
- JVM : 자바기반 app을 위해 시스템 메모리를 관리하고 실행 환경을 제공하는 가상 머신
- OTP(One Time Password) : 내용유출을방지하기 위한 1회용암호
- SSL : 전송계층과 응용계층사이에서 클라이언트와 서버 간의 보안 프로토콜
- FROM 테이블 A JOIN 테이블 B ON A.학과=B.학과
- 블랙박스테스트(동치분할검사(동든분할기법),경계값분석,원인-효과그래프검사), (Equivalence Partitioning Testing, Boundary Value Analysis, Cause-Effect Graphing Testing)
- 상향식통합테스트(하위모듈에서 사우이모듈방향으로 통합하면서테스트하는기법),드라이버(하위모듈을호출, 파라미터전달)
- 자바상속
- 파이썬(True,False)첫글자대문자
- 자바비트연산(^, &, |)
- c재귀함수
- 자바 참 거짓판별
- c이차원배열
'정보처리기사' 카테고리의 다른 글
정처기 시험 전 볼 자료 (0) | 2023.07.22 |
---|---|
정보처리기사 실기 키워드 정리(더 간략히) (0) | 2023.07.21 |
정보처리기사 실기 2트도전(1단원~12단원 이론정리) (0) | 2023.07.02 |