본문 바로가기

정보처리기사 실기/서버 프로그램 구현

(13)
배치 프로그램 1. 배치 프로그램(Batch Program) 여러 작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리하도록 만든 프로그램 * 배치 프로그램의 필수 요소 - 대용량 데이터, 자동화 ,견고성, 안정성/신뢰성, 성능 2. 배치 스케줄러(Batch Scheduler) 일괄 처리 작업이 설정된 주기에 맞춰 자동으로 수행되도록 지원해주는 도구, 잡 스케줄러라고도 불림 * 배치 스케줄러 종류 1) 스프링 배치(Spring Batch) - 오픈 소스 프레임워크 - 로그 관리, 추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작 등 다양한 기능 제공 2) Quartz - 스프링 프레임워크로 개발되는 응용 프로그램들의 일괄 처리를 위한 다양한 기능을 제공하는 오픈 소스 라이브러리 - 수행할 작업과 수행 시간을 관..
서버 개발 1. 서버 개발 웰 어플리케이션 로직을 구현할 서버 프로그램을 제작하여 웹 애플리케이션 서버에 탑재하는 것 2. 서버 개발 프레임 워크 다양한 네트워크 설정, 요청 및 응답 처리, 아키텍처 모델 구현 등을 손쉽게 처리할 수 있도록 클래스나 인터페이스를 제공하는 소프트웨어 * 프레임워크 종류 1) Spring - Java 기반 프레임워크 - 전자정부 표준 프레임워크 기반 기술로 사용 2) Node.js - Javascript 기반 프레임워크 - 비동기 입출력 처리와 이벤트 위주의 높은 처리 성능을 갖고 있어 실시간 입출력이 빈번한 애플리케이션에 적합 3) Django - Python 기반 프레임워크 - 컴포넌트 재사용과 플러그인화를 강조하여 신속한 개발이 가능하도록 지원 4) Codeigniter - PH..
개발 지원 도구 1. 통합 개발 환경(IDE, Integrated Development Environment) 개발에 필요한 다양한 툴을 하나의 인터페이스로 통합하여 제공하는 환경 2. 통합 개발 환경 도구 종류 프로그램 개발사 플랫폼 운영체제 지원 언어 이클립스(Eclipse) Eclipse Foundation, IBM 크로스 플랫폼 Windows, Linux, MacOS 등 Java, C, C++, PHP, JSP 등 비주얼 스튜디오 (Visual Studio) Microsoft Win32,Win64 Windows Basic, C, C++, C#, .Net 등 엑스 코드(Xcode) Apple Mac, iPhone MacOS, iOS C, C++, C#, Java, AppleScript 등 안드로이드 스튜디오 (An..
디자인 패턴 1. 디자인 패턴(Design Pattern) 모듈 간의 관계 및 인터페이스 설계 시 참조할 수 있는 전형적인 해결 방식 또는 예제 2. 생성 패턴(Creational Pattern) 클래스나 객체의 생성과 참조 과정을 정의하는 패턴 추상 팩토리(Abstract Factory) 구체적 클래스에 의존하지 않고, 인터페이스를 통해 서로 연관 의존하는 객체들의 그룹으로 생성하여 추상적으로 표현 연관된 서브 클래스를 묶어 한번에 교체 가능 빌더(Builder) 작게 분리된 인스턴스를 건축 하듯 조합하여 객체를 생성 객체 생성 과정과 표현 방법 분리하고 있어, 동일한 객체 생성에서도 다른 결과를 만들어 낼 수 있음 팩토리 메소드(Factory Method) 서브 클래스에서 객체 생성 처리하도록 분리하여 캡슐화한 ..
코드 1. 코드(Code) 자료의 분류, 조합, 집계, 추출을 용이하게 하기 위해 사용하는 기호 2. 코드의 주요 기능 식별 기능, 분류 기능, 배열 기능, 표준화 기능, 간소화 기능 3. 코드의 종류 (1) 순차 코드(Sequence Code, 순서 코드, 일련번호 코드) 자료의 발생 순서, 크기 순서 등 일정 기준에 따라서 최초의 자료부터 차례로 일련번호를 부여하는 방법 (2) 블록 코드(Block Code, 구분 코드) 코드화 대상 항목 중 공통성 있는 것끼리 블록으로 구분하고, 각 블록 내에서 일련번호를 부여하는 방법 (3) 10진 코드(Decimal Code, 도서 분류식 코드) 코드화 대상 항목을 0~9까지 10진분할하고, 다시 그 각각에 대하여 10진 분할하는 방법을 필요한 만큼 반복하는 방법 (..
공통 모듈 1. 공통 모듈 여러 프로그램에서 공통으로 사용할 수 있는 모듈 2. 공통 모듈 명세 기법 (1) 정확성 : 시스템 구현 시 해당 기능이 필요하다는 것을 알 수 있도록 정확히 작성 (2) 명확성 : 기능을 이해할 때 중의적 해석되지 않도록 명확하게 작성 (3) 완전성 : 시스템 구현을 위한 모든 것을 기술 (4) 일관성 : 공통 기능들이 상호 충돌하지 않게 작성 (5) 추적성 : 기능 요구사항의 출처, 관련 시스템 등의 관계를 파악할 수 있도록 작성 3. 재사용(Reuse) 이미 개발된 기능들을 새로운 시스템이나 기능 개발에 사용하기 적합하도록 최적화하는 작업 * 함수와 객체, 컴포넌트, 애플리케이션 단위로 재사용 4. 효과적 모듈 설계 방안 (1) 결합도는 줄이고 응집도는 높여서 모듈의 독립성과 재사용..
단위 모듈 1. 단위 모듈(Unit Module) 한 가지 동작을 수행하는 기능을 모듈로 구현한 것 * 단위 모듈 구현 과정 단위 기능 명세서 작성 -> 입출력 기능 구현 -> 알고리즘 구현 2. IPC(Inter-Process Communication) 모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 프로그래밍 인터페이스 집합 * IPC 대표적 메소드 5가지 (1) Shared Memory : 공유 가능한 메모리를 구성하여 다수의 프로세스가 통신하는 방식 (2) Socket : 네트워크 소켓을 이용하여 네트워크를 경유하는 프로세스 간에 통신하는 방식 (3) Semaphores : 공유 자원에 대한 접근 제어를 통해 통신하는 방식 (4) Pipes & named Pipes : Pipe라는 선입선출 형태로 구성..
모듈 1. 모듈(Module) 모듈화를 통해 분리된 시스템의 각 기능 2. 결합도(Coupling) 모듈 간에 상호 의존하는 정도 * 결합도의 종류와 강도 내용 결합도 공통 결합도 외부 결합도 제어 결합도 스탬프 결합도 자료 결합도 결합도 강함 결합도 약함 3. 결합도 종류 (1) 내용 결합도(Content Coupling) - 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조하거나 수정할 때의 결합도 (2) 공통(공유) 결합도(Common Coupling) - 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도 - 파라미터가 아닌 모듈 밖에 선언된 전역 변수를 사용하여 전역 변수를 갱신하는 방식으로 상호작용하는 때의 결합도 (3) 외부 결합도(External Coupling) - 어떤..
객체지향 분석 및 설계 1. 객체지향 분석(Object Oriented Analysis) 사용자의 요구사항과 관련된 객체, 속성, 연산, 관계 등을 정의하여 모델링하는 작업 2. 객체지향 분석 방법론 (1) 럼바우 방법(Rumbaugh) : 분석 활동을 객체 모델, 동적 모델, 기능 모델로 나누어 수행 (2) 부치 방법(Booch) : 미시적, 거시적 개발 프로세스를 모두 사용하고 클래스와 객체들을 분석 및 식별하고 클래스 속성과 연산을 정의 (3) Jacobson 방법 : 유스케이스를 강조하여 사용 (4) Coad와 Yourdon 방법 - E-R Diagram을 이용해 객체의 행위를 모델링함 - 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연산과 메시지 연결 정의 등 과정으로 구성 (5) Wirfs-Br..
객체 지향 1. 객체 지향(Object-Oriented) 각 요소들을 객체로 만든 후, 객체들을 조립해서 소프트웨어를 개발하는 방법 2. 객체(Object) 데이터와 이를 처리하기 위한 함수를 묶어 놓은 소프트웨어 모듈 3. 클래스(Class) 공통된 속성과 연산을 갖는 객체의 집합 클래스에 속한 객체를 인스턴스라 함 4. 메시지(Message) 객체들 간의 상호작용을 하는데 사용되는 수단 5. 캡슐화(Encapsulation) 외부에서의 접근을 제한하기 위해 인터페이스를 제외한 세부 내용을 은닉하는 것 6. 상속(Inheritance) 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것 7. 다형성(Polymorphism) 하나의 메시지에 대해 각각의 객체가 고유한 방법으로 응답할 수 있는 능력 8. 연..