본문 바로가기

2020

(28)
[2020 정보처리기사 실기 암기] 1-2. 요구사항 확인 * 요구사항 분류 기능적 요구사항 / 도출 방법 : 특정 입력과 상황에 대한 시스템 반응 및 동작 기술 / 특성 : 기능성, 완전성, 일관성 비기능적 요구사항 / 도출 방법 : 품질 속성 관련 시스템 갖출 사항, 시스템 준수할 제약조건 / 특성 : 신뢰성, 사용성, 효율성, 유지보수성, 이식성 * 요구사항 개발 프로세스 : 요구사항 도출 -> 분석 -> 명세 -> 확인 * 요구사항 명세 체계적으로 검토 평가 승인될 수 있는 문서 작성 단계 시스템 정의, 시스템 요구사항, 소프트웨어 요구사항 작성 * 요구사항 도출 단계 주요 기법 : 인터뷰, 설문조사, 브레인스토밍, 워크숍 * 요구사항 분석 단계 주요 기법 : 자료흐름 지향분석, 객체지향 분석 * 요구사항 명세 단계 주요 기법 : 자연어에 의한 방법, 정..
[2020 정보처리기사 실기 암기] 1-1. 현행시스템 분석 * 현행 시스템 파악 : 사용하는 SW HW가 무엇인지, 네트워크 구성은 어떻게 되는지 * 현행 시스템 파악절차 1. 구성 기능 인터페이스 파악 - 시스템 구성 현황 파악 : 정보시스템 주요명칭, 주요 기능 - 기능현황 파악 : 단위업무 시스템을 주요기능, 하부기능으로 구분해서 계층형 표기 - 인터페이스 현황 파악 : 데이터 형식, 통신 규약, 연계 유형 2. 아키텍처, 소프트웨어 구성 파악 - 현행 시스템 아키텍처 구성 파악 : 기간 업무처리 시스템을 기준으로 파악 - 소프트웨어 구성 파악 : 라이선스 적용방식과 보유한 라이선스 수량 파악 3. 하드웨어 및 네트워크 구성 파악 - 하드웨어 : 서버 위치, 사양, 수량, 이중화 구현 여부 파악 - 네트워크 : 네트워크 구성도로 서버 위치, 서버 간 네트워..
[2020 정보처리기사 실기 - 프로그래밍 언어 활용] 2. 언어 특성 활용하기 - 2 * 객체지향 프로그래밍 언어 객체지향은 구조적 방식의 문제점을 극복하고 인간이 사고하는 방식대로 프로그램을 개발하려고 탄생 객체라는 실 세계에 존재하거나 또는 개념적인 그 어떤 것을 표현한 것을 이용하여 프로그래밍 하는 방식을 말함 1) 기존 프로그래밍과 비교 - 기능 중심의 프로그램과 달리 기능과 자료가 통합된 객체 단위로 프로그래밍 2)객체 프로그래밍 구성 : 객체, 클래스, 메세지 객체 구성: 개체, 속성, 메소드 3) 대표적인 객체지향 프로그래밍 언어 : JAVA, C#, 델파이, 스위프트 4) 객체지향 프로그램의 특징 - 캡슐화와 정보은닉 캡슐화는 기능과 데이터를 하나로 묶어 객체로 표현하는 것을 말함 클래스 내부의 동작을 모르더라도 클래스가 제공하는 메서드를 사용해서 클래스의 기능을 사용할 수..
[2020 정보처리기사 실기 - 프로그래밍 언어 활용] 2. 언어 특성 활용하기 - 1 * 프로그래밍 언어의 발전 과정 - 1960년 이전 : ASSEMBLY, FORTRAN, LISP - 1960년대 : COBOL, PL/I, BASIC - 1970년대 : PASCAL, C, SMALLTALK, PROLOG - 1980년대 : ADA, C++, PERL, PYTHON - 1990년대 : RUBY, JAVA, JAVASCRIPT, PHP, VISUAL BASIC - 2000년대 이후 : C#, SCALA, GO, CLOJURE, CEYLON, KOTLIN, DART 등 *프로그래밍 언어 유형 1) 개발 편의성 -저급 언어 : 기계가 이해할 수 있도록 만든 언어 추상화 수준이 낮고 프로그램 작성이 어려움 저급 언어에 능숙한 개발자는 매우 효율적으로 프로그램을 작성할 수 있음 기계어, 어셈블리..
[2020 정보처리기사 실기 - 프로그래밍 언어 활용] 1. 기본 문법 활용하기 * 변수 1) 변수의 개념 - 변수는 어떤 값을 저장하기 위한 이름을 가진 공간 - 변수는 데이터 타입에 따른 공간을 할당하는 선언과 값을 세팅하는 할당을 통해 사용 int a; // 선언 a = 30; // 할당 2) 변수 명명 규칙 - 컴파일러 또는 인터프리터의 코드 해석을 위해 모든 문자, 숫자를 변수로 사용할 수는 없음 첫 자리에 숫자 사용X, 변수 이름 중간 공백 안됨, 이미 사용되고 있는 예약어는 사용 X - 일반적인 변수 명명방법 프로그램 가독성 향상과 유지보수성 증가를 위해서 표준화 팀에서 변수 명명 규칙을 제시함 - 변수명명법 파스칼 케이싱 : 클래스, 열거형, 이벤트, 메서드 등의 이름을 만들 때 대문자로 시작하는 변수명 사용 복합어일 경우 중간에 시작하는 새로운 단어는 대문자로 함 카..
[2020 정보처리기사 실기 - 프로그래밍 언어 활용] 데이터 타입 *데이터 타입 1) 데이터 타입 - 응용 소프트웨어 개발에 사용되는 기본 문법 중 하나 - 변수 또는 상수가 가질 수 있는 속성값의 길이 및 성질 2) 주 기억장치에서 데이터 타입과 변수의 개념 - 변수명 : 주 기억 장치에 저장되는 데이터 값의 저장 공간 이름 - 데이터 : 메모리에 저장된 실제 값 - 데이터 타입 : 변수가 가질 수 있는 속성값의 길이 및 성질 3) 데이터 타입의 유형 - 프로그래밍 언어에 따라 데이터 타입의 유형이 조금씩 다를 수 있음 boolean 참과 거짓 판단 true, false 정수 양수 음수의 정수 값 표현 1,100,-5 부동 소수점 소수점을 포함하는 실수 값 표현 3.1415 문자 하나의 문자를 표현 'a', 'A' 문자열 나열된 여러개의 문자를 표현 "string" ..
[2020 정보처리기사 실기 - 소프트웨어 개발 보안 구축] 2. 소프트웨어 개발 보안 구현하기 (1) * 소스코드 구현단계의 보안 약점 유형 - 소스코드 구현단계에서 제거 조치를 해야 하는 보안약점은 SW 개발보안 가이드 기준으로 7개 카테고리에 47개 항목으로 정의 입력데이터 검증 및 표현, 보안기능, 시간 및 상태, 에러처리, 코드오류, 캡슐화, API오용 - 소스코드 구현단계에서 제거 조치 해야하는 47개 보안약점 중 입력값 검증, 보안기능 등 설계단계에서 미리 검토되어야 하고 시간 및 상태 카테고리 등 소스코드 코딩 단계에서만 고려되어야 하는 항목도 있음 * 카테고리별 주요 보안약점 및 조치 방안 1) 입력 데이터 검증 및 표현 (1) SQL 삽입 - 해커가 웹사이트의 입력값이나 URL에 SQL문을 삽입하여 DB로부터 정보를 열람하거나 조작, 파괴할 수 있는 보안약점 - preparedStatem..
[2020 정보처리기사 실기 - 소프트웨어 개발 보안 구축] 1. 소프트웨어 개발 보안 설계하기 (1) * 소프트웨어 개발 보안 1) 소프트웨어의 보안 품질에 영향을 주는 요소 (1) 소프트웨어의 보안 품질에 영향을 주는 요소 - SW 보안 취약점 해킹 등 실제 침해사고에 이용될 수 있는 외부에 노출된 보안 약점 작동하는 시스템을 대상으로 수행하는 동적 검증을 통해 보안 취약점을 확인하는 보안품질 관리활동을 모의해킹이라 함 - SW 보안 약점 보안 취약점의 근본원인이 되는 SW의 결함이나 버그 모든 보안 취약점은 보안약점에 포함됨 SW 보안약점이 존재하지 않도록 개발하는 방법을 개발보안이라고 함 CWE(Common Weakness Enumeration)로 보안약점이 DB화 되이 관리 됨 (2)SW 개발보안 - 해킹 등 사이버 공격의 원인이 될 수 있는 보안약점을 SW 개발단계에서 사전에 제거하는 것을 목적..