ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Software Architecture란?
    카테고리 없음 2024. 5. 19. 19:52

    Software Architecture의 의도, 동기

    • 시스템의 구조는 제작의도(intent)와 퀄리티(quality)를 나타낸다.
    • 최적으로 설계하지 않은 아키텍처는 다시 설계하는데 많은 시간이 걸린다.

     

    Software Architecture의 정의

    The software architecture of a system is a high-level description of the system's structure, its different components, and how those components communicate with each other to fulfill the systems' requirements and constraints

     

    1. 시스템의 소프트웨어 아키텍처는 높은 수준의 추상화를 가진다.

     

    시스템을 이해하기 위한 중요한 구성요소만 설계하는 "추상화" 과정을 거친다.

    이 과정에서 자세한 수행과정은 정의하지 않는다.

     

    수행과정이란 구현을 위해 사용할 기술이나 프로그래밍 언어를 의미한다.

     

    2. 각기 다른 컴포넌트들이 어떻게 상호작용하는지를 나타낸다.

     

    Software Architecture의 추상화 단계

    • Level 1 : Classes / Structs
    • Level 2 : Modules / Packages / Libraries
    • Level 3 : Services(Processes)

     

    Software 개발주기

    • 설계(Design)에 대한 결과물이 Software Architecture
    • 첫 번째 반복주기가 다음반복에 영향을 미친다.

     

     Challenge of Software Architecture

    알고리즘은 올바르게 최적으로 설계했는지 판단할 수 있지만, 소프트웨어 아키텍처는 명확한 판단 기준이 없다.

     

    따라서 실제 산업에서 쓰이는 패턴을 익히고 적용하는 것이 옳은 방법이다.

     

     

    Ref.

    Software Architecture Design Large Scale Systems. Udemy

Designed by Tistory.