여러 가지 소프트웨어 구성 요소와 그 구성 요소가 가진 특성 중에서 외부에 드러나는 특성, 그리고 구성 요소 간의 관계를 표현하는 시스템의 구조나 구조체를 의미
소프트웨어 집약적인 시스템에서 아키텍처가 표현해야 하는 내용 및 이들 간의 관계를 제공하는 아키텍처 기술 표준
고객의 요구 사항을 정리해 놓은 시나리오를 4개의 관점에서 바라보는 소프트웨어적인 접근 방법이며 체크 방법으로는 유스케이스를 사용함
유스케이스 뷰
아키텍처를 도출하고 설계하는 작업을 주도하는 뷰
논리 뷰
설계 모델의 추상화이며, 주요 설계 패키지와 서브 시스템, 클래스를 식별하는 뷰
프로세스 뷰
런타임 시의 시스템의 태스크, 스레드, 프로세스와 이들 사이의 상호 작용 등의 관계를 표현하는 뷰
구현 뷰
개발 환경 안에서 정적인 소프트웨어 모듈의 구성을 표현하는 뷰
배포 뷰
물리적인 노드의 구성과 상호 연결 관계를 배포 다이어그램으로 표현하는 뷰
현행 시스템이 어떤 하위 시스템으로 구성되어 있고, 제공 기능 및 연계 정보는 무엇이며 어떤 기술 요소를 사용하는지를 파악하는 활동
구성 현황 파악
조직의 주요 업무를 처리하는 기간 업무와 이를 지원하는 지원 업무로 구분하여 파악
기능 현황 파악
단위 업무 시스템이 현재 제공하고 있는 기능 파악
인터페이스 현황 파악
단위 업무 시스템이 다른 시스템과 주고받는 데이터의 종류, 데이터 형식, 프로토콜, 연계 유형, 주기 파악
아키텍처 구성 파악
기간 업무를 수행하기 위해 계층별로 어떤 기술 요소들을 사용하고 있는지 최상위 수준에서 파악
소프트웨어 구성 파악
단위 업무 시스템의 업무 처리를 위해 설치되어 있는 소프트웨어들의 제품명, 용도, 라이선스 적용 방식, 라이선스 수 파악
하드웨어 구성 파악
단위 업무 시스템들이 운용되고 있는 서버의 위치, 운용 서버의 주요 사양과 수량, 이중화 구현 여부를 파악
네트워크 구성 파악
업무 처리 시스템을 위해 어떤 네트워크 장비를 사용하여 어떻게 구성되어 있는지 파악
수집 자료의 특성에 따라 팀을 구성
팀별로 작성된 산출물을 상호 검토하여 의견을 제시하고 이를 반영하여 수정 및 최종 완료함
컴퓨터 시스템이 제공하는 모든 하드웨어, 소프트웨어를 사용할 수 있도록 해주고, 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스를 담당하는 프로그램
컴퓨터 장치들의 노드 간 연결을 사용하여 서로에게 데이터를 교환할 수 있도록 하는 기술
데이터베이스라는 데이터의 집합을 만들고, 저장 및 관리할 수 있는 기능들을 제공하는 응용 프로그램
분산 컴퓨팅 환경에서 응용 프로그램과 프로그램이 운영되는 환경 간의 원만한 통신이 이루어질 수 있도록 제어해 주는 소프트웨어
서버 계층에서 애플리케이션이 동작할 수 있는 환경을 제공하고 안정적인 트랜잭션 처리와 관리, 이기종 시스템과의 애플리케이션 연동을 지원하는 서버
① OLTP/배치/데이터베이스 서버
CPU(tmpC 단위)
= (분당 트랜잭션 수) X (기본 tmpC 보정) X (peak time 부하 보정)
X (DB 크기 보정) X (앱 구조 보정) X (앱 부하 보정)
X (클러스터 보정) / (시스템 목표 활용률)
② WEB/WAS 서버
CPU(OPS 단위)
= (동시 사용자 수) X (사용자 당 연산수) X (기본 OPS 보정)
X (인터페이스 부하 보정) X (peack time 부하 보정) X (클러스터 보정)
X (시스템 여유율) / (시스템 목표 활용률)
메모리(MB 단위)
= [(시스템 영역) + {(사용자 당 필요 메모리) X (사용자 수)}
+ (미들웨어 버퍼 캐시 메모리)] X (버퍼 캐시 보정) / (시스템 여유율)
① 시스템 디스크
시스템 디스크
= {(시스템 운영체제) + (응용 프로그램) + (SWAP 영역)}
X (파일 시스템 오버헤드) X (시스템 디스크 여유율) X (RAID 여유율)
② 데이터 디스크
데이터 디스크
= {(데이터 영역) + (백업 영역)}
X (파일 시스템 오버헤드) X (시스템 디스크 여유율) X (RAID 여유율)
팀별로 작성된 산출물을 상호 검토하여 의견을 제시하고 이를 반영하여 수정 및 최종 완료함