⭐ ⭐ ⭐ 디자인 패턴⭐ ⭐ ⭐
소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 사용하는 설계 방법을 정리한 패턴
생성 (BPROFAS)
Builder
복잡한 인스턴스를 조립해 만드는 구조
Prototype
처음부터 일반적인 원형을 만들어 놓고 그 원형을 복사해 필요한 부분만 수정하여 사용하는 방법
Factory method
상위 클래스에서 인터페이스를 정의하고 하위 클래스에서 인스턴스를 생성하는 방법
Abstract factory
서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공하는 방법
Singleton
전역 변수를 사용하지 않고 객체 하나만 생성하여 그 객체를 어디서든 참조할 수 있게 하는 방법
구조(ABCDFFP)
Adapter
기존에 생성한 클래스를 재사용할 수 있게 중간에서 맞춰주는 역할을 한다.
Bridge
기능 계층과 구현 계층을 연결하여 구현부에서 추상 계층을 분리한다.
Composite
객체들의 관계를 트리 구조로 구성한다.
Decorator
기존에 구현한 클래스에 필요한 기능을 추가하여 사용하는 것.
Facade
복잡한 시스템에 단순한 인터페이스를 제공해 시스템 구조를 파악하기 쉽게 한다.
Fly weight
메모리를 절약하는 것이 핵심! '클래스의 경량화'가 주된 목적이다.
Proxy
실제 객체에 대한 대리 객체를 의미.
행위(MIITOSVCSMC)
Mediator
중간 통제, 중재자
Interpreter
언어의 다양한 해석, 구문의 해석을 맡는 클래스를 각각 작성
Iterator
집합체의 구현 방법을 노출하지 않으면서 그 집합체 안에 있는 모든 항목에 접근할 수 있는 방법을 제공
Template Method
상위 클래스에서 추상적인 부분을 담당하고 하위 클래스에서 구체적인 부분을 담당
Observer
한 객체의 상태가 변화하면 그 객체에 의존하는 다른 객체들에게 알려준다.
State
상태에 따라 다르게 처리할 수 있게 행위 내용을 변경
Visitor
클래스의 메서드가 각 클래스를 돌아다니며 특정 작업을 수행한다.
Command
명령이 들어오면 그에 맞는 서브 클래스를 선택하여 실행한다.
Strategy
알고리즘 군을 정의해 행위를 클래스로 캡슐화하여 동적으로 행위를 자유롭게 변환한다.
Memento
작업취소 (Undo) 기능을 개발
Chain of responsibility
정적으로 어떤 기능 처리의 연결이 하드 코딩됐을 때 이를 동적으로 연결되어 있는 경우에 따라 다르게 처리될 수 있게 연결한 디자인
운영체제
컴퓨터 사용자와 컴퓨터 하드웨어 간 인터페이스를 담당한다.
운영체제의 종류
Windows
소/중규모 서버, 일반PC
Unix
대용량 처리, 기업 급 서버
Rinux
중/대규모 서버 대상, 높은 보안성, 비용이 가장 적게 든다.
Android
리눅스에서 구동, JAVA Kotlin으로 작성
IOS
높은 보안성, 고성능
운영체제 현행 시스템 분석 고려사항 (신-성-기-주-구)
신뢰도
성능
기술지원
주변기기
구축 비용
미들웨어
응용 프로그램과 환경 사이에 원만한 통신이 이루어질 수 있도록 제어해주는 소프트웨어
WAS
서버 계층에서 애플리케이션이 동작할 수 있는 환경을 제공, 트랜잭션 처리, 이기종 시스템 연동
요구공학
사용자 요구사항에 대한 도출, 분석, 명세, 확인 및 검증하는 구조화된 활동을 의미한다.
요구사항
기능적 요구사항
시스템이 제공하는 기능, 서비스에 대한 요구사항 (UI)
비기능적 요구사항
시스템이 수행하는 기능 이외의 사항 (서버)
요구사항 개발 단계(도-분-명-확)
도출
인터뷰, 설문조사, 브레인스토밍, 델파이 기법, 롤 플레잉, 워크숍
분석
청취기술
인터뷰
명세
비정형 명세기법
자연어 기반, 사용자와 개발자가 이해하기 쉬움
명확성, 검증 문제
정형 명세 기법
수학적인 원리, Z-스키마
표현이 간결, 명확성 및 검증이 용이
기법을 이해하기가 어렵다.
확임&검증
정형 기술 검토
동료 검토, 워크스루, 인스펙션
'정보 처리 기사 지록지' 카테고리의 다른 글
[정처기] 정보처리기사 실기 핵심 요약 vol4. (0) | 2023.08.24 |
---|---|
[정처기] 정보처리기사 실기 핵심 요약 vol3. (0) | 2023.08.23 |
[정처기] 정보처리기사 실기 핵심 요약 vol 1. (0) | 2023.08.17 |
[정처기] 요구사항 확인 4 (0) | 2023.07.30 |
[정처기] 요구사항 확인3 (0) | 2023.07.28 |