🖥️ 물리 구조 설계 (Physical Architecture Design)
물리 구조 설계는 개발된 소프트웨어 컴포넌트를 어떤 기술로 구현할지와,
운영 환경의 하드웨어 플랫폼에 이를 어떻게 배치할지를 정의하는 과정이다.
즉, 논리적 설계(패키지, 클래스 등)를 실제 실행 가능한 하드웨어 및 네트워크 환경에 대응시키는 단계이다.
🌐 배치 다이어그램 (Deployment Diagram) 작성
배치 다이어그램은 소프트웨어 컴포넌트를 실제 하드웨어 노드에 배치하여 표현한 UML 다이어그램이다.
배치 다이어그램에서는 모든 패키지 및 컴포넌트를 실제 플랫폼에 할당한다.
🖧 서버 기반 아키텍처 (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 등)