정보관리 기술사 공부

주요 토픽 정리 61~90 [소프트웨어공학, 네트워크]

장술사 2023. 7. 26. 22:41
반응형

 

토픽 키워드 두음신공 주요 내용
WBS(Work Breakdown Structure) 업무 세분화, 산출물 관점, 구조화 산관세전, 페식DRAM, 126
(정의) 프로젝트 관리와 통제를 목적으로 추진 단위 업무를 세분화하여 산출물 관점에서 구조화 한 체계
(특징) 산출물 중심, 관리기능, 세분화, 전후관계 정의
(구성요소)
. Work Package(WBS 최하위 작업 단위), 식별자, WBS Dictionary(WP 상세 내용), RAM(Responsibility Assignment Matrix)
(작성기준) One-Week 원칙(1 Task는 5일 이상), Two-Week 원칙(1 Task는 최대 10일), Six-Month 원칙(대상 범위 밖은 요약수준)
일정관리 납기준수 정순자기개통
(정의) 프로젝트 납기 준수를 위해 개발 기간의 단계적 계획, 감시, 통제하는 프로젝트 관리 기법
(프로세스) 활동 정의, 활동 순서배열, 자원 산정, 기간 산정, 일정 개발, 일정 통제
(일정 관리기법) CPM, CCM
(일정 단축기법) Crashing / Fast Tracking / Resource Leveling / What If 시나리오
일정관리 기법 CPM(float, 전진, 후진), CCM(버퍼) 파자후학, 프피자
* CPM(Critical Path Method)
(정의) 내장된 여유시간(Float)을 가지고 있지 않은 일련 업무/작업 순서를 개발하는 방법, 자원제약 사항 미반영
(일정 계산 방법) 전진 계산(종료일 도출), 후진 계산(시작일 도출)
(납기 지연의 이유)
. 일부 활동 기간 단축해도 전체일정 변함 없고, 일부 활동 지연되면 전체 일정 지연, 자원제약 조건을 반영 시 일정지연, 일정 과다 산정
* CCM(Critical Chain Method)
(정의) 자원제약사항을 고려한 일정관리 기법으로 여유시간을 통합된 버퍼로 책정하고 모니터링하여 전체 프로젝트 일정을 관리하는 방법
(버퍼관리 기법)
. 프로젝트 버퍼(버퍼 통합, 마지막 끝에 배치, 안전/모니터링/행동 영역), 피딩 버퍼(Non-Critical Chain과 Critical Chain의 연결 지점에 배치), 자원 버퍼(일종의 경보장치, Critical Chain을 수행하는 자원에게 선행작업이 끝나감을 알려주는 버퍼)
* 납기 지연 4가지 법칙
. 파키슨의 법칙(주어진 시간 다 사용), 자기 방어(추가 작업 우려 완료 사실 숨김), 후행작업 준비미흡, 학생 증후군(닥쳐야 시작)
일정단축 기법(Compression) Scope 변경 없이 크자패시
(정의) Scope 변경 없이 프로젝트의 일정을 단축시키는 방법
(종류) Crashing(Critical Path에 신규자원 추가), Resource Leveling(자원 평준화), Fast Tracking(병렬 처리), What-if 시나리오(일정 지연 요소 분석)
갈등관리 갈등의 적절한 관리 수해절회관
(갈등 관리) 갈등의 적절한 관리를 통해 IT 프로젝트의 성과 저해요인은 제거하고 생산성을 높이는 방안을 강구
(갈등 정의) 목적, 이해 또는 아이디어 등과 관련하여 구성원 사이에 강한 불합의나 불일치가 있는 현상, 순기능/역기능
(갈등 원인)
. 개인갈등 : 내적요인 - 다양한 성격, 목표 불일치, 의견 불일치 / 외적요인 - 역할 불만족, 지위 불일치, 의사결정
. 집단갈등 : 상호의존 관계, 목표의 차이, 제한된 자원, 보상 구조
(해결 전략) Smoothing(수용), Problem Solving(해결), Compromising(절충), Withdrawing(회피), Forcing(관철)
위험관리 부정적 영향요소 관리 계식정량대통, 회전완수/활공증수
(정의) 프로젝트 완수에 부정적 영향요소를 억제, 관리하는 방법과 절차
(프로세스) 위험관리 계획 → 위험식별(체크리스트, 델파이) → 정성적 위험분석(PI매트릭스) → 정량적 위험분석(몬테카를로, 민감도 분석, 의사결정 분석) → 위험대응 → 위험통제
(위험대응 방법) 부정적 대응 : 회피, 전가, 완화, 수용 / 긍정적 대응 : 활용, 공유, 증대, 수용
* 델파이 : 전문가 분석, *PI매트릭스 : 확률(Probability)/영향력(Impact) 분석, * 몬테카를로 : 모의 프로젝트 수행, * 민감도 분석 : 임의의 한 위험만 변동하여 영향 분석
Function Point(기능점수) 정규법, 간이법  
(정의) 기능 유형별 수량과 성능 및 품질요인들의 영향도를 고려하여 계산, 사용자 관점
(산정요소) 트랜잭션 기능 : 외부입력(EI), 외부출력(EO), 외부조회(EQ) / 데이터 기능 : 내부논리파일(ILF), 외부연계파일(EIF, External Interface File)
(방법) 정규법 : 상세한 항목 이용한 정교한 기능점수 측정 / 간이법 : 평균 복잡도 적용한 개략적인 산정
Observer Pattern(옵저버 패턴)
일대다 의존성, Push, Pull
 
