Software Architecture   소프트웨어 아키텍처

(2025-03-02)

MVC


1. 소프트웨어 아키텍처 (기본 구조)소프트웨어 시스템의 구조를 정의하는 일련의 고수준 결정 사항 (설계 관점)
     * (기능,속성,제약사항 등에 따라, 구성 요소들을 조직화하여, 전체 프레임워크를 표현하게됨)
     - 서브시스템(컴포넌트,구성요소)들과 그들 간의 관계를 정의
        . (대규모 시스템 > 서브 시스템 > 서비스 모듈)
     - 서브시스템을 소프트웨어 또는 하드웨어로 구현할 지 여부
     - 외부와의 인터페이스를 결정
     - 전체 제어 구조 설계
     - 중앙집중, 분산처리 방식을 정하는 등

  ㅇ 영향 및 역할
     - 시스템의 성능, 확장성, 유지보수성 등에 큰 영향을 미치며, 
     - 시스템의 성공적인 개발과 운영을 위해 중요한 역할을 합


2. 주요 소프트웨어 아키텍처 패턴들 例)데이터 중심 아키텍처
     - 데이터 저장소(데이터베이스)가 중심이 되는 구조
  ㅇ 데이터 흐름 아키텍처
     - 데이터가 연속적으로 흐르며 처리되는 방식
  ㅇ 클라이언트 서버 아키텍처
     - 클라이언트서버에 요청하고 서버가 응답하는 구조
  ㅇ 계층아키텍처
     - 기능을 계층으로 나누어 설계하는 방식 (例: 프레젠테이션, 비즈니스, 데이터)
  ㅇ 마이크로서비스 아키텍처
     - 하나의 큰 애플리케이션을 작고 독립적인 서비스 모음으로 구성하는 설계 방식
  ㅇ MVC (Model/View/Controller) 아키텍처
     - 모델(Model), 뷰(View), 컨트롤러(Controller)로 역할을 분리하는 구조
        . 모델 : 사용자에게 안보이는 영역. DB,내부 알고리즘 등 백드라운드에서 동작하는 로직
        . 뷰 : 사용자에게 보여주는 영역
        . 컨트롤러 : 모델과 뷰 사이를 연결하는 역할. 사용자의 입력 처리와 흐름 제어를 담당
  ㅇ P2P (Peer-to-Peer) 아키텍처
     - 중앙 서버의 개입 없이, 노드들이 직접 통신하는 분산 네트워크3-Tier 아키텍처
     - 프레젠테이션, 애플리케이션(비즈니스 로직), 데이터베이스3계층 형태의 구조
     - 또는, 클라이언트 (Tier 3) - 웹 서버 (Tier 2) - 데이터베이스관리시스템 (Tier 1)

[소프트웨어공학 기초]1. 소프트웨어 공학   2. 버전 관리   3. 요구 분석   4. 소프트웨어 설계   5. 소프트웨어 아키텍처   6. CBD (컴포넌트기반개발)   7. MDA (모델주도형구조)   8. 순기/생명주기   9. 분할 후 정복  

  1. Top (분류 펼침)      :     1,601개 분류    6,606건 해설

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]       편집·운영 (차재복)