정렬
선택정렬
- queue를 이용하여 정렬
- 최솟값을 찾아서 해당 값과 위치 교체
버블정렬
- 인접한 데이터를 비교하면서 데이터의 위치를 바꾸어 정렬하는 방법
- 첫번째 자료부터 비교하며 여러번의 교체가 발생
- 한번의 Pass 내에서 다수의 교체 발생
삽입정렬
- 두 번째 자료부터 시작하여 그 앞 (왼쪽)의 자료들과 비교하여 삽입할 위치를 지정한 후 자료를 뒤로 옮기고 지정한 자리에 자료를 삽입하여 정렬
합병정렬
- 하나의 리스트를 두개의 균등한 크기로 분할하고 분할된 부분 리스트를 정렬한 다음, 두 개의 정렬된 부분 리스트를 합하여 전체가 정렬된 리스트가 되게 하는 방법
소프트웨어 비용 산정 기법
- COCOMO : 시스템의 비용을 산정하기 위해 시스템을 구성하고 있는 모듈과 서브 시스템의 비용 합계를 계산하는 방식 중 하나. (organic < semi-detached < embedded)
- PUTNAM : 소프트웨어 개발 주기간 단계별로 요구할 인력의 분포를 가정하는 모형
- Rayleigh-Norden 곡선의 노력 분포도를 기초로 한다.
- SLIM : Putnam 기법 모형을 기초로 개발된 자동화 추정 도구.
- FP (Function-Point) : 요구 기능을 증가시키는 인자별로 가중치를 부여하여 기능의 점수를 계산하여 비용을 산정
인터페이스 구현 검증도구
- xUnit, STAF, Fitnesse, NTAF, Selenium, watir
개발 방법론
- 테일러링(Tailoring) : 상황 특성에 맞게 정의된 소프트웨어 개발 방법론 절차, 사용기법등을 수정 및 보완하는 작업
- 내부적 요건 : 목표환경, 요구사항, 프로젝트 규모, 보유기술
- 외부적 요건 : 법적 제약사항, 표준 품질 기준
인터페이스 보안
네트워크 영역
- IPSec
- SSL
- S-HTTP
무결성 분석 도구
- Tripwire : 크래커가 침입하여 백도를 만들어 놓거나 설정파일을 변경했을 때 분석하는 도구
- Aide : Tripwire를 대신할 수 있는 도구로 파일의 무결성 검사
- sXid : MD5 체크섬을 사용하여 suid, sgid 파일을 추적루트키트가 설치되어있는지 검사. 자동으로 파일을 추적하고 경고한다.
- Claymore : 침입탐지 및 무결성 모니터링 도구. 크론 테이블을 이용하여 주기적으로 파일시스템의 변조유무를 확인.
- Samhain : 시스템의 무결성을 점검하는 도구.
- Slipwire : 파일시스템의 무결성을 검사하는 도구
- Fcheck : 유닉스 파일시스템의 변조유무를 점검하기위한 PERL script 도구.
네트워크 관리 신기술
- IoT : 실세계와 가상세계의 사물을 인터넷으로 연결하려 서비스 제공하는 기술
- M2M : 무선 통신을 이용한 기계와 기계 사이의 통신
- 모바일 컴퓨팅 : 휴대형 기기로 이동하면서 자유로이 네트워크에 접속하여 업무를 처리할 수 잇는 환경
- 클라우드 컴퓨팅 : 각종 컴퓨팅 자원을 중앙에 두고 인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷을 통해 컴퓨터 작업을 할 수 있는 환경
- 모바일 클라우드 컴퓨팅(MCC) : 클라우드 서비스 이용 소비자끼리 클라우드 컴퓨팅 인프라 구성하여 여러 정보와 자원을 공유하는 ICT 기술을 의미
- 인터클라우드 컴퓨팅 : 각기 다른 클라우드 서비스를 연동 및 컴퓨팅 자원의 동적 할당이 가능하도록 여러 클라우드 서비스 제공자들이 제공하는 클라우드 서비스 자원을 연결하는 기술
- 메시 네트워크 : 차세대 이동통신 공공안전 등 특수 목적을 위해 새로운 네트워크 기술로 대규모 디바이스의 네트워크 생성에 최적화
- 와이선 : 스마트 그리드와 같은 장거리 무선통신을 필요로하는 사물 인터넷 서비스를 위한 저전력 장거리 통신기술
- NDN : 콘텐츠 자체의 정보와 라우터 기능만으로 테이터 전송을 수행하는 기술
- NGN : 유선망 기반의 차세대 통신망
- SDN : 네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각각의 소프트웨어들로 네트워킹을 가상화하여 제어하고 관리하는 네트워크
- NFC : 고주파를 이용한 근거리 무선 통신기술
- UWB : 짧은 거리에서 많은 양의 디지털 데이터를 낮은 전력으로 전송하기 위한 무선 기술
- PICONET : 여러개의 독립된 통신장치가 블루투스 기술이나 UWB통신 기술을 사용하여 통신망 형성
- WBAN : 웨어러블 형태의 센서나 기기를 무선으로 연결하는 네트워킹 기술
- GIS : 지리적인 자료를 수집하여 수집 저장 분석 출렿랄 수 있는 컴퓨터 응용 시스템
보안요소
- 기밀성(열람) : 그 기밀성 내에서 인가된 사용자만이 내용을 확인할 수 있다.
- 가용성(사용) : 오직 인가된 사용자만이 내용을 확인 할 수 있는 것.
- 무결성(수정) : 시스템 내의 정보는 오직 인가된 사용자만 수정할 수 있다.
소스코드 품질분석 도구
정적분석 도구
- pmd
- checkstyle
- cppcheck
- ...
테스팅 기법
- 알파 테스트 : 개발자 환경에서 사용자가 개발자 앞에서 행하는 테스트
- 베타 테스트 : 선정된 최종 사용자가 여러명의 사용자 앞에서 행하는 테스트
- 인수 테스트
해싱함수
- 제산법
- 제곱법
- 중첩법(폴딩법)
- 숫자분석법
- 기수변환법
- 무작위방법
통합시험
하향식
- Stub : 제어모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구로, 일시적으로 필요한 조건만을 가지고 있는 시험용 모듈.
상향식
- Driver : 테스트 대상 하위 모듈을 호출하고, 파라미터 전달, 모듈 테스트 수행 후의 결과 도출
프로그램 설계도
- NS Chart
- 논리의 기술에 중점을 둔 도형을 이용한 표현방법
- 순차, 선택, 반복으로 표현
- 임의의 제어이동이 어렵다
- goto구조가 어렵다
- 그래픽 설계도구
- 상자도표
- 프로그램으로 구현이 쉽다
- 조건이 복합되어 있는 곳의 처리를명확히 식별하기에 적합
- if문이 여러개일 때 가능하다.
ETC...
- CMM (Capability Maturity Model)의 레벨 : 초기단계, 관리단계, 정의단계, 정량적 관리단계, 최적화단계
- 블록 암호화 방식 : DES, RC5, AES, SEED, IDEA
- 소프트웨어 정의 데이터 센터 (SDDC : Software Defined Data Center)
- 데이터 센터의 모든 자원을 가사화
- 다양한 소프트웨어 정의 기술이 사용됨
- 유연한 제어가능 / 비용절감 가능 / 운영이 편리
- 하드웨어와 독립적
- 취약점
- 랜섬웨어 : 임의로 시스템을 잠그거나 혹은 데이터를 암호화하여 사용할 수 없게한 후 돈요구
- 파밍 : 홈페이지 주소를 바꿔 사용자가 진짜 사이트로 오인하게 하여 접속하게 한 후 개인정보 탈취
- 피싱 : 메일 등으로 공공기관이나 금융기관에서 보낸 것처럼 위장하여 사기 (ex : 스미싱)
- XSS : 웹페이지에 악의적인 스크립트를 포함시켜 사용자측에서 실행되게 유도함으로써 정보유출등의 공격을 유발
해시 암호화 알고리즘 | 대칭 키 암호화 알고리즘 | 비대칭 키(공개 키) 암호화 |
MD4, MD5, SHA-1 | AES, DES, SEED, ARIA, TDES, IDEA | 디피-헬만, RSA(소인수분해), ECC, DIGAMAI |
'정보처리기사' 카테고리의 다른 글
4. 프로그래밍 언어 (0) | 2024.03.03 |
---|---|
1. 소프트웨어 설계 (0) | 2024.02.18 |
댓글