[소프트웨어공학] 19. System Design and Architecture
·
CS/소프트웨어공학
지금까지 클래스 단위의 모듈화, 컴포넌트 단위의 모듈화 방법을 정리하였다.이제 단계를 높여서 서브 시스템 아키텍처를 설계해보자. 소프트웨어를 만들 때 requirement 를 모두 찾았다면 제일 먼저 아키텍처를 그려야 한다.'아키텍처' 라고 하면 big picture 를 생각하면 된다.그리고 제일 먼저 서브 시스템과 컴포넌트를 찾아서 이들 사이의 관계 (인터페이스) 를 정의해야 한다. 서브 시스템을 정의해보면 같은 특성을 공유하는 element 의 그룹으로 정의한다.예를 들어 UI 와 같이 사람과 컴퓨터 사이의 인터페이스 역할을 하는 element 를 모으면 'HCI 서브 시스템' 과 같이 분류할 수 있다. 이렇게 서브 시스템을 나누면 몇 가지 장점이 있다.'독립적인' 개발 단위 크기가 줄어들고 comp..