기술나눔

시스템 아키텍트 튜토리얼(청화 2판) <1장 서론> 해석

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1.1 시스템 아키텍처 개요

   系统架构(System Architecture)是系统的一种整体的高层次的结构表示,是系统的骨架和根基,支撑和链接各个部分,包括组件、连接件、约束规范以及指导这些内容设计与演化的原理。它是刻画系统整体抽象结构的一种手段,也决定了系统的健壮性和生命周期的长短。

1.1.1 시스템 아키텍처의 정의와 개발 역사

   软件系统架构是指对软件系统整体结构和组成部分的规划和设计,包括不同模块之间的关系、数据流动、处理流程、分层和模块化结构等。软件系统架构的设计可以帮助开发团队更好地理解系统的整体结构,提高系统的可维护性、可扩展性和性能。
   软件系统架构的发展历程可以大致分为以下几个阶段:
   1. 单层结构:最早期的软件系统架构采用单层结构,即将所有功能模块都集中在一个程序中实现。这种结构简单直观,但随着软件系统规模的增大和复杂度的提高,单层结构难以满足需求。
   2. 分层结构:分层结构将软件系统划分为不同的层次,每个层次负责不同的功能。常见的分层结构包括三层架构和MVC架构。分层结构可以提高系统的可维护性和扩展性,同时降低了开发的复杂性。
   3. 客户端-服务器架构:客户端-服务器架构是一种分布式架构,将客户端和服务器端分开,客户端负责用户界面和用户输入,服务器端负责处理逻辑和数据存储。这种架构可以减轻服务器端的负担,提高系统的性能和扩展性。
   4. 面向服务的架构(SOA):面向服务的架构将系统划分为多个独立的服务,每个服务可以独立部署和扩展。不同服务之间通过接口进行通信,实现系统的灵活性和可重用性。
   5. 微服务架构:微服务架构是一种轻量级的面向服务的架构,将系统划分为多个小型独立服务,每个服务可以独立开发、部署和运行。微服务架构提供了更好的可扩展性和弹性,适合大型复杂系统的构建。
   总的来说,软件系统架构经历了从单层结构到分层结构、客户端-服务器架构、面向服务的架构再到微服务架构的发展过程,不断地提高系统的可维护性、可扩展性和性能,促使软件开发变得更加高效和灵活。

1.1.2 소프트웨어 아키텍처의 일반적인 분류 및 모델링 방법

   软件架构通常可以分为四种常用分类:
   1、分层架构
   将软件系统分解为不同的层次,每一层都有特定的职责和功能。常见的分层架构包括三层架构(展示层、业务逻辑层和数据访问层)和四层架构(展现层、通讯层、服务层和数据访问层)等。

여기에 이미지 설명을 삽입하세요.
2. 도메인 중심 설계(DDD)
소프트웨어 응용 분야를 핵심으로 시스템을 다양한 도메인 모델과 하위 도메인으로 분해하고 도메인 모델의 설계 및 구현을 통해 시스템 기능을 실현합니다.
2004년에 Eric Evans는 Domain-Driven Design–Tackling Complexity in the Heart of Software라는 책을 출판했습니다. 그때부터 Domain-Driven Design(DDD) 탄생이 시작되었습니다. DDD의 핵심 아이디어는 도메인 중심 설계 방법을 통해 도메인 모델을 정의하여 비즈니스 및 애플리케이션 경계를 결정하고 비즈니스 모델과 코드 모델 간의 일관성을 보장하는 것입니다.
DDD는 Event Storm을 통해 비즈니스 도메인을 모델링하기 위해 공통 언어를 사용하고 제한된 컨텍스트를 통해 합리적인 도메인 분할을 수행하는 디자인 아이디어입니다.