728x90
국민대학교에서 Software Architecture in Practice(3rd edition) 교재를 사용한
최은미 교수님의 강의를 듣고 정리한 글입니다
Architecture is an Abstraction
아키텍처는 소프트웨어 요소와 그 요소가 서로 어떻게 관련되어 있는지로 구성된다
추상화는 시스템의 복잡성을 다루는 데 필수적이다
아키텍쳐에서는 복잡한 연결과 구조를 모두 보여줄 수 없으니
중요한 요소와 핵심 관계만 드러내는 추상화된 모델을 만드는 것이 필수적이라는 의미이다
Architecture includes Behavior
각 요소들의 행동은 요소들이 서로 상호작용하는 방식을 반영한다
요소들의 행동은 다른 요소나 시스템 전체에 영향을 줄 수 있다
이런 행동은 소프트웨어 아키텍쳐로 고려되어야 하며, 문서화되어야 한다
Every Software System has a Software Architecture
모든 소프트웨어 시스템들은 소프트웨어 아키텍쳐를 가지고 있다
모든 시스템은 요소와 요소간의 관계로 이루어져있고, 이 구조는 우리가 시스템을 이해하는데 도움을 준다
정리해보자면 소프트웨어 아키텍쳐는 시스템을 이루는 근복적인 구조이며
이 구조는 요소, 요소들 간의 관계, 설계 원칙, 발전 방향 등을 포함해 단순 코드가 아니라
현재 시스템의 본질과 미래 변화까지 담아내고 있다
Goal of Software Architecture
아키텍쳐의 목표는 최적화이다
주어진 제약 조건 속에서 설계를 통해 최고의 퍼포먼스를 달성해야한다
소프트웨어 개발 (모델링, 구현)
문제 → 모델링(분석/설계) → 모델 → 구현 → 솔루션
소프트웨어 모델링의 목적

- 상호작용에 대한 공통적인 이해
- 좋은 소프트 시스템을 개발(기능, 품질)
728x90
'CS > 소프트웨어아키텍처' 카테고리의 다른 글
| [소프트웨어아키텍처] Architecture Design Guideline (0) | 2025.11.12 |
|---|---|
| [소프트웨어아키텍처] Architecture Design (0) | 2025.11.12 |
| [소프트웨어아키텍처] Views in Software Architecture (0) | 2025.11.12 |
| [소프트웨어아키텍처] What is Software Architecture (0) | 2025.11.12 |
