11-5 객체지향 설계(물리 구조 설계)

윤효준·2025년 7월 28일
0

소프트웨어 공학

목록 보기
27/43

🖥️ 물리 구조 설계 (Physical Architecture Design)

물리 구조 설계는 개발된 소프트웨어 컴포넌트를 어떤 기술로 구현할지와,
운영 환경의 하드웨어 플랫폼에 이를 어떻게 배치할지를 정의하는 과정이다.
즉, 논리적 설계(패키지, 클래스 등)를 실제 실행 가능한 하드웨어 및 네트워크 환경에 대응시키는 단계이다.


🌐 배치 다이어그램 (Deployment Diagram) 작성

배치 다이어그램은 소프트웨어 컴포넌트를 실제 하드웨어 노드에 배치하여 표현한 UML 다이어그램이다.

  • 목적: 아키텍처의 소프트웨어와 하드웨어 간 관계를 명확히 시각화

  • 구성 요소:

    • 노드(Node): 서버, 클라이언트, 네트워크 장비 등 하드웨어 장치
    • 아티팩트(Artifact): 실행 파일, 라이브러리 등 소프트웨어 컴포넌트
    • 연결(Link): 노드 간 통신 경로

배치 다이어그램에서는 모든 패키지 및 컴포넌트를 실제 플랫폼에 할당한다.


🖧 서버 기반 아키텍처 (Server-Based Architecture)

  • 모든 주요 기능이 서버에 집중
  • 클라이언트는 단순히 UI 또는 요청만 전달
  • 예: 메인프레임 시스템

💻 클라이언트 기반 아키텍처 (Client-Based Architecture)

  • 대부분의 처리 로직이 클라이언트에서 수행
  • 서버는 단순 데이터 저장소 역할
  • 예: 데스크톱 애플리케이션

🌍 클라이언트-서버 기반 아키텍처 (Client-Server Architecture)

  • 처리 로직이 클라이언트와 서버 간 분산
  • 서버는 데이터 및 서비스 제공, 클라이언트는 UI 및 일부 로직 수행
  • 예: 웹 애플리케이션

🔗 피어투피어 아키텍처 (Peer-to-Peer Architecture)

  • 모든 노드가 동등한 역할을 수행
  • 각 노드는 클라이언트이자 서버 역할을 동시에 함
  • 예: 토렌트, 블록체인

🖥️ 독립 운영 아키텍처 (Stand-Alone Architecture)

  • 네트워크 없이 단일 장치에서 모든 기능 수행
  • 예: 로컬 전용 소프트웨어

🛠️ 기술 환경 명세 (Technical Environment Specification)

기술 환경 명세는 소프트웨어가 동작하기 위해 필요한 하드웨어와 지원 소프트웨어의 세부 사항을 기술한다.

  • 하드웨어 명세

    • 서버, 클라이언트 장치, 네트워크 장비
    • CPU, 메모리, 디스크 용량, 네트워크 대역폭 등
  • 지원 소프트웨어 명세

    • 운영체제(OS)
    • 미들웨어 (웹 서버, DBMS, 메시지 브로커 등)
    • 프레임워크, 라이브러리, 런타임 환경(JDK, .NET 등)
profile
작은 문제를 하나하나 해결하며, 누군가의 하루에 선물이 되는 코드를 작성해 갑니다.

0개의 댓글