2016. 2. 25. 00:01

* 아키텍처가 튼튼한 시스템이 결국에는 성공

- 아키텍처가 튼튼한 시스템

- 결합성이 적다

- 응집력이 강한 시스템


* 품질 속성


* 시스템의 소프트웨어 아키텍처

- 시스템을 추론하는 데 필요한 구조의 집합

- 시스템은 소프트웨어 요소와 이들 사이의 관계, 

   그리고 이들 요소와 관계의 속성으로 구성


1. 아키텍처는 소프트웨어 구조의 집합이다

- 구조란 단순히 관계로 서로 얽혀 있는 요소들의 집합이다

- 소프트웨어 시스템은 여러 구조로 구성

- 어떤 하나의 구조가 아키텍처인 것은 아니다


- 아키텍처의 구조는 3가지

- 이들은 아키텍처의 설계와 문서화, 분석에서 중요한 역할을 수행


1. 모듈

- 모듈의 구현 단위로 시스템을 분할

- 모듈에는 특정한 컴퓨팅 책임이 할당

- 프로그래밍 팀의 작업을 할당하는 기반

- 대규모 프로젝트에서 이들 요소들은 분할되어 서브 팀에 배정

- 정적인 구조


2. 컴포넌트

- 동적인 구조

- 이 구조는 시스템의 기능을 수행하기 위해 런타임에 요소가 서로 상호작용하는 방식에 집중


3. 할당 구조

- 소프트웨어 구조로부터 시스템의 구성, 개발, 설치, 실행환경으로 매핑

- 모듈은 개발할 팀에 배정

- 구현과 통합, 테스트를 위해 파일 구조의 위치에 할당

- 컴포넌트는 실행하기 위해 하드웨어에 배포


* 아키텍처적 구조

- 시스템과 시스템의 속성에 대해 추론할 수 있게 해준다

- 추론은 이해 당사자에게 중요한 시스템의 특성에 관한 것

- 시스템에 의해 달성되는 기능성

- 결함에 맞서는 시스템의 가용성

- 시스템의 적정한 변경을 어렵게 하는 것

- 사용자 요청에 대한 시스템의 반응성

- 그 밖의 많은 것들 등등



*  시스템 아키텍처(system architecture)

- 시스템의 표현

- 하드웨어 및 소프트웨어 컴포넌트와 기능 매핑

- 하드웨어 아키텍처와 소프트웨어 아키텍처의 매핑

- 이들 컴포넌트와 사람의 상호작용

- 하드웨어, 소프트웨어, 사람을 포함하는 전체 시스템에 관심


* 전사적 아키텍처(enterprise architecture)

- 조직의 핵심 목표와 전략적인 방향이 연계된 조직의 프로세스와 정보 흐름

- 인력 및 조직 단위의 구조와 행위를 서술

- 전사적 아키텍처가 반드시 정보 시스템을 포함할 필요는 없음