# SW Framework?
> 원하는 기능 구현에 집중하여 빠르게 개발할 수 있도록 기본적으로 필요한 기능을 갖추고 있는 것.
> 정보시스템 개발을 위한 code 라이브러리, Application Interface, 설정 정보 등의 집합으로 재사용 가능하도록 SW 구성에 필요한 기본 뼈대 제공
> 광의적으로 정보 시스템의 개발 및 운영을 지원하는 도구 및 가이드 등을 포함
> 대표적 프레임워크 : Java -> Spring / Python -> Django / Javascript -> Angular.js 등
# Framework 특징
1. 모듈화
> 프레임워크는 구현을 인터페이스 뒤에 감추는 캡슐화를 통해 모듈화를 강화하고 설계와 구현의 변경에 따르는 영향을 최소화하여 손쉽게 소프트웨어의 품질을 향상함
2. 재사용성
> 프레임워크가 제공하는 인터페이스는 반복적으로 사용할 수 있는 컴포넌트를 정의할 수 있게 하여 재사용성을 높임
> 프레임워크 컴포넌트를 재사용하는 것은 SW의 품질, 성능, 신뢰성, 상호 운용성을 향상시키며 개발자의 생산성도 높인다
3. 확장성
> 프레임워크는 다형성을 통해 어플리케이션이 프레임워크의 인터페이스를 확장할 수 있게 함
> 어플리케이션 서비스와 특성을 커스터마이징 하는 것을 보장하는 데 필수적이며, 프레임워크를 어플리케이션의 가변성으로부터 분리함으로써 재사용성의 이점을 얻게 함
4. 제어의 역 흐름
> 일반적으로 어떤 모듈을 호출함으로써 해당 모듈을 재사용하나 프레임워크에서는 이와 반대되는 제어 흐름을 통해 재사용성을 지원
> 프레임워크 코드가 전체 어플리케이션의 처리 흐름을 제어하여 특정한 이벤트가 발생할 때 다형성을 통해 확장 메소드를 호출함으로써 제어가 프레임워크로부터 어플리케이션으로 거꾸로 흐르게 한다.
'IT > 관련지식' 카테고리의 다른 글
JSON & XML (0) | 2020.07.20 |
---|---|
통합 테스트 수행 방법 (0) | 2020.07.20 |
서버 프로그램 테스트 (0) | 2020.07.19 |
데이터 베이스 암호화 기법 (0) | 2020.07.19 |
ISO/IEC 9126 품질 요구사항 특성 (UI 요구사항) (0) | 2020.07.19 |