정보처리기사 4장 내용 이어서

모코코개발자·2024년 4월 20일
post-thumbnail

N-S차트

: 논리의 기술에 중점을 두고 도형을 이용해 표현하는 방법(박스다이어그램)
화살표를 사용하지 않는다.
연속, 선택 및 다중 선택, 반복의 3가지 제어 논리구조로 표현한다.
조건이 복합되어있는 곳의 처리를 시각적으로 명확히 식별하는데 적합하다.

단위모듈

IPC (Inter process communication)

: 모듈간 통신방식을 구현하기 위해 사용되는 대표적인 프로그래밍 인터페이스 집합

  • shared memory : 공유 가능한 메모리를 구성하여 다수의 프로세스가 통신하는 방식
  • socket : 네트워크 소켓을 이용하여 네트워크를 경유하는 프로세스간에 통신 방식
  • semaphores : 공유자원에 대한 접근 제어를 통해 통신하는 방식
  • pipes & named pipes : 파이프라고 불리는 선입선출 형태로 구성된 메모리를 여러 프로세스가 공유하여 통신하는 방식
  • message queueing : 메시지가 발생하면 이를 전달하는 방식으로 통신하는 방식

테스트 케이스

: 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위한 테스트 항목에 대한 명세서

  • 식별자
  • 테스트 항목
  • 입력 명세
  • 출력 명세
  • 환경 설정
  • 특수절차요구
  • 의존성 기술

공통 모듈

: 여러 프로그램에서 공통으로 사용할 수 있는 모듈

  • 정확성 : 시스템 구현시 해당 기능이 필요하다는 것을 알 수 있도록 정확히 작성함
  • 명확성 : 해당 기능을 이해할 때 중의적으로 해석되지 않도록 명확하게 작성함
  • 완전성 : 시스템 구현을 위해 필요한 모든 것을 작성함
  • 일관성 : 공통 기능들 간 상호 충돌이 발생하지 않도록 작성함
  • 추적성 : 기능에 대한 요구사항의 출처, 고나련 시스템 등의 관계를 파악할 수 있도록 작성함

재사용

: 이미 개발된 기능들을 새로운 시스템이나 기능 개발에 사용하기 적합하도록 최적화 하는 작업

  • 함수와 객체 : 클래스나 메소드 단위의 소스코드를 재사용함
  • 컴포넌트 : 컴포넌트 자체에 대한 수정 없이 인터페이스를 통해 통신하는 방식으로 재사용함
  • 애플리케이션 : 공통된 기능들을 제공하는 애플리케이션을 공유하는 방식으로 재사용함

디자인 패턴

: 모듈간의 관계 및 인터페이스를 설계할 때 참조할 수 있는 전형적인 해결방식

아키텍처 패턴

: 전체 시스템의 구조를 설계하기 위한 참조모델

GoF의 디자인 패턴

생성패턴 : 클래스나 객체의 생성과 참조과정을 정의하는 패턴

  • 추상팩토리 : 서로 연관, 의존하는 객체들을 그룹으로 생성해 추상적으로 표현
  • 빌더 : 객체의 생성과정과 표현 방법 분리 -> 동일한 객체 생성에도 서로 다른 결과
  • 팩토리 메소드 : 객체생성을 서브클래스에서 처리하도록 분리하여 캡슐화한 패턴
  • 프로토타입 : 원본 객체를 복제하는 방법으로 객체를 생성하는 패턴
  • 싱글톤 : 하나의 객체를 생성하면 생성된 객체를 어디서든 참조할 수 있지만 여러 프로세스가 동시에 참조할 수는 없다.

구조 패턴 : 구조가 복잡한 시스템을 개발하기 쉽도록 클래스나 객체들을 조합하여 더 큰 구조로 만드는 패턴

  • 어댑터 : 호환성이 없는 클래스 인터페이스를 이용할 수 있도록 변환해주는 패턴
  • 브리지 : 구현부에서 추상층을 분리하여 독립적으로 확장 및 다양성을 가지는 패턴
  • 컴포넌트 : 여러 객체를 가진 복합, 단일 객체를 구분없이 다룰 때 사용하는 패턴
  • 데코레이터 : 상속을 사용하지 않고도 객체의 기능을 동적으로 확장해주는 패턴
  • 퍼싸드 : 서브클래스들의 기능을 간편하게 사용할 수 있도록 하는 패턴
  • 플라이웨이트 : 공유해서 사용함으로써 메모리를 절약하는 패턴
  • 프록시 : 접근이 어려운 객체를 연결해주는 인터페이스 역할을 수행하는 패턴

행위패턴 : 클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의하는 패턴

  • 옵저버 : 관찰대상의 변화를 탐지하는 패턴, 한 객체의 상태가 변화하면 객체에 상속되어있는 다른 객체들에게 변화된 상태를 전달하는 패턴
  • 책임 연쇄 : 한 객체가 처리하지 못하면 다음 객체로 넘어가는 패턴
  • 커맨드 : 요청을 객체의 형태로 캡슐화하여 재사용하고나 취소할 수 있도록 요청에 필요한 정보를 저장하거나 로그에 남기는 패턴
  • 인터프리터 : 언어에 문법 표현을 정의하는 패턴
  • 반복자 : 자료구조와 같이 접근이 갖는 객체에 동일한 인터페이스를 사용하도록 하는 패턴
  • 중재자 : 수많은 객체들 간의 복잡한 상호작용을 캡슐화하여 객체로 정의하는 패턴
  • 메멘토 : 특정시점에서의 객체 내부 상태를 객체화함으로써 이후 요청에 따라 객체를 해당 시점의 상태로 돌릴수 있는 기능을 제공하는 패턴
  • 상태 : 객체의 상태에 따라 동일한 동작을 다르게 처리해야할 때 사용하는 패턴
  • 전략 : 클라이언트에 영향을 받지 않는 독립적인 알고리즘을 선택하는 패턴
  • 템플릿 메소드 : 유사한 서브클래스를 묶어 공통된 내용을 상위 클래스에 정의하는 패턴
  • 방문자 : 필요할 때 마다 해당 클래스에 방문해서 처리하는 패턴
profile
모코코개발자

0개의 댓글