1.0. 소프트웨어 설계 용어 - 아키텍처

정처기; 정보처리기사

by 짧은 수필

아키텍처(Architecture):

컴퓨터 시스템이나 소프트웨어 시스템을 어떻게 만들지 계획하고 설계하는 전반적인 구조




아키텍처의 핵심 개념


아키텍처는 건물을 짓기 전에 설계도를 그리는 것에 비유할 수 있습니다.

설계도가 건물의 뼈대와 각 부분의 역할을 정해주듯이,

시스템 아키텍처는 다음과 같은 내용들을 정의합니다.


시스템 구성 요소: 시스템을 이루는 각 부분(모듈, 컴포넌트, 서브시스템 등)이 무엇인지 정의


구성 요소 간의 관계: 각 구성 요소들이 서로 어떻게 상호작용하고 데이터를 주고받는지 정의


시스템의 작동 방식: 시스템이 전반적으로 어떻게 작동하고, 어떤 흐름으로 처리되는지 정의


제약 조건 및 원칙: 성능, 보안, 확장성, 유지보수성 등 시스템이 만족해야 할 요구사항과 설계 원칙을 포함




왜 아키텍처가 중요한가?


아키텍처는 시스템 개발의 성공에 매우 중요한 역할을 합니다.


방향성 제시: 개발자들이 시스템을 만들 때 통일된 방향성을 가지고 작업할 수 있도록 도와줌


문제 예측 및 해결: 잠재적인 문제점(성능 저하, 보안 취약점 등)을 개발 초기에 예측하고 해결할 수 있게 함


재사용성 및 유지보수성: 시스템 구성 요소의 재사용성을 높이고, 나중에 시스템을 변경하거나 유지보수하기 쉽게 만듦


의사소통 도구: 개발팀, 이해관계자 간의 효과적인 의사소통을 위한 공통 언어 역할을 함




정보처리기사에서 다루는 아키텍처


정보처리기사에서는 주로 소프트웨어 아키텍처와 관련된 내용을 다룹니다.

예를 들어,


소프트웨어 아키텍처 패턴: 시스템을 설계할 때 반복적으로 발생하는 문제를 해결하기 위한 검증된 해결책(예: 클라이언트-서버, 계층형 아키텍처 등)


시스템 통합: 여러 시스템이나 컴포넌트들을 하나로 연결하여 작동시키는 방법


성능, 확장성, 보안 등을 고려한 설계: 시스템의 품질 속성을 향상시키기 위한 아키텍처적 고려사항


정리하자면,

아키텍처는 시스템을 효율적이고 안정적으로 구축하기 위한

전체적인 설계도이자 청사진이라고 이해하시면 됩니다.


keyword
매거진의 이전글1.2. 소프트웨어 공학의 기본원칙