기출 소프트웨어 아키텍처의 중요성과 품질 속성을 시스템, 비즈니스, 아키텍처 관점으로 구분하여 설명하시오

agnusdei·2025년 6월 9일

Software Engineering

목록 보기
12/59

소프트웨어 아키텍처(Software Architecture)의 중요성과 품질 속성(Quality Attributes)은 시스템(System), 비즈니스(Business), 아키텍처(Architecture) 관점에서 각각 다르게 나타납니다. 아래에 각 관점별로 모범답안을 정리하여 설명드립니다.


📌 문제

소프트웨어 아키텍처의 중요성과 품질 속성을 시스템, 비즈니스, 아키텍처 관점으로 구분하여 설명하시오.


✅ 답안

🔷 1. 개념 정리

  • 소프트웨어 아키텍처 (Software Architecture)
    : 시스템을 구성하는 주요 구성요소(컴포넌트)와 이들 간의 관계(인터페이스, 상호작용)를 정의하고 조직화한 구조
    소프트웨어의 청사진(blueprint) 역할을 함

  • 품질 속성(Quality Attributes)
    : 소프트웨어가 얼마나 잘 동작하는지를 정의하는 특성들
    ➔ 비기능 요구사항(Non-functional Requirements)의 핵심


🔷 2. 관점별 설명

✅ [1] 시스템 관점 (System View)

▷ 중요성

  • 전체 시스템의 구조를 정의하고, 모듈화와 분할을 통해 복잡도를 감소
  • 변경에 유연하게 대처 가능하도록 설계 → 유지보수성 확보
  • 비기능 요구사항(성능, 확장성 등)을 아키텍처 수준에서 해결

▷ 품질 속성

품질 속성설명
성능 (Performance)응답 시간, 처리량 등 시스템이 빠르고 효율적으로 동작
신뢰성 (Reliability)장애 발생 시 시스템이 안정적으로 복구되는 능력
이식성 (Portability)다양한 운영체제나 환경에서 소프트웨어 실행 가능

✅ [2] 비즈니스 관점 (Business View)

▷ 중요성

  • 아키텍처는 비즈니스 목표와 전략을 달성하는 도구
  • 제품/서비스 출시 시간 단축 → Time-to-Market 향상
  • 비용 절감 및 ROI(Return on Investment) 향상
  • 규제 및 법적 요구사항 준수 가능

▷ 품질 속성

품질 속성설명
확장성 (Scalability)비즈니스 성장에 따라 시스템 확장이 용이해야 함
재사용성 (Reusability)기존 기능 또는 모듈을 다른 제품/서비스에 재활용 가능
유지보수성 (Maintainability)오류 수정 및 기능 추가 시 빠르고 저렴하게 가능

✅ [3] 아키텍처 관점 (Architecture View)

▷ 중요성

  • 개발 표준 및 설계 원칙을 정의
  • 전체 개발팀의 소통 기준이 되며, 협업 효율성 증대
  • 기술 리스크를 조기에 식별하고 대응 가능

▷ 품질 속성

품질 속성설명
모듈성 (Modularity)시스템을 기능 단위로 나누어 개발 효율성 향상
유연성 (Flexibility)변경사항이 시스템 전체에 미치는 영향을 최소화
보안성 (Security)데이터와 시스템을 위협으로부터 보호

🔷 3. 핵심 용어 정리

용어정의
NFR (Non-Functional Requirements)성능, 보안, 가용성 등 기능 외적인 요구사항
Blueprint소프트웨어 구조에 대한 설계 청사진
Stakeholder시스템에 이해관계가 있는 모든 사람 (고객, 개발자, 관리자 등)
Design Trade-off품질 속성 간의 균형 및 우선순위 결정 과정

🔷 4. 어린이 버전 요약

소프트웨어 아키텍처는 건물의 설계도처럼, 프로그램을 잘 만들기 위한 설계 그림이에요.
이 설계도가 잘 그려지면, 프로그램이 빨리, 튼튼하게, 고장 나도 쉽게 고칠 수 있어요.
또한, 회사 입장에서는 돈도 아끼고 빨리 출시할 수 있어서 좋아요.
개발자 입장에서는 어떤 부분을 고치거나 더 만들기 쉬워서 좋아요.


✅ 결론

소프트웨어 아키텍처는 단순한 기술 설계가 아니라, 시스템의 품질, 비즈니스 전략, 그리고 기술적 효율성을 모두 결정짓는 핵심 요소입니다.
각 관점에서의 품질 속성을 고려함으로써, 성공적인 소프트웨어를 구현할 수 있습니다.


profile
DevSecOps Pentest🚩

0개의 댓글