반응형

분류 전체보기 288

[정보처리산업기사] 68강 데이터 모델의 개념

1. 데이터모델이란? 데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화 하여 체계적으로 표현한 개념적 모형이다. 데이터 모델은 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약조건 등을 기술하기 위한 개념적 도구들의 모임이다. 현실 세계를 데이터베이스에 표현하는 중간 과정, 즉 데이터베이스 설계 과정에서 데이터의 구조를 논리적으로 표현하기 위해 사용되는 도구이다. 데이터의 구조(Schema)를 논리적으로 묘사하기 위해 사용되는 지능적 도구이다. 2. 개념적 데이터 모델 개념적 데이터 모델은 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다. 개념적 데이터 모델은 속성들로 기술된 개체 타입과 이 개체 타입들 간의 관계를 ..

[정보처리산업기사] 67강 데이터베이스 설계

1. 데이터베이스 설계의 개념 사용자의 요구를 분석하여 그것을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변ㅎ경한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것 2. 데이터베이스 설계 시 고려사항 무결성 : 삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가 정해진 제약 조건을 항상 만족해야 함 일관성 : 데이터베이스에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야 함 회복 : 시스템에 장애가 발생했을 때 장애 발생 직전의 상태로 복구할 수 있어야 함 보안 : 불법적인 데이터의 노출 또는 변경이나 손실로부터 보호해야 함 **효율성 : 응답시간의 단축, 시스템의 생산성, 저장 공간의 초적화 등이 가능해야 함 데이터..

[정보처리산업기사] 66강 데이터베이스 개요

1. 데이터저장소 소프트웨어 개발 과정에서 다루어야 할 데이터들을 논리적인 구조로 조직화하거나, 물리적인 공간에 구축하는 것을 의미한다. 데이터저장소는 논리 데이터저장소와 물리 데이터저장소로 구분 논리 데이터저장소는 데이터 및 데이터 간의 연관성, 제약조건을 식별하여 논리적인 구조로 조직화 물리 데이터저장소는 논리 데이터저장소에 저장된 데이터와 구조들을 소프트웨어가 운용될 환경의 물리적 특성을 고려하여 하드웨어적인 저장장치에 저장 논리 데이터저장소를 거쳐 물리 데이터저장소를 구축하는 과정은 데이터베이스를 구축하는 과정과 동일 2. 데이터베이스의 정의 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임 통합된 데이터(Integrated Data) : 자료의 중복을 배제한 데이터의 모임 저장..

[정보처리산업기사] 65강 정렬(Sort)

1. 삽입정렬 (Insertion Sort) 삽입 정렬은 가장 간단한 정렬 방식으로 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬한다. 초기상태: 아래의 8,5,6,2,4를 삽입정렬을 사용해 정렬시키면 아래와 같은 과정을 거치게 된다. 1회전 : 두번째 값을 첫번째 값과 비교해 첫번째 자리에 삽입, 8을 뒤로 한칸 이동 2회전 : 세번째 값을 5,6과 비교해 삽입, 8을 뒤로 한칸 이동 3회전 : 네번째 값을 5,6,8과 비교해 삽입, 5,6,8을 뒤로 한칸 이동 4회전 : 다섯번째 값을 2,5,6,8과 비교해 삽입, 5,6,8을 뒤로 한칸 이동 2. 쉘 정렬 (Shell Sort) 삽입 정렬을 확장한 개념이다. 입력 파일을 어떤 매개변수의 값으로 서브파일을 구성하고, 각 서브파..

[정보처리산업기사] 64강 트리(Tree)

1. 트리의 개요 트리는 정점(Node,노드)과 선분(Branch,가지)을 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태입니다. 트리는 하나의 기억 공간을 노드(Node)라고 하며, 노드와 노드 사이를 연결하는 선을 링크(Link)라고 합니다. 트리 관련 용어 노드 (Node) 트리를 구성하고 있는 기본 요소로서 자료 항목과 다른 항목에 대한 브랜치를 합친것 예) A, B, C, D, E, F, G, H, I, J 근 노드 (Root Node) 트리 구조에서 부모가 없는 최상위 노드 예) root node : A 디그리 (Degree) 각 노드에서 뻗어 나온 가지의 수 예) A = 2, B = 2, C = 2 단말 노드 (Terminal Node) = 잎 노드 (Leaf Node) 자식이 ..

[정보처리산업기사] 63강 자료 구조

