카테고리 없음

Software Architecture (소프트웨어 아키텍처)

Dodledd 2024. 6. 28. 12:26

소프트웨어 아키텍처란?

여러가지 소프트웨어의 구성요소나 이 구성요소들중에서 외부로 드러나는 특성.

-> 구성요소들 간에 관계를 표현하는 시스템의 구조

 

소프트웨어 아키텍처의 필요성

성능, 가용성, 사용성, 편의성, 운영성, 확장성을 고려해야 좋은 시스템이 나온다.

그러므로 아키텍처는 기능적인 요소도 포함하지만 대부분 비기능적인 요소에 집중해서 만들어진다.

 

소프트웨어 아키텍처의 특징

간략성 : 이해하고 추론할 정도의 간결성 유지

추상화 : 시스템의 추상적인 표현을 사용(복잡도 관리)

가시성 : 시스템에 무엇이 포함되어야 할지를 보여줌(도면)

 

소프트웨어 아키텍쳐 VS 애플리케이션 아키텍처

소프트웨어는 비기능적 요소에

집중하고 애플리케이션 아키텍처는 기능적 요소에 집중한다.

 

소프트웨어 아키텍처의 3가지 속성

 

 

대표적인 아키텍처 패턴 - MVC(Model - View - Controller)

우리가 개발할 때 가장 많이 듣는 단어이다. MVC패턴

사용자 인터페이스로부터 비지니스 로직을 분리하여 어플리케이션의 시각적인 요소나 그 이면에서 실행되는 비지니스 로직을 서로 영향없이 쉽게 고칠 수 잇는 어플리케이션을 만들 수 있다.

MVC의

M : Model은 어플리케이션의 데이터를 나타내며

V : View 는 사용자가 직접적으로 보는 화면(front) 인터페이스 html,css이고

C : Controller는 사용자가 직접적으로 보는 화면 View 와 어플리케이션의 정보 Model을 서로 묶어주며 상호동작을 관리한다. (예를들면 servlet?)

 

 

오늘은 다른 개발용어를 더 잘 이해하기위해 작은 단위의 용어중 하나를 정리해보았다.

사실 작은 단위이지만 깊게 들어간다면 아키텍처의 평가유형, 의사소통, 설계절차 등등 많아지지만 일단 이정도면

아키텍처가 무엇인가? 에 대한 가벼운 이해가 된 것 같다.