(정의) 한 객체의 상태가 바뀌면 의존관계의 다른 객체들에게 연락이 가고, 자동으로갱신되도록 일대다 의존성을 정의한 패턴
(방식)
. Push 방식 : Subject가 데이터 변경 시 Observer에게 알림
. Pull 방식 : Observer가 갱신된 데이터가 필요할 때 가져옴, Getter 메소드
MVC 패턴
비즈니스 로직 분리
 
(정의) 사용자 인터페이스로부터 비즈니스 로직을 분리하여 서로 영향 없이 설계가 가능하게 하는 SW 아키텍처 패턴
(구성요소) Model(비즈니스 로직, 데이터 처리, JavaBeam), View(사용자 프리젠테이션 로직, JSP), Controller(입력, 흐름제어, Servlet)
함수형 언어
함수 응용 강조, Haskell, Scala, Erlang
 
(정의) 자료처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 함수의 응용을 강조한 프로그래밍 언어
(특징) 순수한 함수(side-effect 없음), 익명 함수(이름 없는 함수), 고계 함수(함수를 다루는 함수)
(유형) Haskell(지연 계산 기반, 병렬 프로그래밍에 적합), Scala(객체지향 장점 이용, JVM 실행 가능, 확장성 높음), Erlang(실시간 시스템을 위함, 얼랭)
* 명령형 함수 : 상태를 바꾸는 것을 강조, side-effect 부작용, 참조 투명성 없음, 같은 코드도 실행되는 상태에 따라 다른 결과 가능
FOSS(Free and Open-Source Software)
저작권, 라이선스 의무사항, 양립성
 
(정의) 저작자가 쏘쓰코드를 공개하여 누구나 사용, 수정, 재배포가 가능한 소프트웨어, 단 저작권과 라이선스 의무사항 준수 필요
(종류) 반환의무(GPL, MPL, LGPL), 반환불필요(BSD, Apache, MIT)
(양립성) 서로 다른 의무사항을 가진 공개SW 라이선스는 의무사항 충돌로 인해 양립이 불가능한 경우가 발생
IT 컴플라이언스
  개보관, 존호공내책
(정의) 기업의 투명성 강화, 리스크 관리를 위해 정부나 관련 기관의 각종 규제, 법안 등에 준수하도록 IT 관점에서 시스템을 재정비하는 활동
(규제 종류) 개인정보보호, 정보보안, 정보관리
(요구사항) 데이터 보존/보호/공개, 내부통제, 책임성
(대응방안)
. 인식 전환 측면 : 조직 교육(CSR 강화), 조직 구성(IT 컴플라이언스 Officer 도입, C-Level 책임 강화)
. 제도 측면 : IT 거버넌스 확립, Litigation Hold 정책 수립(소송대비 자료보존) / 기술 측면 : 문서/데이터 보호, 레그테크
* CSR : Corporate Social Responsibility, 기업의 사회적 책임
SW사업정보 저장소
발주체계 정립, 발주자 역량강화
 
