반응형
SMALL
반응형
LIST
IPC(INTER-PROCESS COMMUNICATION)IPC는 모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 프로그래밍 인터페이스 집합이다.복수의 프로세스를 구행하며 이뤄지는 프로세스 간 통신까지 구현이 가능하다IPC 대표 메소드 5가지공유 메모리(SHARED MEMORY)소켓(SOCKET)세마포어(SEMAPHORES)파이프와 네임드 파이프(PIPES&NAMED PIPES)메시지 큐잉(MESSAGE QUEUEING)공유 메모리 (SHARED MEMORY)개념: 여러 프로세스가 같은 메모리 공간을 공유하여 데이터를 주고받는 방법입니다. 프로세스 간에 고속 통신이 가능하지만, 동기화 문제가 발생할 수 있어 세마포어 같은 동기화 기법이 필요합니다.예시: 두 프로세스가 하나의 메모리 블록을 공유하며 ..
N-S차트N-S 차트는 논리의 기술에 중점을 두고 도형을 이용해 표현하는 방법이다.GOTO나 화살표를 사용하지 않는다.연속, 선택 및 다중선택, 반복의 3가지 제어 논리 구조로 표현한다.조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는데 적합하다.구조적 프로그래밍을 시각적으로 표현!int number = 5;if (number > 0) { System.out.println("Positive number");} else { System.out.println("Not a positive number");}for (int i = 0; i +-------------------------+| number = 5 |+-------------------------+ ..
모듈모듈은 모듈화를 통해 분리된 시스템의 각 기능으로, 서브 루틴, 서브 시스템, 소프트웨어 내의 프로그램, 작업 단위 등을 의미한다.모듈의 기능적 독립성은 소프트웨어를 구성하는 각 모듈의 기능이 서로 독립됨을 의미한다.하나 또는 몇 개의 논리적인 기능을 수행하기 위한 명령어들의 집합이라고도 할 수 있다.모듈의 독립성은 결합도와 응집도에 의해 측정된다.결합도결합도는 모듈 간에 상호 의존하는 정도 또는 두 모듈 사이의 연관 관계이다.결합도가 약할수록 품질이 높고, 강할수록 품질이 낮다.결합도의 종류와 강도내용 결합도>>공통 결합도>> 외부 결합도>> 제어 결합도>> 스템프 결합도>> 자료 결합도내가 공짜로 외제차 스탬프 찍고 자료 받는다.결합도의 종류내용 결합도한 모듈이 다른 모듈의 내부 기능 및 그 내부..
객체 지향 분석객체 지향 분석(OOA; OBJECT ORIENTED ANALYSIS)은 사용자의 요구사항과 관련된 객체, 속성, 연산, 관계 등을 정의하여 모델링 하는 작업이다.개발을 위한 업무를 객체와 속성, 클래스와 멤버, 전체와 부분 등으로 나누어서 분석한다.클래스를 식별하는 것이 객체지향 분석의 주요 목적이다.객체 지향 분석의 방법론Rumbaugh(럼바우)방법: 분석 활동을 객체 모델, 동적 모델, 기능 모델로 나누어 수행함객체 모델: 주문 시스템에서 고객, 주문, 제품을 클래스로 모델링. 동적 모델: 주문 상태가 '처리 중'에서 '완료'로 변하는 흐름을 상태 다이어그램으로 표현. 기능 모델: 주문 과정에서의 데이터 흐름을 분석하여 흐름도를 작성.Booch(부치)방법: 미시적(Micro) 개발 프..
객체지향 설계의 핵심 원리클래스클래스는 공통된 속성과 연산을 갖는 객체의 집합이다.각각의 객체들이 갖는 속성과 연산을 정의하고 있는 틀이다.클래스에 속한 각각의 객체를 인스턴스라고 한다class Car: def __init__(self, brand, model): self.brand = brand # 속성 정의 self.model = model def start_engine(self): # 연산 정의 print(f"{self.brand} {self.model}의 엔진을 시작합니다.")# 인스턴스 생성my_car = Car("Hyundai", "Sonata")my_car.start_engine()설명: 여기서 Car라는 클래스는 자동차의 브랜드와 모델을 ..
파이프-필터 패턴파이프-필터 패턴은 데이터 스트림 절차의 각 단계를 필터로 캡슐화하여 파이프를 통해 전송하는 패턴이다. 마치 음식 제조 공정에서 재료가 각 단계를 거치며 가공되듯, 데이터도 파이프를 통해 각 필터(처리 단계)를 거친다.앞 시스템의 처리 결과물을 파이프를 통해 전달받아 처리한 후 그 결과물을 다시 파이프를 통해 다음 시스템으로 넘겨주는 패턴을 반복한다.데이터 변환, 버퍼링, 동기화 등에 주로 사용되며, 대표적인 예로 UNIX의 쉘(SHELL)이 있다. 이처럼 각 단계에서 데이터를 처리하고, 처리된 데이터를 다음 단계로 넘기는 과정이 핵심이다.마스터-슬레이브 패턴마스터-슬레이브 패턴은 마스터가 작업을 슬레이브에게 할당하고, 슬레이브가 처리한 결과물을 다시 마스터로 돌려주는 방식이다. 이는 팀..