소프트웨어 아키텍처
소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체
모듈화
시스템의 기능들을 모듈 단위로 나누는 것
추상화
전체적이고 포괄적인 개념을 설계 후 세분화하여 구체화시키는 것
단계적 분해
문제를 상위의 중요 개념으로부터 하위의 개념으로 구체화 시키는 분할 기법
정보 은닉
한 모듈 내부에 포함된 절차와 자료들의 정보가 감추어져 다른 모듈이 접근하거나 변경하지 못하도록 하는 기법
협약에 의한 설계
-선행 조건
-결과 조건
-불변 조건
아키텍처 패턴
아키텍처를 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제
레이어 패턴
시스템을 계층으로 구분하여 구성하는 고전적인 방법의 패턴
클라이언트-서버 패턴
하나의 서버 컴포넌트와 다수의 클라이언트 컴포넌트로 구성되는 패턴
파이프-필터 패턴
데이터 스트림 절차의 각 단계를 필터로 캡슐화하여 파이프를 통해 전송하는 패턴
모델-뷰-컨트롤러 패턴
-모델 : 서브시스템의 핵심 기능과 데이터를 보관함
-뷰 : 사용자에게 정보를 표시함
-컨트롤러 : 사용자로부터 입력된 변경 요청을 처리하기 위해 모델에게 명령을 보냄
마스터-슬레이브 패턴
슬레이브 컴포넌트에서 처리된 결과물을 다시 돌려받는 방식으로 작업 수행
브로커 패턴
사용자가 원하는 서비스와 특성을 브로커 컴포넌트에게 요청하면 브로커 컴포넌트가 요청에 맞는 컴포넌트와 사용자를 연결해주는 패턴
피어-투-피어 패턴
피어라 불리는 하나의 컴포넌트가 클라이언트가 될수도, 서버가 될수도 있는 패턴
이벤트-버스 패턴
소스가 특정 채널에 이벤트 메시지를 발행하면, 해당 채널을 구독한 리스너들이 메시지를 받아 이벤트 처리하는 패턴
블랙보드 패턴
모든 컴포넌트들이 공유 데이터 저장소와 블랙보드 컴포넌트에 접근이 가능한 패턴
인터프리터 패턴
프로그램 코드의 각 라인을 수행하는 방법을 지정하고, 기호마다 클래스를 갖도록 구성한 패턴
객체지향
소프트웨어의 각 요소들을 객체로 만든 후 객체들을 조립해서 소프트웨어를 개발하는 기법
객체
데이터와 이를 처리하기 위한 함수를 묶어 놓은 소프트웨어 모듈
클래스
공통된 속성과 연산을 갖는 객체의 집합
메시지
객체의 동작이나 연산을 일으키는 외부의 요구 사항
캡슐화
외부에서의 접근을 제한하기 위해 인터페이스를 제외한 세부 내용을 은닉
상속
상위 클래스의 모든 속성과 연산을 하위 클래스가 물려 받는 것
다형성
각각의 객체가 가지고 있는 고유한 방법으로 응답
연관성
두 개 이상의 객체들이 상호 참조하는 관계
'전공' 카테고리의 다른 글
[정보처리기사 실기] 6. 디자인 패턴 (1) | 2025.07.10 |
---|---|
[정보처리기사 실기] 5. 결합도, 응집도 (1) | 2025.07.09 |
[정보처리기사 실기] 3. 데이터 입출력 구현 (2) (0) | 2025.07.07 |
[정보처리기사 실기] 2. 데이터 입출력 구현 (1) | 2025.07.07 |
[정보처리기사 실기] 1. 요구사항 확인 (1) | 2025.07.06 |