아키텍처, 프레임워크, 플랫폼.
상당히 많이 헷갈려서 검색을 해보았습니다.



[아키텍처: S/W 주요 설계 구조] 
S/W의 특징들을 결정짓는 주요 설계 구조이다. 즉, S/W의 구성 요소 및 이들간의 인터페이스, 동작 방식 등의 특징들을 결정짓는 모든 설계 구조를 말한다. 이는 S/W의 주요 특징을 결정짓고 개발에 미치는 영향도 매우 커서 가장 중요한 부분이라고 할 수 있다.
 
[프레임워크: S/W 뼈대 구조] 
프레임워크는 S/W가 개발될 수 있는 뼈대 구조이다. 지원 프로그램, 라이브러리, 언어, 다른 S/W 구성 요소들을 엮어 주는 역할을 한다. 그리고 플랫폼과 구분되는 점은 프로그램 개발을 위한 부분만을 갖기에 완전한 S/W 실행 환경이 되지 않는다.
 
[플랫폼: S/W 실행 환경] 
가장 일반적이면서도 명료한 의미는 "소프트웨어가 실행되는 환경"이다.
개발 언어나 개발 환경을 플랫폼에 포함시키기도 하지만 이는 부수적 개념 혹은  확장된 개념에 불과하고, 핵심은 "S/W가 실행되는 환경"이다. 
각 프로그램은 아무 플랫폼에서나 실행되는 것이 아니고 특정 플랫폼에서만 실행된다.
또한, 각 플랫폼 내부는 또 다시 여러 계층으로 이루어진 구조를 갖는다.
이는 S/W 구조가 그만큼 계층화되고 복잡해지고 있음을 의미한다.
역설적이지만, S/W 구조가 이렇게 다양해지고 복잡해지는 이유는 다양하고 복잡해지는 요구를 보다 적절히 만족시키기 위한 효과적인 방법이기 때문이라고 볼 수 있다. 따라서, 각 플랫폼은 나름대로의 가치와 적정 용도가 있으므로 프로그램이 성공적(경쟁 제품, 서비보다 저렴하게 개발하거나 보다 고품질을 제공하는 등)이기 위해서는 프로그램 개발 전에는 개발 목적에 가장 적합한 플랫폼을 선정하고 프로그램 개발중에는 플랫폼의 잇점을 최대한 살리는 것이 중요해진다.


출처 : http://ingenuity.egloos.com/viewer/3899288

Posted by 긍정왕오킹