본문 바로가기

정보처리기사

(15)
[정보처리기사] 5-9. Secure OS 1. Secure OS 기존의 운영체제 (OS) 에 내재된 보안 취약점을 해소하기 위해 보안 기능을 갖춘 커널을 이식하여 외부의 침입으로부터 시스템 자원을 보호하는 운영체제 TCB 기반으로 참조 모니터의 개념 구현 및 집행 암호적 분리 : 내부 정보를 암호화하는 방법 논리적 분리 : 프로세스의 논리적 구역을 지정하여 구역을 벗어나는 행위를 제한하는 방법 시간적 분리 : 동일 시간에 하나의 프로세스만 수행되도록 하여 동시실행으로 발생하는 보안 취약점을 제거하는 방법 물리적 분리 : 사용자별로 특정 장비만 사용하도록 제한하는 방법 암논시물 // 암>논>시>물 // 복잡도 2. 참조모니터 보호 대상으로 객체에 대한 접근통제를 수행하는 추상머신이며, 이를 실제로 구현한 것이 보안 커널 격리성(Isolation)..
[정보처리기사] 5-3. 소프트웨어 개발 1. ISO/IEC 12207 ISO (International Organization for Standardization, 국재 표준화기구)에서 만든 표준 소프트웨어 생명주기 프로세스 소프트웨어의 개발, 운영, 유지보수 등을 체계적으로 관리하기 위한 소프트웨어 생명주기 표준을 제공함 기본 생명주기 프로세스, 조직 생명주기 프로세스, 지원 생명주기 프로세스 기조지 2. CMMI (Capability Maturity Model Intergration, 능력 성숙도 통합 모델) 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델 성숙도 5가지 초기 (Initial) : 작업자 능력에 따라 성공 여부 결정됨 / 정의된 프로세스 없음 관리 (Managed) : 특정한 프로젝트 내의 프로세스 정의..
[정보처리기사] 5-2. 비용 산정 기법 (하향식, 상향식) 1. 소프트웨어 비용 산정의 개요 소프트웨어의 개발 규모를 소요되는 인원, 자원, 기간 등ㅇ로 확인하여 실행 가능한 계획을 수립하기 위해 필요한 비용을 산정하는 것 하향식 비용산정 기법 / 상향식 비용산정 기법 2. 소프트웨어 비용결정 요소 2-1) 프로젝트 요소 제품 복잡도 : 소프트웨어 종류에 따라 발생할 수 있는 문제점들의 난이도를 의미 시스템 크기 : 소프트웨어 규모에 따라 개발해야 할 시스템의 크기 의미 요구되는 신뢰도 : 일정기간 내 주어진 조건에서 프로그램이 필요한 기능을 수행하는 정도를 의미 2-2) 자원 요소 인적자원 : 소프트웨어 개발 관련자들이 갖춘 능력 혹은 자질을 의미 하드웨어 자원 : 소프트웨어 개발 시 필요한 장비와 워드프로세서, 프린터 등의 보조 장비를 의미 소프트웨어 자원 ..
[정보처리기사] 5-1. 소프트웨어 개발 방법론 1. 구적 방법론 ★ 정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리중심의 방법론 타당성 검토 → 계획 → 요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수 단계 분설구테유 2. 정보공학 방법론 정보 시스템의 개발을 위해 개획, 분석, 설계, 구축에 정형화된 기법들을 상호 연관성있게 통합하여 적용하는 자료 중심의 방법론 대규모 정보 시스템 구축에 적합 3. 객체지향 방법론 ★ 현실세계를 기계의 부품처럼 하나의 객체(Object)로 만들어, 소프트웨어를 개발할 때 기계의 부품을 조립ㅎ듯 객체들을 조립해서 필요한 소프트웨어 구현하는 방법 구성요소 : 객체(Object), 클래스(Class), 메세지(Message), 메서드(Method) 기본 원칙 : 캡슐화, 상속화, 다형성, 추..
[정보처리기사] 1-9. 결합도와 응집도 1. 모듈 모듈화 통해 분리된 시스템의 각 기능 단독 컴파일 가능, 재사용 가능 모듈의 독립성은 결합도와 응집도에 의해 측정됨 독립성 높이려면 / 모듈의 결합도는 낮게 / 응집도는 강하게 / 모듈의 크기는 작게 독립성이 높을수록 모듈 수정시 다른 모듈들에게 영향이 적고 오류 발견도 쉽고 해결도 쉬움 2. 결합도 (Coupling) 결합도가 낮으수록 품질 높고 , 강할수록 품질 낮음 결합도 강하면 유지보수 어려움 내-공-외-제-스-자 (높음/안좋음------->낮음/좋음) 내용 결합도 (content) : 한 모듈이 다른 모듈 내부 기능 및 내부 자료 직접참조하거나 수장할 때의 결합도 공통 결합도 (common) : 공유되는 공통 데이터 영역을 여러 모듈이 사용할 떄의 결합도 (전역변수) 외부 결합도 (e..
[정보처리기사] 1-8. 객체지향 1. 객체지향 소프트웨어 개발시에 객체들을 조립해서 작성할 수 있는 기법 소프트웨어의 재사용성 및 확장 용이, 유지보수 쉬움 복잡한 구조를 단계적 계층적으로 표현 구성요소 : 객체, 클래스, 캡슐화, 상속, 다형성 등 2. 객체 (Object) 데이터와 데이터를 처리하는 함수를 묶어놓은 하나의 소프트웨어 모듈 데이터 = 속성, 상태, 변수, 상수, 자료구조 함수 = 메소드, 서비스, 동작, 행위 독립적으로 식별 가능한 이름을 가짐 객체를 가질 수 있는 조건 = 상태 (State) 3. 클래스 (Class) 공통된 속성과 연산을 갖는 객체의 집합, 객체의 일반적인 타입을 의미 각각의 객체들이 갖는 속성과 연산을 정의하고 있는 틀 데이터를 추상화하는 단위 클래스에 속한 각각의 객체 = 인스턴스(Instanc..
[정보처리기사] 1-7. 소프트웨어 아키텍쳐 및 아키텍쳐 패턴 1. 소프트 아키텍쳐 설계 소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 사용자의 비기능적 요구사항을 반영하고 기능적 요구사항을 구현하는 방법을 찾는 해결과정 기능적 요구사항 : 시스템이 갖춰야할 필수적인 기능에 대한 요구항목 비기능적 요구사항 : 그 외 품질이나 제약사항에 관한 것들 기본원리 : 모듈화, 추상화, 단계적 분석, 정보은닉 1-1) 모듈화 (Modularity) 소프트웨어의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지 관리 등이 용이하도록 시스템의 기능을 모듈 단위로 나누는 것 재사용성 향상 모듈의 크기를 너무 작게 나누면 개수가 많아져 통합의 비용 많이 듦 모듈의 크기를 너무 크게 나누면 갸수가 적어 통합 비용은 적게 들지만 모듈 하나의 개발 비용이 많이 듦 1-..
[정보처리기사] 1-6. 사용자 인터페이스 및 품질 요구사항 1. UI의 구분 CLI(Command Line Interface) : 명령과 출력이 텍스트 형태로 이뤄지는 인터페이스 GUI(Graphical User Interface) : 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 그래픽 환경의 인터페이스 NUL(Natural User Interface) : 사용자의 말이나 행동으로 기기를 조작하는 인터페이스 2. 웹의 3요소 웹 표준 웹 접근성 웹 호환성 3. UI 설계도구 와이어프레임 목업 스토리보드 프로토타입 유스케이스 4. UI 요구사항 확인 목표정의 → 활동사항 정의 → UI 요구사항 작성 5. 국제 제품 표준 소프트웨어의 품질은 기능, 성능, 만족도 등 소프트웨어에 대한 요구사항이 얼마나 충족하는가를 나타내는 소프트웨어의 총체 ISO/IEC 91..