SW Architecture Model

SEI 3 View Model의 Allocation View 검토 Checklist

Ed2024 2024. 9. 30. 01:03

SEI 3 View Model의 **Allocation View** 검토 Checklist 입니다.

각 항목은 **하드웨어(H/W)** 및 **소프트웨어(S/W)**의 명확한 설계와 실행 환경 설정을 위한 구체적인 질문과 설명을  포함합니다.

1. H/W(혹은 디바이스) 사양에 대해서 이해하고 작성하였는가?
* 세부 Check 항목 : 

   - 해당 시스템에서 필요한 하드웨어 혹은 디바이스가 무엇인지 명확하게 정의하였는가?
   - 각 하드웨어가 처리할 수 있는 **성능 요건**(CPU, 메모리, 스토리지 등)을 고려하였는가?
   - 시스템 운영에 필요한 **네트워크 대역폭**, **응답 시간**, **처리량** 등의 요구사항을 H/W 사양에 맞게 설정하였는가?
   - H/W 혹은 디바이스의 **확장성**(scalability)을 고려하여 시스템이 더 많은 사용자를 지원할 수 있는지 명확히 기술하였는가?

* 검토 기준 :
   - 각 노드에서 사용될 하드웨어 혹은 디바이스의 구체적인 사양이 정의되었는지 확인합니다.
   - 하드웨어 자원이 시스템의 성능 요구 사항을 충족하는지 검토합니다.

2. 노드의 유형과 역할(기능/QA)에 일치하는 구체적인 이름을 기술하였는가?
* 세부 Check 항목 :
   - 각 노드의 역할이 명확하게 정의되었는가? (예: 클라이언트 노드, 서버 노드, 데이터베이스 노드 등)
   - 해당 노드의 역할이 시스템의 **기능적 요구 사항** 및 **품질 속성(Quality Attributes)**과 일치하는지 확인하였는가?
   - 각 노드의 구체적인 이름을 통해 해당 노드가 수행하는 주요 작업을 쉽게 이해할 수 있는가?
   - 노드의 이름이 시스템 전반에 걸쳐 일관되게 사용되고 있는가?

* 검토 기준 :
   - 노드의 이름이 그 역할과 기능을 명확하게 표현하고 있는지 확인합니다.
   - 노드가 해당 기능을 수행하기에 적합한 역할을 하고 있는지 검토합니다.

 

3. 각 노드 간의 필요한 모든 통신 경로를 식별하고 통신 방법을 구체적으로 기술하였는가?
* 세부 Check 항목 :
   - 각 노드 간의 통신 경로를 명확히 식별하였는가? (예: 클라이언트에서 서버로, 서버에서 데이터베이스로의 통신 경로)
   - 각 통신 경로에 대해 **프로토콜**(HTTP, HTTPS, TCP/IP 등)과 **보안 방법**(SSL/TLS, 인증 등)이 구체적으로 기술되었는가?
   - 통신 대역폭과 지연 시간에 대한 고려가 포함되었는가?
   - 동기화 또는 비동기 통신 방식에 대한 명확한 구분이 있는가?

* 검토 기준 :
   - 각 노드 간의 통신 경로가 누락되지 않고 정의되었는지 확인합니다.
   - 각 통신 경로에 사용된 통신 방법과 그 이유가 명확하게 설명되었는지 검토합니다.

4. SW 컴포넌트의 실행에 필요한 SW 환경(플랫폼)을 구축하였는가?
* 세부 Check 항목 :
   - 각 소프트웨어(SW) 컴포넌트가 실행될 환경(운영체제, 플랫폼, 미들웨어 등)을 명확하게 정의하였는가?
   - 필요한 **라이브러리**, **프레임워크**, **미들웨어** 등 SW의 의존성이 명확히 기술되었는가?
   - 시스템을 실행하기 위한 플랫폼의 **확장성**, **호환성**(예: 클라우드 플랫폼, 온프레미스 서버) 및 **유지보수성**이 고려되었는가?
   - SW 환경이 시스템의 기능적 요구사항을 충족시키는지 확인하였는가?

* 검토 기준 :
   - 소프트웨어가 실행되는 데 필요한 환경과 의존성에 대한 명확한 설명이 있는지 확인합니다.
   - 소프트웨어 환경이 시스템 성능과 요구 사항을 충족할 수 있는지 검토합니다.

 

추가적인 검토 항목 :
1. 노드의 성능 요건 : 각 노드에서 필요로 하는 처리량과 성능을 충분히 고려했는가?
2. 통신 경로의 신뢰성 : 노드 간 통신에서 신뢰성을 보장하는 메커니즘이 충분한가? (예: 오류 처리, 데이터 무결성 보장 등)
3. 보안 고려 : 통신 경로와 SW 환경에서 데이터 보안을 위한 암호화, 인증 방식이 제대로 적용되었는가?
4. 변경 용이성 : 각 노드와 통신 경로, SW 환경이 변경될 경우 쉽게 대응할 수 있는가? 시스템의 변경 용이성에 대한 고려가 충분히 이루어졌는가?

이러한 구체적인 체크리스트를 통해 **Allocation View**를 작성하거나 검토할 때 필요한 요소들이 제대로 반영되었는지 확인할 수 있습니다.