다음 용어에 대해 상당히 혼란스러워합니다.
소프트웨어 아키텍처
소프트웨어 응용 프로그램 아키텍처는 모든 기술 및 운영 요구 사항을 충족하면서 성능, 보안 및 관리 효율성과 같은 일반적인 품질 특성을 최적화하는 구조화 된 솔루션을 정의하는 프로세스입니다. 여기에는 다양한 요소에 기반한 일련의 결정이 포함되며 이러한 각 결정은 응용 프로그램의 품질, 성능, 유지 관리 성 및 전반적인 성공에 상당한 영향을 줄 수 있습니다. ( 마이크로 소프트 )
시스템 구조
시스템 아키텍처는 시스템의 구조, 동작 및 더 많은 뷰를 정의하는 개념적 모델입니다. 1 아키텍처 설명은 시스템의 구조 및 동작에 대한 추론을 지원하는 방식으로 체계화 된 시스템 설명 및 표현입니다 ( wiki )
클래스 다이어그램
소프트웨어 엔지니어링에서 UML (Unified Modeling Language)의 클래스 다이어그램은 시스템 클래스, 해당 속성, 오퍼레이션 (또는 메소드) 및 오브젝트 간의 관계를 표시하여 시스템 구조를 설명하는 정적 구조 다이어그램 유형입니다. ( 위키 )
이 설명을 읽으면 이들 모두가 응용 프로그램의 다른 모듈 간의 상호 작용을 설명합니다. 그러나 이것들의 차이점은 무엇입니까?
이 용어를 비교하기 위해 생각하고 시도한 것 :
- 클래스 다이어그램은 시스템 아키텍처의 형태가 아닙니다. 위의 설명 (
structure, behavior, and more views of a system
)은 아키텍처에 구현 세부 정보가 없음을 암시하지만 클래스 다이어그램은 구현을 설명하고 아마도 아키텍처보다는 설계 방향에 더 가깝다는 것을 암시하기 때문입니다. - 시스템 아키텍처는 데이터베이스와 같은 외부 상호 작용을 포함하는 아키텍처라고 생각하지만 소프트웨어 아키텍처는 응용 프로그램 자체에 중점을 둡니다.