(정의) SW사업정보를 수집/분석하여 제공함으로써 공공 SW발주 체계를 정립하고 발주자의 역량을 강화하기 위한 제도, SW산업 진흥법 제 22조
(개념도) 데이터 제출 → 데이터 수집 및 관리(기간, 금액, 기능점수(FP), 투입공수, 요구사항, 품질 정보) → 서비스 활용(예산 수립, 대가산정 참조, 유사사업 요구사항 정보 등)
(절차) 사업 기본정보 등록(계약 직후, 발주자, 사업명/개발유형/수주자 PM 정보) → 1차 데이터 제출(계약완료 후 1개월 내, PM, 계약/FP정보) → 1차 데이터 검증(저장소 관리자 검증 후 등록) → 1차 데이터 승인(발주자)→ 2차 데이터 제출/검증/승인(설계완료~종료, 종료정보, FP정보)
퍼즈 테스팅(Fuzz)
무작위 값 입력 보안 테스트
 
(정의) SW에 유효하지 않은 값이나 무작위 값을 입력하여 기대하지 않는 결과를 도출하여 에러와 잠재적 취약점을 식별하는 보안 테스트
(유형) 블랙박스 퍼징(내부 분석 X), 화이트박스 퍼징(소스 코드 기반 분석 후), 그레이박스 퍼징(내부 구조 일부만 분석 후 블랙박스 테스트)
공공소프트웨어 사업 영향평가제
민간 시장 영향 분석
 
(정의) 국가기관 등의 소프트웨어 사업 추진 시 민간 시장에 미치는 영향을 분석해야하는 제도
(개정 내용, 2018) 제도의 법적 근거 마련, 모든 소프트웨어 사업 전 단계 평가 강화, 평가결과 사업에 반영, 평가 전문가 풀 제공
ATAM(Architecture Tradeoff Analysis Method)
SW 아키텍처 평가 방법, 품질속성 이해상충
 
(정의) 아키텍처의 품질 속성 만족 여부 및 품질속성들의 이해상충(Trade-off) 관계를 분석하여 평가하는 SW 아키텍처 평가 방법, 시나리오 기반
(절차) Root 유틸리티 선정(품질속성 목표) → 품질속성 구성(하위, 상세) → 시나리오 순위 지정(우선순위, 중요도(H/M/L), 난이도) → 아키텍처 선정(이해상충 고려)
* 유틸리티(Utility) : 시스템이 제공해야 할 모든 품질을 의미
성능 테스트
목표치 달성 여부 확인
 
(정의) 시스템이 주어진 환경에서 요구사항의 목표치를 달성하는지 확인하는 테스트
(유형)
. 목적 분류 : 단위(업무 단위별), 복합(시스템 사용 상황 재현), 임계 성능 테스트(최대 성능 측정)
. 방법 분류 : 루프백(병목지점 도출), 확장성, 가용성, 티어 테스트(부하 지점 찾는 테스트)
(파라미터) TPH(Transaction Per Hour), TPM, TPS, 최대 동시 사용자수, 응답시간, 유휴시간(사용자 Think Time), 요청간격시간(응답시간+유휴시간)
OSI 7 Layer
개방형 시스템 상호연결 기본 모델
 
(정의) 이기종 시스템간 연결 및 정보 교환 시 충돌 문제 완화를 위한 표준화된 개방형 시스템 상호연결 기본 모델, Open System Interconnection
(목적) 표준(호환성), 학습도구, 비용절감
(계층, *표준)
. 물리 : Bit, *RS232(PC,모델 등 직렬방식 인터페이스), *RS449(DTE, DCE 상호 접속 인터페이스 표준)
. 데이터링크 : MAC/LINK, 프레임, *IEEE 802.3(LAN 구현 표준), *ISO 3309(데이터링크 제어 프로토콜)
. 네트워크 : 패킷, *IETF RFC 791(IP), 792(ICMP), 826(ARP), 전송 : 세크먼트, 다중화/역다중화: 소켓들↔세그먼크, *IETF RFC 793(TCP), 768(UDP), 4960(SCTP)
. 세션 : 메시지, *IETF RFC 1002(NetBIOS), 3493(WinSock)), 표현 : *IETF RFC 5246(SSL), 3003(MPEG), 응용 : *IETF RFC 2068(HTTP), 3414(SNMP), 1939(POP3)
* TCP/IP Protocol : Network Interface(1,2), Internet(3), Transport(4), Application(5~7)
서비스 프리미티브(Primitive)
  계동방파, 요지응확
