Contents
- 1 SW Architecture 개요
- 1.1 SW Architecture 의 필요성
- 1.2 S/W Architecture 의 정의
- 1.3 S/W Architecture 의 역할
- 1.4 Level of SW Architecture
- 2 Architecture Style
- 2.1 Common Architectural Styles
- 3 Application Framework
1.1 SW Architecture 의 필요성 #
- 사용자의 요구사항과 구현될 시스템 사이에서 발생하는 갭을 통제하여 예측 가능하도록 하기 위함
- 시스템이 커질수록
보다는
- Overall System structure
- Organization of a system
- Global control structure
- Protocols for communication
의 중요성이 커짐
1.2 S/W Architecture 의 정의 #
- 소프트웨어 시스템에 대한 상위 레벨의 구조적/행위적 모델
- 소프트웨어 솔루션 구조에 대한 커다란 그림을 보여줌
- 소프트웨어의 중요한 초기 설계 결정사항들을 표현
1.3 S/W Architecture 의 역할 #
- Communication among Stakeholders
- Early Design Decisions
- Transferable Abstraction of a System
- Architecture constrains design and implementation
1.4 Level of SW Architecture #
- Application Framework > 상용S/W Architecture Framework > S/W Architecture Style
2 Architecture Style #
- 아키텍쳐 설계시 반복되는 유사한 조직적인 패턴이나 설계 스타일을 아키텍쳐 스타일 또는 아키텍쳐 패턴이라 함
- 작은 코드수준의 재사용 보다는 전체 시스템의 구조나 설계모형을 재사용하기 위한 구체적이고 체계적인 재사용 규약
2.1 Common Architectural Styles #
- Dataflow systems : batch sequential, pipes and filters
- Call-and return systems : Main program and subroutine, OO systems, Hierarchical layers
- Independent components : Communicating process, Event systems
- Virtual machines : Interpreters, Rule-based systems
- Data-centered systems(Repositories) : Databases, Hypertext systems, Blackboards
3 Application Framework #
- 예시 : JDBC, Servlet
- Framework 를 사용하는 이유 : 개별 Aplication마다 공통적으로 적용시켜야하는 공통의 서비스(로직)를 제공하여 개별 Application 의 복잡성을 줄이고 생산성 향상
- Library 와의 차이 : 라이브러리는 개별 Application 에서 직접 호출하여야하며 호출순서나 방식에 대한 제약이 없음. 반면 프레임워크는 실행주체가 프레임워크가 되고 주어진 api에 맞게 개발된 application이 실행 되어지는 형태