소프트웨어 품질 속성과 품질 시나리오, 그리고 기능적 적합성(Functional Suitability), 성능 효율성(Performance Efficiency), 호환성(Compatibility), 사용성(Usability), 신뢰성(Reliability), 보안(Security), 유지 관리성(Maintainability)에 대해 앞선 글에서 알아보았습니다.
이번에는 소프트웨어 품질 속성 중 하나인 이식성(Portability)에 대해 조금 더 자세히 알아보고, 품질 시나리오 예를 알아보고자 합니다.
목차
이식성(Portability)
이식성(Portability)은 시스템, 제품 또는 구성요소가 하나의 하드웨어, 소프트웨어 또는 기타 운영 또는 사용 환경에서 다른 환경으로 이전될 수 있는 효과 및 효율성의 정도입니다.
이 특성은 다음과 같은 하위 특성으로 구성됩니다.
적응성(Adaptability)
적응성(Adaptability)은 시스템이 다양한 하드웨어, 소프트웨어, 또는 사용 환경의 변화에 효과적으로 적응할 수 있는 능력을 의미합니다. 이는 환경이 변화하거나 기술이 진화함에 따라, 제품이 필요한 성능과 기능성을 유지할 수 있도록 지원합니다.
중요성
적응성(Adaptability)은 제품이 시장에서 긴 수명을 유지할 수 있게 하며, 다양한 고객의 요구 사항을 만족시킬 수 있는 능력을 제공합니다. 또한, 새로운 기술이나 업데이트된 운영 시스템으로의 전환을 용이하게 함으로써, 투자 비용을 절감하고, 시스템의 유연성을 보장합니다.
QAS 예시
- Category: 이식성
- Source: 시스템 관리자
- Stimulus: 운영 시스템 업그레이드
- Environment: 클라우드 호스팅 환경
- Artifacts: 서버, 데이터베이스, 애플리케이션 서버
- Response: 시스템은 새로운 운영 환경에 빠르게 적응하고 원활하게 작동해야 함
- Response Measure: 업그레이드 후 24시간 이내에 시스템이 전체적으로 안정화되며, 모든 기능이 정상 작동해야 함
클라우드 호스팅 환경에서, 시스템 관리자가 운영 시스템의 업그레이드를 수행할 때, 서버, 데이터베이스, 애플리케이션 서버를 활용하여 시스템은 새로운 운영 환경에 빠르게 적응하고 원활하게 작동해야 합니다. 이때, 업그레이드 후 24시간 이내에 시스템이 전체적으로 안정화되며, 모든 기능이 정상 작동함으로써, 시스템의 이식성을 보장합니다.
설치 가능성(Installability)
설치 가능성(Installability)은 소프트웨어나 시스템이 사용자의 환경에 성공적으로 설치되거나 제거될 수 있는 효율성과 효과성을 의미합니다. 이는 설치 프로세스의 용이성, 신속성, 그리고 신뢰성을 포함합니다.
중요성
설치 가능성(Installability)은 사용자가 소프트웨어를 간단하고 신속하게 설치할 수 있도록 함으로써, 사용자 경험을 향상시키고 제품에 대한 만족도를 높입니다. 또한, 설치 과정에서 발생할 수 있는 문제를 최소화하여, 기술 지원 비용을 줄이고 고객의 불편을 방지합니다.
QAS 예시
- Category: 이식성
- Source: 새로운 사용자
- Stimulus: 소프트웨어 설치
- Environment: 다양한 운영 체제를 사용하는 사용자의 컴퓨터
- Artifacts: 인스톨러 프로그램, 사용자 매뉴얼
- Response: 사용자는 소프트웨어를 쉽게 설치하거나 제거할 수 있어야 함
- Response Measure: 설치 프로세스는 사용자가 지시에 따라 15분 이내에 완료할 수 있어야 하며, 설치 실패율은 1% 미만이어야 함
다양한 운영 체제를 사용하는 사용자의 컴퓨터에서, 새로운 사용자가 소프트웨어 설치를 시도할 때, 인스톨러 프로그램과 사용자 매뉴얼을 통해 소프트웨어를 쉽게 설치하거나 제거할 수 있습니다. 설치 프로세스는 사용자가 지시에 따라 15분 이내에 완료할 수 있어야 하며, 이 과정에서 설치 실패율은 1% 미만이어야 함으로써, 시스템의 이식성을 강화하고 사용자의 설치 경험을 최적화합니다.
교체성(Replaceability)
교체성(Replaceability)은 한 제품이 같은 환경에서 동일한 기능을 수행하는 다른 제품으로 교체될 수 있는 능력을 말합니다. 이는 제품이 표준화된 인터페이스를 제공하고, 다른 제품과의 호환성을 갖추었는지 여부에 크게 의존합니다.
중요성
교체성(Replaceability)은 사용자가 더 나은 기능이나 성능을 제공하는 제품으로 쉽게 업그레이드 할 수 있도록 지원합니다. 또한, 공급업체에 대한 의존도를 낮추고, 시장에서의 경쟁력을 유지하는 데 중요한 역할을 합니다. 사용자는 비용 효율적으로 제품을 교체할 수 있으며, 투자의 유연성을 확보할 수 있습니다.
QAS 예시
- Category: 이식성
- Source: 시스템 통합자
- Stimulus: 기존 결제 시스템을 새로운 시스템으로 교체
- Environment: 온라인 쇼핑몰
- Artifacts: 결제 처리 시스템, API, 데이터베이스 인터페이스
- Response: 시스템은 기존 결제 시스템을 새로운 시스템으로 교체할 때 모든 기능이 유지되어야 함
- Response Measure: 교체 작업은 하루 이내에 완료되며, 교체 후 48시간 동안 결제 관련 오류가 발생하지 않아야 함
온라인 쇼핑몰에서 시스템 통합자가 기존 결제 시스템을 새로운 시스템으로 교체하는 상황에서, 결제 처리 시스템, API, 데이터베이스 인터페이스를 활용하여 기존의 모든 결제 기능이 유지되도록 합니다. 이 교체 작업은 하루 이내에 완료되며, 교체 후 첫 48시간 동안 결제 관련 오류가 발생하지 않도록 관리하여 시스템의 이식성을 보장합니다.
'개발 > 요구공학' 카테고리의 다른 글
[요구공학] [소프트웨어 품질 속성] Maintainability (3) | 2024.04.13 |
---|---|
[요구공학] [소프트웨어 품질 속성] Security (52) | 2024.04.07 |
[요구공학] [소프트웨어 품질 속성] Reliability (6) | 2024.04.06 |
[요구공학] [소프트웨어 품질 속성] Usability (42) | 2024.03.31 |
[요구공학] [소프트웨어 품질 속성] Compatibility (60) | 2024.03.30 |