(정의) OSI 참조모델에서 서비스 이용자와 제공자 간 상호 동작 시 제공하는 서비스만을 중심으로 규정한 개념적인 연동 규약, 통신 계층에 의해 제공되는 계층간 서비스를 서비스 프리미티브 형태로 표현
(표현) 계층(L,N,T,S), 동작이름(CONNECT, DISCONNECT, DATA), 프리미티브 방향(요청, 지시, 응답, 확인), 파라미터(주소, 데이터, 서비스 형태 등)
(예시) T.CONNECT.request(called address, calling address,...,user data)
L7 스위치 SLB, 부하분산  
(기능)
. SLB : 가상서버(리얼서버의 집합), 리얼서버(동일 서비스 제공하는 복수의 물리서버)
. 캐쉬 리다이렉션, 방화벽 부하분산, VPN 장비 부하분산, 네트워크 부하분산
2계층 오류 제어
  무반포백하
(오류 제어 방식) 오류 무시, 반향(Echo) 검사, FEC(전진, 수신측 오류 수정, 해밍코드), BEC(후진, 재전송 요구, ARQ), HARQ(FEC+ARQ)
(BEC, 검출 후 재전송)
. 패리티 검사(Parity Check, 1개의 부가 Bit 추가), 블록합(Block Sum), CRC(Cycle Redundancy Check, 복수 오류 검출, 이진 나눗셈 및 XOR 연산)
* ARQ : Automatic Retransmit reQuest
TCP/IP    
(주소) 물리 MAC 주소(48bit), IP 주소(32bit), 포트 주소(16bit)
(연결 수립/종료) 수립 : 3-way Handshaking, 종료 : 4-way Handshaking
전송계층 역할
흐름/오류/혼잡 제어
 
(주요 역할)
. 흐름 제어 : 수신측 처리속도보다 더 빨리 보내지 못하도록 제어, 슬라이딩 윈도우(Min[cwnd, rwnd])
. 오류 제어 : 전송 중 발생한 에러 검출/보정, checksum, Ack, 3 duplicate Acks, RTO
. 혼잡 제어 : 혼잡을 미연에 방지, Slow Start, Congestion Avoidance, Fast Restransmit, Fast Rrecovry
* 슬라이딩 윈도우 : 윈도우 크기 만큼 송신측에서 확인 응답 없이 전송할 수 있게하여 흐름을 동적으로 조절하는 방식, 열림/닫힘 동작
(일반 역할) 종단간 연결, 서비스지점 포트 주소 지정, 다중화/역다중화, 분할/재조립
SCTP(Streaming Control Transmission Protocol) TCP+UDP, Chunk, 멀티호밍, 멀티스트리밍 호스4
(정의) TCP와 UDP의 장점을 결합한 고신뢰성 전송계층 프로토콜
(패킷 구조)
. Src/Dst Port, Verification Tag(Association별 할당, 세션 식별자), Checksum
. Chunk-n : 제어정보, 응용 데이터, TSN(세션 흐름제어/오류복구), Stream ID, SSN(Stream별 순서화)
(특징 및 기능)
. 멀티호밍 지원 : 여러 IP 주소 동시 사용, 다중경로 지원
. 멀티스트리밍 : 하나의 세션에 다수의 스트림, 스트림별 제어, TCP HOL 문제 해결
. 세션 관리 : 초기화-4way, INIT, Cookie-ECHO 사용, TCP Syn 공격 방지 / 종료-3way, SHUTDOWN-ACK/CMPL, TCP Half-open 문제 해결
. 오류제어 위해 SACK, 경로관리 위해 HEARTBEAT 사용
CWDM, DWDM
광 다중화 전송 기술
 
