소프트웨어 아키텍처 - 2(구조)

박승현·2023년 9월 10일
0

아키텍처

목록 보기
2/30
post-thumbnail

Structures in Software Architecture


Architecture is an Abstraction

  • 아키텍처는 소프트웨어 요소와 요소 간의 관계로 구성
  • 복잡성을 다루는 방법
    • 아키텍처는 복잡성(요소간의 관계)을 다루기 위해 공개적인 측면에 중점을 둔다 -> 소프트웨어 요소의 개인적인 세부 사항, 내부 구현은 아키텍처적인 부분이 아니라는 의미
  • 추상화는 시스템의 복잡성을 다루는데 필수적

Architecture includes Behavior

  • 각 요소의 행동은 요소들이 서로 상호 작용하는 방식을 반영
  • 요소의 행동은 다른 요소에 영향을 미치거나 시스템 전체에도 영향을 미칠 수 있다
  • 이러한 행동은 소프트웨어 아키텍처의 일부로 고려되어야 하며, 문서화되어야 한다

Every Software System has a Software Architecture

  • 모든 시스템은 소프트웨어 아키텍처를 가짐
  • 모든 시스템이 시스템을 이해하고 추론하기 위해 필요한 요소와 요소간의 관계로 구성되어 있기 때문
  • 하지만 아키텍처가 누구에게도 알려지지 않을 수 있으며 설명 또는 명세와 별도로 존재할 수 있다

아키텍처가 시스템의 본질적인 부분이지만 문서화되거나 명세화되지 않을 수도 있다


Software Architecture Definition - 2

  • 아키텍처는 시스템의 기본적인 구성을 나타낸다 이것은 시스템의 구성 요소, 그것들의 관계, 설계 및 진화를 이끄는 원칙으로 구체화
  • 이 전 내용과 비슷

Goal of Software Architecture

  • 일정한 설계 변수가 결정되어야 함
  • 주어진 제약 조건 하에서 최상의 측정 가능한 성능을 달성 해야함

아키텍처의 목적 -> 최적화 : 주어진 제약 조건에서 설계 변수를 결정하여 가장 우수한 성능(목적 성능)을 최대화, 최소화 하는 것


Common Aspects in Software Architecture Problem

  • 문제에는 여러 해결책이 존재함, 최적의 해결책을 찾아야 한다
  • 달성해야 할 하나 이상의 목표와 그 목표를 얼마나 잘 달성하는지 측정하는 방법이 존재
  • 다양한 형태의 제약 조건이 존재(hard, soft)
    • hard는 강제적으로 지켜져야 하는 제약(비용, 공장의 성능 같은 것들)
    • soft는 최적화와 관련이 높음
  • 영향을 주는 주요한 변수의 변경
    • 이들 값의 변경은 성능이나 제약 조건 위반에 영향을 미친다 -> 영향 변수의 조정으로 시스템의 성능을 최적화하면서 제약 조건을 만족 해야함

소프트웨어 개발

  • 모델링(분석 / 설계) -> 구현의 단계를 개발로 부름

SW 개발 패러다임


소프트웨어 모델링 목적

  • 모델링 : 표현, 명세, 구축, 문서화
profile
KMU SW

0개의 댓글