아키텍처와 공학

Ramification of Software Architecture

sjokim 2009. 10. 26. 10:59

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.)