Application Architecture |
The architecture of a specific system |
Domain Architecture |
Baseline architecture for a family of systems within a specific domain |
Architecture Style |
Patterns, rules, and constraints imposed on architectures |
Generic architecture model |
Architecture description languages/rules based on:
- Linguistic model for descriptive
- Semantic model for analytic power
|
위로 갈수로 전문적이고 아래로 갈수록 일반화되는 개념이다.
Application Architecture와 Software Architecture
- Application Architecture와 S/W아키텍쳐는 프로젝트의 상황에 따라 구별되기도, 동일시 되기도 한다.
- 일반적으로 Application Architecture 는 기능 중심인 반면 S/W Architecture 는 기술 중심이다.
- 일반적으로 Application Architecture 는 Enterprise Level에서 설계되는 반면 S/W Architecture 는 모든 소프트웨어를 대상으로 한다.
Architecture and Component-Based Development
- Component-based software development entails a component architecture to ensure that components fit together forming themselves into successively larger systems. (compositional architecture)
- Large-grained, complex components usually need to be refined into successively detailed sub-architectures before implemented into executable code. (decompositional architecture)
Architecture and Framework-Based Development
- An application framework is a generic system that implements a domain architecture and can be extended into a complete application (sub)system.
- Understanding the architecture of an application framework is essential for framework-based development, as the rules and constraints for composition and interactions of its building blocks are predefined in the architecture.
Architecture and Patterns
- Patterns are proven, abstract solutions to recurring problems in specific contexts.
- Patterns are interaction abstractions captured in concrete forms.
- A pattern language is a structured collection of patterns that build on each other to transform a problem into its solution.
- A pattern language can generate a system of patterns to shape an architecture that solves a problem in a given domain.
- Therefore, an architecture can be described in terms of patterns. (Well-structured architectures are full of patterns.)