본문 바로가기

안녕하세요!

자격증 준비/정보처리기사

[ 정보처리기사 ] 소프트웨어 아키텍처


 

소프트웨어 아키텍처


 

품질 속성


 

정확성(Correctness)사용자가 요구한 기능을 정확히 수행해야함을 의미한다.

신뢰성(Reliability)요구한 기능이 오차나 오류가 없이 동작해야한다는 것을 말한다.

효율성(Efficiency)기능이 수행되면서 자원(CPU, Memory)을 적절히 사용해야함을 말한다.

무결성(Integrity)이란 자료는 인가된 사용자만 변경할 수 있도록 한다는 것을 의미한다.

사용 용이성(Usability) 쉽게 배우고 사용할 수 있는 것이다.

유지보수성(Maintainability)오류 수정 및 변경이 용이해야함을 말한다.

유연성(Flexibility)새로운 요구사항을 쉽게 적용할 수 있는 것을 의미한다.

시험 용이성(Testability)이란 테스트를 하는 것이 용이해야함을 말한다.

이식성(Potability)이란 다양한 플랫폼 및 하드웨어에서 동작이 가능해야 한다는 것을 의미한다.

재사용성(Reusability)개발된 소프트웨어는 다른 목적으로 사용하기 용이해야 하는 것이다.

상호 운용성(Interoperability)다른 소프트웨어와 상호 교류가 용이해야 한다는 것이다.  

패턴 종류


 

계층화 패턴


 

계층화 패턴(Layered Pattern)N-티어 아키텍처 패턴으로도 불리며,
하위 모듈을 그룹으로 나눌 수 있는 구조화된 프로그램에서 사용한다.

그리고 각 서브시스템이 하나의 계층이 되고 하위층이 제공하는 서비스를
상위층의 서브시스템이 이용할 수 있는 구조이다. 

 

클라이언트-서버 패턴


 

클라이언트-서버 패턴(Client-Server Pattern)다수의 클라이언트하나의 서버로 구성된다.

서버는 클라이언트에게 서비스를 제공하며 데이터를 관리하는 역할을 한다. 

 

마스터 슬레이브 패턴


 

마스터-슬레이브 패턴(Master-Slave Pattern)
마스터 컴포넌트가 동등한 구조의 슬레이브 컴포넌트로 작업을 분산하고,
슬레이브가 결과 값을 반환하면 최종 결과 값을 계산하는 구조이다. 

 

파이프-필터 패턴


 

파이프-필터 패턴(Pipe-Filter Pattern)
데이터 스트림을 생성하고 처리하는 시스템에서 사용 가능한 패턴이다.

필터 컴포넌트에서 각 처리과정을 실행하며, 처리된 데이터는 파이프를 통해 전송된다.

서브시스템이 입력데이터를 받아 처리하고
결과를 다음 서브시스템으로 넘겨주는 과정을 반복하게 된다.

반응형

브로커 패턴


 

브로커 패턴(Broker Pattern)분리된 컴포넌트로 구성된 분산 시스템에서 사용되는 패턴이다.

각 컴포넌트들은 원격 서비스를 통해 서로 상호작용을 할 수 있으며
브로커 컴포넌트가 컴포넌트 간의 통신을 조절한다.  

 

피어 투 피어 패턴


 

피어 투 피어 패턴(Peer to Peer Pattern)피어라 부르는 각 컴포넌트 간에 서비스를 주고받는 패턴이다.

피어 객체 하나가 클라이언트, 서버 역할 모두를 수행하는 구조이다.

 

이벤트-버스 패턴


 

이벤트-버스 패턴(Event-Bus Pattern)이벤트 버스를 통해 특정 채널로 메세지를 발행한다.

리스너가 구독한 채널에 소스가 서비스를 제공하면 채널이 리스너에게 서비스를 제공한다.

 

모델-뷰-컨트롤러 패턴


 

모델-뷰-컨트롤러 패턴(MVC Pattern)
3개의 각 컴포넌트는 각가의 역할을 갖고 사용자에게 서비스를 제공한다. 

자료의 저장, 제어, 표현 기능을 분리하여 재사용을 증진시킨다.

모델은 도메인의 기능과 자료를 저장하고 보관하며,
뷰는 사용자에게 결과를 표시하고,
컨트롤러는 사용자로부터 입력을 받아 연산을 처리한다.

 

블랙보드 패턴


 

블랙보드 패턴(Blackboard Pattern)
명확히 정의된 해결 전략이 알려지지 않은 문제에 대해서 유용한 패턴이다. 

 

인터프리터 패턴


 

인터프리터 패턴(Interpreter Pattern)
특정 언어로 작성된 프로그램을 해석하는 컴포넌트를 설계할 때 사용되는 패턴이다.

 

728x90
반응형

loading