* WDM (Wavelength Division Multiplexing) : 여러 개의 광 신호 파장을 동시에 사용하는 광 다중화 전송 기술
(CWDM, Coarse) : 1300 ~ 1600nm, 간격 20nm, 80km
(DWDM, Dense) : 1550nm 부근, 간격 0.1nm, 수백 km
다원접속(Multiple Access)
고정할당, 동적할당
 
(정의) 주어진 시간, 공간, 주파수, 코드 등을 여러 단말이 공동으로 사용하는 전송 기술, 전파가 전달되는 공간에서 다중화
(유형)
. 고정할당 방식 : FDMA, TDMA, SDMA, CDMA, OFDMA(Division Multiple Access)
. 동적할당 방식 : 자원경합방식(CSMA/CD, CSMA/CA, ALOHA), 자원비경합방식(Token Bus, Token Ring)
* 다중화 : 동일 지점에서 데이터를 모아 송출할 때의 기술, SDM, FDM, TDM, CDM, WDM(Division Multiplexing)
CSMA(Carrier sense multiple access) 지속 방식(1,n,p) 1np
(정의) 유무선 LAN 네트워크에서 잦은 충돌로 인한 전송 성능 저하를 개선하기 위한 충돌 제어 기법
(지속 방식, Persistent Mechanism) 채널이 사용 중이거나 휴지상태일 때 어떻게 행동하느냐에 관한 방식
. 1-persistent : idle → 즉각 전송, 가장 높은 충돌 위험
. non-persistent : idle → 즉각 전송, busy → 랜덤 시간 기다리고 다시 감지, 낮은 효율
. p-persistent : idle → 확률(P) 선택, P=1이면 즉각 전송, 아니면 q(=1 - p)만큼 기다리고 다시 감지, 충돌 줄이고 효율 높임
CSMA/CD(Collision Detection)
802.3, 유선랜, Back-off 시간
 
(정의) 전송 전 채널 확인, 전송 중 충돌 감지 및 재전송 기법 (IEEE 802.3, 유선 이더넷 LAN)
(재전송 방법) 충돌 발생 시 지속 재전송 시도, 재시도마다 Back-off시간 2배씩 증가, 16번 발생→전송중지(에러 보고)
CSMA/CA(Collision Avoidance) 802.11, 무선랜, RTS, CTS, NAV RC나브
(정의) 전송 전 채널 확인하여 충돌 회피 (IEEE 802.11, 무선 LAN)
(회피 방법)
. IFS(Inter Frame Space) : Idle해도 전송을 늦춰 충돌 회피(첫번째 회피 방법)
- SIFS(Short, 1순위, ACK, CTS 등), PIFS(PCF, 2순위, 품질 중요 서비스), DIFS(DCF, 3순위, 일반 서비스)
. Contention Window(다툼 구간) : time-slot, 임의의 수 선택하여 대기(두번째 회피 방법)
. ACK : Ack와 Timer 이용 수신 보장
(숨겨진 노드 문제 : NAV로 해결, Network Allocation Vector)
. 서로의 송신이 검출되지 않는 노드, B↔C 통신중 이를 감지하지 못하고 A→B로 데이터 송신시 충돌
. 송신측이 RTS(Request to send) 전달, 수신측이 CTS(Clear to Send) 응답
. 나머지 단말들은 RTS/CTS에 포함된 정보로 NAV시간을 계산하고 NAV 타이머를 설정하여 그 시간 동안 미디어 사용을 제한.
데이터 전송 부호화(Encoding) 소스, 채널, 라인 소채라, 바보맨유
(종류)
. 소스 코딩 : 전송 효율을 높이기 위한 아날로그→디지털(비트) 변환 과정, 중복제거, JPEG, MPEG, 허프만 코딩, Run Length 코딩
. 채널 코딩 : 디지털 형태 신호(비트)를 전송에 적합하게 변환하는 과정, 오류정정 기법, 해밍코드, CRC 코드, BCH 코드
. 라인 코딩 : 2진 비트 데이터를 디지털 신호(실제 전송을 위한)로 바꾸는 과정
- Bipolar(양극형, 양/음/0), Polar(극형, 양/음, 맨체스터 인코딩), Unipolar(단극형, 양/0)
* 맨체스터 인코딩 : 비트 중간에 극성 변화, 동기화, 오류검출, IEEE 802.3 이더넷에서 사용, 0: high→low, 1: low→high
반응형