문제

이 두 용어는 매우 확산되었습니다. 정확히 어떻게 다릅니 까?

이 차이를 자세히 설명 할 수있는 실제 예제 또는 시나리오가 있습니까?

도움이 되었습니까?

해결책

내 이해에 따르면 디자인은 하나의 시스템에 더 구체적입니다. 두 시스템에는 a 비슷한 디자인하지만 공유하십시오 같은 건축물.

따라서 설계는 선택한 아키텍처가 주어진 요구 사항에 어떻게 적용되는지 정의합니다. (또는 이와 같은 것)

그러나 이것은 내 느낌이 더 많기 때문에 다른 답변에 관심이 있습니다 ...

다른 팁

보다 건축물 그리고 설계.

프로그램 또는 컴퓨팅 시스템의 소프트웨어 아키텍처는 소프트웨어 구성 요소, 해당 구성 요소의 외부 가시적 특성 및 이들 간의 관계를 포함하는 시스템의 구조 또는 구조입니다. [...] 소프트웨어 아키텍처 문서화는 이해 관계자 간의 의사 소통을 용이하게하고, 고급 설계에 대한 초기 결정을 문서화하며, 프로젝트 간의 설계 구성 요소와 패턴을 재사용 할 수 있습니다.

--

소프트웨어 디자인은 소프트웨어 솔루션을위한 문제 해결 및 계획의 프로세스입니다. 소프트웨어의 목적과 사양이 결정된 후 소프트웨어 개발자는 설계자를 설계하거나 고용하여 솔루션 계획을 개발합니다. 여기에는 아키텍처보기뿐만 아니라 저수준 구성 요소 및 알고리즘 구현 문제가 포함됩니다.

--

따라서 그들은 서로 부분을 공유하지만 소프트웨어의 약간 다른 측면을 나타냅니다. 기술적으로 말하면 아키텍처에는 포함되어야합니다 모든 측면, 그러나 실제로 그들은 일반적으로 높은 수준의 토폴로지 또는 소프트웨어 구조를 나타냅니다. 예를 들어, 파일 기반 명령 줄 소프트웨어, 웹 앱 또는 n-tier 풍부한 인터넷 응용 프로그램은 건축 결정이 될 것입니다.

소프트웨어 디자인에는 건축 결정을 내릴 수 있지만 캐릭터 수와 같은 훨씬 더 깊은 것들이 포함됩니다. address1 데이터베이스에 있어야하는데, 이는 실제로 건축 결정이 아닙니다.

편집하다: 차이를 단순화하기 위해 아키텍처는 알려진 소프트웨어 솔루션 패턴을 말하며, 종종 하위 구성 요소/계층/계층 간의 배치 및 관계를 포함합니다. 패턴은 또한 데이터가 저장, 처리 및 제시되는 방법과 위치를 지정합니다. 아키텍처는 상자와 화살표를 사용하여 설명 할 수있는 것입니다. 자율 로봇 패러다임.

소프트웨어 디자인은 주어진 소프트웨어 요구 사항에 대한 솔루션에 대한 생각의 과정입니다. 각 문제는 고유 한 방식으로 독특하므로 디자인이 다릅니다.

이거 ..

  • 설계 소프트웨어를 어떻게 구성 할 것인지 계획하는 과정입니다.

  • 건축물 코드베이스가 어떻게 구성되는지의 현실입니다. 코드가 구성되지 않은 경우 실제로 아키텍처를 가지고 있다고 주장 할 수 없습니다.

이상적으로는 디자인 단계 (또는 코드베이스 수명 동안 일련의 설계 기간)에서 아키텍처를 얻을 수 있지만 때로는 좋은 아키텍처가 리팩토링에서 지속적으로 점진적으로 개선 될 수 있으며 '올바른'일을하는 느낌으로도 얻을 수 있습니다.

그래도 공식적으로 정의 된 단어는 아닙니다.)

이런 식으로 생각하십시오 : 집을 짓기 위해서는 건축가 (건축가)로부터 청사진을 얻습니다. 그런 다음 생성자는이 청사진을 사용하고 어떤 열이 얼마나 필요한지에 대한 결정 (디자이너)을 사용해야하는 시멘트와 벽돌, 어떤 종류의 채색 유형을 수행 해야하는지에 대한 결정을 내립니다. 이는 설계 결정입니다. 그런 다음 작업자는 건축업자로부터 주문을 받고 집을 건설합니다 (코더).

아키텍처는 설계되었습니다. 그러나 다른 방법은 아닙니다. '아키텍처'는 일반적으로 대형 (다층) 시스템의 디자인을 식별하고 이름을 지정하는 데 사용됩니다. 시스템은 정의상 여러 구성 요소 또는 하위 시스템의 협업입니다. 하나는 이것을 '시스템 디자인'또는 단지 '디자인'이라고 부를 수도 있지만, 아키텍처는 어떤 이유로 든 하위 시스템이나 구성 요소의 설계와 다르기 때문에 더 무게를줍니다.

아키텍처는 컴퓨터 또는 컴퓨터 기반 시스템의 개념적 구조와 논리적 구성을 의미합니다.

디자인은 시스템 또는 물체가 만들어지기 전에 객체의 모양과 기능 또는 작업을 보여주기 위해 생성 된 계획 또는 도면을 의미합니다.

구성 요소를 "아키텍처"하는 경우 더 큰 시스템에서 어떻게 작동하는지 정의하는 것입니다. 동일한 구성 요소를 "디자인"하는 경우 내부적으로 어떻게 작동하는지 정의하는 것입니다.

모든 아키텍처는 디자인이지만 모든 디자인이 아키텍처는 아닙니다.

How 부분은 디자인과 교차점입니다 What 그리고 How 건축입니다Image for differentiating Architecture and Design

건축 적으로 중요하지 않은 설계 결정도 있습니다. 즉, 설계의 아키텍처 브랜치에 속하지 않습니다. 예를 들어, 일부 구성 요소의 내부 설계 결정, 알고리즘 선택, 데이터 구조 선택 등의 일부 설계 결정은 구성 요소 경계 외부에서 보이지 않는 모든 설계 결정은 구성 요소의 내부 설계이며 비 아카치입니다. 이들은 시스템 아키텍트가 시스템 수준 아키텍처에 의해 부과 된 아키텍처 제약을 깨뜨리지 않는 한 시스템 아키텍트가 모듈 디자이너의 재량 또는 구현 팀을 떠나는 설계 결정입니다.

a 좋은 비유

아키텍처는 구성 요소이며 그들 사이의 관계입니다. 예를 들어, 천 미터 높이의 건물이 보이면 연결 경로와 방만 볼 수 있습니다. 그러나 방 안에있는 것은 디자인에 설명되어 있습니다.

디자인은 어떻게 그렇게 할 것인지 계획입니다. 건축가는 당신이 구현 한 방법입니다. 1. 단계의 관점에서, 책임 영역 및 의사 결정 수준 2. 아키텍처는 프레임 워크, 도구, 언어, 범위, 목표 및 높은 수준의 방법론 측면에서 더 큰 그림입니다. 디자인은 구현 방법론의 작은 그림입니다. 시스템의 다른 부분이 어떻게 보이는지, 설계 패턴, 프로그래밍 관용구, 리팩토링 및 코드 구성 방법에 대한 로컬 제약으로. 3. 아키텍처는 더 높은 수준의 전략, 구조 및 목적에 직면합니다. 디자인은 전술적이며 구현과 실습을 향한 얼굴, 콘크리트를 향해 더 많은 얼굴입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top