소프트웨어 아키텍처 사용자의 비기능적 요구사항으로 나타난 제약 반영 기능적 요구사항을 구현하는 방법을 찾는 해결 과정 모듈화(Modularity) - 시스템 기능들을 모듈 단위로 나눠 소프트웨어의 성능 및 재사용성을 향상시키는 것 추상화(Abstraction) - 전체적이고 포괄적인 개념을 설계한 후 차례대로 세분화하여 구체화 시키는 것 과정 추상화 (자세한 수행과정 정의 없이 전반적인 흐름만 파악) 데이터 추상화 (데이터의 세부적인 속성이나 용도를 정의하지 않고 데이터 구조를 대표하는 것으로 대체 제어 추상화 (이벤트 발생의 정확한 절차나 방법을 정의하지 않고 대표하는 표현으로 대체) 단계적 분해(Stepwise Refinement) - Niklaus Wirth에 의해 제안된 하향식 설계 전략 (상세한..