1. 자료 구조의 정의 프로그램에서 사용하기 위한 자료를 기억장치의 공장 내에 저장하는 방법과 저장된 그룹 내에 존재하는 자료 간의 관계, 처리 방법 등을 연구 분석하는 것을 말한다. 자료의 표현과 관련된 연산이다. 일련의 자료들을 조직하고 구조화하는 것이다. 어떠한 자료 구조에서도 필요한 모든 연산들을 처리할 수 있다. 자료 구조에 따라 프로그램 실행시간이 달라진다. 2. 자료구조의 분류 선형 구조: 배열, 선형리스트(연속리스트, 연결리스트) 스택, 큐, 데크 비선형 구조: 트리, 그래프 3. 배열 (Array) 동일한 자료형의 데이터들이 같은 크기로 나열되어 순서를 갖는 집합이다. 배열은 첨자를 이용하여 데이터에 접근한다. 반복적인 데이터 처리 작업에 적합한 구조다. 데이터 삭제 시 메모리 낭비 발생..

[정보처리산업기사] 62강 보안 및 API

1. 소프트웨어 개발 보안의 개요 소프트웨어 개발 보안은 소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점을 최소화하여 보안 위협으로부터 안전한 소프트웨어를 개발하기 위한 일련의 보안 활동을 의미한다. 데이터의 기밀성, 무결성, 가용성을 유지하는 것을 목표로 한다. 정부에서 제공하는 소프트웨어 개발 보안 가이드를 참고하여 보안 항목들을 점검한다. 보안 요소 기밀성 : 정보와 자원은 인가된 사용자에게만 접근이 허용 무결성 : 오직 인가된 사용자만 수정 가능 가용성 : 인가받은 사용자는 언제든 사용 가능 인증 : 사용하려는 사용자가 합적인지 확인하는 모든 행위 부인 방지 : 데이터를 송/수신한 사용자가 사실을 부인할 수 없도록 증거를 제공 2. 소프트웨어 개발 보안 점검 항목 세션 통제 : 세션은 서버와..

[정보처리산업기사] 61강 공통 모듈

1. 공통 모듈의 개요 여러 프로그램에서 공통적으로 사용할 수 있는 모듈을 의미한다. 자주 사용되는 계산식이나 매번 필요한 사용자 인증과 같은 기능들이 공통 모듈로 구성될 수 있다. 모듈의 재사용성 확보와 중복 개발 회피를 위해 설계 과정에서 공통 부분을 식별하고 명세를 작성할 필요가 있다. 다른 개발자들이 해당 기능을 명확히 이해할 수 있도록 명세 기법을 준수해야한다. 정확성 : 해당 기능이 시스템 기능이 필요한지 정확하게 작성해야 한다. 명확성 : 해당 기능에 대해 일관되게 이해되고 한 가지로 해석되게 해야한다. 완전성 : 시스템 구현에 필요한 모든 것을 기술해야 한다. 일관성 : 공통 기능 간에 상호 충돌이 없도록 해야한다. 추적성 : 공통 기능에 대한 요구사항 출처와 관련 시스템 등의 유기적 관계..

[정보처리산업기사] 60강 모듈

1. 모듈 (Module) 개요 모듈은 모듈화를 통해 분리된 시스템의 각 기능들을 의미 모듈은 단독으로 컴파일이 가능, 재사용 가능 모듈의 독립성은 결합도와 응집도에 의해 측정됨 독립성을 높이려면 결합도는 약하게, 응집도는 강하게, 모듈의 크기는 작게 만들어야 함 모듈화 : 소프트웨어 성능 향상이나 수정 및 재사용 등이 용이하도록 시스템의 기능들을 모듈 단위로 분해하는 것 2. 결합도 (Coupling) 모듈간에 상호 의존하는 정도, 두 모듈 사이의 연관 관계를 의미 결합도가 강하면 시스템 구현 및 유지보수가 어려움 결합도의 종류 : 자료 < 스탬프 < 제어 < 외부 < 공통 < 내용 자료 결합도(Data Coupling) 자료 결합도는 모듈 간의 인터페이스가 자료 요소로만 구성될 때의 결합도이다. 어떤..

[정보처리산업기사] 59강 서버 개발

1. 서버 개발의 개요 서버 개발은 웹 애플리케이션의 로직을 구현할 서버 프로그램을 제작하여 웹 애플리케이션 서버(WAS)에 탑재하는 것을 의미한다. 웹 애플리케이션 서버에 구현된 서버 프로그램은 웹 서버로부터 받은 요청을 처리하여 결과를 반환하는 역할을 수행한다. 서버 개발에 사용되는 프로그래밍 언어에는 Java, JavaScript, Python, PHP, Ruby 등이 있다. 각 프로그래밍 언어에는 해당 언어로 서버 프로그램을 개발할 수 있도록 지원하는 프레임워크가 있다. 2. 서버 개발 프레임워크 서버 개발 프레임워크는 서버 프로그램 개발 시 다양한 네트워크 설정, 요청 및 응답 처리, 아키텍처 모델 구현 등을 손쉽게 처리할 수 있도록 클래스나 인터페이스를 제공하는 소프트웨어를 의미한다. 서버 개..

반응형