![article thumbnail image](https://blog.kakaocdn.net/dn/ex1vQn/btr4gVG2SX1/MJ3GpeRLwDlGr6BMN5FpEK/img.png)
소프트웨어 아키텍처 (Software Architecture)
- 시스템의 초기 설계 결정 사항을 표현하는 것 = 구조
- 소프트웨어 아키텍처가 중요한 이유는 소프트웨어의 품질을 결정하기 때문
- 하나의 소프트웨어를 개발할 때, 이런 수많은 모듈들을 어떻게 분할하고 배치할 것인지 결정할 때 참고하는 것이 소프트웨어 아키텍처
모듈
- 소프트웨어를 구성하고 있는 작은 기능 하나하나의 단위
컴포넌트
- 모듈을 기능별로 묶어놓은 집합
소프트웨어 아키텍처 기본 원리
- 모듈화: 소프트웨어 성능 향상 및 유지관리 등이 용이하도록 시스템의 기능을 모듈단위로 나누는 것
- 추상화: 전체적이고 포괄적인 개념을 설계한 후에 구체화 시켜 나가는 것
- 단계적 분해: 상위 개념부터 하위 개념으로 구체화 시키는 분할 기법 하향식 설계 전략
- 정보 은닉: 모듈 내부에 정보와 자료들을 숨겨서 다른 모듈이 접근하거나 수정하지 못하도록 하는 기법
'Information Technology > 용어' 카테고리의 다른 글
[용어] Nginx - sites-available, sites-enabled이란? (0) | 2023.04.18 |
---|---|
[용어] Linux - pushd, popd 란? (0) | 2023.04.18 |
[용어] 오버로딩 & 오버라이딩이란? (0) | 2023.04.03 |
[용어] 메시지 브로커 (0) | 2023.03.15 |
[용어] 마이그레이션, 컨버팅, 포팅 (0) | 2023.03.15 |